summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorJessica <jessica@Absolventas-MacBook-Pro.local>2018-08-14 14:33:41 +0200
committerJessica <jessica@Absolventas-MacBook-Pro.local>2018-08-14 14:33:41 +0200
commit718b2afafef2965b03c850f6623be1854bfa5922 (patch)
tree9ae1a79f03f8b128057d9fbdaae9b2cceedc1294 /js
parent104c8115cbf38d7b35135d0fb940efb2c83fef28 (diff)
parentaab3a24bd592ef451a5fdcfb8d90068dd12cf621 (diff)
Merge remote-tracking branch 'origin/vue' into vue-share-addressbook
Added merge with origin/vue
Diffstat (limited to 'js')
-rw-r--r--js/contacts.js126
-rw-r--r--js/contacts.js.map1
2 files changed, 117 insertions, 10 deletions
diff --git a/js/contacts.js b/js/contacts.js
index 171ee278..a5ba07cf 100644
--- a/js/contacts.js
+++ b/js/contacts.js
@@ -405,7 +405,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _popoverMenu = __webpack_require__(/*! ./core/popoverMenu */ \"./src/components/core/popoverMenu.vue\");\n\nvar _popoverMenu2 = _interopRequireDefault(_popoverMenu);\n\nvar _ContactDetailsProperty = __webpack_require__(/*! ./ContactDetails/ContactDetailsProperty */ \"./src/components/ContactDetails/ContactDetailsProperty.vue\");\n\nvar _ContactDetailsProperty2 = _interopRequireDefault(_ContactDetailsProperty);\n\nvar _contact = __webpack_require__(/*! ../models/contact */ \"./src/models/contact.js\");\n\nvar _contact2 = _interopRequireDefault(_contact);\n\nvar _ical = __webpack_require__(/*! ical.js */ \"./node_modules/ical.js/build/ical.js\");\n\nvar _ical2 = _interopRequireDefault(_ical);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _vTooltip = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n\nvar _vTooltip2 = _interopRequireDefault(_vTooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_vue2.default.use(_vTooltip2.default); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'ContactDetails',\n\tcomponents: {\n\t\tpopoverMenu: _popoverMenu2.default,\n\t\tcontactDetailsProperty: _ContactDetailsProperty2.default\n\t},\n\tdirectives: {\n\t\tClickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tcontact: undefined,\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\n\tcomputed: {\n\t\tcolorAvatar: function colorAvatar() {\n\t\t\ttry {\n\t\t\t\tvar color = this.contact.uid.toRgb();\n\t\t\t\treturn 'rgb(' + color.r + ', ' + color.g + ', ' + color.b + ')';\n\t\t\t} catch (e) {\n\t\t\t\treturn 'grey';\n\t\t\t}\n\t\t},\n\t\tcontactActions: function contactActions() {\n\t\t\tvar actions = [{\n\t\t\t\ticon: 'icon-download',\n\t\t\t\ttext: t('contacts', 'Download'),\n\t\t\t\thref: this.contact.url\n\t\t\t}];\n\t\t\tif (this.contact.addressbook.enabled) {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('contacts', 'Delete'),\n\t\t\t\t\taction: this.deleteContact\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn actions;\n\t\t}\n\t},\n\twatch: {\n\t\t// url changed, get and show selected contact\n\t\tuid: function uid() {\n\t\t\tthis.updateLocalContact();\n\t\t},\n\t\t// done loading, check if the provided uid is valid and open details\n\t\tloading: function loading() {\n\t\t\tif (this.uid) {\n\t\t\t\tthis.updateLocalContact();\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tupdateLocalContact: function updateLocalContact() {\n\t\t\t// create new local instance of this contact\n\t\t\tvar contact = this.$store.getters.getContact(this.uid);\n\t\t\tthis.contact = new _contact2.default(_ical2.default.stringify(contact.jCal), contact.addressbook);\n\t\t},\n\t\tcloseMenu: function closeMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t}\n\t}\n\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvQ29udGFjdERldGFpbHMudnVlPzBmNjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBeUZBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx1QkFEQTtBQUVBO0FBQ0Esb0NBREE7QUFFQTtBQUZBLEVBRkE7QUFNQTtBQUNBO0FBREEsRUFOQTtBQVNBO0FBQ0E7QUFDQSxnQkFEQTtBQUVBO0FBRkEsR0FEQTtBQUtBO0FBQ0EsZUFEQTtBQUVBO0FBRkE7QUFMQSxFQVRBO0FBbUJBLEtBbkJBLGtCQW1CQTtBQUNBO0FBQ0EscUJBREE7QUFFQTtBQUZBO0FBSUEsRUF4QkE7O0FBeUJBO0FBQ0EsYUFEQSx5QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBSEEsQ0FHQTtBQUNBO0FBQ0E7QUFDQSxHQVJBO0FBU0EsZ0JBVEEsNEJBU0E7QUFDQSxrQkFDQTtBQUNBLHlCQURBO0FBRUEsbUNBRkE7QUFHQTtBQUhBLElBREE7QUFPQTtBQUNBO0FBQ0Esd0JBREE7QUFFQSxrQ0FGQTtBQUdBO0FBSEE7QUFLQTs7QUFFQTtBQUNBO0FBMUJBLEVBekJBO0FBcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FKQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEVBckRBO0FBaUVBO0FBQ0Esb0JBREEsZ0NBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUxBO0FBTUEsV0FOQSx1QkFNQTtBQUNBO0FBQ0EsR0FSQTtBQVNBLFlBVEEsd0JBU0E7QUFDQTtBQUNBO0FBWEE7O0FBakVBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9Db250YWN0RGV0YWlscy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGlkPVwiY29udGFjdC1kZXRhaWxzXCIgY2xhc3M9XCJhcHAtY29udGVudC1kZXRhaWxzXCI+XG5cblx0XHQ8IS0tIG5vdGhpbmcgc2VsZWN0ZWQgb3IgY29udGFjdCBub3QgZm91bmQgLS0+XG5cdFx0PGRpdiB2LWlmPVwiIWNvbnRhY3QgJiYgIWxvYWRpbmdcIiBpZD1cImVtcHR5Y29udGVudFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tY29udGFjdHNcIiAvPlxuXHRcdFx0PGgyPnt7IHQoJ2NvbnRhY3RzJywgJ05vIGNvbnRhY3Qgc2VsZWN0ZWQnKSB9fTwvaDI+XG5cdFx0XHQ8cD57eyB0KCdjb250YWN0cycsICdTZWxlY3QgYSBjb250YWN0IG9uIHRoZSBsaXN0IHRvIGJlZ2luJykgfX08L3A+XG5cdFx0PC9kaXY+XG5cblx0XHQ8IS0tIGxvYWRpbmcgLS0+XG5cdFx0PGRpdiB2LWVsc2UtaWY9XCIhY29udGFjdCAmJiBsb2FkaW5nXCIgaWQ9XCJlbXB0eWNvbnRlbnRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhY3RzXCIgLz5cblx0XHRcdDxoMj57eyB0KCdjb250YWN0cycsICdMb2FkaW5nJykgfX08L2gyPlxuXHRcdDwvZGl2PlxuXG5cdFx0PHRlbXBsYXRlIHYtZWxzZT5cblx0XHRcdDwhLS0gY29udGFjdCBoZWFkZXIgLS0+XG5cdFx0XHQ8aGVhZGVyIDpzdHlsZT1cInsgJ2JhY2tncm91bmRDb2xvcic6IGNvbG9yQXZhdGFyIH1cIj5cblxuXHRcdFx0XHQ8IS0tIGF2YXRhciBhbmQgdXBsb2FkIHBob3RvIC0tPlxuXHRcdFx0XHQ8ZGl2IGlkPVwiY29udGFjdC1oZWFkZXItYXZhdGFyXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbnRhY3QtYXZhdGFyLWJhY2tncm91bmRcIiAvPlxuXHRcdFx0XHRcdDxpbWcgdi1pZj1cImNvbnRhY3QucGhvdG9cIj5cblx0XHRcdFx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWF2YXRhci11cGxvYWRcIiB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiaGlkZGVuXCJcblx0XHRcdFx0XHRcdGFjY2VwdD1cImltYWdlLypcIj5cblx0XHRcdFx0XHQ8bGFiZWwgdi10b29sdGlwLmF1dG89XCJ0KCdjb250YWN0cycsICdVcGxvYWQgYSBuZXcgcGljdHVyZScpXCIgZm9yPVwiY29udGFjdC1hdmF0YXItdXBsb2FkXCIgY2xhc3M9XCJpY29uLXVwbG9hZC13aGl0ZVwiIC8+XG5cdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdDwhLS0gZnVsbG5hbWUsIG9yZywgdGl0bGUgLS0+XG5cdFx0XHRcdDxkaXYgaWQ9XCJjb250YWN0LWhlYWRlci1pbmZvc1wiPlxuXHRcdFx0XHRcdDxoMj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3QtZnVsbG5hbWVcIiB2LW1vZGVsPVwiY29udGFjdC5mdWxsTmFtZVwiIDpkaXNhYmxlZD1cIiFjb250YWN0LmFkZHJlc3Nib29rLmVuYWJsZWRcIlxuXHRcdFx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdOYW1lJylcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG5cdFx0XHRcdFx0XHRcdGF1dG9jb3JyZWN0PVwib2ZmXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgbmFtZT1cImZ1bGxuYW1lXCJcblx0XHRcdFx0XHRcdFx0dmFsdWU9XCJcIj5cblx0XHRcdFx0XHQ8L2gyPlxuXHRcdFx0XHRcdDxkaXYgaWQ9XCJkZXRhaWxzLW9yZy1jb250YWluZXJcIj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3Qtb3JnXCIgdi1tb2RlbD1cImNvbnRhY3Qub3JnXCIgOmRpc2FibGVkPVwiIWNvbnRhY3QuYWRkcmVzc2Jvb2suZW5hYmxlZFwiXG5cdFx0XHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cInQoJ2NvbnRhY3RzJywgJ0NvbXBhbnknKVwiIHR5cGU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcblx0XHRcdFx0XHRcdFx0YXV0b2NvcnJlY3Q9XCJvZmZcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBuYW1lPVwib3JnXCJcblx0XHRcdFx0XHRcdFx0dmFsdWU9XCJcIj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3QtdGl0bGVcIiB2LW1vZGVsPVwiY29udGFjdC50aXRsZVwiIDpkaXNhYmxlZD1cIiFjb250YWN0LmFkZHJlc3Nib29rLmVuYWJsZWRcIlxuXHRcdFx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdUaXRsZScpXCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxuXHRcdFx0XHRcdFx0XHRhdXRvY29ycmVjdD1cIm9mZlwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIG5hbWU9XCJ0aXRsZVwiXG5cdFx0XHRcdFx0XHRcdHZhbHVlPVwiXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdDwhLS0gYWN0aW9ucyAtLT5cblx0XHRcdFx0PGRpdiBpZD1cImNvbnRhY3QtaGVhZGVyLWFjdGlvbnNcIj5cblx0XHRcdFx0XHQ8ZGl2IHYtY2xpY2stb3V0c2lkZT1cImNsb3NlTWVudVwiIGNsYXNzPVwibWVudS1pY29uIGljb24tbW9yZS13aGl0ZVwiIEBjbGljaz1cInRvZ2dsZU1lbnVcIiAvPlxuXHRcdFx0XHRcdDxkaXYgOmNsYXNzPVwieyAnb3Blbic6IG9wZW5lZE1lbnUgfVwiIGNsYXNzPVwicG9wb3Zlcm1lbnVcIj5cblx0XHRcdFx0XHRcdDxwb3BvdmVyLW1lbnUgOm1lbnU9XCJjb250YWN0QWN0aW9uc1wiIC8+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9oZWFkZXI+XG5cblx0XHRcdDwhLS0gY29udGFjdCBkZXRhaWxzIC0tPlxuXHRcdFx0PHNlY3Rpb24+XG5cdFx0XHRcdDxjb250YWN0LWRldGFpbHMtcHJvcGVydHkgdi1mb3I9XCIocHJvcGVydHksIGluZGV4KSBpbiBjb250YWN0LnByb3BlcnRpZXNcIiA6a2V5PVwiaW5kZXhcIiA6cHJvcGVydHk9XCJwcm9wZXJ0eVwiIC8+XG5cdFx0XHQ8L3NlY3Rpb24+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHBvcG92ZXJNZW51IGZyb20gJy4vY29yZS9wb3BvdmVyTWVudSdcbmltcG9ydCBjb250YWN0RGV0YWlsc1Byb3BlcnR5IGZyb20gJy4vQ29udGFjdERldGFpbHMvQ29udGFjdERldGFpbHNQcm9wZXJ0eSdcblxuaW1wb3J0IENvbnRhY3QgZnJvbSAnLi4vbW9kZWxzL2NvbnRhY3QnXG5cbmltcG9ydCBJQ0FMIGZyb20gJ2ljYWwuanMnXG5pbXBvcnQgQ2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgVlRvb2x0aXAgZnJvbSAndi10b29sdGlwJ1xuXG5WdWUudXNlKFZUb29sdGlwKVxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdDb250YWN0RGV0YWlscycsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRwb3BvdmVyTWVudSxcblx0XHRjb250YWN0RGV0YWlsc1Byb3BlcnR5XG5cdH0sXG5cdGRpcmVjdGl2ZXM6IHtcblx0XHRDbGlja091dHNpZGVcblx0fSxcblx0cHJvcHM6IHtcblx0XHRsb2FkaW5nOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogdHJ1ZVxuXHRcdH0sXG5cdFx0dWlkOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWRcblx0XHR9XG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGNvbnRhY3Q6IHVuZGVmaW5lZCxcblx0XHRcdG9wZW5lZE1lbnU6IGZhbHNlXG5cdFx0fVxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdGNvbG9yQXZhdGFyKCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bGV0IGNvbG9yID0gdGhpcy5jb250YWN0LnVpZC50b1JnYigpXG5cdFx0XHRcdHJldHVybiBgcmdiKCR7Y29sb3Iucn0sICR7Y29sb3IuZ30sICR7Y29sb3IuYn0pYFxuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRyZXR1cm4gJ2dyZXknXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjb250YWN0QWN0aW9ucygpIHtcblx0XHRcdGxldCBhY3Rpb25zID0gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWNvbjogJ2ljb24tZG93bmxvYWQnLFxuXHRcdFx0XHRcdHRleHQ6IHQoJ2NvbnRhY3RzJywgJ0Rvd25sb2FkJyksXG5cdFx0XHRcdFx0aHJlZjogdGhpcy5jb250YWN0LnVybFxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0XHRpZiAodGhpcy5jb250YWN0LmFkZHJlc3Nib29rLmVuYWJsZWQpIHtcblx0XHRcdFx0YWN0aW9ucy5wdXNoKHtcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1kZWxldGUnLFxuXHRcdFx0XHRcdHRleHQ6IHQoJ2NvbnRhY3RzJywgJ0RlbGV0ZScpLFxuXHRcdFx0XHRcdGFjdGlvbjogdGhpcy5kZWxldGVDb250YWN0XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBhY3Rpb25zXG5cdFx0fVxuXHR9LFxuXHR3YXRjaDoge1xuXHRcdC8vIHVybCBjaGFuZ2VkLCBnZXQgYW5kIHNob3cgc2VsZWN0ZWQgY29udGFjdFxuXHRcdHVpZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnVwZGF0ZUxvY2FsQ29udGFjdCgpXG5cdFx0fSxcblx0XHQvLyBkb25lIGxvYWRpbmcsIGNoZWNrIGlmIHRoZSBwcm92aWRlZCB1aWQgaXMgdmFsaWQgYW5kIG9wZW4gZGV0YWlsc1xuXHRcdGxvYWRpbmc6IGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKHRoaXMudWlkKSB7XG5cdFx0XHRcdHRoaXMudXBkYXRlTG9jYWxDb250YWN0KClcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHR1cGRhdGVMb2NhbENvbnRhY3QoKSB7XG5cdFx0XHQvLyBjcmVhdGUgbmV3IGxvY2FsIGluc3RhbmNlIG9mIHRoaXMgY29udGFjdFxuXHRcdFx0bGV0IGNvbnRhY3QgPSB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldENvbnRhY3QodGhpcy51aWQpXG5cdFx0XHR0aGlzLmNvbnRhY3QgPSBuZXcgQ29udGFjdChJQ0FMLnN0cmluZ2lmeShjb250YWN0LmpDYWwpLCBjb250YWN0LmFkZHJlc3Nib29rKVxuXHRcdH0sXG5cdFx0Y2xvc2VNZW51KCkge1xuXHRcdFx0dGhpcy5vcGVuZWRNZW51ID0gZmFsc2Vcblx0XHR9LFxuXHRcdHRvZ2dsZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm9wZW5lZE1lbnUgPSAhdGhpcy5vcGVuZWRNZW51XG5cdFx0fVxuXHR9XG5cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ContactDetails.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _popoverMenu = __webpack_require__(/*! ./core/popoverMenu */ \"./src/components/core/popoverMenu.vue\");\n\nvar _popoverMenu2 = _interopRequireDefault(_popoverMenu);\n\nvar _ContactDetailsProperty = __webpack_require__(/*! ./ContactDetails/ContactDetailsProperty */ \"./src/components/ContactDetails/ContactDetailsProperty.vue\");\n\nvar _ContactDetailsProperty2 = _interopRequireDefault(_ContactDetailsProperty);\n\nvar _contact = __webpack_require__(/*! ../models/contact */ \"./src/models/contact.js\");\n\nvar _contact2 = _interopRequireDefault(_contact);\n\nvar _ical = __webpack_require__(/*! ical.js */ \"./node_modules/ical.js/build/ical.js\");\n\nvar _ical2 = _interopRequireDefault(_ical);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _vTooltip = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n\nvar _vTooltip2 = _interopRequireDefault(_vTooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_vue2.default.use(_vTooltip2.default); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'ContactDetails',\n\tcomponents: {\n\t\tpopoverMenu: _popoverMenu2.default,\n\t\tcontactDetailsProperty: _ContactDetailsProperty2.default\n\t},\n\tdirectives: {\n\t\tClickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tcontact: undefined,\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\n\tcomputed: {\n\t\tcolorAvatar: function colorAvatar() {\n\t\t\ttry {\n\t\t\t\tvar color = this.contact.uid.toRgb();\n\t\t\t\treturn 'rgb(' + color.r + ', ' + color.g + ', ' + color.b + ')';\n\t\t\t} catch (e) {\n\t\t\t\treturn 'grey';\n\t\t\t}\n\t\t},\n\t\tcontactActions: function contactActions() {\n\t\t\tvar actions = [{\n\t\t\t\ticon: 'icon-download',\n\t\t\t\ttext: t('contacts', 'Download'),\n\t\t\t\thref: this.contact.url\n\t\t\t}];\n\t\t\tif (this.contact.addressbook.enabled) {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('contacts', 'Delete'),\n\t\t\t\t\taction: this.deleteContact\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn actions;\n\t\t}\n\t},\n\twatch: {\n\t\t// url changed, get and show selected contact\n\t\tuid: function uid() {\n\t\t\tthis.updateLocalContact();\n\t\t},\n\t\t// done loading, check if the provided uid is valid and open details\n\t\tloading: function loading() {\n\t\t\tif (this.uid) {\n\t\t\t\tthis.updateLocalContact();\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tupdateLocalContact: function updateLocalContact() {\n\t\t\t// create new local instance of this contact\n\t\t\tvar contact = this.$store.getters.getContact(this.uid);\n\t\t\tthis.contact = new _contact2.default(_ical2.default.stringify(contact.jCal), contact.addressbook);\n\t\t},\n\t\tcloseMenu: function closeMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t}\n\t}\n\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvQ29udGFjdERldGFpbHMudnVlPzBmNjMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBeUZBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx1QkFEQTtBQUVBO0FBQ0Esb0NBREE7QUFFQTtBQUZBLEVBRkE7QUFNQTtBQUNBO0FBREEsRUFOQTtBQVNBO0FBQ0E7QUFDQSxnQkFEQTtBQUVBO0FBRkEsR0FEQTtBQUtBO0FBQ0EsZUFEQTtBQUVBO0FBRkE7QUFMQSxFQVRBO0FBbUJBLEtBbkJBLGtCQW1CQTtBQUNBO0FBQ0EscUJBREE7QUFFQTtBQUZBO0FBSUEsRUF4QkE7O0FBeUJBO0FBQ0EsYUFEQSx5QkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBSEEsQ0FHQTtBQUNBO0FBQ0E7QUFDQSxHQVJBO0FBU0EsZ0JBVEEsNEJBU0E7QUFDQSxrQkFDQTtBQUNBLHlCQURBO0FBRUEsbUNBRkE7QUFHQTtBQUhBLElBREE7QUFPQTtBQUNBO0FBQ0Esd0JBREE7QUFFQSxrQ0FGQTtBQUdBO0FBSEE7QUFLQTs7QUFFQTtBQUNBO0FBMUJBLEVBekJBO0FBcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FKQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBLEVBckRBO0FBaUVBO0FBQ0Esb0JBREEsZ0NBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUxBO0FBTUEsV0FOQSx1QkFNQTtBQUNBO0FBQ0EsR0FSQTtBQVNBLFlBVEEsd0JBU0E7QUFDQTtBQUNBO0FBWEE7O0FBakVBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9Db250YWN0RGV0YWlscy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGlkPVwiY29udGFjdC1kZXRhaWxzXCIgY2xhc3M9XCJhcHAtY29udGVudC1kZXRhaWxzXCI+XG5cblx0XHQ8IS0tIG5vdGhpbmcgc2VsZWN0ZWQgb3IgY29udGFjdCBub3QgZm91bmQgLS0+XG5cdFx0PGRpdiB2LWlmPVwiIWNvbnRhY3QgJiYgIWxvYWRpbmdcIiBpZD1cImVtcHR5Y29udGVudFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tY29udGFjdHNcIiAvPlxuXHRcdFx0PGgyPnt7IHQoJ2NvbnRhY3RzJywgJ05vIGNvbnRhY3Qgc2VsZWN0ZWQnKSB9fTwvaDI+XG5cdFx0XHQ8cD57eyB0KCdjb250YWN0cycsICdTZWxlY3QgYSBjb250YWN0IG9uIHRoZSBsaXN0IHRvIGJlZ2luJykgfX08L3A+XG5cdFx0PC9kaXY+XG5cblx0XHQ8IS0tIGxvYWRpbmcgLS0+XG5cdFx0PGRpdiB2LWVsc2UtaWY9XCIhY29udGFjdCAmJiBsb2FkaW5nXCIgaWQ9XCJlbXB0eWNvbnRlbnRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhY3RzXCIgLz5cblx0XHRcdDxoMj57eyB0KCdjb250YWN0cycsICdMb2FkaW5nJykgfX08L2gyPlxuXHRcdDwvZGl2PlxuXG5cdFx0PHRlbXBsYXRlIHYtZWxzZT5cblx0XHRcdDwhLS0gY29udGFjdCBoZWFkZXIgLS0+XG5cdFx0XHQ8aGVhZGVyIDpzdHlsZT1cInsgJ2JhY2tncm91bmRDb2xvcic6IGNvbG9yQXZhdGFyIH1cIj5cblxuXHRcdFx0XHQ8IS0tIGF2YXRhciBhbmQgdXBsb2FkIHBob3RvIC0tPlxuXHRcdFx0XHQ8ZGl2IGlkPVwiY29udGFjdC1oZWFkZXItYXZhdGFyXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbnRhY3QtYXZhdGFyLWJhY2tncm91bmRcIiAvPlxuXHRcdFx0XHRcdDxpbWcgdi1pZj1cImNvbnRhY3QucGhvdG9cIj5cblx0XHRcdFx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWF2YXRhci11cGxvYWRcIiB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiaGlkZGVuXCJcblx0XHRcdFx0XHRcdGFjY2VwdD1cImltYWdlLypcIj5cblx0XHRcdFx0XHQ8bGFiZWwgdi10b29sdGlwLmF1dG89XCJ0KCdjb250YWN0cycsICdVcGxvYWQgYSBuZXcgcGljdHVyZScpXCIgZm9yPVwiY29udGFjdC1hdmF0YXItdXBsb2FkXCIgY2xhc3M9XCJpY29uLXVwbG9hZC13aGl0ZVwiIC8+XG5cdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdDwhLS0gZnVsbG5hbWUsIG9yZywgdGl0bGUgLS0+XG5cdFx0XHRcdDxkaXYgaWQ9XCJjb250YWN0LWhlYWRlci1pbmZvc1wiPlxuXHRcdFx0XHRcdDxoMj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3QtZnVsbG5hbWVcIiB2LW1vZGVsPVwiY29udGFjdC5mdWxsTmFtZVwiIDpkaXNhYmxlZD1cIiFjb250YWN0LmFkZHJlc3Nib29rLmVuYWJsZWRcIlxuXHRcdFx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdOYW1lJylcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG5cdFx0XHRcdFx0XHRcdGF1dG9jb3JyZWN0PVwib2ZmXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgbmFtZT1cImZ1bGxuYW1lXCJcblx0XHRcdFx0XHRcdFx0dmFsdWU9XCJcIj5cblx0XHRcdFx0XHQ8L2gyPlxuXHRcdFx0XHRcdDxkaXYgaWQ9XCJkZXRhaWxzLW9yZy1jb250YWluZXJcIj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3Qtb3JnXCIgdi1tb2RlbD1cImNvbnRhY3Qub3JnXCIgOmRpc2FibGVkPVwiIWNvbnRhY3QuYWRkcmVzc2Jvb2suZW5hYmxlZFwiXG5cdFx0XHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cInQoJ2NvbnRhY3RzJywgJ0NvbXBhbnknKVwiIHR5cGU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcblx0XHRcdFx0XHRcdFx0YXV0b2NvcnJlY3Q9XCJvZmZcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBuYW1lPVwib3JnXCJcblx0XHRcdFx0XHRcdFx0dmFsdWU9XCJcIj5cblx0XHRcdFx0XHRcdDxpbnB1dCBpZD1cImNvbnRhY3QtdGl0bGVcIiB2LW1vZGVsPVwiY29udGFjdC50aXRsZVwiIDpkaXNhYmxlZD1cIiFjb250YWN0LmFkZHJlc3Nib29rLmVuYWJsZWRcIlxuXHRcdFx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdUaXRsZScpXCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxuXHRcdFx0XHRcdFx0XHRhdXRvY29ycmVjdD1cIm9mZlwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIG5hbWU9XCJ0aXRsZVwiXG5cdFx0XHRcdFx0XHRcdHZhbHVlPVwiXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdDwhLS0gYWN0aW9ucyAtLT5cblx0XHRcdFx0PGRpdiBpZD1cImNvbnRhY3QtaGVhZGVyLWFjdGlvbnNcIj5cblx0XHRcdFx0XHQ8ZGl2IHYtY2xpY2stb3V0c2lkZT1cImNsb3NlTWVudVwiIGNsYXNzPVwibWVudS1pY29uIGljb24tbW9yZS13aGl0ZVwiIEBjbGljaz1cInRvZ2dsZU1lbnVcIiAvPlxuXHRcdFx0XHRcdDxkaXYgOmNsYXNzPVwieyAnb3Blbic6IG9wZW5lZE1lbnUgfVwiIGNsYXNzPVwicG9wb3Zlcm1lbnVcIj5cblx0XHRcdFx0XHRcdDxwb3BvdmVyLW1lbnUgOm1lbnU9XCJjb250YWN0QWN0aW9uc1wiIC8+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9oZWFkZXI+XG5cblx0XHRcdDwhLS0gY29udGFjdCBkZXRhaWxzIC0tPlxuXHRcdFx0PHNlY3Rpb24gY2xhc3M9XCJjb250YWN0LWRldGFpbHNcIj5cblx0XHRcdFx0PGNvbnRhY3QtZGV0YWlscy1wcm9wZXJ0eSB2LWZvcj1cIihwcm9wZXJ0eSwgaW5kZXgpIGluIGNvbnRhY3QucHJvcGVydGllc1wiIDprZXk9XCJpbmRleFwiIDpwcm9wZXJ0eT1cInByb3BlcnR5XCIgLz5cblx0XHRcdDwvc2VjdGlvbj5cblx0XHQ8L3RlbXBsYXRlPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgcG9wb3Zlck1lbnUgZnJvbSAnLi9jb3JlL3BvcG92ZXJNZW51J1xuaW1wb3J0IGNvbnRhY3REZXRhaWxzUHJvcGVydHkgZnJvbSAnLi9Db250YWN0RGV0YWlscy9Db250YWN0RGV0YWlsc1Byb3BlcnR5J1xuXG5pbXBvcnQgQ29udGFjdCBmcm9tICcuLi9tb2RlbHMvY29udGFjdCdcblxuaW1wb3J0IElDQUwgZnJvbSAnaWNhbC5qcydcbmltcG9ydCBDbGlja091dHNpZGUgZnJvbSAndnVlLWNsaWNrLW91dHNpZGUnXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcbmltcG9ydCBWVG9vbHRpcCBmcm9tICd2LXRvb2x0aXAnXG5cblZ1ZS51c2UoVlRvb2x0aXApXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0NvbnRhY3REZXRhaWxzJyxcblx0Y29tcG9uZW50czoge1xuXHRcdHBvcG92ZXJNZW51LFxuXHRcdGNvbnRhY3REZXRhaWxzUHJvcGVydHlcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdENsaWNrT3V0c2lkZVxuXHR9LFxuXHRwcm9wczoge1xuXHRcdGxvYWRpbmc6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiB0cnVlXG5cdFx0fSxcblx0XHR1aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IHVuZGVmaW5lZFxuXHRcdH1cblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29udGFjdDogdW5kZWZpbmVkLFxuXHRcdFx0b3BlbmVkTWVudTogZmFsc2Vcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Y29sb3JBdmF0YXIoKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRsZXQgY29sb3IgPSB0aGlzLmNvbnRhY3QudWlkLnRvUmdiKClcblx0XHRcdFx0cmV0dXJuIGByZ2IoJHtjb2xvci5yfSwgJHtjb2xvci5nfSwgJHtjb2xvci5ifSlgXG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdHJldHVybiAnZ3JleSdcblx0XHRcdH1cblx0XHR9LFxuXHRcdGNvbnRhY3RBY3Rpb25zKCkge1xuXHRcdFx0bGV0IGFjdGlvbnMgPSBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1kb3dubG9hZCcsXG5cdFx0XHRcdFx0dGV4dDogdCgnY29udGFjdHMnLCAnRG93bmxvYWQnKSxcblx0XHRcdFx0XHRocmVmOiB0aGlzLmNvbnRhY3QudXJsXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHRcdGlmICh0aGlzLmNvbnRhY3QuYWRkcmVzc2Jvb2suZW5hYmxlZCkge1xuXHRcdFx0XHRhY3Rpb25zLnB1c2goe1xuXHRcdFx0XHRcdGljb246ICdpY29uLWRlbGV0ZScsXG5cdFx0XHRcdFx0dGV4dDogdCgnY29udGFjdHMnLCAnRGVsZXRlJyksXG5cdFx0XHRcdFx0YWN0aW9uOiB0aGlzLmRlbGV0ZUNvbnRhY3Rcblx0XHRcdFx0fSlcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGFjdGlvbnNcblx0XHR9XG5cdH0sXG5cdHdhdGNoOiB7XG5cdFx0Ly8gdXJsIGNoYW5nZWQsIGdldCBhbmQgc2hvdyBzZWxlY3RlZCBjb250YWN0XG5cdFx0dWlkOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMudXBkYXRlTG9jYWxDb250YWN0KClcblx0XHR9LFxuXHRcdC8vIGRvbmUgbG9hZGluZywgY2hlY2sgaWYgdGhlIHByb3ZpZGVkIHVpZCBpcyB2YWxpZCBhbmQgb3BlbiBkZXRhaWxzXG5cdFx0bG9hZGluZzogZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAodGhpcy51aWQpIHtcblx0XHRcdFx0dGhpcy51cGRhdGVMb2NhbENvbnRhY3QoKVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHVwZGF0ZUxvY2FsQ29udGFjdCgpIHtcblx0XHRcdC8vIGNyZWF0ZSBuZXcgbG9jYWwgaW5zdGFuY2Ugb2YgdGhpcyBjb250YWN0XG5cdFx0XHRsZXQgY29udGFjdCA9IHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Q29udGFjdCh0aGlzLnVpZClcblx0XHRcdHRoaXMuY29udGFjdCA9IG5ldyBDb250YWN0KElDQUwuc3RyaW5naWZ5KGNvbnRhY3QuakNhbCksIGNvbnRhY3QuYWRkcmVzc2Jvb2spXG5cdFx0fSxcblx0XHRjbG9zZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm9wZW5lZE1lbnUgPSBmYWxzZVxuXHRcdH0sXG5cdFx0dG9nZ2xlTWVudSgpIHtcblx0XHRcdHRoaXMub3BlbmVkTWVudSA9ICF0aGlzLm9wZW5lZE1lbnVcblx0XHR9XG5cdH1cblxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ContactDetails.vue?vue&type=script&lang=js&\n");
/***/ }),
@@ -417,7 +417,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _ical = __webpack_require__(/*! ical.js */ \"./node_modules/ical.js/build/ical.js\");\n\nvar _rfcProps = __webpack_require__(/*! ../../models/rfcProps.js */ \"./src/models/rfcProps.js\");\n\nvar _rfcProps2 = _interopRequireDefault(_rfcProps);\n\nvar _PropertyText = __webpack_require__(/*! ../properties/PropertyText */ \"./src/components/properties/PropertyText.vue\");\n\nvar _PropertyText2 = _interopRequireDefault(_PropertyText);\n\nvar _PropertyMultipleText = __webpack_require__(/*! ../properties/PropertyMultipleText */ \"./src/components/properties/PropertyMultipleText.vue\");\n\nvar _PropertyMultipleText2 = _interopRequireDefault(_PropertyMultipleText);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// import PropertySelect from '../properties/PropertyMultipleText'\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'ContactDetailsProperty',\n\n\tprops: {\n\t\tproperty: {\n\t\t\ttype: _ical.Property,\n\t\t\tdefault: true\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t// dynamically load component based on property type\n\t\tcomponentInstance: function componentInstance() {\n\t\t\tif (this.property.isMultiValue && this.propType === 'text') {\n\t\t\t\treturn _PropertyMultipleText2.default;\n\t\t\t} else if (this.propType && this.propType !== 'unknown') {\n\t\t\t\treturn _PropertyText2.default;\n\t\t\t}\n\t\t\treturn _PropertyText2.default;\n\t\t},\n\n\n\t\t// rfc properties list\n\t\tproperties: function properties() {\n\t\t\treturn _rfcProps2.default.properties;\n\t\t},\n\t\tfieldOrder: function fieldOrder() {\n\t\t\treturn _rfcProps2.default.fieldOrder;\n\t\t},\n\n\n\t\t// the type of the prop e.g. FN\n\t\tpropName: function propName() {\n\t\t\treturn this.property.name;\n\t\t},\n\t\tpropType: function propType() {\n\t\t\treturn this.property.type;\n\t\t},\n\n\n\t\t// template to use\n\t\tpropModel: function propModel() {\n\t\t\treturn this.properties[this.propName];\n\t\t},\n\n\n\t\t// select type handler\n\t\tselectType: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.propModel && this.propModel.options && this.type) {\n\n\t\t\t\t\tvar selectedType = this.type\n\t\t\t\t\t// vcard 3.0 save pref alongside TYPE\n\t\t\t\t\t.filter(function (type) {\n\t\t\t\t\t\treturn type !== 'pref';\n\t\t\t\t\t})\n\t\t\t\t\t// we only use uppercase strings\n\t\t\t\t\t.map(function (str) {\n\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t});\n\n\t\t\t\t\t// Compare array and check if the number of exact matches\n\t\t\t\t\t// equals the array length to find the exact property\n\t\t\t\t\treturn this.propModel.options.find(function (option) {\n\t\t\t\t\t\treturn selectedType.length === option.id.split(',').reduce(function (matches, type) {\n\t\t\t\t\t\t\tmatches += selectedType.indexOf(type) > -1 ? 1 : 0;\n\t\t\t\t\t\t\treturn matches;\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t});\n\t\t\t\t} else if (this.type) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: this.type.join(','),\n\t\t\t\t\t\tname: this.type.join(',')\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\t// ical.js take types as arrays\n\t\t\t\tthis.type = data.id.split(',');\n\t\t\t}\n\t\t},\n\n\t\t// property value(s)\n\t\tvalue: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.property.isMultiValue) {\n\t\t\t\t\treturn this.property.getValues();\n\t\t\t\t}\n\t\t\t\treturn this.property.getFirstValue();\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tif (this.property.isMultiValue) {\n\t\t\t\t\treturn this.property.setValues(data);\n\t\t\t\t}\n\t\t\t\treturn this.property.setValue(data);\n\t\t\t}\n\t\t},\n\n\t\t// property meta type\n\t\ttype: {\n\t\t\tget: function get() {\n\t\t\t\tvar type = this.property.getParameter('type');\n\t\t\t\t// ensure we have an array\n\t\t\t\tif (type) {\n\t\t\t\t\treturn Array.isArray(type) ? type : [type];\n\t\t\t\t}\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tthis.property.setParameter('type', data);\n\t\t\t}\n\t\t},\n\n\t\t// property meta pref\n\t\tpref: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.property.getParameter('pref');\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tthis.property.setParameter('pref', data);\n\t\t\t}\n\t\t}\n\t}\n\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvQ29udGFjdERldGFpbHMvQ29udGFjdERldGFpbHNQcm9wZXJ0eS52dWU/ODY3MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUE2QkE7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFFQTtBQUNBLCtCQURBOztBQUdBO0FBQ0E7QUFDQSx1QkFEQTtBQUVBO0FBRkE7QUFEQSxFQUhBOztBQVVBO0FBQ0E7QUFDQSxtQkFGQSwrQkFFQTtBQUNBO0FBQ0E7QUFDQSxJQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQVRBOzs7QUFXQTtBQUNBLFlBWkEsd0JBWUE7QUFDQTtBQUNBLEdBZEE7QUFlQSxZQWZBLHdCQWVBO0FBQ0E7QUFDQSxHQWpCQTs7O0FBbUJBO0FBQ0EsVUFwQkEsc0JBb0JBO0FBQ0E7QUFDQSxHQXRCQTtBQXVCQSxVQXZCQSxzQkF1QkE7QUFDQTtBQUNBLEdBekJBOzs7QUEyQkE7QUFDQSxXQTVCQSx1QkE0QkE7QUFDQTtBQUNBLEdBOUJBOzs7QUFnQ0E7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBREEsTUFFQSxNQUZBLENBRUE7QUFBQTtBQUFBLE1BRkE7QUFHQTtBQUhBLE1BSUEsR0FKQSxDQUlBO0FBQUE7QUFBQSxNQUpBOztBQU1BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsRUFHQSxDQUhBO0FBQUE7QUFJQSxLQWRBLE1BY0E7QUFDQTtBQUNBLDZCQURBO0FBRUE7QUFGQTtBQUlBO0FBQ0E7QUFDQSxJQXZCQTtBQXdCQSxNQXhCQSxlQXdCQSxJQXhCQSxFQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQTNCQSxHQWpDQTs7QUFnRUE7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBTkE7QUFPQSxNQVBBLGVBT0EsSUFQQSxFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVpBLEdBakVBOztBQWdGQTtBQUNBO0FBQ0EsTUFEQSxpQkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQVBBO0FBUUEsTUFSQSxlQVFBLElBUkEsRUFRQTtBQUNBO0FBQ0E7QUFWQSxHQWpGQTs7QUE4RkE7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTtBQUNBLElBSEE7QUFJQSxNQUpBLGVBSUEsSUFKQSxFQUlBO0FBQ0E7QUFDQTtBQU5BO0FBL0ZBOztBQVZBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9Db250YWN0RGV0YWlscy9Db250YWN0RGV0YWlsc1Byb3BlcnR5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDwhLS0gSWYgbm90IGluIHRoZSByZmNQcm9wcyB0aGVuIHdlIGRvbid0IHdhbnQgdG8gZGlzcGxheSBpdCAtLT5cblx0PGNvbXBvbmVudCB2LWlmPVwicHJvcE1vZGVsXCIgOmlzPVwiY29tcG9uZW50SW5zdGFuY2VcIiA6c2VsZWN0LXR5cGU9XCJzZWxlY3RUeXBlXCJcblx0XHQ6cHJvcC1tb2RlbD1cInByb3BNb2RlbFwiIDp2YWx1ZT1cInZhbHVlXCIgLz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJ2ljYWwuanMnXG5pbXBvcnQgcmZjUHJvcHMgZnJvbSAnLi4vLi4vbW9kZWxzL3JmY1Byb3BzLmpzJ1xuaW1wb3J0IFByb3BlcnR5VGV4dCBmcm9tICcuLi9wcm9wZXJ0aWVzL1Byb3BlcnR5VGV4dCdcbmltcG9ydCBQcm9wZXJ0eU11bHRpcGxlVGV4dCBmcm9tICcuLi9wcm9wZXJ0aWVzL1Byb3BlcnR5TXVsdGlwbGVUZXh0J1xuLy8gaW1wb3J0IFByb3BlcnR5U2VsZWN0IGZyb20gJy4uL3Byb3BlcnRpZXMvUHJvcGVydHlNdWx0aXBsZVRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0NvbnRhY3REZXRhaWxzUHJvcGVydHknLFxuXG5cdHByb3BzOiB7XG5cdFx0cHJvcGVydHk6IHtcblx0XHRcdHR5cGU6IFByb3BlcnR5LFxuXHRcdFx0ZGVmYXVsdDogdHJ1ZVxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8vIGR5bmFtaWNhbGx5IGxvYWQgY29tcG9uZW50IGJhc2VkIG9uIHByb3BlcnR5IHR5cGVcblx0XHRjb21wb25lbnRJbnN0YW5jZSgpIHtcblx0XHRcdGlmICh0aGlzLnByb3BlcnR5LmlzTXVsdGlWYWx1ZSAmJiB0aGlzLnByb3BUeXBlID09PSAndGV4dCcpIHtcblx0XHRcdFx0cmV0dXJuIFByb3BlcnR5TXVsdGlwbGVUZXh0XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMucHJvcFR5cGUgJiYgdGhpcy5wcm9wVHlwZSAhPT0gJ3Vua25vd24nKSB7XG5cdFx0XHRcdHJldHVybiBQcm9wZXJ0eVRleHRcblx0XHRcdH1cblx0XHRcdHJldHVybiBQcm9wZXJ0eVRleHRcblx0XHR9LFxuXG5cdFx0Ly8gcmZjIHByb3BlcnRpZXMgbGlzdFxuXHRcdHByb3BlcnRpZXMoKSB7XG5cdFx0XHRyZXR1cm4gcmZjUHJvcHMucHJvcGVydGllc1xuXHRcdH0sXG5cdFx0ZmllbGRPcmRlcigpIHtcblx0XHRcdHJldHVybiByZmNQcm9wcy5maWVsZE9yZGVyXG5cdFx0fSxcblxuXHRcdC8vIHRoZSB0eXBlIG9mIHRoZSBwcm9wIGUuZy4gRk5cblx0XHRwcm9wTmFtZSgpIHtcblx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5Lm5hbWVcblx0XHR9LFxuXHRcdHByb3BUeXBlKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMucHJvcGVydHkudHlwZVxuXHRcdH0sXG5cblx0XHQvLyB0ZW1wbGF0ZSB0byB1c2Vcblx0XHRwcm9wTW9kZWwoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzW3RoaXMucHJvcE5hbWVdXG5cdFx0fSxcblxuXHRcdC8vIHNlbGVjdCB0eXBlIGhhbmRsZXJcblx0XHRzZWxlY3RUeXBlOiB7XG5cdFx0XHRnZXQoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BNb2RlbCAmJiB0aGlzLnByb3BNb2RlbC5vcHRpb25zICYmIHRoaXMudHlwZSkge1xuXG5cdFx0XHRcdFx0bGV0IHNlbGVjdGVkVHlwZSA9IHRoaXMudHlwZVxuXHRcdFx0XHRcdFx0Ly8gdmNhcmQgMy4wIHNhdmUgcHJlZiBhbG9uZ3NpZGUgVFlQRVxuXHRcdFx0XHRcdFx0LmZpbHRlcih0eXBlID0+IHR5cGUgIT09ICdwcmVmJylcblx0XHRcdFx0XHRcdC8vIHdlIG9ubHkgdXNlIHVwcGVyY2FzZSBzdHJpbmdzXG5cdFx0XHRcdFx0XHQubWFwKHN0ciA9PiBzdHIudG9VcHBlckNhc2UoKSlcblxuXHRcdFx0XHRcdC8vIENvbXBhcmUgYXJyYXkgYW5kIGNoZWNrIGlmIHRoZSBudW1iZXIgb2YgZXhhY3QgbWF0Y2hlc1xuXHRcdFx0XHRcdC8vIGVxdWFscyB0aGUgYXJyYXkgbGVuZ3RoIHRvIGZpbmQgdGhlIGV4YWN0IHByb3BlcnR5XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMucHJvcE1vZGVsLm9wdGlvbnMuZmluZChvcHRpb24gPT4gc2VsZWN0ZWRUeXBlLmxlbmd0aCA9PT0gb3B0aW9uLmlkLnNwbGl0KCcsJykucmVkdWNlKChtYXRjaGVzLCB0eXBlKSA9PiB7XG5cdFx0XHRcdFx0XHRtYXRjaGVzICs9IHNlbGVjdGVkVHlwZS5pbmRleE9mKHR5cGUpID4gLTEgPyAxIDogMFxuXHRcdFx0XHRcdFx0cmV0dXJuIG1hdGNoZXNcblx0XHRcdFx0XHR9LCAwKSlcblx0XHRcdFx0fSBlbHNlIGlmICh0aGlzLnR5cGUpIHtcblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0aWQ6IHRoaXMudHlwZS5qb2luKCcsJyksXG5cdFx0XHRcdFx0XHRuYW1lOiB0aGlzLnR5cGUuam9pbignLCcpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fSxcblx0XHRcdHNldChkYXRhKSB7XG5cdFx0XHRcdC8vIGljYWwuanMgdGFrZSB0eXBlcyBhcyBhcnJheXNcblx0XHRcdFx0dGhpcy50eXBlID0gZGF0YS5pZC5zcGxpdCgnLCcpXG5cdFx0XHR9XG5cblx0XHR9LFxuXG5cdFx0Ly8gcHJvcGVydHkgdmFsdWUocylcblx0XHR2YWx1ZToge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRpZiAodGhpcy5wcm9wZXJ0eS5pc011bHRpVmFsdWUpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5wcm9wZXJ0eS5nZXRWYWx1ZXMoKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LmdldEZpcnN0VmFsdWUoKVxuXHRcdFx0fSxcblx0XHRcdHNldChkYXRhKSB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnR5LmlzTXVsdGlWYWx1ZSkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LnNldFZhbHVlcyhkYXRhKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LnNldFZhbHVlKGRhdGEpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8vIHByb3BlcnR5IG1ldGEgdHlwZVxuXHRcdHR5cGU6IHtcblx0XHRcdGdldCgpIHtcblx0XHRcdFx0bGV0IHR5cGUgPSB0aGlzLnByb3BlcnR5LmdldFBhcmFtZXRlcigndHlwZScpXG5cdFx0XHRcdC8vIGVuc3VyZSB3ZSBoYXZlIGFuIGFycmF5XG5cdFx0XHRcdGlmICh0eXBlKSB7XG5cdFx0XHRcdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkodHlwZSkgPyB0eXBlIDogW3R5cGVdXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRzZXQoZGF0YSkge1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5LnNldFBhcmFtZXRlcigndHlwZScsIGRhdGEpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8vIHByb3BlcnR5IG1ldGEgcHJlZlxuXHRcdHByZWY6IHtcblx0XHRcdGdldCgpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMucHJvcGVydHkuZ2V0UGFyYW1ldGVyKCdwcmVmJylcblx0XHRcdH0sXG5cdFx0XHRzZXQoZGF0YSkge1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5LnNldFBhcmFtZXRlcigncHJlZicsIGRhdGEpXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ContactDetails/ContactDetailsProperty.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _ical = __webpack_require__(/*! ical.js */ \"./node_modules/ical.js/build/ical.js\");\n\nvar _rfcProps = __webpack_require__(/*! ../../models/rfcProps.js */ \"./src/models/rfcProps.js\");\n\nvar _rfcProps2 = _interopRequireDefault(_rfcProps);\n\nvar _PropertyText = __webpack_require__(/*! ../properties/PropertyText */ \"./src/components/properties/PropertyText.vue\");\n\nvar _PropertyText2 = _interopRequireDefault(_PropertyText);\n\nvar _PropertyMultipleText = __webpack_require__(/*! ../properties/PropertyMultipleText */ \"./src/components/properties/PropertyMultipleText.vue\");\n\nvar _PropertyMultipleText2 = _interopRequireDefault(_PropertyMultipleText);\n\nvar _PropertyDateTime = __webpack_require__(/*! ../properties/PropertyDateTime */ \"./src/components/properties/PropertyDateTime.vue\");\n\nvar _PropertyDateTime2 = _interopRequireDefault(_PropertyDateTime);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// import PropertySelect from '../properties/PropertyMultipleText'\n\nexports.default = {\n\tname: 'ContactDetailsProperty',\n\n\tprops: {\n\t\tproperty: {\n\t\t\ttype: _ical.Property,\n\t\t\tdefault: true\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t// dynamically load component based on property type\n\t\tcomponentInstance: function componentInstance() {\n\t\t\tif (this.property.isMultiValue && this.propType === 'text') {\n\t\t\t\treturn _PropertyMultipleText2.default;\n\t\t\t} else if (this.propType && ['date-and-or-time', 'date-time', 'time', 'date'].indexOf(this.propType) > -1) {\n\t\t\t\treturn _PropertyDateTime2.default;\n\t\t\t} else if (this.propType && this.propType !== 'unknown') {\n\t\t\t\treturn _PropertyText2.default;\n\t\t\t}\n\t\t\treturn _PropertyText2.default;\n\t\t},\n\n\n\t\t// rfc properties list\n\t\tproperties: function properties() {\n\t\t\treturn _rfcProps2.default.properties;\n\t\t},\n\t\tfieldOrder: function fieldOrder() {\n\t\t\treturn _rfcProps2.default.fieldOrder;\n\t\t},\n\n\n\t\t// the type of the prop e.g. FN\n\t\tpropName: function propName() {\n\t\t\treturn this.property.name;\n\t\t},\n\t\tpropType: function propType() {\n\t\t\treturn this.property.type;\n\t\t},\n\n\n\t\t// template to use\n\t\tpropModel: function propModel() {\n\t\t\treturn this.properties[this.propName];\n\t\t},\n\n\n\t\t// select type handler\n\t\tselectType: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.propModel && this.propModel.options && this.type) {\n\n\t\t\t\t\tvar selectedType = this.type\n\t\t\t\t\t// vcard 3.0 save pref alongside TYPE\n\t\t\t\t\t.filter(function (type) {\n\t\t\t\t\t\treturn type !== 'pref';\n\t\t\t\t\t})\n\t\t\t\t\t// we only use uppercase strings\n\t\t\t\t\t.map(function (str) {\n\t\t\t\t\t\treturn str.toUpperCase();\n\t\t\t\t\t});\n\n\t\t\t\t\t// Compare array and check if the number of exact matches\n\t\t\t\t\t// equals the array length to find the exact property\n\t\t\t\t\treturn this.propModel.options.find(function (option) {\n\t\t\t\t\t\treturn selectedType.length === option.id.split(',').reduce(function (matches, type) {\n\t\t\t\t\t\t\tmatches += selectedType.indexOf(type) > -1 ? 1 : 0;\n\t\t\t\t\t\t\treturn matches;\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t});\n\t\t\t\t} else if (this.type) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: this.type.join(','),\n\t\t\t\t\t\tname: this.type.join(',')\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\t// ical.js take types as arrays\n\t\t\t\tthis.type = data.id.split(',');\n\t\t\t}\n\t\t},\n\n\t\t// property value(s)\n\t\tvalue: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.property.isMultiValue) {\n\t\t\t\t\treturn this.property.getValues().flatten();\n\t\t\t\t}\n\t\t\t\treturn this.property.getFirstValue();\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tif (this.property.isMultiValue) {\n\t\t\t\t\treturn this.property.setValues(data);\n\t\t\t\t}\n\t\t\t\treturn this.property.setValue(data);\n\t\t\t}\n\t\t},\n\n\t\t// property meta type\n\t\ttype: {\n\t\t\tget: function get() {\n\t\t\t\tvar type = this.property.getParameter('type');\n\t\t\t\t// ensure we have an array\n\t\t\t\tif (type) {\n\t\t\t\t\treturn Array.isArray(type) ? type : [type];\n\t\t\t\t}\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tthis.property.setParameter('type', data);\n\t\t\t}\n\t\t},\n\n\t\t// property meta pref\n\t\tpref: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.property.getParameter('pref');\n\t\t\t},\n\t\t\tset: function set(data) {\n\t\t\t\tthis.property.setParameter('pref', data);\n\t\t\t}\n\t\t}\n\t}\n\n}; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvQ29udGFjdERldGFpbHMvQ29udGFjdERldGFpbHNQcm9wZXJ0eS52dWU/ODY3MCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUE2QkE7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUNBOztrQkFFQTtBQUNBLCtCQURBOztBQUdBO0FBQ0E7QUFDQSx1QkFEQTtBQUVBO0FBRkE7QUFEQSxFQUhBOztBQVVBO0FBQ0E7QUFDQSxtQkFGQSwrQkFFQTtBQUNBO0FBQ0E7QUFDQSxJQUZBLE1BRUE7QUFDQTtBQUNBLElBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBWEE7OztBQWFBO0FBQ0EsWUFkQSx3QkFjQTtBQUNBO0FBQ0EsR0FoQkE7QUFpQkEsWUFqQkEsd0JBaUJBO0FBQ0E7QUFDQSxHQW5CQTs7O0FBcUJBO0FBQ0EsVUF0QkEsc0JBc0JBO0FBQ0E7QUFDQSxHQXhCQTtBQXlCQSxVQXpCQSxzQkF5QkE7QUFDQTtBQUNBLEdBM0JBOzs7QUE2QkE7QUFDQSxXQTlCQSx1QkE4QkE7QUFDQTtBQUNBLEdBaENBOzs7QUFrQ0E7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBREEsTUFFQSxNQUZBLENBRUE7QUFBQTtBQUFBLE1BRkE7QUFHQTtBQUhBLE1BSUEsR0FKQSxDQUlBO0FBQUE7QUFBQSxNQUpBOztBQU1BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsRUFHQSxDQUhBO0FBQUE7QUFJQSxLQWRBLE1BY0E7QUFDQTtBQUNBLDZCQURBO0FBRUE7QUFGQTtBQUlBO0FBQ0E7QUFDQSxJQXZCQTtBQXdCQSxNQXhCQSxlQXdCQSxJQXhCQSxFQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQTNCQSxHQW5DQTs7QUFrRUE7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBTkE7QUFPQSxNQVBBLGVBT0EsSUFQQSxFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVpBLEdBbkVBOztBQWtGQTtBQUNBO0FBQ0EsTUFEQSxpQkFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQVBBO0FBUUEsTUFSQSxlQVFBLElBUkEsRUFRQTtBQUNBO0FBQ0E7QUFWQSxHQW5GQTs7QUFnR0E7QUFDQTtBQUNBLE1BREEsaUJBQ0E7QUFDQTtBQUNBLElBSEE7QUFJQSxNQUpBLGVBSUEsSUFKQSxFQUlBO0FBQ0E7QUFDQTtBQU5BO0FBakdBOztBQVZBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9Db250YWN0RGV0YWlscy9Db250YWN0RGV0YWlsc1Byb3BlcnR5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDwhLS0gSWYgbm90IGluIHRoZSByZmNQcm9wcyB0aGVuIHdlIGRvbid0IHdhbnQgdG8gZGlzcGxheSBpdCAtLT5cblx0PGNvbXBvbmVudCB2LWlmPVwicHJvcE1vZGVsXCIgOmlzPVwiY29tcG9uZW50SW5zdGFuY2VcIiA6c2VsZWN0LXR5cGU9XCJzZWxlY3RUeXBlXCJcblx0XHQ6cHJvcC1tb2RlbD1cInByb3BNb2RlbFwiIDp2YWx1ZT1cInZhbHVlXCIgLz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJ2ljYWwuanMnXG5pbXBvcnQgcmZjUHJvcHMgZnJvbSAnLi4vLi4vbW9kZWxzL3JmY1Byb3BzLmpzJ1xuaW1wb3J0IFByb3BlcnR5VGV4dCBmcm9tICcuLi9wcm9wZXJ0aWVzL1Byb3BlcnR5VGV4dCdcbmltcG9ydCBQcm9wZXJ0eU11bHRpcGxlVGV4dCBmcm9tICcuLi9wcm9wZXJ0aWVzL1Byb3BlcnR5TXVsdGlwbGVUZXh0J1xuaW1wb3J0IFByb3BlcnR5RGF0ZVRpbWUgZnJvbSAnLi4vcHJvcGVydGllcy9Qcm9wZXJ0eURhdGVUaW1lJ1xuLy8gaW1wb3J0IFByb3BlcnR5U2VsZWN0IGZyb20gJy4uL3Byb3BlcnRpZXMvUHJvcGVydHlNdWx0aXBsZVRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0NvbnRhY3REZXRhaWxzUHJvcGVydHknLFxuXG5cdHByb3BzOiB7XG5cdFx0cHJvcGVydHk6IHtcblx0XHRcdHR5cGU6IFByb3BlcnR5LFxuXHRcdFx0ZGVmYXVsdDogdHJ1ZVxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8vIGR5bmFtaWNhbGx5IGxvYWQgY29tcG9uZW50IGJhc2VkIG9uIHByb3BlcnR5IHR5cGVcblx0XHRjb21wb25lbnRJbnN0YW5jZSgpIHtcblx0XHRcdGlmICh0aGlzLnByb3BlcnR5LmlzTXVsdGlWYWx1ZSAmJiB0aGlzLnByb3BUeXBlID09PSAndGV4dCcpIHtcblx0XHRcdFx0cmV0dXJuIFByb3BlcnR5TXVsdGlwbGVUZXh0XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMucHJvcFR5cGUgJiYgWydkYXRlLWFuZC1vci10aW1lJywgJ2RhdGUtdGltZScsICd0aW1lJywgJ2RhdGUnXS5pbmRleE9mKHRoaXMucHJvcFR5cGUpID4gLTEpIHtcblx0XHRcdFx0cmV0dXJuIFByb3BlcnR5RGF0ZVRpbWVcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5wcm9wVHlwZSAmJiB0aGlzLnByb3BUeXBlICE9PSAndW5rbm93bicpIHtcblx0XHRcdFx0cmV0dXJuIFByb3BlcnR5VGV4dFxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFByb3BlcnR5VGV4dFxuXHRcdH0sXG5cblx0XHQvLyByZmMgcHJvcGVydGllcyBsaXN0XG5cdFx0cHJvcGVydGllcygpIHtcblx0XHRcdHJldHVybiByZmNQcm9wcy5wcm9wZXJ0aWVzXG5cdFx0fSxcblx0XHRmaWVsZE9yZGVyKCkge1xuXHRcdFx0cmV0dXJuIHJmY1Byb3BzLmZpZWxkT3JkZXJcblx0XHR9LFxuXG5cdFx0Ly8gdGhlIHR5cGUgb2YgdGhlIHByb3AgZS5nLiBGTlxuXHRcdHByb3BOYW1lKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMucHJvcGVydHkubmFtZVxuXHRcdH0sXG5cdFx0cHJvcFR5cGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9wZXJ0eS50eXBlXG5cdFx0fSxcblxuXHRcdC8vIHRlbXBsYXRlIHRvIHVzZVxuXHRcdHByb3BNb2RlbCgpIHtcblx0XHRcdHJldHVybiB0aGlzLnByb3BlcnRpZXNbdGhpcy5wcm9wTmFtZV1cblx0XHR9LFxuXG5cdFx0Ly8gc2VsZWN0IHR5cGUgaGFuZGxlclxuXHRcdHNlbGVjdFR5cGU6IHtcblx0XHRcdGdldCgpIHtcblx0XHRcdFx0aWYgKHRoaXMucHJvcE1vZGVsICYmIHRoaXMucHJvcE1vZGVsLm9wdGlvbnMgJiYgdGhpcy50eXBlKSB7XG5cblx0XHRcdFx0XHRsZXQgc2VsZWN0ZWRUeXBlID0gdGhpcy50eXBlXG5cdFx0XHRcdFx0XHQvLyB2Y2FyZCAzLjAgc2F2ZSBwcmVmIGFsb25nc2lkZSBUWVBFXG5cdFx0XHRcdFx0XHQuZmlsdGVyKHR5cGUgPT4gdHlwZSAhPT0gJ3ByZWYnKVxuXHRcdFx0XHRcdFx0Ly8gd2Ugb25seSB1c2UgdXBwZXJjYXNlIHN0cmluZ3Ncblx0XHRcdFx0XHRcdC5tYXAoc3RyID0+IHN0ci50b1VwcGVyQ2FzZSgpKVxuXG5cdFx0XHRcdFx0Ly8gQ29tcGFyZSBhcnJheSBhbmQgY2hlY2sgaWYgdGhlIG51bWJlciBvZiBleGFjdCBtYXRjaGVzXG5cdFx0XHRcdFx0Ly8gZXF1YWxzIHRoZSBhcnJheSBsZW5ndGggdG8gZmluZCB0aGUgZXhhY3QgcHJvcGVydHlcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5wcm9wTW9kZWwub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBzZWxlY3RlZFR5cGUubGVuZ3RoID09PSBvcHRpb24uaWQuc3BsaXQoJywnKS5yZWR1Y2UoKG1hdGNoZXMsIHR5cGUpID0+IHtcblx0XHRcdFx0XHRcdG1hdGNoZXMgKz0gc2VsZWN0ZWRUeXBlLmluZGV4T2YodHlwZSkgPiAtMSA/IDEgOiAwXG5cdFx0XHRcdFx0XHRyZXR1cm4gbWF0Y2hlc1xuXHRcdFx0XHRcdH0sIDApKVxuXHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMudHlwZSkge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRpZDogdGhpcy50eXBlLmpvaW4oJywnKSxcblx0XHRcdFx0XHRcdG5hbWU6IHRoaXMudHlwZS5qb2luKCcsJylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9LFxuXHRcdFx0c2V0KGRhdGEpIHtcblx0XHRcdFx0Ly8gaWNhbC5qcyB0YWtlIHR5cGVzIGFzIGFycmF5c1xuXHRcdFx0XHR0aGlzLnR5cGUgPSBkYXRhLmlkLnNwbGl0KCcsJylcblx0XHRcdH1cblxuXHRcdH0sXG5cblx0XHQvLyBwcm9wZXJ0eSB2YWx1ZShzKVxuXHRcdHZhbHVlOiB7XG5cdFx0XHRnZXQoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnR5LmlzTXVsdGlWYWx1ZSkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LmdldFZhbHVlcygpLmZsYXR0ZW4oKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LmdldEZpcnN0VmFsdWUoKVxuXHRcdFx0fSxcblx0XHRcdHNldChkYXRhKSB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnR5LmlzTXVsdGlWYWx1ZSkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LnNldFZhbHVlcyhkYXRhKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnByb3BlcnR5LnNldFZhbHVlKGRhdGEpXG5cdFx0XH