@plattar/plattar-ar-adapter 1.122.4 → 1.123.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -162,7 +162,7 @@ class ModelAR extends launcher_ar_1.LauncherAR {
162
162
  }
163
163
  exports.ModelAR = ModelAR;
164
164
 
165
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2,"@plattar/plattar-analytics":32,"@plattar/plattar-api":36}],4:[function(require,module,exports){
165
+ },{"../util/util":13,"../viewers/quicklook-viewer":16,"../viewers/reality-viewer":17,"../viewers/scene-viewer":18,"./launcher-ar":2,"@plattar/plattar-analytics":36,"@plattar/plattar-api":40}],4:[function(require,module,exports){
166
166
  "use strict";
167
167
  var __importDefault = (this && this.__importDefault) || function (mod) {
168
168
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -338,7 +338,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
338
338
  }
339
339
  exports.ProductAR = ProductAR;
340
340
 
341
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2,"@plattar/plattar-analytics":32,"@plattar/plattar-api":36}],5:[function(require,module,exports){
341
+ },{"../util/util":13,"../viewers/quicklook-viewer":16,"../viewers/reality-viewer":17,"../viewers/scene-viewer":18,"./launcher-ar":2,"@plattar/plattar-analytics":36,"@plattar/plattar-api":40}],5:[function(require,module,exports){
342
342
  "use strict";
343
343
  var __importDefault = (this && this.__importDefault) || function (mod) {
344
344
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -450,7 +450,7 @@ class RawAR extends launcher_ar_1.LauncherAR {
450
450
  }
451
451
  exports.RawAR = RawAR;
452
452
 
453
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2}],6:[function(require,module,exports){
453
+ },{"../util/util":13,"../viewers/quicklook-viewer":16,"../viewers/reality-viewer":17,"../viewers/scene-viewer":18,"./launcher-ar":2}],6:[function(require,module,exports){
454
454
  "use strict";
455
455
  Object.defineProperty(exports, "__esModule", { value: true });
456
456
  exports.SceneAR = void 0;
@@ -474,23 +474,551 @@ exports.SceneAR = SceneAR;
474
474
  },{"./launcher-ar":2}],7:[function(require,module,exports){
475
475
  "use strict";
476
476
  Object.defineProperty(exports, "__esModule", { value: true });
477
+ exports.ConfiguratorController = void 0;
477
478
  const plattar_api_1 = require("@plattar/plattar-api");
478
- const product_ar_1 = require("../ar/product-ar");
479
479
  const plattar_services_1 = require("@plattar/plattar-services");
480
- const util_1 = require("../util/util");
481
- const raw_ar_1 = require("../ar/raw-ar");
480
+ const raw_ar_1 = require("../../ar/raw-ar");
481
+ const util_1 = require("../../util/util");
482
+ const plattar_controller_1 = require("./plattar-controller");
483
+ /**
484
+ * Manages an instance of the <plattar-configurator> HTML Element
485
+ */
486
+ class ConfiguratorController extends plattar_controller_1.PlattarController {
487
+ constructor(parent) {
488
+ super(parent);
489
+ this._state = plattar_controller_1.ControllerState.None;
490
+ this._element = null;
491
+ this._prevQROpt = null;
492
+ }
493
+ onAttributesUpdated() {
494
+ const state = this._state;
495
+ // re-render the QR Code when attributes have changed
496
+ if (state === plattar_controller_1.ControllerState.QRCode) {
497
+ this.startQRCode(this._prevQROpt);
498
+ return;
499
+ }
500
+ }
501
+ startQRCode(options) {
502
+ return new Promise((accept, reject) => {
503
+ // remove the old renderer instance if any
504
+ this.removeRenderer();
505
+ const sceneID = this.getAttribute("scene-id");
506
+ if (sceneID) {
507
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
508
+ const viewer = document.createElement("plattar-qrcode");
509
+ // required attributes with defaults for plattar-viewer node
510
+ const width = this.getAttribute("width") || "500px";
511
+ const height = this.getAttribute("height") || "500px";
512
+ viewer.setAttribute("width", width);
513
+ viewer.setAttribute("height", height);
514
+ if (opt.color) {
515
+ viewer.setAttribute("color", opt.color);
516
+ }
517
+ if (opt.margin) {
518
+ viewer.setAttribute("margin", "" + opt.margin);
519
+ }
520
+ if (opt.qrType) {
521
+ viewer.setAttribute("qr-type", opt.qrType);
522
+ }
523
+ let dst = plattar_api_1.Server.location().base + "renderer/configurator.html?scene_id=" + sceneID;
524
+ // optional attributes
525
+ const configState = this.getAttribute("config-state");
526
+ const showAR = this.getAttribute("show-ar");
527
+ if (configState) {
528
+ dst += "&config_state=" + configState;
529
+ }
530
+ if (showAR) {
531
+ dst += "&show_ar=" + showAR;
532
+ }
533
+ viewer.setAttribute("url", opt.url || dst);
534
+ viewer.onload = () => {
535
+ return accept(viewer);
536
+ };
537
+ this.append(viewer);
538
+ this._element = viewer;
539
+ this._state = plattar_controller_1.ControllerState.QRCode;
540
+ this._prevQROpt = opt;
541
+ return;
542
+ }
543
+ return reject(new Error("ConfiguratorController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
544
+ });
545
+ }
546
+ startRenderer() {
547
+ return new Promise((accept, reject) => {
548
+ // remove the old renderer instance if any
549
+ this.removeRenderer();
550
+ const sceneID = this.getAttribute("scene-id");
551
+ if (sceneID) {
552
+ // required attributes with defaults for plattar-configurator node
553
+ const width = this.getAttribute("width") || "500px";
554
+ const height = this.getAttribute("height") || "500px";
555
+ const server = this.getAttribute("server") || "production";
556
+ const viewer = document.createElement("plattar-configurator");
557
+ viewer.setAttribute("width", width);
558
+ viewer.setAttribute("height", height);
559
+ viewer.setAttribute("server", server);
560
+ viewer.setAttribute("scene-id", sceneID);
561
+ // optional attributes
562
+ const configState = this.getAttribute("config-state");
563
+ const showAR = this.getAttribute("show-ar");
564
+ if (configState) {
565
+ viewer.setAttribute("config-state", configState);
566
+ }
567
+ if (showAR) {
568
+ viewer.setAttribute("show-ar", showAR);
569
+ }
570
+ viewer.onload = () => {
571
+ return accept(viewer);
572
+ };
573
+ this.append(viewer);
574
+ this._element = viewer;
575
+ this._state = plattar_controller_1.ControllerState.Renderer;
576
+ return;
577
+ }
578
+ return reject(new Error("ConfiguratorController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
579
+ });
580
+ }
581
+ startAR() {
582
+ return new Promise((accept, reject) => {
583
+ this.initAR().then((launcher) => {
584
+ launcher.start();
585
+ accept();
586
+ }).catch(reject);
587
+ });
588
+ }
589
+ initAR() {
590
+ return new Promise((accept, reject) => {
591
+ if (!util_1.Util.canAugment()) {
592
+ return reject(new Error("ConfiguratorController.initAR() - cannot proceed as AR not available in context"));
593
+ }
594
+ // if scene ID is available and the state is a configurator viewer
595
+ // we can use the real-time configurator state to launch the AR view
596
+ const viewer = this.element;
597
+ const sceneID = this.getAttribute("scene-id");
598
+ if (viewer && sceneID) {
599
+ let output = "glb";
600
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
601
+ output = "usdz";
602
+ }
603
+ return viewer.messenger.getARFile(output).then((result) => {
604
+ const rawAR = new raw_ar_1.RawAR(result.filename);
605
+ return rawAR.init().then(accept).catch(reject);
606
+ }).catch(reject);
607
+ }
608
+ const configState = this.getAttribute("config-state");
609
+ // otherwise scene ID is available to the viewer is not launched
610
+ // we can use the static configuration state to launch the AR view
611
+ if (sceneID && configState) {
612
+ try {
613
+ const decodedb64State = atob(configState);
614
+ const state = JSON.parse(decodedb64State);
615
+ if (state.meta) {
616
+ const sceneProductIndex = state.meta.scene_product_index || 0;
617
+ const variationIndex = state.meta.product_variation_index || 1;
618
+ const states = state.states || [];
619
+ if (states.length > 0) {
620
+ const configurator = new plattar_services_1.Configurator();
621
+ states.forEach((productState) => {
622
+ configurator.addSceneProduct(productState[sceneProductIndex], productState[variationIndex]);
623
+ });
624
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
625
+ configurator.output = "usdz";
626
+ }
627
+ if (util_1.Util.canSceneViewer()) {
628
+ configurator.output = "glb";
629
+ }
630
+ const server = this.getAttribute("server") || "production";
631
+ configurator.server = server;
632
+ return configurator.get().then((result) => {
633
+ const rawAR = new raw_ar_1.RawAR(result.filename);
634
+ rawAR.init().then(accept).catch(reject);
635
+ }).catch(reject);
636
+ }
637
+ return reject(new Error("ConfiguratorController.initAR() - invalid config-state does not have any product states"));
638
+ }
639
+ return reject(new Error("ConfiguratorController.initAR() - invalid config-state for configurator"));
640
+ }
641
+ catch (err) {
642
+ return reject(err);
643
+ }
644
+ }
645
+ return reject(new Error("ConfiguratorController.initAR() - minimum required attributes not set, use scene-id as a minimum"));
646
+ });
647
+ }
648
+ removeRenderer() {
649
+ if (this._element) {
650
+ this._element.remove();
651
+ this._element = null;
652
+ return true;
653
+ }
654
+ return false;
655
+ }
656
+ get element() {
657
+ return this._element;
658
+ }
659
+ }
660
+ exports.ConfiguratorController = ConfiguratorController;
661
+
662
+ },{"../../ar/raw-ar":5,"../../util/util":13,"./plattar-controller":8,"@plattar/plattar-api":40,"@plattar/plattar-services":111}],8:[function(require,module,exports){
663
+ "use strict";
664
+ Object.defineProperty(exports, "__esModule", { value: true });
665
+ exports.PlattarController = exports.ControllerState = void 0;
666
+ var ControllerState;
667
+ (function (ControllerState) {
668
+ ControllerState[ControllerState["None"] = 0] = "None";
669
+ ControllerState[ControllerState["Renderer"] = 1] = "Renderer";
670
+ ControllerState[ControllerState["QRCode"] = 2] = "QRCode";
671
+ })(ControllerState = exports.ControllerState || (exports.ControllerState = {}));
482
672
  /**
483
- * This tracks the current state of the Embed
673
+ * All Plattar Controllers are derived from the same interface
484
674
  */
485
- var EmbedState;
486
- (function (EmbedState) {
487
- EmbedState[EmbedState["None"] = 0] = "None";
488
- EmbedState[EmbedState["SceneViewer"] = 1] = "SceneViewer";
489
- EmbedState[EmbedState["ProductViewer"] = 2] = "ProductViewer";
490
- EmbedState[EmbedState["ConfiguratorViewer"] = 3] = "ConfiguratorViewer";
491
- EmbedState[EmbedState["ProductAR"] = 4] = "ProductAR";
492
- EmbedState[EmbedState["QRCode"] = 5] = "QRCode";
493
- })(EmbedState || (EmbedState = {}));
675
+ class PlattarController {
676
+ constructor(parent) {
677
+ this._parent = parent;
678
+ }
679
+ /**
680
+ * Default QR Code rendering options
681
+ */
682
+ static get DEFAULT_QR_OPTIONS() {
683
+ return {
684
+ color: "#101721",
685
+ qrType: "default",
686
+ margin: 0
687
+ };
688
+ }
689
+ ;
690
+ /**
691
+ * Returns the Parent Instance
692
+ */
693
+ get parent() {
694
+ return this._parent;
695
+ }
696
+ /**
697
+ * Returns the specified attribute from the parent
698
+ * @param attribute - The name of thhe attribute
699
+ * @returns - The attribute value or null
700
+ */
701
+ getAttribute(attribute) {
702
+ return this.parent ? (this.parent.hasAttribute(attribute) ? this.parent.getAttribute(attribute) : null) : null;
703
+ }
704
+ /**
705
+ * Appends the provided element into the shadow-root of the parent element
706
+ * @param element - The element to append
707
+ */
708
+ append(element) {
709
+ const shadow = this.parent.shadowRoot || this.parent.attachShadow({ mode: 'open' });
710
+ shadow.append(element);
711
+ }
712
+ }
713
+ exports.PlattarController = PlattarController;
714
+
715
+ },{}],9:[function(require,module,exports){
716
+ "use strict";
717
+ Object.defineProperty(exports, "__esModule", { value: true });
718
+ exports.ProductController = void 0;
719
+ const plattar_api_1 = require("@plattar/plattar-api");
720
+ const product_ar_1 = require("../../ar/product-ar");
721
+ const util_1 = require("../../util/util");
722
+ const plattar_controller_1 = require("./plattar-controller");
723
+ /**
724
+ * Manages an instance of the <plattar-product> HTML Element
725
+ */
726
+ class ProductController extends plattar_controller_1.PlattarController {
727
+ constructor(parent) {
728
+ super(parent);
729
+ this._state = plattar_controller_1.ControllerState.None;
730
+ this._element = null;
731
+ this._prevQROpt = null;
732
+ }
733
+ onAttributesUpdated() {
734
+ const state = this._state;
735
+ // re-render the QR Code when attributes have changed
736
+ if (state === plattar_controller_1.ControllerState.QRCode) {
737
+ this.startQRCode(this._prevQROpt);
738
+ return;
739
+ }
740
+ // use the messenger function to change variation when attributes have changed
741
+ if (state === plattar_controller_1.ControllerState.Renderer) {
742
+ const viewer = this._element;
743
+ if (viewer) {
744
+ const variationID = this.getAttribute("variation-id");
745
+ viewer.messenger.selectVariation(variationID);
746
+ }
747
+ return;
748
+ }
749
+ }
750
+ startQRCode(options) {
751
+ return new Promise((accept, reject) => {
752
+ // remove the old renderer instance if any
753
+ this.removeRenderer();
754
+ const productID = this.getAttribute("product-id");
755
+ if (productID) {
756
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
757
+ const viewer = document.createElement("plattar-qrcode");
758
+ // required attributes with defaults for plattar-viewer node
759
+ const width = this.getAttribute("width") || "500px";
760
+ const height = this.getAttribute("height") || "500px";
761
+ viewer.setAttribute("width", width);
762
+ viewer.setAttribute("height", height);
763
+ if (opt.color) {
764
+ viewer.setAttribute("color", opt.color);
765
+ }
766
+ if (opt.margin) {
767
+ viewer.setAttribute("margin", "" + opt.margin);
768
+ }
769
+ if (opt.qrType) {
770
+ viewer.setAttribute("qr-type", opt.qrType);
771
+ }
772
+ // optional attributes
773
+ const variationID = this.getAttribute("variation-id");
774
+ let dst = plattar_api_1.Server.location().base + "renderer/product.html?product_id=" + productID;
775
+ if (variationID) {
776
+ dst += "&variation_id=" + variationID;
777
+ }
778
+ viewer.setAttribute("url", opt.url || dst);
779
+ viewer.onload = () => {
780
+ return accept(viewer);
781
+ };
782
+ this.append(viewer);
783
+ this._element = viewer;
784
+ this._state = plattar_controller_1.ControllerState.QRCode;
785
+ this._prevQROpt = opt;
786
+ return;
787
+ }
788
+ return reject(new Error("ProductController.startQRCode() - minimum required attributes not set, use product-id as a minimum"));
789
+ });
790
+ }
791
+ startRenderer() {
792
+ return new Promise((accept, reject) => {
793
+ // remove the old renderer instance if any
794
+ this.removeRenderer();
795
+ const productID = this.getAttribute("product-id");
796
+ if (productID) {
797
+ // required attributes with defaults for plattar-product node
798
+ const width = this.getAttribute("width") || "500px";
799
+ const height = this.getAttribute("height") || "500px";
800
+ const server = this.getAttribute("server") || "production";
801
+ const viewer = document.createElement("plattar-product");
802
+ viewer.setAttribute("width", width);
803
+ viewer.setAttribute("height", height);
804
+ viewer.setAttribute("server", server);
805
+ viewer.setAttribute("product-id", productID);
806
+ // optional attributes
807
+ const variationID = this.getAttribute("variation-id");
808
+ if (variationID) {
809
+ viewer.setAttribute("variation-id", variationID);
810
+ }
811
+ viewer.onload = () => {
812
+ return accept(viewer);
813
+ };
814
+ this.append(viewer);
815
+ this._element = viewer;
816
+ this._state = plattar_controller_1.ControllerState.Renderer;
817
+ return;
818
+ }
819
+ return reject(new Error("ProductController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
820
+ });
821
+ }
822
+ startAR() {
823
+ return new Promise((accept, reject) => {
824
+ this.initAR().then((launcher) => {
825
+ launcher.start();
826
+ accept();
827
+ }).catch(reject);
828
+ });
829
+ }
830
+ initAR() {
831
+ return new Promise((accept, reject) => {
832
+ if (!util_1.Util.canAugment()) {
833
+ return reject(new Error("ProductController.initAR() - cannot proceed as AR not available in context"));
834
+ }
835
+ const productID = this.getAttribute("product-id");
836
+ if (productID) {
837
+ const variationID = this.getAttribute("variation-id");
838
+ const product = new product_ar_1.ProductAR(productID, variationID);
839
+ return product.init().then(accept).catch(reject);
840
+ }
841
+ return reject(new Error("ProductController.initAR() - minimum required attributes not set, use product-id as a minimum"));
842
+ });
843
+ }
844
+ removeRenderer() {
845
+ if (this._element) {
846
+ this._element.remove();
847
+ this._element = null;
848
+ return true;
849
+ }
850
+ return false;
851
+ }
852
+ get element() {
853
+ return this._element;
854
+ }
855
+ }
856
+ exports.ProductController = ProductController;
857
+
858
+ },{"../../ar/product-ar":4,"../../util/util":13,"./plattar-controller":8,"@plattar/plattar-api":40}],10:[function(require,module,exports){
859
+ "use strict";
860
+ Object.defineProperty(exports, "__esModule", { value: true });
861
+ exports.ViewerController = void 0;
862
+ const plattar_api_1 = require("@plattar/plattar-api");
863
+ const product_ar_1 = require("../../ar/product-ar");
864
+ const util_1 = require("../../util/util");
865
+ const plattar_controller_1 = require("./plattar-controller");
866
+ /**
867
+ * Manages an instance of the <plattar-viewer> HTML Element
868
+ */
869
+ class ViewerController extends plattar_controller_1.PlattarController {
870
+ constructor(parent) {
871
+ super(parent);
872
+ this._state = plattar_controller_1.ControllerState.None;
873
+ this._element = null;
874
+ this._prevQROpt = null;
875
+ }
876
+ onAttributesUpdated() {
877
+ const state = this._state;
878
+ // re-render the QR Code when attributes have changed
879
+ if (state === plattar_controller_1.ControllerState.QRCode) {
880
+ this.startQRCode(this._prevQROpt);
881
+ return;
882
+ }
883
+ // use the messenger function to change variation when attributes have changed
884
+ if (state === plattar_controller_1.ControllerState.Renderer) {
885
+ const viewer = this._element;
886
+ if (viewer) {
887
+ const productID = this.getAttribute("product-id");
888
+ const variationID = this.getAttribute("variation-id");
889
+ viewer.messenger.selectVariation(productID, variationID);
890
+ }
891
+ return;
892
+ }
893
+ }
894
+ startQRCode(options) {
895
+ return new Promise((accept, reject) => {
896
+ // remove the old renderer instance if any
897
+ this.removeRenderer();
898
+ const sceneID = this.getAttribute("scene-id");
899
+ if (sceneID) {
900
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
901
+ const viewer = document.createElement("plattar-qrcode");
902
+ // required attributes with defaults for plattar-viewer node
903
+ const width = this.getAttribute("width") || "500px";
904
+ const height = this.getAttribute("height") || "500px";
905
+ viewer.setAttribute("width", width);
906
+ viewer.setAttribute("height", height);
907
+ if (opt.color) {
908
+ viewer.setAttribute("color", opt.color);
909
+ }
910
+ if (opt.margin) {
911
+ viewer.setAttribute("margin", "" + opt.margin);
912
+ }
913
+ if (opt.qrType) {
914
+ viewer.setAttribute("qr-type", opt.qrType);
915
+ }
916
+ let dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + sceneID;
917
+ // optional attributes
918
+ const productID = this.getAttribute("product-id");
919
+ const variationID = this.getAttribute("variation-id");
920
+ if (productID) {
921
+ dst += "&productId=" + productID;
922
+ }
923
+ if (variationID) {
924
+ dst += "&variationId=" + variationID;
925
+ }
926
+ viewer.setAttribute("url", opt.url || dst);
927
+ viewer.onload = () => {
928
+ return accept(viewer);
929
+ };
930
+ this.append(viewer);
931
+ this._element = viewer;
932
+ this._state = plattar_controller_1.ControllerState.QRCode;
933
+ this._prevQROpt = opt;
934
+ return;
935
+ }
936
+ return reject(new Error("ViewerController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
937
+ });
938
+ }
939
+ startRenderer() {
940
+ return new Promise((accept, reject) => {
941
+ // remove the old renderer instance if any
942
+ this.removeRenderer();
943
+ const sceneID = this.getAttribute("scene-id");
944
+ if (sceneID) {
945
+ // required attributes with defaults for plattar-viewer node
946
+ const width = this.getAttribute("width") || "500px";
947
+ const height = this.getAttribute("height") || "500px";
948
+ const server = this.getAttribute("server") || "production";
949
+ const viewer = document.createElement("plattar-viewer");
950
+ viewer.setAttribute("width", width);
951
+ viewer.setAttribute("height", height);
952
+ viewer.setAttribute("server", server);
953
+ viewer.setAttribute("scene-id", sceneID);
954
+ // optional attributes
955
+ const productID = this.getAttribute("product-id");
956
+ const variationID = this.getAttribute("variation-id");
957
+ if (productID) {
958
+ viewer.setAttribute("product-id", productID);
959
+ }
960
+ if (variationID) {
961
+ viewer.setAttribute("variation-id", variationID);
962
+ }
963
+ viewer.onload = () => {
964
+ return accept(viewer);
965
+ };
966
+ this.append(viewer);
967
+ this._element = viewer;
968
+ this._state = plattar_controller_1.ControllerState.Renderer;
969
+ return;
970
+ }
971
+ return reject(new Error("ViewerController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
972
+ });
973
+ }
974
+ startAR() {
975
+ return new Promise((accept, reject) => {
976
+ this.initAR().then((launcher) => {
977
+ launcher.start();
978
+ accept();
979
+ }).catch(reject);
980
+ });
981
+ }
982
+ initAR() {
983
+ return new Promise((accept, reject) => {
984
+ if (!util_1.Util.canAugment()) {
985
+ return reject(new Error("ViewerController.initAR() - cannot proceed as AR not available in context"));
986
+ }
987
+ const productID = this.getAttribute("product-id");
988
+ if (productID) {
989
+ const variationID = this.getAttribute("variation-id");
990
+ const product = new product_ar_1.ProductAR(productID, variationID);
991
+ return product.init().then(accept).catch(reject);
992
+ }
993
+ const sceneID = this.getAttribute("scene-id");
994
+ // otherwise, scene was set so use SceneAR
995
+ if (sceneID) {
996
+ return reject(new Error("ViewerController.initAR() - AR mode for scene-id not yet supported, use product-id"));
997
+ }
998
+ return reject(new Error("ViewerController.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
999
+ });
1000
+ }
1001
+ removeRenderer() {
1002
+ if (this._element) {
1003
+ this._element.remove();
1004
+ this._element = null;
1005
+ return true;
1006
+ }
1007
+ return false;
1008
+ }
1009
+ get element() {
1010
+ return this._element;
1011
+ }
1012
+ }
1013
+ exports.ViewerController = ViewerController;
1014
+
1015
+ },{"../../ar/product-ar":4,"../../util/util":13,"./plattar-controller":8,"@plattar/plattar-api":40}],11:[function(require,module,exports){
1016
+ "use strict";
1017
+ Object.defineProperty(exports, "__esModule", { value: true });
1018
+ const plattar_api_1 = require("@plattar/plattar-api");
1019
+ const product_controller_1 = require("./controllers/product-controller");
1020
+ const viewer_controller_1 = require("./controllers/viewer-controller");
1021
+ const configurator_controller_1 = require("./controllers/configurator-controller");
494
1022
  /**
495
1023
  * This tracks the current embed type
496
1024
  */
@@ -506,26 +1034,12 @@ var EmbedType;
506
1034
  class PlattarEmbed extends HTMLElement {
507
1035
  constructor() {
508
1036
  super();
509
- // this is the current state of the embed, none by default
510
- this._currentState = EmbedState.None;
511
1037
  // this is the current embed type, viewer by default
512
1038
  this._currentType = EmbedType.Viewer;
513
- this._qrCodeOptions = {
514
- color: "#101721",
515
- qrType: "default",
516
- margin: 0
517
- };
518
- this._sceneID = null;
519
- this._productID = null;
520
- this._variationID = null;
521
- this._isReady = false;
522
- this._width = "500px";
523
- this._height = "500px";
524
- this._server = "production";
525
- this._viewer = null;
1039
+ this._controller = null;
526
1040
  }
527
1041
  get viewer() {
528
- return this._viewer;
1042
+ return this._controller ? this._controller.element : null;
529
1043
  }
530
1044
  connectedCallback() {
531
1045
  const embedType = this.hasAttribute("embed-type") ? this.getAttribute("embed-type") : "viewer";
@@ -544,26 +1058,7 @@ class PlattarEmbed extends HTMLElement {
544
1058
  const observer = new MutationObserver((mutations) => {
545
1059
  mutations.forEach((mutation) => {
546
1060
  if (mutation.type === "attributes") {
547
- const sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
548
- const productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
549
- const variationID = this.hasAttribute("variation-id") ? this.getAttribute("variation-id") : null;
550
- let updated = false;
551
- if (sceneID !== this._sceneID) {
552
- this._sceneID = sceneID;
553
- updated = true;
554
- }
555
- if (productID !== this._productID) {
556
- this._productID = productID;
557
- updated = true;
558
- }
559
- if (variationID !== this._variationID) {
560
- this._variationID = variationID;
561
- updated = true;
562
- }
563
- if (updated) {
564
- // re-render based on internal state
565
- this._OnAttributesUpdated();
566
- }
1061
+ this._OnAttributesUpdated();
567
1062
  }
568
1063
  });
569
1064
  });
@@ -572,21 +1067,21 @@ class PlattarEmbed extends HTMLElement {
572
1067
  });
573
1068
  const server = this.hasAttribute("server") ? this.getAttribute("server") : "production";
574
1069
  plattar_api_1.Server.create(plattar_api_1.Server.match(server || "production"));
575
- if (server) {
576
- this._server = server;
577
- }
578
- this._sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
579
- this._productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
580
- this._variationID = this.hasAttribute("variation-id") ? this.getAttribute("variation-id") : null;
581
- const width = this.hasAttribute("width") ? this.getAttribute("width") : "500px";
582
- const height = this.hasAttribute("height") ? this.getAttribute("height") : "500px";
583
- if (width) {
584
- this._width = width;
1070
+ const sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
1071
+ const productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
1072
+ // decide which controller to initialise
1073
+ if (this._currentType === EmbedType.Viewer) {
1074
+ // initialise product if scene-id is missing but product-id is defined
1075
+ if (!sceneID && productID) {
1076
+ this._controller = new product_controller_1.ProductController(this);
1077
+ }
1078
+ else if (sceneID) {
1079
+ this._controller = new viewer_controller_1.ViewerController(this);
1080
+ }
585
1081
  }
586
- if (height) {
587
- this._height = height;
1082
+ else if (this._currentType === EmbedType.Configurator) {
1083
+ this._controller = new configurator_controller_1.ConfiguratorController(this);
588
1084
  }
589
- this._isReady = true;
590
1085
  const init = this.hasAttribute("init") ? this.getAttribute("init") : null;
591
1086
  if (init === "ar") {
592
1087
  this.startAR();
@@ -614,279 +1109,34 @@ class PlattarEmbed extends HTMLElement {
614
1109
  }
615
1110
  initAR() {
616
1111
  return new Promise((accept, reject) => {
617
- if (!this._isReady) {
618
- return reject(new Error("PlattarEmbed.initAR() - cannot execute as page has not loaded yet"));
619
- }
620
- if (!util_1.Util.canAugment()) {
621
- return reject(new Error("PlattarEmbed.initAR() - cannot proceed as AR not available in context"));
622
- }
623
- if (this._currentType === EmbedType.Viewer) {
624
- // if scene is not set but product is, then use ProductAR
625
- if (!this._sceneID && this._productID) {
626
- const product = new product_ar_1.ProductAR(this._productID, this._variationID);
627
- return product.init().then(accept).catch(reject);
628
- }
629
- // If Product is set (under any scenario) then use ProductAR
630
- // NOTE: At some point this should check for Scenes when SceneAR
631
- // is implemented
632
- if (this._productID) {
633
- const product = new product_ar_1.ProductAR(this._productID, this._variationID);
634
- return product.init().then(accept).catch(reject);
635
- }
636
- }
637
- if (this._currentType === EmbedType.Configurator) {
638
- // if scene ID is available and the state is a configurator viewer
639
- // we can use the real-time configurator state to launch the AR view
640
- const viewer = this.viewer;
641
- if (viewer && this._sceneID && this._currentState === EmbedState.ConfiguratorViewer) {
642
- let output = "glb";
643
- if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
644
- output = "usdz";
645
- }
646
- viewer.messenger.getARFile(output).then((result) => {
647
- const rawAR = new raw_ar_1.RawAR(result.filename);
648
- return rawAR.init().then(accept).catch(reject);
649
- }).catch(reject);
650
- }
651
- const configState = this.hasAttribute("config-state") ? this.getAttribute("config-state") : null;
652
- // otherwise scene ID is available to the viewer is not launched
653
- // we can use the static configuration state to launch the AR view
654
- if (this._sceneID && configState) {
655
- try {
656
- const decodedb64State = atob(configState);
657
- const state = JSON.parse(decodedb64State);
658
- if (state.meta) {
659
- const sceneProductIndex = state.meta.scene_product_index || 0;
660
- const variationIndex = state.meta.product_variation_index || 1;
661
- const states = state.states || [];
662
- if (states.length > 0) {
663
- const configurator = new plattar_services_1.Configurator();
664
- states.forEach((productState) => {
665
- configurator.addSceneProduct(productState[sceneProductIndex], productState[variationIndex]);
666
- });
667
- if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
668
- configurator.output = "usdz";
669
- }
670
- if (util_1.Util.canSceneViewer()) {
671
- configurator.output = "glb";
672
- }
673
- configurator.server = this._server;
674
- return configurator.get().then((result) => {
675
- const rawAR = new raw_ar_1.RawAR(result.filename);
676
- rawAR.init().then(accept).catch(reject);
677
- }).catch(reject);
678
- }
679
- return reject(new Error("PlattarEmbed.initAR() - invalid config-state does not have any product states"));
680
- }
681
- return reject(new Error("PlattarEmbed.initAR() - invalid config-state for configurator"));
682
- }
683
- catch (err) {
684
- return reject(err);
685
- }
686
- }
687
- }
688
- // otherwise, scene was set so use SceneAR
689
- if (this._sceneID) {
690
- return reject(new Error("PlattarEmbed.initAR() - scene-id not yet supported"));
1112
+ if (!this._controller) {
1113
+ return reject(new Error("PlattarEmbed.initAR() - cannot execute as controller has not loaded yet"));
691
1114
  }
692
- return reject(new Error("PlattarEmbed.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
1115
+ return this._controller.initAR().then(accept).catch(reject);
693
1116
  });
694
1117
  }
695
1118
  startAR() {
696
1119
  return new Promise((accept, reject) => {
697
- if (!this._isReady) {
698
- return reject(new Error("PlattarEmbed.startAR() - cannot execute as page has not loaded yet"));
1120
+ if (!this._controller) {
1121
+ return reject(new Error("PlattarEmbed.startAR() - cannot execute as controller has not loaded yet"));
699
1122
  }
700
- this.initAR().then((launcher) => {
701
- launcher.start();
702
- accept();
703
- }).catch(reject);
1123
+ return this._controller.startAR().then(accept).catch(reject);
704
1124
  });
705
1125
  }
706
1126
  startViewer() {
707
1127
  return new Promise((accept, reject) => {
708
- if (!this._isReady) {
709
- return reject(new Error("PlattarEmbed.startViewer() - cannot execute as page has not loaded yet"));
710
- }
711
- if (this._viewer) {
712
- this._viewer.remove();
713
- this._viewer = null;
714
- }
715
- // if scene is set and embed is a viewer type, we use <plattar-viewer /> node from plattar-web
716
- if (this._sceneID && this._currentType === EmbedType.Viewer) {
717
- const viewer = document.createElement("plattar-viewer");
718
- viewer.setAttribute("width", this._width);
719
- viewer.setAttribute("height", this._height);
720
- viewer.setAttribute("server", this._server);
721
- viewer.setAttribute("scene-id", this._sceneID);
722
- if (this._productID) {
723
- viewer.setAttribute("product-id", this._productID);
724
- }
725
- if (this._variationID) {
726
- viewer.setAttribute("variation-id", this._variationID);
727
- }
728
- viewer.onload = () => {
729
- return accept(viewer);
730
- };
731
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
732
- shadow.append(viewer);
733
- this._viewer = viewer;
734
- this._currentState = EmbedState.SceneViewer;
735
- return;
736
- }
737
- // if scene is set and embed is a configurator type, we use <plattar-configurator /> node from plattar-web
738
- if (this._sceneID && this._currentType === EmbedType.Configurator) {
739
- const viewer = document.createElement("plattar-configurator");
740
- viewer.setAttribute("width", this._width);
741
- viewer.setAttribute("height", this._height);
742
- viewer.setAttribute("server", this._server);
743
- viewer.setAttribute("scene-id", this._sceneID);
744
- const configState = this.hasAttribute("config-state") ? this.getAttribute("config-state") : null;
745
- const showAR = this.hasAttribute("show-ar") ? this.getAttribute("show-ar") : null;
746
- if (configState) {
747
- viewer.setAttribute("config-state", configState);
748
- }
749
- if (showAR) {
750
- viewer.setAttribute("show-ar", showAR);
751
- }
752
- viewer.onload = () => {
753
- return accept(viewer);
754
- };
755
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
756
- shadow.append(viewer);
757
- this._viewer = viewer;
758
- this._currentState = EmbedState.ConfiguratorViewer;
759
- return;
760
- }
761
- // if product is set, we use <plattar-product /> node from plattar-web
762
- if (this._productID) {
763
- const viewer = document.createElement("plattar-product");
764
- viewer.setAttribute("width", this._width);
765
- viewer.setAttribute("height", this._height);
766
- viewer.setAttribute("server", this._server);
767
- viewer.setAttribute("product-id", this._productID);
768
- if (this._variationID) {
769
- viewer.setAttribute("variation-id", this._variationID);
770
- }
771
- viewer.onload = () => {
772
- return accept(viewer);
773
- };
774
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
775
- shadow.append(viewer);
776
- this._viewer = viewer;
777
- this._currentState = EmbedState.ProductViewer;
778
- return;
1128
+ if (!this._controller) {
1129
+ return reject(new Error("PlattarEmbed.startViewer() - cannot execute as controller has not loaded yet"));
779
1130
  }
780
- return reject(new Error("PlattarEmbed.startViewer() - minimum required attributes not set, use scene-id or product-id as a minimum"));
1131
+ return this._controller.startRenderer().then(accept).catch(reject);
781
1132
  });
782
1133
  }
783
1134
  startQRCode(options = null) {
784
1135
  return new Promise((accept, reject) => {
785
- if (!this._isReady) {
786
- return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as page has not loaded yet"));
1136
+ if (!this._controller) {
1137
+ return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as controller has not loaded yet"));
787
1138
  }
788
- const opt = options || this._qrCodeOptions;
789
- // reset instance for later use
790
- this._qrCodeOptions = opt;
791
- if (this._viewer) {
792
- this._viewer.remove();
793
- this._viewer = null;
794
- }
795
- // if scene is set and embed type is viewer
796
- // we embed a QR code that takes us to viewer.html
797
- if (this._sceneID && this._currentType == EmbedType.Viewer) {
798
- const viewer = document.createElement("plattar-qrcode");
799
- viewer.setAttribute("width", this._width);
800
- viewer.setAttribute("height", this._height);
801
- if (opt.color) {
802
- viewer.setAttribute("color", opt.color);
803
- }
804
- if (opt.margin) {
805
- viewer.setAttribute("margin", "" + opt.margin);
806
- }
807
- if (opt.qrType) {
808
- viewer.setAttribute("qr-type", opt.qrType);
809
- }
810
- let dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + this._sceneID;
811
- if (this._productID) {
812
- dst += "&productId=" + this._productID;
813
- }
814
- if (this._variationID) {
815
- dst += "&variationId=" + this._variationID;
816
- }
817
- viewer.setAttribute("url", opt.url || dst);
818
- viewer.onload = () => {
819
- return accept(viewer);
820
- };
821
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
822
- shadow.append(viewer);
823
- this._viewer = viewer;
824
- this._currentState = EmbedState.QRCode;
825
- return;
826
- }
827
- // if scene is set and embed type is configurator
828
- // we embed a QR code that takes us to configurator.html
829
- if (this._sceneID && this._currentType == EmbedType.Configurator) {
830
- const viewer = document.createElement("plattar-qrcode");
831
- viewer.setAttribute("width", this._width);
832
- viewer.setAttribute("height", this._height);
833
- if (opt.color) {
834
- viewer.setAttribute("color", opt.color);
835
- }
836
- if (opt.margin) {
837
- viewer.setAttribute("margin", "" + opt.margin);
838
- }
839
- if (opt.qrType) {
840
- viewer.setAttribute("qr-type", opt.qrType);
841
- }
842
- let dst = plattar_api_1.Server.location().base + "renderer/configurator.html?scene_id=" + this._sceneID;
843
- const configState = this.hasAttribute("config-state") ? this.getAttribute("config-state") : null;
844
- const showAR = this.hasAttribute("show-ar") ? this.getAttribute("show-ar") : null;
845
- if (configState) {
846
- dst += "&config_state=" + configState;
847
- }
848
- if (showAR) {
849
- dst += "&show_ar=" + showAR;
850
- }
851
- viewer.setAttribute("url", opt.url || dst);
852
- viewer.onload = () => {
853
- return accept(viewer);
854
- };
855
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
856
- shadow.append(viewer);
857
- this._viewer = viewer;
858
- this._currentState = EmbedState.QRCode;
859
- return;
860
- }
861
- // if product is set, we embed a QR code that takes us to product.html
862
- if (this._productID) {
863
- const viewer = document.createElement("plattar-qrcode");
864
- viewer.setAttribute("width", this._width);
865
- viewer.setAttribute("height", this._height);
866
- if (opt.color) {
867
- viewer.setAttribute("color", opt.color);
868
- }
869
- if (opt.margin) {
870
- viewer.setAttribute("margin", "" + opt.margin);
871
- }
872
- if (opt.qrType) {
873
- viewer.setAttribute("qr-type", opt.qrType);
874
- }
875
- let dst = plattar_api_1.Server.location().base + "renderer/product.html?product_id=" + this._productID;
876
- if (this._variationID) {
877
- dst += "&variation_id=" + this._variationID;
878
- }
879
- viewer.setAttribute("url", opt.url || dst);
880
- viewer.onload = () => {
881
- return accept(viewer);
882
- };
883
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
884
- shadow.append(viewer);
885
- this._viewer = viewer;
886
- this._currentState = EmbedState.QRCode;
887
- return;
888
- }
889
- return reject(new Error("PlattarEmbed.startQRCode() - minimum required attributes not set, use scene-id or product-id as a minimum"));
1139
+ return this._controller.startQRCode(options).then(accept).catch(reject);
890
1140
  });
891
1141
  }
892
1142
  /**
@@ -894,37 +1144,14 @@ class PlattarEmbed extends HTMLElement {
894
1144
  * based on the state of the embed, we update the internal structure accordingly
895
1145
  */
896
1146
  _OnAttributesUpdated() {
897
- // nothing to update in these scenarios
898
- if (this._currentState === EmbedState.None ||
899
- this._currentState === EmbedState.ProductAR ||
900
- this._currentState === EmbedState.ConfiguratorViewer) {
901
- return;
902
- }
903
- // re-render the QR Code when attributes have changed
904
- if (this._currentState === EmbedState.QRCode) {
905
- this.startQRCode(this._qrCodeOptions);
906
- return;
907
- }
908
- // use the messenger function to change variation when attributes have changed
909
- if (this._currentState === EmbedState.SceneViewer) {
910
- const viewer = this.viewer;
911
- if (viewer) {
912
- viewer.messenger.selectVariation(this._productID, this._variationID);
913
- }
914
- return;
915
- }
916
- if (this._currentState === EmbedState.ProductViewer) {
917
- const viewer = this.viewer;
918
- if (viewer) {
919
- viewer.messenger.selectVariation(this._variationID);
920
- }
921
- return;
1147
+ if (this._controller) {
1148
+ this._controller.onAttributesUpdated();
922
1149
  }
923
1150
  }
924
1151
  }
925
1152
  exports.default = PlattarEmbed;
926
1153
 
927
- },{"../ar/product-ar":4,"../ar/raw-ar":5,"../util/util":9,"@plattar/plattar-api":36,"@plattar/plattar-services":107}],8:[function(require,module,exports){
1154
+ },{"./controllers/configurator-controller":7,"./controllers/product-controller":9,"./controllers/viewer-controller":10,"@plattar/plattar-api":40}],12:[function(require,module,exports){
928
1155
  "use strict";
929
1156
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
930
1157
  if (k2 === undefined) k2 = k;
@@ -974,7 +1201,7 @@ if (customElements) {
974
1201
  }
975
1202
  console.log("using @plattar/plattar-ar-adapter v" + version_1.default);
976
1203
 
977
- },{"./ar/configurator-ar":1,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/raw-ar":5,"./ar/scene-ar":6,"./embed/plattar-embed":7,"./util/util":9,"./version":10,"@plattar/plattar-qrcode":102,"@plattar/plattar-web":121}],9:[function(require,module,exports){
1204
+ },{"./ar/configurator-ar":1,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/raw-ar":5,"./ar/scene-ar":6,"./embed/plattar-embed":11,"./util/util":13,"./version":14,"@plattar/plattar-qrcode":106,"@plattar/plattar-web":125}],13:[function(require,module,exports){
978
1205
  "use strict";
979
1206
  Object.defineProperty(exports, "__esModule", { value: true });
980
1207
  exports.Util = void 0;
@@ -1061,12 +1288,12 @@ class Util {
1061
1288
  }
1062
1289
  exports.Util = Util;
1063
1290
 
1064
- },{}],10:[function(require,module,exports){
1291
+ },{}],14:[function(require,module,exports){
1065
1292
  "use strict";
1066
1293
  Object.defineProperty(exports, "__esModule", { value: true });
1067
- exports.default = "1.122.4";
1294
+ exports.default = "1.123.1";
1068
1295
 
1069
- },{}],11:[function(require,module,exports){
1296
+ },{}],15:[function(require,module,exports){
1070
1297
  "use strict";
1071
1298
  Object.defineProperty(exports, "__esModule", { value: true });
1072
1299
  class ARViewer {
@@ -1077,7 +1304,7 @@ class ARViewer {
1077
1304
  }
1078
1305
  exports.default = ARViewer;
1079
1306
 
1080
- },{}],12:[function(require,module,exports){
1307
+ },{}],16:[function(require,module,exports){
1081
1308
  "use strict";
1082
1309
  var __importDefault = (this && this.__importDefault) || function (mod) {
1083
1310
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1127,7 +1354,7 @@ class QuicklookViewer extends ar_viewer_1.default {
1127
1354
  }
1128
1355
  exports.default = QuicklookViewer;
1129
1356
 
1130
- },{"./ar-viewer":11}],13:[function(require,module,exports){
1357
+ },{"./ar-viewer":15}],17:[function(require,module,exports){
1131
1358
  "use strict";
1132
1359
  var __importDefault = (this && this.__importDefault) || function (mod) {
1133
1360
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1157,7 +1384,7 @@ class RealityViewer extends ar_viewer_1.default {
1157
1384
  }
1158
1385
  exports.default = RealityViewer;
1159
1386
 
1160
- },{"./ar-viewer":11}],14:[function(require,module,exports){
1387
+ },{"./ar-viewer":15}],18:[function(require,module,exports){
1161
1388
  "use strict";
1162
1389
  var __importDefault = (this && this.__importDefault) || function (mod) {
1163
1390
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1210,7 +1437,7 @@ class SceneViewer extends ar_viewer_1.default {
1210
1437
  }
1211
1438
  exports.default = SceneViewer;
1212
1439
 
1213
- },{"./ar-viewer":11}],15:[function(require,module,exports){
1440
+ },{"./ar-viewer":15}],19:[function(require,module,exports){
1214
1441
  "use strict";
1215
1442
  const Messenger = require("./messenger/messenger.js");
1216
1443
  const Memory = require("./memory/memory.js");
@@ -1244,7 +1471,7 @@ module.exports = {
1244
1471
  memory: GlobalEventHandler.instance().memoryInstance,
1245
1472
  version: Version
1246
1473
  }
1247
- },{"./memory/memory.js":16,"./messenger/global-event-handler.js":23,"./messenger/messenger.js":24,"./version":29}],16:[function(require,module,exports){
1474
+ },{"./memory/memory.js":20,"./messenger/global-event-handler.js":27,"./messenger/messenger.js":28,"./version":33}],20:[function(require,module,exports){
1248
1475
  const PermanentMemory = require("./permanent-memory");
1249
1476
  const TemporaryMemory = require("./temporary-memory");
1250
1477
 
@@ -1278,7 +1505,7 @@ class Memory {
1278
1505
  }
1279
1506
 
1280
1507
  module.exports = Memory;
1281
- },{"./permanent-memory":17,"./temporary-memory":18}],17:[function(require,module,exports){
1508
+ },{"./permanent-memory":21,"./temporary-memory":22}],21:[function(require,module,exports){
1282
1509
  const WrappedValue = require("./wrapped-value");
1283
1510
 
1284
1511
  class PermanentMemory {
@@ -1347,7 +1574,7 @@ class PermanentMemory {
1347
1574
  }
1348
1575
 
1349
1576
  module.exports = PermanentMemory;
1350
- },{"./wrapped-value":19}],18:[function(require,module,exports){
1577
+ },{"./wrapped-value":23}],22:[function(require,module,exports){
1351
1578
  const WrappedValue = require("./wrapped-value");
1352
1579
 
1353
1580
  class TemporaryMemory {
@@ -1404,7 +1631,7 @@ class TemporaryMemory {
1404
1631
  }
1405
1632
 
1406
1633
  module.exports = TemporaryMemory;
1407
- },{"./wrapped-value":19}],19:[function(require,module,exports){
1634
+ },{"./wrapped-value":23}],23:[function(require,module,exports){
1408
1635
  /**
1409
1636
  * WrappedValue represents a generic value type with a callback function
1410
1637
  * for when the value has changed
@@ -1516,7 +1743,7 @@ class WrappedValue {
1516
1743
  }
1517
1744
 
1518
1745
  module.exports = WrappedValue;
1519
- },{}],20:[function(require,module,exports){
1746
+ },{}],24:[function(require,module,exports){
1520
1747
  /**
1521
1748
  * Broadcaster is used to call functions in multiple contexts at the
1522
1749
  * same time. This can be useful without having to handle complex logic
@@ -1569,7 +1796,7 @@ class Broadcaster {
1569
1796
  }
1570
1797
 
1571
1798
  module.exports = Broadcaster;
1572
- },{}],21:[function(require,module,exports){
1799
+ },{}],25:[function(require,module,exports){
1573
1800
  const WrappedFunction = require("./wrapped-local-function");
1574
1801
 
1575
1802
  class CurrentFunctionList {
@@ -1620,7 +1847,7 @@ class CurrentFunctionList {
1620
1847
  }
1621
1848
 
1622
1849
  module.exports = CurrentFunctionList;
1623
- },{"./wrapped-local-function":22}],22:[function(require,module,exports){
1850
+ },{"./wrapped-local-function":26}],26:[function(require,module,exports){
1624
1851
  const Util = require("../util/util.js");
1625
1852
 
1626
1853
  /**
@@ -1707,7 +1934,7 @@ class WrappedLocalFunction {
1707
1934
  }
1708
1935
 
1709
1936
  module.exports = WrappedLocalFunction;
1710
- },{"../util/util.js":28}],23:[function(require,module,exports){
1937
+ },{"../util/util.js":32}],27:[function(require,module,exports){
1711
1938
  const RemoteInterface = require("./remote-interface.js");
1712
1939
 
1713
1940
  /**
@@ -1792,7 +2019,7 @@ GlobalEventHandler.instance = () => {
1792
2019
  };
1793
2020
 
1794
2021
  module.exports = GlobalEventHandler;
1795
- },{"./remote-interface.js":25}],24:[function(require,module,exports){
2022
+ },{"./remote-interface.js":29}],28:[function(require,module,exports){
1796
2023
  const CurrentFunctionList = require("./current/current-function-list");
1797
2024
  const RemoteInterface = require("./remote-interface");
1798
2025
  const RemoteFunctionList = require("./remote/remote-function-list");
@@ -2091,7 +2318,7 @@ class Messenger {
2091
2318
  }
2092
2319
 
2093
2320
  module.exports = Messenger;
2094
- },{"./broadcaster.js":20,"./current/current-function-list":21,"./global-event-handler.js":23,"./remote-interface":25,"./remote/remote-function-list":26,"./util/util.js":28}],25:[function(require,module,exports){
2321
+ },{"./broadcaster.js":24,"./current/current-function-list":25,"./global-event-handler.js":27,"./remote-interface":29,"./remote/remote-function-list":30,"./util/util.js":32}],29:[function(require,module,exports){
2095
2322
  /**
2096
2323
  * Provides a single useful interface for performing remote function calls
2097
2324
  */
@@ -2150,7 +2377,7 @@ class RemoteInterface {
2150
2377
  }
2151
2378
 
2152
2379
  module.exports = RemoteInterface;
2153
- },{}],26:[function(require,module,exports){
2380
+ },{}],30:[function(require,module,exports){
2154
2381
  const WrappedFunction = require("./wrapped-remote-function");
2155
2382
 
2156
2383
  class RemoteFunctionList {
@@ -2229,7 +2456,7 @@ class RemoteFunctionList {
2229
2456
  }
2230
2457
 
2231
2458
  module.exports = RemoteFunctionList;
2232
- },{"./wrapped-remote-function":27}],27:[function(require,module,exports){
2459
+ },{"./wrapped-remote-function":31}],31:[function(require,module,exports){
2233
2460
  const Util = require("../util/util.js");
2234
2461
  const GlobalEventHandler = require("../global-event-handler.js");
2235
2462
 
@@ -2310,7 +2537,7 @@ class WrappedRemoteFunction {
2310
2537
  }
2311
2538
 
2312
2539
  module.exports = WrappedRemoteFunction;
2313
- },{"../global-event-handler.js":23,"../util/util.js":28}],28:[function(require,module,exports){
2540
+ },{"../global-event-handler.js":27,"../util/util.js":32}],32:[function(require,module,exports){
2314
2541
  class Util {
2315
2542
 
2316
2543
  /**
@@ -2336,10 +2563,10 @@ class Util {
2336
2563
  }
2337
2564
 
2338
2565
  module.exports = Util;
2339
- },{}],29:[function(require,module,exports){
2566
+ },{}],33:[function(require,module,exports){
2340
2567
  module.exports = "1.113.6";
2341
2568
 
2342
- },{}],30:[function(require,module,exports){
2569
+ },{}],34:[function(require,module,exports){
2343
2570
  "use strict";
2344
2571
  Object.defineProperty(exports, "__esModule", { value: true });
2345
2572
  exports.AnalyticsData = void 0;
@@ -2386,7 +2613,7 @@ class AnalyticsData {
2386
2613
  }
2387
2614
  exports.AnalyticsData = AnalyticsData;
2388
2615
 
2389
- },{"../util/util":34}],31:[function(require,module,exports){
2616
+ },{"../util/util":38}],35:[function(require,module,exports){
2390
2617
  "use strict";
2391
2618
  var __importDefault = (this && this.__importDefault) || function (mod) {
2392
2619
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2473,7 +2700,7 @@ class Analytics {
2473
2700
  }
2474
2701
  exports.Analytics = Analytics;
2475
2702
 
2476
- },{"../util/basic-http":33,"./analytics-data":30}],32:[function(require,module,exports){
2703
+ },{"../util/basic-http":37,"./analytics-data":34}],36:[function(require,module,exports){
2477
2704
  "use strict";
2478
2705
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2479
2706
  if (k2 === undefined) k2 = k;
@@ -2505,7 +2732,7 @@ Object.defineProperty(exports, "Analytics", { enumerable: true, get: function ()
2505
2732
  const version_1 = __importDefault(require("./version"));
2506
2733
  console.log("using @plattar/plattar-analytics v" + version_1.default);
2507
2734
 
2508
- },{"./analytics/analytics":31,"./version":35}],33:[function(require,module,exports){
2735
+ },{"./analytics/analytics":35,"./version":39}],37:[function(require,module,exports){
2509
2736
  "use strict";
2510
2737
  Object.defineProperty(exports, "__esModule", { value: true });
2511
2738
  /**
@@ -2571,7 +2798,7 @@ class BasicHTTP {
2571
2798
  }
2572
2799
  exports.default = BasicHTTP;
2573
2800
 
2574
- },{}],34:[function(require,module,exports){
2801
+ },{}],38:[function(require,module,exports){
2575
2802
  "use strict";
2576
2803
  Object.defineProperty(exports, "__esModule", { value: true });
2577
2804
  exports.Util = void 0;
@@ -2597,12 +2824,12 @@ class Util {
2597
2824
  }
2598
2825
  exports.Util = Util;
2599
2826
 
2600
- },{}],35:[function(require,module,exports){
2827
+ },{}],39:[function(require,module,exports){
2601
2828
  "use strict";
2602
2829
  Object.defineProperty(exports, "__esModule", { value: true });
2603
2830
  exports.default = "1.117.2";
2604
2831
 
2605
- },{}],36:[function(require,module,exports){
2832
+ },{}],40:[function(require,module,exports){
2606
2833
  "use strict";
2607
2834
  const Server = require("./server/plattar-server.js");
2608
2835
  const Util = require("./util/plattar-util.js");
@@ -2757,7 +2984,7 @@ module.exports = {
2757
2984
  version: Version
2758
2985
  };
2759
2986
 
2760
- },{"./server/plattar-server.js":38,"./types/application.js":39,"./types/content-pipeline/brief.js":40,"./types/content-pipeline/comment-brief.js":41,"./types/content-pipeline/comment-quote.js":42,"./types/content-pipeline/comment-solution.js":43,"./types/content-pipeline/folder.js":44,"./types/content-pipeline/pipeline-user.js":45,"./types/content-pipeline/quote.js":46,"./types/content-pipeline/rating.js":47,"./types/content-pipeline/solution.js":48,"./types/file/file-audio.js":49,"./types/file/file-base.js":50,"./types/file/file-image.js":51,"./types/file/file-model.js":52,"./types/file/file-script.js":53,"./types/file/file-video.js":54,"./types/misc/application-build.js":58,"./types/misc/asset-library.js":59,"./types/misc/async-job.js":60,"./types/misc/script-event.js":61,"./types/misc/tag.js":62,"./types/page/card-base.js":63,"./types/page/card-button.js":64,"./types/page/card-html.js":65,"./types/page/card-iframe.js":66,"./types/page/card-image.js":67,"./types/page/card-map.js":68,"./types/page/card-paragraph.js":69,"./types/page/card-row.js":70,"./types/page/card-slider.js":71,"./types/page/card-title.js":72,"./types/page/card-video.js":73,"./types/page/card-youtube.js":74,"./types/page/page.js":75,"./types/product/product-annotation.js":76,"./types/product/product-base.js":77,"./types/product/product-variation.js":78,"./types/product/product.js":79,"./types/scene/scene-annotation.js":80,"./types/scene/scene-audio.js":81,"./types/scene/scene-base.js":82,"./types/scene/scene-button.js":83,"./types/scene/scene-camera.js":84,"./types/scene/scene-carousel.js":85,"./types/scene/scene-image.js":86,"./types/scene/scene-model.js":87,"./types/scene/scene-panorama.js":88,"./types/scene/scene-poller.js":89,"./types/scene/scene-product.js":90,"./types/scene/scene-script.js":91,"./types/scene/scene-shadow.js":92,"./types/scene/scene-video.js":93,"./types/scene/scene-volumetric.js":94,"./types/scene/scene-youtube.js":95,"./types/scene/scene.js":96,"./types/trigger/trigger-image.js":97,"./util/plattar-util.js":98,"./version":99}],37:[function(require,module,exports){
2987
+ },{"./server/plattar-server.js":42,"./types/application.js":43,"./types/content-pipeline/brief.js":44,"./types/content-pipeline/comment-brief.js":45,"./types/content-pipeline/comment-quote.js":46,"./types/content-pipeline/comment-solution.js":47,"./types/content-pipeline/folder.js":48,"./types/content-pipeline/pipeline-user.js":49,"./types/content-pipeline/quote.js":50,"./types/content-pipeline/rating.js":51,"./types/content-pipeline/solution.js":52,"./types/file/file-audio.js":53,"./types/file/file-base.js":54,"./types/file/file-image.js":55,"./types/file/file-model.js":56,"./types/file/file-script.js":57,"./types/file/file-video.js":58,"./types/misc/application-build.js":62,"./types/misc/asset-library.js":63,"./types/misc/async-job.js":64,"./types/misc/script-event.js":65,"./types/misc/tag.js":66,"./types/page/card-base.js":67,"./types/page/card-button.js":68,"./types/page/card-html.js":69,"./types/page/card-iframe.js":70,"./types/page/card-image.js":71,"./types/page/card-map.js":72,"./types/page/card-paragraph.js":73,"./types/page/card-row.js":74,"./types/page/card-slider.js":75,"./types/page/card-title.js":76,"./types/page/card-video.js":77,"./types/page/card-youtube.js":78,"./types/page/page.js":79,"./types/product/product-annotation.js":80,"./types/product/product-base.js":81,"./types/product/product-variation.js":82,"./types/product/product.js":83,"./types/scene/scene-annotation.js":84,"./types/scene/scene-audio.js":85,"./types/scene/scene-base.js":86,"./types/scene/scene-button.js":87,"./types/scene/scene-camera.js":88,"./types/scene/scene-carousel.js":89,"./types/scene/scene-image.js":90,"./types/scene/scene-model.js":91,"./types/scene/scene-panorama.js":92,"./types/scene/scene-poller.js":93,"./types/scene/scene-product.js":94,"./types/scene/scene-script.js":95,"./types/scene/scene-shadow.js":96,"./types/scene/scene-video.js":97,"./types/scene/scene-volumetric.js":98,"./types/scene/scene-youtube.js":99,"./types/scene/scene.js":100,"./types/trigger/trigger-image.js":101,"./util/plattar-util.js":102,"./version":103}],41:[function(require,module,exports){
2761
2988
  const fetch = require("node-fetch");
2762
2989
 
2763
2990
  class PlattarQuery {
@@ -3249,7 +3476,7 @@ PlattarQuery._DeleteGlobalCachedObject = (obj) => {
3249
3476
  };
3250
3477
 
3251
3478
  module.exports = PlattarQuery;
3252
- },{"../util/plattar-util.js":98,"node-fetch":124}],38:[function(require,module,exports){
3479
+ },{"../util/plattar-util.js":102,"node-fetch":128}],42:[function(require,module,exports){
3253
3480
  (function (process){(function (){
3254
3481
  const fetch = require("node-fetch");
3255
3482
 
@@ -3454,7 +3681,7 @@ PlattarServer.location = () => {
3454
3681
 
3455
3682
  module.exports = PlattarServer;
3456
3683
  }).call(this)}).call(this,require('_process'))
3457
- },{"_process":126,"node-fetch":124}],39:[function(require,module,exports){
3684
+ },{"_process":130,"node-fetch":128}],43:[function(require,module,exports){
3458
3685
  const PlattarBase = require("./interfaces/plattar-base.js");
3459
3686
 
3460
3687
  class Application extends PlattarBase {
@@ -3464,7 +3691,7 @@ class Application extends PlattarBase {
3464
3691
  }
3465
3692
 
3466
3693
  module.exports = Application;
3467
- },{"./interfaces/plattar-base.js":55}],40:[function(require,module,exports){
3694
+ },{"./interfaces/plattar-base.js":59}],44:[function(require,module,exports){
3468
3695
  const PlattarBase = require("../interfaces/plattar-base");
3469
3696
 
3470
3697
  class Brief extends PlattarBase {
@@ -3474,7 +3701,7 @@ class Brief extends PlattarBase {
3474
3701
  }
3475
3702
 
3476
3703
  module.exports = Brief;
3477
- },{"../interfaces/plattar-base":55}],41:[function(require,module,exports){
3704
+ },{"../interfaces/plattar-base":59}],45:[function(require,module,exports){
3478
3705
  const PlattarBase = require("../interfaces/plattar-base");
3479
3706
 
3480
3707
  class CommentBrief extends PlattarBase {
@@ -3484,7 +3711,7 @@ class CommentBrief extends PlattarBase {
3484
3711
  }
3485
3712
 
3486
3713
  module.exports = CommentBrief;
3487
- },{"../interfaces/plattar-base":55}],42:[function(require,module,exports){
3714
+ },{"../interfaces/plattar-base":59}],46:[function(require,module,exports){
3488
3715
  const PlattarBase = require("../interfaces/plattar-base");
3489
3716
 
3490
3717
  class CommentQuote extends PlattarBase {
@@ -3494,7 +3721,7 @@ class CommentQuote extends PlattarBase {
3494
3721
  }
3495
3722
 
3496
3723
  module.exports = CommentQuote;
3497
- },{"../interfaces/plattar-base":55}],43:[function(require,module,exports){
3724
+ },{"../interfaces/plattar-base":59}],47:[function(require,module,exports){
3498
3725
  const PlattarBase = require("../interfaces/plattar-base");
3499
3726
 
3500
3727
  class CommentSolution extends PlattarBase {
@@ -3504,7 +3731,7 @@ class CommentSolution extends PlattarBase {
3504
3731
  }
3505
3732
 
3506
3733
  module.exports = CommentSolution;
3507
- },{"../interfaces/plattar-base":55}],44:[function(require,module,exports){
3734
+ },{"../interfaces/plattar-base":59}],48:[function(require,module,exports){
3508
3735
  const PlattarBase = require("../interfaces/plattar-base");
3509
3736
 
3510
3737
  class Folder extends PlattarBase {
@@ -3514,7 +3741,7 @@ class Folder extends PlattarBase {
3514
3741
  }
3515
3742
 
3516
3743
  module.exports = Folder;
3517
- },{"../interfaces/plattar-base":55}],45:[function(require,module,exports){
3744
+ },{"../interfaces/plattar-base":59}],49:[function(require,module,exports){
3518
3745
  const PlattarBase = require("../interfaces/plattar-base");
3519
3746
 
3520
3747
  class PipelineUser extends PlattarBase {
@@ -3524,7 +3751,7 @@ class PipelineUser extends PlattarBase {
3524
3751
  }
3525
3752
 
3526
3753
  module.exports = PipelineUser;
3527
- },{"../interfaces/plattar-base":55}],46:[function(require,module,exports){
3754
+ },{"../interfaces/plattar-base":59}],50:[function(require,module,exports){
3528
3755
  const PlattarBase = require("../interfaces/plattar-base");
3529
3756
 
3530
3757
  class Quote extends PlattarBase {
@@ -3534,7 +3761,7 @@ class Quote extends PlattarBase {
3534
3761
  }
3535
3762
 
3536
3763
  module.exports = Quote;
3537
- },{"../interfaces/plattar-base":55}],47:[function(require,module,exports){
3764
+ },{"../interfaces/plattar-base":59}],51:[function(require,module,exports){
3538
3765
  const PlattarBase = require("../interfaces/plattar-base");
3539
3766
 
3540
3767
  class Rating extends PlattarBase {
@@ -3544,7 +3771,7 @@ class Rating extends PlattarBase {
3544
3771
  }
3545
3772
 
3546
3773
  module.exports = Rating;
3547
- },{"../interfaces/plattar-base":55}],48:[function(require,module,exports){
3774
+ },{"../interfaces/plattar-base":59}],52:[function(require,module,exports){
3548
3775
  const PlattarBase = require("../interfaces/plattar-base");
3549
3776
 
3550
3777
  class Solution extends PlattarBase {
@@ -3554,7 +3781,7 @@ class Solution extends PlattarBase {
3554
3781
  }
3555
3782
 
3556
3783
  module.exports = Solution;
3557
- },{"../interfaces/plattar-base":55}],49:[function(require,module,exports){
3784
+ },{"../interfaces/plattar-base":59}],53:[function(require,module,exports){
3558
3785
  const FileBase = require("./file-base.js");
3559
3786
 
3560
3787
  class FileAudio extends FileBase {
@@ -3564,7 +3791,7 @@ class FileAudio extends FileBase {
3564
3791
  }
3565
3792
 
3566
3793
  module.exports = FileAudio;
3567
- },{"./file-base.js":50}],50:[function(require,module,exports){
3794
+ },{"./file-base.js":54}],54:[function(require,module,exports){
3568
3795
  const PlattarBase = require("../interfaces/plattar-base.js");
3569
3796
  const Server = require("../../server/plattar-server.js");
3570
3797
 
@@ -3624,7 +3851,7 @@ class FileBase extends PlattarBase {
3624
3851
  }
3625
3852
 
3626
3853
  module.exports = FileBase;
3627
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./file-audio.js":49,"./file-image.js":51,"./file-model.js":52,"./file-video.js":54}],51:[function(require,module,exports){
3854
+ },{"../../server/plattar-server.js":42,"../interfaces/plattar-base.js":59,"./file-audio.js":53,"./file-image.js":55,"./file-model.js":56,"./file-video.js":58}],55:[function(require,module,exports){
3628
3855
  const FileBase = require("./file-base.js");
3629
3856
 
3630
3857
  class FileImage extends FileBase {
@@ -3634,7 +3861,7 @@ class FileImage extends FileBase {
3634
3861
  }
3635
3862
 
3636
3863
  module.exports = FileImage;
3637
- },{"./file-base.js":50}],52:[function(require,module,exports){
3864
+ },{"./file-base.js":54}],56:[function(require,module,exports){
3638
3865
  const FileBase = require("./file-base.js");
3639
3866
 
3640
3867
  class FileModel extends FileBase {
@@ -3644,7 +3871,7 @@ class FileModel extends FileBase {
3644
3871
  }
3645
3872
 
3646
3873
  module.exports = FileModel;
3647
- },{"./file-base.js":50}],53:[function(require,module,exports){
3874
+ },{"./file-base.js":54}],57:[function(require,module,exports){
3648
3875
  const FileBase = require("./file-base.js");
3649
3876
 
3650
3877
  class FileScript extends FileBase {
@@ -3654,7 +3881,7 @@ class FileScript extends FileBase {
3654
3881
  }
3655
3882
 
3656
3883
  module.exports = FileScript;
3657
- },{"./file-base.js":50}],54:[function(require,module,exports){
3884
+ },{"./file-base.js":54}],58:[function(require,module,exports){
3658
3885
  const FileBase = require("./file-base.js");
3659
3886
 
3660
3887
  class FileVideo extends FileBase {
@@ -3664,7 +3891,7 @@ class FileVideo extends FileBase {
3664
3891
  }
3665
3892
 
3666
3893
  module.exports = FileVideo;
3667
- },{"./file-base.js":50}],55:[function(require,module,exports){
3894
+ },{"./file-base.js":54}],59:[function(require,module,exports){
3668
3895
  const PlattarObject = require("./plattar-object.js");
3669
3896
  const Server = require("../../server/plattar-server.js");
3670
3897
 
@@ -3679,7 +3906,7 @@ class PlattarBase extends PlattarObject {
3679
3906
  }
3680
3907
 
3681
3908
  module.exports = PlattarBase;
3682
- },{"../../server/plattar-server.js":38,"./plattar-object.js":57}],56:[function(require,module,exports){
3909
+ },{"../../server/plattar-server.js":42,"./plattar-object.js":61}],60:[function(require,module,exports){
3683
3910
  /**
3684
3911
  * Handles the list of relationships for the provided object
3685
3912
  */
@@ -3800,7 +4027,7 @@ class PlattarObjectRelations {
3800
4027
  }
3801
4028
 
3802
4029
  module.exports = PlattarObjectRelations;
3803
- },{"../../util/plattar-util.js":98}],57:[function(require,module,exports){
4030
+ },{"../../util/plattar-util.js":102}],61:[function(require,module,exports){
3804
4031
  const PlattarQuery = require("../../server/plattar-query.js");
3805
4032
  const PlattarObjectRelations = require("./plattar-object-relations.js");
3806
4033
 
@@ -3943,7 +4170,7 @@ class PlattarObject {
3943
4170
  }
3944
4171
 
3945
4172
  module.exports = PlattarObject;
3946
- },{"../../server/plattar-query.js":37,"./plattar-object-relations.js":56}],58:[function(require,module,exports){
4173
+ },{"../../server/plattar-query.js":41,"./plattar-object-relations.js":60}],62:[function(require,module,exports){
3947
4174
  const PlattarBase = require("../interfaces/plattar-base.js");
3948
4175
 
3949
4176
  class ApplicationBuild extends PlattarBase {
@@ -3953,7 +4180,7 @@ class ApplicationBuild extends PlattarBase {
3953
4180
  }
3954
4181
 
3955
4182
  module.exports = ApplicationBuild;
3956
- },{"../interfaces/plattar-base.js":55}],59:[function(require,module,exports){
4183
+ },{"../interfaces/plattar-base.js":59}],63:[function(require,module,exports){
3957
4184
  const PlattarBase = require("../interfaces/plattar-base.js");
3958
4185
 
3959
4186
  class AssetLibrary extends PlattarBase {
@@ -3963,7 +4190,7 @@ class AssetLibrary extends PlattarBase {
3963
4190
  }
3964
4191
 
3965
4192
  module.exports = AssetLibrary;
3966
- },{"../interfaces/plattar-base.js":55}],60:[function(require,module,exports){
4193
+ },{"../interfaces/plattar-base.js":59}],64:[function(require,module,exports){
3967
4194
  const PlattarBase = require("../interfaces/plattar-base.js");
3968
4195
 
3969
4196
  class AsyncJob extends PlattarBase {
@@ -3977,7 +4204,7 @@ class AsyncJob extends PlattarBase {
3977
4204
  }
3978
4205
 
3979
4206
  module.exports = AsyncJob;
3980
- },{"../interfaces/plattar-base.js":55}],61:[function(require,module,exports){
4207
+ },{"../interfaces/plattar-base.js":59}],65:[function(require,module,exports){
3981
4208
  const PlattarBase = require("../interfaces/plattar-base.js");
3982
4209
 
3983
4210
  class ScriptEvent extends PlattarBase {
@@ -3987,7 +4214,7 @@ class ScriptEvent extends PlattarBase {
3987
4214
  }
3988
4215
 
3989
4216
  module.exports = ScriptEvent;
3990
- },{"../interfaces/plattar-base.js":55}],62:[function(require,module,exports){
4217
+ },{"../interfaces/plattar-base.js":59}],66:[function(require,module,exports){
3991
4218
  const PlattarBase = require("../interfaces/plattar-base.js");
3992
4219
 
3993
4220
  class Tag extends PlattarBase {
@@ -3997,7 +4224,7 @@ class Tag extends PlattarBase {
3997
4224
  }
3998
4225
 
3999
4226
  module.exports = Tag;
4000
- },{"../interfaces/plattar-base.js":55}],63:[function(require,module,exports){
4227
+ },{"../interfaces/plattar-base.js":59}],67:[function(require,module,exports){
4001
4228
  const PlattarBase = require("../interfaces/plattar-base.js");
4002
4229
  const Server = require("../../server/plattar-server.js");
4003
4230
 
@@ -4028,7 +4255,7 @@ class CardBase extends PlattarBase {
4028
4255
  }
4029
4256
 
4030
4257
  module.exports = CardBase;
4031
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./card-button.js":64,"./card-html.js":65,"./card-iframe.js":66,"./card-image.js":67,"./card-map.js":68,"./card-paragraph.js":69,"./card-row.js":70,"./card-slider.js":71,"./card-title.js":72,"./card-video.js":73,"./card-youtube.js":74}],64:[function(require,module,exports){
4258
+ },{"../../server/plattar-server.js":42,"../interfaces/plattar-base.js":59,"./card-button.js":68,"./card-html.js":69,"./card-iframe.js":70,"./card-image.js":71,"./card-map.js":72,"./card-paragraph.js":73,"./card-row.js":74,"./card-slider.js":75,"./card-title.js":76,"./card-video.js":77,"./card-youtube.js":78}],68:[function(require,module,exports){
4032
4259
  const CardBase = require("./card-base.js");
4033
4260
 
4034
4261
  class CardButton extends CardBase {
@@ -4038,7 +4265,7 @@ class CardButton extends CardBase {
4038
4265
  }
4039
4266
 
4040
4267
  module.exports = CardButton;
4041
- },{"./card-base.js":63}],65:[function(require,module,exports){
4268
+ },{"./card-base.js":67}],69:[function(require,module,exports){
4042
4269
  const CardBase = require("./card-base.js");
4043
4270
 
4044
4271
  class CardHTML extends CardBase {
@@ -4048,7 +4275,7 @@ class CardHTML extends CardBase {
4048
4275
  }
4049
4276
 
4050
4277
  module.exports = CardHTML;
4051
- },{"./card-base.js":63}],66:[function(require,module,exports){
4278
+ },{"./card-base.js":67}],70:[function(require,module,exports){
4052
4279
  const CardBase = require("./card-base.js");
4053
4280
 
4054
4281
  class CardIFrame extends CardBase {
@@ -4058,7 +4285,7 @@ class CardIFrame extends CardBase {
4058
4285
  }
4059
4286
 
4060
4287
  module.exports = CardIFrame;
4061
- },{"./card-base.js":63}],67:[function(require,module,exports){
4288
+ },{"./card-base.js":67}],71:[function(require,module,exports){
4062
4289
  const CardBase = require("./card-base.js");
4063
4290
 
4064
4291
  class CardImage extends CardBase {
@@ -4068,7 +4295,7 @@ class CardImage extends CardBase {
4068
4295
  }
4069
4296
 
4070
4297
  module.exports = CardImage;
4071
- },{"./card-base.js":63}],68:[function(require,module,exports){
4298
+ },{"./card-base.js":67}],72:[function(require,module,exports){
4072
4299
  const CardBase = require("./card-base.js");
4073
4300
 
4074
4301
  class CardMap extends CardBase {
@@ -4078,7 +4305,7 @@ class CardMap extends CardBase {
4078
4305
  }
4079
4306
 
4080
4307
  module.exports = CardMap;
4081
- },{"./card-base.js":63}],69:[function(require,module,exports){
4308
+ },{"./card-base.js":67}],73:[function(require,module,exports){
4082
4309
  const CardBase = require("./card-base.js");
4083
4310
 
4084
4311
  class CardParagraph extends CardBase {
@@ -4088,7 +4315,7 @@ class CardParagraph extends CardBase {
4088
4315
  }
4089
4316
 
4090
4317
  module.exports = CardParagraph;
4091
- },{"./card-base.js":63}],70:[function(require,module,exports){
4318
+ },{"./card-base.js":67}],74:[function(require,module,exports){
4092
4319
  const CardBase = require("./card-base.js");
4093
4320
 
4094
4321
  class CardRow extends CardBase {
@@ -4098,7 +4325,7 @@ class CardRow extends CardBase {
4098
4325
  }
4099
4326
 
4100
4327
  module.exports = CardRow;
4101
- },{"./card-base.js":63}],71:[function(require,module,exports){
4328
+ },{"./card-base.js":67}],75:[function(require,module,exports){
4102
4329
  const CardBase = require("./card-base.js");
4103
4330
 
4104
4331
  class CardSlider extends CardBase {
@@ -4108,7 +4335,7 @@ class CardSlider extends CardBase {
4108
4335
  }
4109
4336
 
4110
4337
  module.exports = CardSlider;
4111
- },{"./card-base.js":63}],72:[function(require,module,exports){
4338
+ },{"./card-base.js":67}],76:[function(require,module,exports){
4112
4339
  const CardBase = require("./card-base.js");
4113
4340
 
4114
4341
  class CardTitle extends CardBase {
@@ -4118,7 +4345,7 @@ class CardTitle extends CardBase {
4118
4345
  }
4119
4346
 
4120
4347
  module.exports = CardTitle;
4121
- },{"./card-base.js":63}],73:[function(require,module,exports){
4348
+ },{"./card-base.js":67}],77:[function(require,module,exports){
4122
4349
  const CardBase = require("./card-base.js");
4123
4350
 
4124
4351
  class CardVideo extends CardBase {
@@ -4128,7 +4355,7 @@ class CardVideo extends CardBase {
4128
4355
  }
4129
4356
 
4130
4357
  module.exports = CardVideo;
4131
- },{"./card-base.js":63}],74:[function(require,module,exports){
4358
+ },{"./card-base.js":67}],78:[function(require,module,exports){
4132
4359
  const CardBase = require("./card-base.js");
4133
4360
 
4134
4361
  class CardYoutube extends CardBase {
@@ -4138,7 +4365,7 @@ class CardYoutube extends CardBase {
4138
4365
  }
4139
4366
 
4140
4367
  module.exports = CardYoutube;
4141
- },{"./card-base.js":63}],75:[function(require,module,exports){
4368
+ },{"./card-base.js":67}],79:[function(require,module,exports){
4142
4369
  const PlattarBase = require("../interfaces/plattar-base.js");
4143
4370
 
4144
4371
  class Page extends PlattarBase {
@@ -4148,7 +4375,7 @@ class Page extends PlattarBase {
4148
4375
  }
4149
4376
 
4150
4377
  module.exports = Page;
4151
- },{"../interfaces/plattar-base.js":55}],76:[function(require,module,exports){
4378
+ },{"../interfaces/plattar-base.js":59}],80:[function(require,module,exports){
4152
4379
  const ProductBase = require("./product-base.js");
4153
4380
 
4154
4381
  class ProductAnnotation extends ProductBase {
@@ -4158,7 +4385,7 @@ class ProductAnnotation extends ProductBase {
4158
4385
  }
4159
4386
 
4160
4387
  module.exports = ProductAnnotation;
4161
- },{"./product-base.js":77}],77:[function(require,module,exports){
4388
+ },{"./product-base.js":81}],81:[function(require,module,exports){
4162
4389
  const PlattarBase = require("../interfaces/plattar-base.js");
4163
4390
  const Server = require("../../server/plattar-server.js");
4164
4391
 
@@ -4180,7 +4407,7 @@ class ProductBase extends PlattarBase {
4180
4407
  }
4181
4408
 
4182
4409
  module.exports = ProductBase;
4183
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./product-annotation.js":76,"./product-variation.js":78}],78:[function(require,module,exports){
4410
+ },{"../../server/plattar-server.js":42,"../interfaces/plattar-base.js":59,"./product-annotation.js":80,"./product-variation.js":82}],82:[function(require,module,exports){
4184
4411
  const ProductBase = require("./product-base.js");
4185
4412
 
4186
4413
  class ProductVariation extends ProductBase {
@@ -4190,7 +4417,7 @@ class ProductVariation extends ProductBase {
4190
4417
  }
4191
4418
 
4192
4419
  module.exports = ProductVariation;
4193
- },{"./product-base.js":77}],79:[function(require,module,exports){
4420
+ },{"./product-base.js":81}],83:[function(require,module,exports){
4194
4421
  const PlattarBase = require("../interfaces/plattar-base.js");
4195
4422
 
4196
4423
  class Product extends PlattarBase {
@@ -4200,7 +4427,7 @@ class Product extends PlattarBase {
4200
4427
  }
4201
4428
 
4202
4429
  module.exports = Product;
4203
- },{"../interfaces/plattar-base.js":55}],80:[function(require,module,exports){
4430
+ },{"../interfaces/plattar-base.js":59}],84:[function(require,module,exports){
4204
4431
  const SceneBase = require("./scene-base.js");
4205
4432
 
4206
4433
  class SceneAnnotation extends SceneBase {
@@ -4210,7 +4437,7 @@ class SceneAnnotation extends SceneBase {
4210
4437
  }
4211
4438
 
4212
4439
  module.exports = SceneAnnotation;
4213
- },{"./scene-base.js":82}],81:[function(require,module,exports){
4440
+ },{"./scene-base.js":86}],85:[function(require,module,exports){
4214
4441
  const SceneBase = require("./scene-base.js");
4215
4442
 
4216
4443
  class SceneAudio extends SceneBase {
@@ -4220,7 +4447,7 @@ class SceneAudio extends SceneBase {
4220
4447
  }
4221
4448
 
4222
4449
  module.exports = SceneAudio;
4223
- },{"./scene-base.js":82}],82:[function(require,module,exports){
4450
+ },{"./scene-base.js":86}],86:[function(require,module,exports){
4224
4451
  const PlattarBase = require("../interfaces/plattar-base.js");
4225
4452
  const Server = require("../../server/plattar-server.js");
4226
4453
 
@@ -4254,7 +4481,7 @@ class SceneBase extends PlattarBase {
4254
4481
  }
4255
4482
 
4256
4483
  module.exports = SceneBase;
4257
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./scene-annotation.js":80,"./scene-audio.js":81,"./scene-button.js":83,"./scene-camera.js":84,"./scene-carousel.js":85,"./scene-image.js":86,"./scene-model.js":87,"./scene-panorama.js":88,"./scene-poller.js":89,"./scene-product.js":90,"./scene-shadow.js":92,"./scene-video.js":93,"./scene-volumetric.js":94,"./scene-youtube.js":95}],83:[function(require,module,exports){
4484
+ },{"../../server/plattar-server.js":42,"../interfaces/plattar-base.js":59,"./scene-annotation.js":84,"./scene-audio.js":85,"./scene-button.js":87,"./scene-camera.js":88,"./scene-carousel.js":89,"./scene-image.js":90,"./scene-model.js":91,"./scene-panorama.js":92,"./scene-poller.js":93,"./scene-product.js":94,"./scene-shadow.js":96,"./scene-video.js":97,"./scene-volumetric.js":98,"./scene-youtube.js":99}],87:[function(require,module,exports){
4258
4485
  const SceneBase = require("./scene-base.js");
4259
4486
 
4260
4487
  class SceneButton extends SceneBase {
@@ -4264,7 +4491,7 @@ class SceneButton extends SceneBase {
4264
4491
  }
4265
4492
 
4266
4493
  module.exports = SceneButton;
4267
- },{"./scene-base.js":82}],84:[function(require,module,exports){
4494
+ },{"./scene-base.js":86}],88:[function(require,module,exports){
4268
4495
  const SceneBase = require("./scene-base.js");
4269
4496
 
4270
4497
  class SceneCamera extends SceneBase {
@@ -4274,7 +4501,7 @@ class SceneCamera extends SceneBase {
4274
4501
  }
4275
4502
 
4276
4503
  module.exports = SceneCamera;
4277
- },{"./scene-base.js":82}],85:[function(require,module,exports){
4504
+ },{"./scene-base.js":86}],89:[function(require,module,exports){
4278
4505
  const SceneBase = require("./scene-base.js");
4279
4506
 
4280
4507
  class SceneCarousel extends SceneBase {
@@ -4284,7 +4511,7 @@ class SceneCarousel extends SceneBase {
4284
4511
  }
4285
4512
 
4286
4513
  module.exports = SceneCarousel;
4287
- },{"./scene-base.js":82}],86:[function(require,module,exports){
4514
+ },{"./scene-base.js":86}],90:[function(require,module,exports){
4288
4515
  const SceneBase = require("./scene-base.js");
4289
4516
 
4290
4517
  class SceneImage extends SceneBase {
@@ -4294,7 +4521,7 @@ class SceneImage extends SceneBase {
4294
4521
  }
4295
4522
 
4296
4523
  module.exports = SceneImage;
4297
- },{"./scene-base.js":82}],87:[function(require,module,exports){
4524
+ },{"./scene-base.js":86}],91:[function(require,module,exports){
4298
4525
  const SceneBase = require("./scene-base.js");
4299
4526
 
4300
4527
  class SceneModel extends SceneBase {
@@ -4304,7 +4531,7 @@ class SceneModel extends SceneBase {
4304
4531
  }
4305
4532
 
4306
4533
  module.exports = SceneModel;
4307
- },{"./scene-base.js":82}],88:[function(require,module,exports){
4534
+ },{"./scene-base.js":86}],92:[function(require,module,exports){
4308
4535
  const SceneBase = require("./scene-base.js");
4309
4536
 
4310
4537
  class ScenePanorama extends SceneBase {
@@ -4314,7 +4541,7 @@ class ScenePanorama extends SceneBase {
4314
4541
  }
4315
4542
 
4316
4543
  module.exports = ScenePanorama;
4317
- },{"./scene-base.js":82}],89:[function(require,module,exports){
4544
+ },{"./scene-base.js":86}],93:[function(require,module,exports){
4318
4545
  const SceneBase = require("./scene-base.js");
4319
4546
 
4320
4547
  class ScenePoller extends SceneBase {
@@ -4324,7 +4551,7 @@ class ScenePoller extends SceneBase {
4324
4551
  }
4325
4552
 
4326
4553
  module.exports = ScenePoller;
4327
- },{"./scene-base.js":82}],90:[function(require,module,exports){
4554
+ },{"./scene-base.js":86}],94:[function(require,module,exports){
4328
4555
  const SceneBase = require("./scene-base.js");
4329
4556
 
4330
4557
  class SceneProduct extends SceneBase {
@@ -4334,7 +4561,7 @@ class SceneProduct extends SceneBase {
4334
4561
  }
4335
4562
 
4336
4563
  module.exports = SceneProduct;
4337
- },{"./scene-base.js":82}],91:[function(require,module,exports){
4564
+ },{"./scene-base.js":86}],95:[function(require,module,exports){
4338
4565
  const SceneBase = require("./scene-base.js");
4339
4566
 
4340
4567
  class SceneScript extends SceneBase {
@@ -4344,7 +4571,7 @@ class SceneScript extends SceneBase {
4344
4571
  }
4345
4572
 
4346
4573
  module.exports = SceneScript;
4347
- },{"./scene-base.js":82}],92:[function(require,module,exports){
4574
+ },{"./scene-base.js":86}],96:[function(require,module,exports){
4348
4575
  const SceneBase = require("./scene-base.js");
4349
4576
 
4350
4577
  class SceneShadow extends SceneBase {
@@ -4354,7 +4581,7 @@ class SceneShadow extends SceneBase {
4354
4581
  }
4355
4582
 
4356
4583
  module.exports = SceneShadow;
4357
- },{"./scene-base.js":82}],93:[function(require,module,exports){
4584
+ },{"./scene-base.js":86}],97:[function(require,module,exports){
4358
4585
  const SceneBase = require("./scene-base.js");
4359
4586
 
4360
4587
  class SceneVideo extends SceneBase {
@@ -4364,7 +4591,7 @@ class SceneVideo extends SceneBase {
4364
4591
  }
4365
4592
 
4366
4593
  module.exports = SceneVideo;
4367
- },{"./scene-base.js":82}],94:[function(require,module,exports){
4594
+ },{"./scene-base.js":86}],98:[function(require,module,exports){
4368
4595
  const SceneBase = require("./scene-base.js");
4369
4596
 
4370
4597
  class SceneVolumetric extends SceneBase {
@@ -4374,7 +4601,7 @@ class SceneVolumetric extends SceneBase {
4374
4601
  }
4375
4602
 
4376
4603
  module.exports = SceneVolumetric;
4377
- },{"./scene-base.js":82}],95:[function(require,module,exports){
4604
+ },{"./scene-base.js":86}],99:[function(require,module,exports){
4378
4605
  const SceneBase = require("./scene-base.js");
4379
4606
 
4380
4607
  class SceneYoutube extends SceneBase {
@@ -4384,7 +4611,7 @@ class SceneYoutube extends SceneBase {
4384
4611
  }
4385
4612
 
4386
4613
  module.exports = SceneYoutube;
4387
- },{"./scene-base.js":82}],96:[function(require,module,exports){
4614
+ },{"./scene-base.js":86}],100:[function(require,module,exports){
4388
4615
  const PlattarBase = require("../interfaces/plattar-base.js");
4389
4616
 
4390
4617
  class Scene extends PlattarBase {
@@ -4394,7 +4621,7 @@ class Scene extends PlattarBase {
4394
4621
  }
4395
4622
 
4396
4623
  module.exports = Scene;
4397
- },{"../interfaces/plattar-base.js":55}],97:[function(require,module,exports){
4624
+ },{"../interfaces/plattar-base.js":59}],101:[function(require,module,exports){
4398
4625
  const PlattarBase = require("../interfaces/plattar-base.js");
4399
4626
 
4400
4627
  class TriggerImage extends PlattarBase {
@@ -4404,7 +4631,7 @@ class TriggerImage extends PlattarBase {
4404
4631
  }
4405
4632
 
4406
4633
  module.exports = TriggerImage;
4407
- },{"../interfaces/plattar-base.js":55}],98:[function(require,module,exports){
4634
+ },{"../interfaces/plattar-base.js":59}],102:[function(require,module,exports){
4408
4635
  const Application = require("../types/application.js");
4409
4636
 
4410
4637
  // import Scene types and its children
@@ -4631,10 +4858,10 @@ PlattarUtil.match = (type) => {
4631
4858
 
4632
4859
 
4633
4860
  module.exports = PlattarUtil;
4634
- },{"../types/application.js":39,"../types/content-pipeline/brief.js":40,"../types/content-pipeline/comment-brief.js":41,"../types/content-pipeline/comment-quote.js":42,"../types/content-pipeline/comment-solution.js":43,"../types/content-pipeline/folder.js":44,"../types/content-pipeline/pipeline-user.js":45,"../types/content-pipeline/quote.js":46,"../types/content-pipeline/rating.js":47,"../types/content-pipeline/solution.js":48,"../types/file/file-audio.js":49,"../types/file/file-image.js":51,"../types/file/file-model.js":52,"../types/file/file-script.js":53,"../types/file/file-video.js":54,"../types/interfaces/plattar-object.js":57,"../types/misc/application-build.js":58,"../types/misc/asset-library":59,"../types/misc/async-job.js":60,"../types/misc/script-event.js":61,"../types/misc/tag.js":62,"../types/page/card-button.js":64,"../types/page/card-html.js":65,"../types/page/card-iframe.js":66,"../types/page/card-image.js":67,"../types/page/card-map.js":68,"../types/page/card-paragraph.js":69,"../types/page/card-row.js":70,"../types/page/card-slider.js":71,"../types/page/card-title.js":72,"../types/page/card-video.js":73,"../types/page/card-youtube.js":74,"../types/page/page.js":75,"../types/product/product-annotation.js":76,"../types/product/product-variation.js":78,"../types/product/product.js":79,"../types/scene/scene-annotation.js":80,"../types/scene/scene-audio.js":81,"../types/scene/scene-button.js":83,"../types/scene/scene-camera.js":84,"../types/scene/scene-carousel.js":85,"../types/scene/scene-image.js":86,"../types/scene/scene-model.js":87,"../types/scene/scene-panorama.js":88,"../types/scene/scene-poller.js":89,"../types/scene/scene-product.js":90,"../types/scene/scene-script.js":91,"../types/scene/scene-shadow.js":92,"../types/scene/scene-video.js":93,"../types/scene/scene-volumetric.js":94,"../types/scene/scene-youtube.js":95,"../types/scene/scene.js":96,"../types/trigger/trigger-image.js":97}],99:[function(require,module,exports){
4861
+ },{"../types/application.js":43,"../types/content-pipeline/brief.js":44,"../types/content-pipeline/comment-brief.js":45,"../types/content-pipeline/comment-quote.js":46,"../types/content-pipeline/comment-solution.js":47,"../types/content-pipeline/folder.js":48,"../types/content-pipeline/pipeline-user.js":49,"../types/content-pipeline/quote.js":50,"../types/content-pipeline/rating.js":51,"../types/content-pipeline/solution.js":52,"../types/file/file-audio.js":53,"../types/file/file-image.js":55,"../types/file/file-model.js":56,"../types/file/file-script.js":57,"../types/file/file-video.js":58,"../types/interfaces/plattar-object.js":61,"../types/misc/application-build.js":62,"../types/misc/asset-library":63,"../types/misc/async-job.js":64,"../types/misc/script-event.js":65,"../types/misc/tag.js":66,"../types/page/card-button.js":68,"../types/page/card-html.js":69,"../types/page/card-iframe.js":70,"../types/page/card-image.js":71,"../types/page/card-map.js":72,"../types/page/card-paragraph.js":73,"../types/page/card-row.js":74,"../types/page/card-slider.js":75,"../types/page/card-title.js":76,"../types/page/card-video.js":77,"../types/page/card-youtube.js":78,"../types/page/page.js":79,"../types/product/product-annotation.js":80,"../types/product/product-variation.js":82,"../types/product/product.js":83,"../types/scene/scene-annotation.js":84,"../types/scene/scene-audio.js":85,"../types/scene/scene-button.js":87,"../types/scene/scene-camera.js":88,"../types/scene/scene-carousel.js":89,"../types/scene/scene-image.js":90,"../types/scene/scene-model.js":91,"../types/scene/scene-panorama.js":92,"../types/scene/scene-poller.js":93,"../types/scene/scene-product.js":94,"../types/scene/scene-script.js":95,"../types/scene/scene-shadow.js":96,"../types/scene/scene-video.js":97,"../types/scene/scene-volumetric.js":98,"../types/scene/scene-youtube.js":99,"../types/scene/scene.js":100,"../types/trigger/trigger-image.js":101}],103:[function(require,module,exports){
4635
4862
  module.exports = "1.120.1";
4636
4863
 
4637
- },{}],100:[function(require,module,exports){
4864
+ },{}],104:[function(require,module,exports){
4638
4865
  const QRCodeStyling = require("qr-code-styling");
4639
4866
 
4640
4867
  class BaseElement extends HTMLElement {
@@ -4763,7 +4990,6 @@ class BaseElement extends HTMLElement {
4763
4990
  type: "canvas"
4764
4991
  };
4765
4992
 
4766
- this._options.data = url;
4767
4993
  this._options.margin = margin;
4768
4994
  this._options.image = image;
4769
4995
 
@@ -4781,6 +5007,45 @@ class BaseElement extends HTMLElement {
4781
5007
  this._options.dotsOptions.type = "rounded";
4782
5008
  }
4783
5009
 
5010
+ const shortenURL = this.hasAttribute("shorten") ? this.getAttribute("shorten") : "false";
5011
+
5012
+ if (shortenURL && shortenURL.toLowerCase() === "true") {
5013
+ this._ShortenURL(url).then((newURL) => {
5014
+ this._GenerateQRCode(newURL, width, height);
5015
+ }).catch((_err) => {
5016
+ console.warn(_err);
5017
+ // ignore error and just generate normal QR Code
5018
+ this._GenerateQRCode(url, width, height);
5019
+ });
5020
+ }
5021
+ else {
5022
+ this._GenerateQRCode(url, width, height);
5023
+ }
5024
+ }
5025
+
5026
+ _UpdateCanvas(width, height) {
5027
+ if (!this._qrCode) {
5028
+ return;
5029
+ }
5030
+
5031
+ const canvas = this._qrCode._canvas;
5032
+
5033
+ if (canvas) {
5034
+ canvas.style.width = "100%";
5035
+ canvas.style.height = "100%";
5036
+ }
5037
+
5038
+ if (this._divContainer) {
5039
+ const div = this._divContainer;
5040
+
5041
+ div.style.width = width + "px";
5042
+ div.style.height = height + "px";
5043
+ }
5044
+ }
5045
+
5046
+ _GenerateQRCode(url, width, height) {
5047
+ this._options.data = url;
5048
+
4784
5049
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
4785
5050
 
4786
5051
  const qrCode = this._qrCode;
@@ -4803,29 +5068,41 @@ class BaseElement extends HTMLElement {
4803
5068
  this._UpdateCanvas(width, height);
4804
5069
  }
4805
5070
 
4806
- _UpdateCanvas(width, height) {
4807
- if (!this._qrCode) {
4808
- return;
4809
- }
5071
+ _IsFetchAPISupported() {
5072
+ return 'fetch' in window;
5073
+ }
4810
5074
 
4811
- const canvas = this._qrCode._canvas;
5075
+ _ShortenURL(url) {
5076
+ return new Promise((accept, reject) => {
5077
+ if (!this._IsFetchAPISupported()) {
5078
+ return reject(new Error("PlattarQR._ShortenURL() - fetch api not supported, cannot proceed"));
5079
+ }
4812
5080
 
4813
- if (canvas) {
4814
- canvas.style.width = "100%";
4815
- canvas.style.height = "100%";
4816
- }
5081
+ try {
5082
+ const b64 = btoa(url);
5083
+ const endpoint = "https://c.plattar.space/api/v2/shorten?base64=" + b64;
4817
5084
 
4818
- if (this._divContainer) {
4819
- const div = this._divContainer;
5085
+ fetch(endpoint).then((response) => {
5086
+ if (!response.ok) {
5087
+ throw new Error("PlattarQR._ShortenURL() - response was invalid");
5088
+ }
4820
5089
 
4821
- div.style.width = width + "px";
4822
- div.style.height = height + "px";
4823
- }
5090
+ return response.text();
5091
+ }).then((text) => {
5092
+ return accept(text);
5093
+ }).catch(() => {
5094
+ return reject(new Error("PlattarQR._ShortenURL() - there was an unexpected issue generating short url"));
5095
+ });
5096
+ }
5097
+ catch (err) {
5098
+ return reject(err);
5099
+ }
5100
+ });
4824
5101
  }
4825
5102
  }
4826
5103
 
4827
5104
  module.exports = BaseElement;
4828
- },{"qr-code-styling":127}],101:[function(require,module,exports){
5105
+ },{"qr-code-styling":131}],105:[function(require,module,exports){
4829
5106
  const BaseElement = require("./base/base-element.js");
4830
5107
 
4831
5108
  class QRCodeElement extends BaseElement {
@@ -4835,22 +5112,26 @@ class QRCodeElement extends BaseElement {
4835
5112
  }
4836
5113
 
4837
5114
  module.exports = QRCodeElement;
4838
- },{"./base/base-element.js":100}],102:[function(require,module,exports){
5115
+ },{"./base/base-element.js":104}],106:[function(require,module,exports){
4839
5116
  "use strict";
4840
5117
  const QRCodeElement = require("./elements/qrcode-element.js");
4841
5118
  const Version = require("./version");
4842
5119
 
4843
- console.log("using @plattar/plattar-qrcode v" + Version);
5120
+ if (customElements) {
5121
+ if (customElements.get("plattar-qrcode") === undefined) {
5122
+ customElements.define("plattar-qrcode", QRCodeElement);
5123
+ }
5124
+ }
4844
5125
 
4845
- customElements.define("plattar-qrcode", QRCodeElement);
5126
+ console.log("using @plattar/plattar-qrcode v" + Version);
4846
5127
 
4847
5128
  module.exports = {
4848
5129
  version: Version
4849
5130
  };
4850
- },{"./elements/qrcode-element.js":101,"./version":103}],103:[function(require,module,exports){
4851
- module.exports = "1.120.3";
5131
+ },{"./elements/qrcode-element.js":105,"./version":107}],107:[function(require,module,exports){
5132
+ module.exports = "1.122.1";
4852
5133
 
4853
- },{}],104:[function(require,module,exports){
5134
+ },{}],108:[function(require,module,exports){
4854
5135
  "use strict";
4855
5136
  var __importDefault = (this && this.__importDefault) || function (mod) {
4856
5137
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5007,7 +5288,7 @@ class Configurator {
5007
5288
  }
5008
5289
  exports.Configurator = Configurator;
5009
5290
 
5010
- },{"./remote-request":106,"@plattar/plattar-api":36,"object-hash":125}],105:[function(require,module,exports){
5291
+ },{"./remote-request":110,"@plattar/plattar-api":40,"object-hash":129}],109:[function(require,module,exports){
5011
5292
  "use strict";
5012
5293
  var __importDefault = (this && this.__importDefault) || function (mod) {
5013
5294
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5071,7 +5352,7 @@ class ModelConverter {
5071
5352
  }
5072
5353
  exports.ModelConverter = ModelConverter;
5073
5354
 
5074
- },{"./remote-request":106,"@plattar/plattar-api":36,"object-hash":125}],106:[function(require,module,exports){
5355
+ },{"./remote-request":110,"@plattar/plattar-api":40,"object-hash":129}],110:[function(require,module,exports){
5075
5356
  "use strict";
5076
5357
  var __importDefault = (this && this.__importDefault) || function (mod) {
5077
5358
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5139,7 +5420,7 @@ class RemoteRequest {
5139
5420
  }
5140
5421
  exports.RemoteRequest = RemoteRequest;
5141
5422
 
5142
- },{"node-fetch":124}],107:[function(require,module,exports){
5423
+ },{"node-fetch":128}],111:[function(require,module,exports){
5143
5424
  "use strict";
5144
5425
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5145
5426
  if (k2 === undefined) k2 = k;
@@ -5173,12 +5454,12 @@ exports.version = __importStar(require("./version"));
5173
5454
  const version_1 = __importDefault(require("./version"));
5174
5455
  console.log("using @plattar/plattar-services v" + version_1.default);
5175
5456
 
5176
- },{"./core/configurator":104,"./core/model-converter":105,"./version":108}],108:[function(require,module,exports){
5457
+ },{"./core/configurator":108,"./core/model-converter":109,"./version":112}],112:[function(require,module,exports){
5177
5458
  "use strict";
5178
5459
  Object.defineProperty(exports, "__esModule", { value: true });
5179
5460
  exports.default = "1.120.1";
5180
5461
 
5181
- },{}],109:[function(require,module,exports){
5462
+ },{}],113:[function(require,module,exports){
5182
5463
  const ElementController = require("../controllers/element-controller");
5183
5464
 
5184
5465
  class BaseElement extends HTMLElement {
@@ -5315,7 +5596,7 @@ class BaseElement extends HTMLElement {
5315
5596
  }
5316
5597
 
5317
5598
  module.exports = BaseElement;
5318
- },{"../controllers/element-controller":111}],110:[function(require,module,exports){
5599
+ },{"../controllers/element-controller":115}],114:[function(require,module,exports){
5319
5600
  const BaseElement = require("./base/base-element.js");
5320
5601
 
5321
5602
  class ConfiguratorElement extends BaseElement {
@@ -5343,7 +5624,7 @@ class ConfiguratorElement extends BaseElement {
5343
5624
  }
5344
5625
 
5345
5626
  module.exports = ConfiguratorElement;
5346
- },{"./base/base-element.js":109}],111:[function(require,module,exports){
5627
+ },{"./base/base-element.js":113}],115:[function(require,module,exports){
5347
5628
  const Util = require("../../util/util.js");
5348
5629
  const { messenger } = require("@plattar/context-messenger");
5349
5630
  const IFrameController = require("./iframe-controller.js");
@@ -5436,7 +5717,7 @@ class ElementController {
5436
5717
  }
5437
5718
 
5438
5719
  module.exports = ElementController;
5439
- },{"../../util/util.js":122,"./iframe-controller.js":112,"@plattar/context-messenger":15}],112:[function(require,module,exports){
5720
+ },{"../../util/util.js":126,"./iframe-controller.js":116,"@plattar/context-messenger":19}],116:[function(require,module,exports){
5440
5721
  const Util = require("../../util/util.js");
5441
5722
 
5442
5723
  class IFrameController {
@@ -5546,7 +5827,7 @@ class IFrameController {
5546
5827
  }
5547
5828
 
5548
5829
  module.exports = IFrameController;
5549
- },{"../../util/util.js":122}],113:[function(require,module,exports){
5830
+ },{"../../util/util.js":126}],117:[function(require,module,exports){
5550
5831
  const BaseElement = require("./base/base-element.js");
5551
5832
 
5552
5833
  class EditorElement extends BaseElement {
@@ -5564,7 +5845,7 @@ class EditorElement extends BaseElement {
5564
5845
  }
5565
5846
 
5566
5847
  module.exports = EditorElement;
5567
- },{"./base/base-element.js":109}],114:[function(require,module,exports){
5848
+ },{"./base/base-element.js":113}],118:[function(require,module,exports){
5568
5849
  const BaseElement = require("./base/base-element.js");
5569
5850
 
5570
5851
  class EWallElement extends BaseElement {
@@ -5601,7 +5882,7 @@ class EWallElement extends BaseElement {
5601
5882
  }
5602
5883
 
5603
5884
  module.exports = EWallElement;
5604
- },{"./base/base-element.js":109}],115:[function(require,module,exports){
5885
+ },{"./base/base-element.js":113}],119:[function(require,module,exports){
5605
5886
  const BaseElement = require("./base/base-element.js");
5606
5887
 
5607
5888
  class FaceARElement extends BaseElement {
@@ -5629,7 +5910,7 @@ class FaceARElement extends BaseElement {
5629
5910
  }
5630
5911
 
5631
5912
  module.exports = FaceARElement;
5632
- },{"./base/base-element.js":109}],116:[function(require,module,exports){
5913
+ },{"./base/base-element.js":113}],120:[function(require,module,exports){
5633
5914
  const BaseElement = require("./base/base-element.js");
5634
5915
 
5635
5916
  class ModelElement extends BaseElement {
@@ -5654,7 +5935,7 @@ class ModelElement extends BaseElement {
5654
5935
  }
5655
5936
 
5656
5937
  module.exports = ModelElement;
5657
- },{"./base/base-element.js":109}],117:[function(require,module,exports){
5938
+ },{"./base/base-element.js":113}],121:[function(require,module,exports){
5658
5939
  const BaseElement = require("./base/base-element.js");
5659
5940
 
5660
5941
  class ProductElement extends BaseElement {
@@ -5686,7 +5967,7 @@ class ProductElement extends BaseElement {
5686
5967
  }
5687
5968
 
5688
5969
  module.exports = ProductElement;
5689
- },{"./base/base-element.js":109}],118:[function(require,module,exports){
5970
+ },{"./base/base-element.js":113}],122:[function(require,module,exports){
5690
5971
  const BaseElement = require("./base/base-element.js");
5691
5972
 
5692
5973
  class StudioElement extends BaseElement {
@@ -5704,7 +5985,7 @@ class StudioElement extends BaseElement {
5704
5985
  }
5705
5986
 
5706
5987
  module.exports = StudioElement;
5707
- },{"./base/base-element.js":109}],119:[function(require,module,exports){
5988
+ },{"./base/base-element.js":113}],123:[function(require,module,exports){
5708
5989
  const BaseElement = require("./base/base-element.js");
5709
5990
 
5710
5991
  class ViewerElement extends BaseElement {
@@ -5732,7 +6013,7 @@ class ViewerElement extends BaseElement {
5732
6013
  }
5733
6014
 
5734
6015
  module.exports = ViewerElement;
5735
- },{"./base/base-element.js":109}],120:[function(require,module,exports){
6016
+ },{"./base/base-element.js":113}],124:[function(require,module,exports){
5736
6017
  const BaseElement = require("./base/base-element.js");
5737
6018
 
5738
6019
  class WebXRElement extends BaseElement {
@@ -5750,7 +6031,7 @@ class WebXRElement extends BaseElement {
5750
6031
  }
5751
6032
 
5752
6033
  module.exports = WebXRElement;
5753
- },{"./base/base-element.js":109}],121:[function(require,module,exports){
6034
+ },{"./base/base-element.js":113}],125:[function(require,module,exports){
5754
6035
  "use strict";
5755
6036
  const WebXRElement = require("./elements/webxr-element.js");
5756
6037
  const ViewerElement = require("./elements/viewer-element.js");
@@ -5804,7 +6085,7 @@ console.log("using @plattar/plattar-web v" + Version);
5804
6085
  module.exports = {
5805
6086
  version: Version
5806
6087
  };
5807
- },{"./elements/configurator-element.js":110,"./elements/editor-element.js":113,"./elements/ewall-element.js":114,"./elements/facear-element.js":115,"./elements/model-element.js":116,"./elements/product-element.js":117,"./elements/studio-element.js":118,"./elements/viewer-element.js":119,"./elements/webxr-element.js":120,"./version":123}],122:[function(require,module,exports){
6088
+ },{"./elements/configurator-element.js":114,"./elements/editor-element.js":117,"./elements/ewall-element.js":118,"./elements/facear-element.js":119,"./elements/model-element.js":120,"./elements/product-element.js":121,"./elements/studio-element.js":122,"./elements/viewer-element.js":123,"./elements/webxr-element.js":124,"./version":127}],126:[function(require,module,exports){
5808
6089
  class Util {
5809
6090
  static getServerLocation(server) {
5810
6091
  switch (server) {
@@ -5879,10 +6160,10 @@ class Util {
5879
6160
  }
5880
6161
 
5881
6162
  module.exports = Util;
5882
- },{}],123:[function(require,module,exports){
6163
+ },{}],127:[function(require,module,exports){
5883
6164
  module.exports = "1.122.3";
5884
6165
 
5885
- },{}],124:[function(require,module,exports){
6166
+ },{}],128:[function(require,module,exports){
5886
6167
  (function (global){(function (){
5887
6168
  "use strict";
5888
6169
 
@@ -5910,11 +6191,11 @@ exports.Headers = global.Headers;
5910
6191
  exports.Request = global.Request;
5911
6192
  exports.Response = global.Response;
5912
6193
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5913
- },{}],125:[function(require,module,exports){
6194
+ },{}],129:[function(require,module,exports){
5914
6195
  (function (global){(function (){
5915
6196
  !function(e){var t;"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):("undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function o(i,u,a){function s(n,e){if(!u[n]){if(!i[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(f)return f(n,!0);throw new Error("Cannot find module '"+n+"'")}var r=u[n]={exports:{}};i[n][0].call(r.exports,function(e){var t=i[n][1][e];return s(t||e)},r,r.exports,o,i,u,a)}return u[n].exports}for(var f="function"==typeof require&&require,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(w,b,m){(function(e,t,f,n,r,o,i,u,a){"use strict";var s=w("crypto");function c(e,t){return function(e,t){var n;n="passthrough"!==t.algorithm?s.createHash(t.algorithm):new y;void 0===n.write&&(n.write=n.update,n.end=n.update);g(t,n).dispatch(e),n.update||n.end("");if(n.digest)return n.digest("buffer"===t.encoding?void 0:t.encoding);var r=n.read();return"buffer"!==t.encoding?r.toString(t.encoding):r}(e,t=h(e,t))}(m=b.exports=c).sha1=function(e){return c(e)},m.keys=function(e){return c(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},m.MD5=function(e){return c(e,{algorithm:"md5",encoding:"hex"})},m.keysMD5=function(e){return c(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var l=s.getHashes?s.getHashes().slice():["sha1","md5"];l.push("passthrough");var d=["buffer","hex","binary","base64"];function h(e,t){t=t||{};var n={};if(n.algorithm=t.algorithm||"sha1",n.encoding=t.encoding||"hex",n.excludeValues=!!t.excludeValues,n.algorithm=n.algorithm.toLowerCase(),n.encoding=n.encoding.toLowerCase(),n.ignoreUnknown=!0===t.ignoreUnknown,n.respectType=!1!==t.respectType,n.respectFunctionNames=!1!==t.respectFunctionNames,n.respectFunctionProperties=!1!==t.respectFunctionProperties,n.unorderedArrays=!0===t.unorderedArrays,n.unorderedSets=!1!==t.unorderedSets,n.unorderedObjects=!1!==t.unorderedObjects,n.replacer=t.replacer||void 0,n.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error("Object argument required.");for(var r=0;r<l.length;++r)l[r].toLowerCase()===n.algorithm.toLowerCase()&&(n.algorithm=l[r]);if(-1===l.indexOf(n.algorithm))throw new Error('Algorithm "'+n.algorithm+'" not supported. supported values: '+l.join(", "));if(-1===d.indexOf(n.encoding)&&"passthrough"!==n.algorithm)throw new Error('Encoding "'+n.encoding+'" not supported. supported values: '+d.join(", "));return n}function p(e){if("function"==typeof e){return null!=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e))}}function g(u,t,a){a=a||[];function s(e){return t.update?t.update(e,"utf8"):t.write(e,"utf8")}return{dispatch:function(e){return u.replacer&&(e=u.replacer(e)),this["_"+(null===e?"null":typeof e)](e)},_object:function(t){var e=Object.prototype.toString.call(t),n=/\[object (.*)\]/i.exec(e);n=(n=n?n[1]:"unknown:["+e+"]").toLowerCase();var r;if(0<=(r=a.indexOf(t)))return this.dispatch("[CIRCULAR:"+r+"]");if(a.push(t),void 0!==f&&f.isBuffer&&f.isBuffer(t))return s("buffer:"),s(t);if("object"===n||"function"===n||"asyncfunction"===n){var o=Object.keys(t);u.unorderedObjects&&(o=o.sort()),!1===u.respectType||p(t)||o.splice(0,0,"prototype","__proto__","constructor"),u.excludeKeys&&(o=o.filter(function(e){return!u.excludeKeys(e)})),s("object:"+o.length+":");var i=this;return o.forEach(function(e){i.dispatch(e),s(":"),u.excludeValues||i.dispatch(t[e]),s(",")})}if(!this["_"+n]){if(u.ignoreUnknown)return s("["+n+"]");throw new Error('Unknown object type "'+n+'"')}this["_"+n](t)},_array:function(e,t){t=void 0!==t?t:!1!==u.unorderedArrays;var n=this;if(s("array:"+e.length+":"),!t||e.length<=1)return e.forEach(function(e){return n.dispatch(e)});var r=[],o=e.map(function(e){var t=new y,n=a.slice();return g(u,t,n).dispatch(e),r=r.concat(n.slice(a.length)),t.read().toString()});return a=a.concat(r),o.sort(),this._array(o,!1)},_date:function(e){return s("date:"+e.toJSON())},_symbol:function(e){return s("symbol:"+e.toString())},_error:function(e){return s("error:"+e.toString())},_boolean:function(e){return s("bool:"+e.toString())},_string:function(e){s("string:"+e.length+":"),s(e.toString())},_function:function(e){s("fn:"),p(e)?this.dispatch("[native]"):this.dispatch(e.toString()),!1!==u.respectFunctionNames&&this.dispatch("function-name:"+String(e.name)),u.respectFunctionProperties&&this._object(e)},_number:function(e){return s("number:"+e.toString())},_xml:function(e){return s("xml:"+e.toString())},_null:function(){return s("Null")},_undefined:function(){return s("Undefined")},_regexp:function(e){return s("regex:"+e.toString())},_uint8array:function(e){return s("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return s("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return s("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return s("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return s("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return s("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return s("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return s("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return s("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return s("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return s("url:"+e.toString())},_map:function(e){s("map:");var t=Array.from(e);return this._array(t,!1!==u.unorderedSets)},_set:function(e){s("set:");var t=Array.from(e);return this._array(t,!1!==u.unorderedSets)},_file:function(e){return s("file:"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(u.ignoreUnknown)return s("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return s("domwindow")},_bigint:function(e){return s("bigint:"+e.toString())},_process:function(){return s("process")},_timer:function(){return s("timer")},_pipe:function(){return s("pipe")},_tcp:function(){return s("tcp")},_udp:function(){return s("udp")},_tty:function(){return s("tty")},_statwatcher:function(){return s("statwatcher")},_securecontext:function(){return s("securecontext")},_connection:function(){return s("connection")},_zlib:function(){return s("zlib")},_context:function(){return s("context")},_nodescript:function(){return s("nodescript")},_httpparser:function(){return s("httpparser")},_dataview:function(){return s("dataview")},_signal:function(){return s("signal")},_fsevent:function(){return s("fsevent")},_tlswrap:function(){return s("tlswrap")}}}function y(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}m.writeToStream=function(e,t,n){return void 0===n&&(n=t,t={}),g(t=h(e,t),n).dispatch(e)}}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_7eac155c.js","/")},{buffer:3,crypto:5,lYpoI2:10}],2:[function(e,t,f){(function(e,t,n,r,o,i,u,a,s){!function(e){"use strict";var f="undefined"!=typeof Uint8Array?Uint8Array:Array,n="+".charCodeAt(0),r="/".charCodeAt(0),o="0".charCodeAt(0),i="a".charCodeAt(0),u="A".charCodeAt(0),a="-".charCodeAt(0),s="_".charCodeAt(0);function c(e){var t=e.charCodeAt(0);return t===n||t===a?62:t===r||t===s?63:t<o?-1:t<o+10?t-o+26+26:t<u+26?t-u:t<i+26?t-i+26:void 0}e.toByteArray=function(e){var t,n;if(0<e.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.length,o="="===e.charAt(r-2)?2:"="===e.charAt(r-1)?1:0,i=new f(3*e.length/4-o),u=0<o?e.length-4:e.length,a=0;function s(e){i[a++]=e}for(t=0;t<u;t+=4,0)s((16711680&(n=c(e.charAt(t))<<18|c(e.charAt(t+1))<<12|c(e.charAt(t+2))<<6|c(e.charAt(t+3))))>>16),s((65280&n)>>8),s(255&n);return 2==o?s(255&(n=c(e.charAt(t))<<2|c(e.charAt(t+1))>>4)):1==o&&(s((n=c(e.charAt(t))<<10|c(e.charAt(t+1))<<4|c(e.charAt(t+2))>>2)>>8&255),s(255&n)),i},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u="";function a(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,r=e.length-i;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],u+=a((o=n)>>18&63)+a(o>>12&63)+a(o>>6&63)+a(63&o);switch(i){case 1:u+=a((n=e[e.length-1])>>2),u+=a(n<<4&63),u+="==";break;case 2:u+=a((n=(e[e.length-2]<<8)+e[e.length-1])>>10),u+=a(n>>4&63),u+=a(n<<2&63),u+="="}return u}}(void 0===f?this.base64js={}:f)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:10}],3:[function(O,e,H){(function(e,t,g,n,r,o,i,u,a){var s=O("base64-js"),f=O("ieee754");function g(e,t,n){if(!(this instanceof g))return new g(e,t,n);var r,o,i,u,a,s=typeof e;if("base64"===t&&"string"==s)for(e=(r=e).trim?r.trim():r.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==s)o=x(e);else if("string"==s)o=g.byteLength(e,t);else{if("object"!=s)throw new Error("First argument needs to be a number, array or string.");o=x(e.length)}if(g._useTypedArrays?i=g._augment(new Uint8Array(o)):((i=this).length=o,i._isBuffer=!0),g._useTypedArrays&&"number"==typeof e.byteLength)i._set(e);else if(S(a=e)||g.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(u=0;u<o;u++)g.isBuffer(e)?i[u]=e.readUInt8(u):i[u]=e[u];else if("string"==s)i.write(e,0,t);else if("number"==s&&!g._useTypedArrays&&!n)for(u=0;u<o;u++)i[u]=0;return i}function y(e,t,n,r){return g._charsWritten=T(function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function w(e,t,n,r){return g._charsWritten=T(function(e){for(var t,n,r,o=[],i=0;i<e.length;i++)t=e.charCodeAt(i),n=t>>8,r=t%256,o.push(r),o.push(n);return o}(t),e,n,r)}function c(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;o++)r+=String.fromCharCode(e[o]);return r}function l(e,t,n,r){r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+1<e.length,"Trying to read beyond buffer length"));var o,i=e.length;if(!(i<=t))return n?(o=e[t],t+1<i&&(o|=e[t+1]<<8)):(o=e[t]<<8,t+1<i&&(o|=e[t+1])),o}function d(e,t,n,r){r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+3<e.length,"Trying to read beyond buffer length"));var o,i=e.length;if(!(i<=t))return n?(t+2<i&&(o=e[t+2]<<16),t+1<i&&(o|=e[t+1]<<8),o|=e[t],t+3<i&&(o+=e[t+3]<<24>>>0)):(t+1<i&&(o=e[t+1]<<16),t+2<i&&(o|=e[t+2]<<8),t+3<i&&(o|=e[t+3]),o+=e[t]<<24>>>0),o}function h(e,t,n,r){if(r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+1<e.length,"Trying to read beyond buffer length")),!(e.length<=t)){var o=l(e,t,n,!0);return 32768&o?-1*(65535-o+1):o}}function p(e,t,n,r){if(r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+3<e.length,"Trying to read beyond buffer length")),!(e.length<=t)){var o=d(e,t,n,!0);return 2147483648&o?-1*(4294967295-o+1):o}}function b(e,t,n,r){return r||(D("boolean"==typeof n,"missing or invalid endian"),D(t+3<e.length,"Trying to read beyond buffer length")),f.read(e,t,n,23,4)}function m(e,t,n,r){return r||(D("boolean"==typeof n,"missing or invalid endian"),D(t+7<e.length,"Trying to read beyond buffer length")),f.read(e,t,n,52,8)}function v(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+1<e.length,"trying to write beyond buffer length"),N(t,65535));var i=e.length;if(!(i<=n))for(var u=0,a=Math.min(i-n,2);u<a;u++)e[n+u]=(t&255<<8*(r?u:1-u))>>>8*(r?u:1-u)}function _(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"trying to write beyond buffer length"),N(t,4294967295));var i=e.length;if(!(i<=n))for(var u=0,a=Math.min(i-n,4);u<a;u++)e[n+u]=t>>>8*(r?u:3-u)&255}function E(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+1<e.length,"Trying to write beyond buffer length"),Y(t,32767,-32768)),e.length<=n||v(e,0<=t?t:65535+t+1,n,r,o)}function I(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"Trying to write beyond buffer length"),Y(t,2147483647,-2147483648)),e.length<=n||_(e,0<=t?t:4294967295+t+1,n,r,o)}function A(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"Trying to write beyond buffer length"),F(t,34028234663852886e22,-34028234663852886e22)),e.length<=n||f.write(e,t,n,r,23,4)}function B(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+7<e.length,"Trying to write beyond buffer length"),F(t,17976931348623157e292,-17976931348623157e292)),e.length<=n||f.write(e,t,n,r,52,8)}H.Buffer=g,H.SlowBuffer=g,H.INSPECT_MAX_BYTES=50,g.poolSize=8192,g._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(e){return!1}}(),g.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},g.isBuffer=function(e){return!(null==e||!e._isBuffer)},g.byteLength=function(e,t){var n;switch(e+="",t||"utf8"){case"hex":n=e.length/2;break;case"utf8":case"utf-8":n=C(e).length;break;case"ascii":case"binary":case"raw":n=e.length;break;case"base64":n=k(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":n=2*e.length;break;default:throw new Error("Unknown encoding")}return n},g.concat=function(e,t){if(D(S(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new g(0);if(1===e.length)return e[0];if("number"!=typeof t)for(o=t=0;o<e.length;o++)t+=e[o].length;for(var n=new g(t),r=0,o=0;o<e.length;o++){var i=e[o];i.copy(n,r),r+=i.length}return n},g.prototype.write=function(e,t,n,r){var o;isFinite(t)?isFinite(n)||(r=n,n=void 0):(o=r,r=t,t=n,n=o),t=Number(t)||0;var i,u,a,s,f,c,l,d,h,p=this.length-t;switch((!n||p<(n=Number(n)))&&(n=p),r=String(r||"utf8").toLowerCase()){case"hex":i=function(e,t,n,r){n=Number(n)||0;var o=e.length-n;(!r||o<(r=Number(r)))&&(r=o);var i=t.length;D(i%2==0,"Invalid hex string"),i/2<r&&(r=i/2);for(var u=0;u<r;u++){var a=parseInt(t.substr(2*u,2),16);D(!isNaN(a),"Invalid hex string"),e[n+u]=a}return g._charsWritten=2*u,u}(this,e,t,n);break;case"utf8":case"utf-8":c=this,l=e,d=t,h=n,i=g._charsWritten=T(C(l),c,d,h);break;case"ascii":case"binary":i=y(this,e,t,n);break;case"base64":u=this,a=e,s=t,f=n,i=g._charsWritten=T(k(a),u,s,f);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":i=w(this,e,t,n);break;default:throw new Error("Unknown encoding")}return i},g.prototype.toString=function(e,t,n){var r,o,i,u,a=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):n=a.length)===t)return"";switch(e){case"hex":r=function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||r<n)&&(n=r);for(var o="",i=t;i<n;i++)o+=j(e[i]);return o}(a,t,n);break;case"utf8":case"utf-8":r=function(e,t,n){var r="",o="";n=Math.min(e.length,n);for(var i=t;i<n;i++)e[i]<=127?(r+=M(o)+String.fromCharCode(e[i]),o=""):o+="%"+e[i].toString(16);return r+M(o)}(a,t,n);break;case"ascii":case"binary":r=c(a,t,n);break;case"base64":o=a,u=n,r=0===(i=t)&&u===o.length?s.fromByteArray(o):s.fromByteArray(o.slice(i,u));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":r=function(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}(a,t,n);break;default:throw new Error("Unknown encoding")}return r},g.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},g.prototype.copy=function(e,t,n,r){if(n=n||0,r||0===r||(r=this.length),t=t||0,r!==n&&0!==e.length&&0!==this.length){D(n<=r,"sourceEnd < sourceStart"),D(0<=t&&t<e.length,"targetStart out of bounds"),D(0<=n&&n<this.length,"sourceStart out of bounds"),D(0<=r&&r<=this.length,"sourceEnd out of bounds"),r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o=r-n;if(o<100||!g._useTypedArrays)for(var i=0;i<o;i++)e[i+t]=this[i+n];else e._set(this.subarray(n,n+o),t)}},g.prototype.slice=function(e,t){var n=this.length;if(e=U(e,n,0),t=U(t,n,n),g._useTypedArrays)return g._augment(this.subarray(e,t));for(var r=t-e,o=new g(r,void 0,!0),i=0;i<r;i++)o[i]=this[i+e];return o},g.prototype.get=function(e){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(e)},g.prototype.set=function(e,t){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(e,t)},g.prototype.readUInt8=function(e,t){if(t||(D(null!=e,"missing offset"),D(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return this[e]},g.prototype.readUInt16LE=function(e,t){return l(this,e,!0,t)},g.prototype.readUInt16BE=function(e,t){return l(this,e,!1,t)},g.prototype.readUInt32LE=function(e,t){return d(this,e,!0,t)},g.prototype.readUInt32BE=function(e,t){return d(this,e,!1,t)},g.prototype.readInt8=function(e,t){if(t||(D(null!=e,"missing offset"),D(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},g.prototype.readInt16LE=function(e,t){return h(this,e,!0,t)},g.prototype.readInt16BE=function(e,t){return h(this,e,!1,t)},g.prototype.readInt32LE=function(e,t){return p(this,e,!0,t)},g.prototype.readInt32BE=function(e,t){return p(this,e,!1,t)},g.prototype.readFloatLE=function(e,t){return b(this,e,!0,t)},g.prototype.readFloatBE=function(e,t){return b(this,e,!1,t)},g.prototype.readDoubleLE=function(e,t){return m(this,e,!0,t)},g.prototype.readDoubleBE=function(e,t){return m(this,e,!1,t)},g.prototype.writeUInt8=function(e,t,n){n||(D(null!=e,"missing value"),D(null!=t,"missing offset"),D(t<this.length,"trying to write beyond buffer length"),N(e,255)),t>=this.length||(this[t]=e)},g.prototype.writeUInt16LE=function(e,t,n){v(this,e,t,!0,n)},g.prototype.writeUInt16BE=function(e,t,n){v(this,e,t,!1,n)},g.prototype.writeUInt32LE=function(e,t,n){_(this,e,t,!0,n)},g.prototype.writeUInt32BE=function(e,t,n){_(this,e,t,!1,n)},g.prototype.writeInt8=function(e,t,n){n||(D(null!=e,"missing value"),D(null!=t,"missing offset"),D(t<this.length,"Trying to write beyond buffer length"),Y(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},g.prototype.writeInt16LE=function(e,t,n){E(this,e,t,!0,n)},g.prototype.writeInt16BE=function(e,t,n){E(this,e,t,!1,n)},g.prototype.writeInt32LE=function(e,t,n){I(this,e,t,!0,n)},g.prototype.writeInt32BE=function(e,t,n){I(this,e,t,!1,n)},g.prototype.writeFloatLE=function(e,t,n){A(this,e,t,!0,n)},g.prototype.writeFloatBE=function(e,t,n){A(this,e,t,!1,n)},g.prototype.writeDoubleLE=function(e,t,n){B(this,e,t,!0,n)},g.prototype.writeDoubleBE=function(e,t,n){B(this,e,t,!1,n)},g.prototype.fill=function(e,t,n){if(e=e||0,t=t||0,n=n||this.length,"string"==typeof e&&(e=e.charCodeAt(0)),D("number"==typeof e&&!isNaN(e),"value is not a number"),D(t<=n,"end < start"),n!==t&&0!==this.length){D(0<=t&&t<this.length,"start out of bounds"),D(0<=n&&n<=this.length,"end out of bounds");for(var r=t;r<n;r++)this[r]=e}},g.prototype.inspect=function(){for(var e=[],t=this.length,n=0;n<t;n++)if(e[n]=j(this[n]),n===H.INSPECT_MAX_BYTES){e[n+1]="...";break}return"<Buffer "+e.join(" ")+">"},g.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(g._useTypedArrays)return new g(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer};var L=g.prototype;function U(e,t,n){return"number"!=typeof e?n:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function x(e){return(e=~~Math.ceil(+e))<0?0:e}function S(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function j(e){return e<16?"0"+e.toString(16):e.toString(16)}function C(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(e.charCodeAt(n));else{var o=n;55296<=r&&r<=57343&&n++;for(var i=encodeURIComponent(e.slice(o,n+1)).substr(1).split("%"),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}}return t}function k(e){return s.toByteArray(e)}function T(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function M(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function N(e,t){D("number"==typeof e,"cannot write a non-number as a number"),D(0<=e,"specified a negative value for writing an unsigned value"),D(e<=t,"value is larger than maximum value for type"),D(Math.floor(e)===e,"value has a fractional component")}function Y(e,t,n){D("number"==typeof e,"cannot write a non-number as a number"),D(e<=t,"value larger than maximum allowed value"),D(n<=e,"value smaller than minimum allowed value"),D(Math.floor(e)===e,"value has a fractional component")}function F(e,t,n){D("number"==typeof e,"cannot write a non-number as a number"),D(e<=t,"value larger than maximum allowed value"),D(n<=e,"value smaller than minimum allowed value")}function D(e,t){if(!e)throw new Error(t||"Failed assertion")}g._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=L.get,e.set=L.set,e.write=L.write,e.toString=L.toString,e.toLocaleString=L.toString,e.toJSON=L.toJSON,e.copy=L.copy,e.slice=L.slice,e.readUInt8=L.readUInt8,e.readUInt16LE=L.readUInt16LE,e.readUInt16BE=L.readUInt16BE,e.readUInt32LE=L.readUInt32LE,e.readUInt32BE=L.readUInt32BE,e.readInt8=L.readInt8,e.readInt16LE=L.readInt16LE,e.readInt16BE=L.readInt16BE,e.readInt32LE=L.readInt32LE,e.readInt32BE=L.readInt32BE,e.readFloatLE=L.readFloatLE,e.readFloatBE=L.readFloatBE,e.readDoubleLE=L.readDoubleLE,e.readDoubleBE=L.readDoubleBE,e.writeUInt8=L.writeUInt8,e.writeUInt16LE=L.writeUInt16LE,e.writeUInt16BE=L.writeUInt16BE,e.writeUInt32LE=L.writeUInt32LE,e.writeUInt32BE=L.writeUInt32BE,e.writeInt8=L.writeInt8,e.writeInt16LE=L.writeInt16LE,e.writeInt16BE=L.writeInt16BE,e.writeInt32LE=L.writeInt32LE,e.writeInt32BE=L.writeInt32BE,e.writeFloatLE=L.writeFloatLE,e.writeFloatBE=L.writeFloatBE,e.writeDoubleLE=L.writeDoubleLE,e.writeDoubleBE=L.writeDoubleBE,e.fill=L.fill,e.inspect=L.inspect,e.toArrayBuffer=L.toArrayBuffer,e}}).call(this,O("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},O("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:11,lYpoI2:10}],4:[function(l,d,e){(function(e,t,u,n,r,o,i,a,s){var u=l("buffer").Buffer,f=4,c=new u(f);c.fill(0);d.exports={hash:function(e,t,n,r){return u.isBuffer(e)||(e=new u(e)),function(e,t,n){for(var r=new u(t),o=n?r.writeInt32BE:r.writeInt32LE,i=0;i<e.length;i++)o.call(r,e[i],4*i,!0);return r}(t(function(e,t){var n;e.length%f!=0&&(n=e.length+(f-e.length%f),e=u.concat([e,c],n));for(var r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;i<e.length;i+=f)r.push(o.call(e,i));return r}(e,r),8*e.length),n,r)}}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],5:[function(w,e,b){(function(e,t,a,n,r,o,i,u,s){var a=w("buffer").Buffer,f=w("./sha"),c=w("./sha256"),l=w("./rng"),d={sha1:f,sha256:c,md5:w("./md5")},h=64,p=new a(h);function g(e,r){var o=d[e=e||"sha1"],i=[];return o||y("algorithm:",e,"is not yet supported"),{update:function(e){return a.isBuffer(e)||(e=new a(e)),i.push(e),e.length,this},digest:function(e){var t=a.concat(i),n=r?function(e,t,n){a.isBuffer(t)||(t=new a(t)),a.isBuffer(n)||(n=new a(n)),t.length>h?t=e(t):t.length<h&&(t=a.concat([t,p],h));for(var r=new a(h),o=new a(h),i=0;i<h;i++)r[i]=54^t[i],o[i]=92^t[i];var u=e(a.concat([r,n]));return e(a.concat([o,u]))}(o,r,t):o(t);return i=null,e?n.toString(e):n}}}function y(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}p.fill(0),b.createHash=function(e){return g(e)},b.createHmac=g,b.randomBytes=function(e,t){if(!t||!t.call)return new a(l(e));try{t.call(this,void 0,new a(l(e)))}catch(e){t(e)}},function(e,t){for(var n in e)t(e[n],n)}(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],function(e){b[e]=function(){y("sorry,",e,"is not implemented yet")}})}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:10}],6:[function(w,b,e){(function(e,t,n,r,o,i,u,a,s){var f=w("./helpers");function c(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var a=n,s=r,f=o,c=i,n=d(n,r,o,i,e[u+0],7,-680876936),i=d(i,n,r,o,e[u+1],12,-389564586),o=d(o,i,n,r,e[u+2],17,606105819),r=d(r,o,i,n,e[u+3],22,-1044525330);n=d(n,r,o,i,e[u+4],7,-176418897),i=d(i,n,r,o,e[u+5],12,1200080426),o=d(o,i,n,r,e[u+6],17,-1473231341),r=d(r,o,i,n,e[u+7],22,-45705983),n=d(n,r,o,i,e[u+8],7,1770035416),i=d(i,n,r,o,e[u+9],12,-1958414417),o=d(o,i,n,r,e[u+10],17,-42063),r=d(r,o,i,n,e[u+11],22,-1990404162),n=d(n,r,o,i,e[u+12],7,1804603682),i=d(i,n,r,o,e[u+13],12,-40341101),o=d(o,i,n,r,e[u+14],17,-1502002290),n=h(n,r=d(r,o,i,n,e[u+15],22,1236535329),o,i,e[u+1],5,-165796510),i=h(i,n,r,o,e[u+6],9,-1069501632),o=h(o,i,n,r,e[u+11],14,643717713),r=h(r,o,i,n,e[u+0],20,-373897302),n=h(n,r,o,i,e[u+5],5,-701558691),i=h(i,n,r,o,e[u+10],9,38016083),o=h(o,i,n,r,e[u+15],14,-660478335),r=h(r,o,i,n,e[u+4],20,-405537848),n=h(n,r,o,i,e[u+9],5,568446438),i=h(i,n,r,o,e[u+14],9,-1019803690),o=h(o,i,n,r,e[u+3],14,-187363961),r=h(r,o,i,n,e[u+8],20,1163531501),n=h(n,r,o,i,e[u+13],5,-1444681467),i=h(i,n,r,o,e[u+2],9,-51403784),o=h(o,i,n,r,e[u+7],14,1735328473),n=p(n,r=h(r,o,i,n,e[u+12],20,-1926607734),o,i,e[u+5],4,-378558),i=p(i,n,r,o,e[u+8],11,-2022574463),o=p(o,i,n,r,e[u+11],16,1839030562),r=p(r,o,i,n,e[u+14],23,-35309556),n=p(n,r,o,i,e[u+1],4,-1530992060),i=p(i,n,r,o,e[u+4],11,1272893353),o=p(o,i,n,r,e[u+7],16,-155497632),r=p(r,o,i,n,e[u+10],23,-1094730640),n=p(n,r,o,i,e[u+13],4,681279174),i=p(i,n,r,o,e[u+0],11,-358537222),o=p(o,i,n,r,e[u+3],16,-722521979),r=p(r,o,i,n,e[u+6],23,76029189),n=p(n,r,o,i,e[u+9],4,-640364487),i=p(i,n,r,o,e[u+12],11,-421815835),o=p(o,i,n,r,e[u+15],16,530742520),n=g(n,r=p(r,o,i,n,e[u+2],23,-995338651),o,i,e[u+0],6,-198630844),i=g(i,n,r,o,e[u+7],10,1126891415),o=g(o,i,n,r,e[u+14],15,-1416354905),r=g(r,o,i,n,e[u+5],21,-57434055),n=g(n,r,o,i,e[u+12],6,1700485571),i=g(i,n,r,o,e[u+3],10,-1894986606),o=g(o,i,n,r,e[u+10],15,-1051523),r=g(r,o,i,n,e[u+1],21,-2054922799),n=g(n,r,o,i,e[u+8],6,1873313359),i=g(i,n,r,o,e[u+15],10,-30611744),o=g(o,i,n,r,e[u+6],15,-1560198380),r=g(r,o,i,n,e[u+13],21,1309151649),n=g(n,r,o,i,e[u+4],6,-145523070),i=g(i,n,r,o,e[u+11],10,-1120210379),o=g(o,i,n,r,e[u+2],15,718787259),r=g(r,o,i,n,e[u+9],21,-343485551),n=y(n,a),r=y(r,s),o=y(o,f),i=y(i,c)}return Array(n,r,o,i)}function l(e,t,n,r,o,i){return y((u=y(y(t,e),y(r,i)))<<(a=o)|u>>>32-a,n);var u,a}function d(e,t,n,r,o,i,u){return l(t&n|~t&r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return l(t&r|n&~r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return l(t^n^r,e,t,o,i,u)}function g(e,t,n,r,o,i,u){return l(n^(t|~r),e,t,o,i,u)}function y(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return f.hash(e,c,16)}}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],7:[function(e,l,t){(function(e,t,n,r,o,i,u,a,s){var f,c;c=function(e){for(var t,n=new Array(e),r=0;r<e;r++)0==(3&r)&&(t=4294967296*Math.random()),n[r]=t>>>((3&r)<<3)&255;return n},l.exports=f||c}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],8:[function(l,d,e){(function(e,t,n,r,o,i,u,a,s){var f=l("./helpers");function c(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var n,r,o,i,u,a=Array(80),s=1732584193,f=-271733879,c=-1732584194,l=271733878,d=-1009589776,h=0;h<e.length;h+=16){for(var p=s,g=f,y=c,w=l,b=d,m=0;m<80;m++){a[m]=m<16?e[h+m]:E(a[m-3]^a[m-8]^a[m-14]^a[m-16],1);var v=_(_(E(s,5),(o=f,i=c,u=l,(r=m)<20?o&i|~o&u:!(r<40)&&r<60?o&i|o&u|i&u:o^i^u)),_(_(d,a[m]),(n=m)<20?1518500249:n<40?1859775393:n<60?-1894007588:-899497514)),d=l,l=c,c=E(f,30),f=s,s=v}s=_(s,p),f=_(f,g),c=_(c,y),l=_(l,w),d=_(d,b)}return Array(s,f,c,l,d)}function _(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function E(e,t){return e<<t|e>>>32-t}d.exports=function(e){return f.hash(e,c,20,!0)}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],9:[function(l,d,e){(function(e,t,n,r,o,i,u,a,s){function B(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function L(e,t){return e>>>t|e<<32-t}function f(e,t){var n,r,o,i,u,a,s,f,c,l,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),h=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),p=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var g,y,w,b,m,v,_,E,I=0;I<e.length;I+=16){n=h[0],r=h[1],o=h[2],i=h[3],u=h[4],a=h[5],s=h[6],f=h[7];for(var A=0;A<64;A++)p[A]=A<16?e[A+I]:B(B(B((E=p[A-2],L(E,17)^L(E,19)^E>>>10),p[A-7]),(_=p[A-15],L(_,7)^L(_,18)^_>>>3)),p[A-16]),c=B(B(B(B(f,L(v=u,6)^L(v,11)^L(v,25)),(m=u)&a^~m&s),d[A]),p[A]),l=B(L(b=n,2)^L(b,13)^L(b,22),(g=n)&(y=r)^g&(w=o)^y&w),f=s,s=a,a=u,u=B(i,c),i=o,o=r,r=n,n=B(c,l);h[0]=B(n,h[0]),h[1]=B(r,h[1]),h[2]=B(o,h[2]),h[3]=B(i,h[3]),h[4]=B(u,h[4]),h[5]=B(a,h[5]),h[6]=B(s,h[6]),h[7]=B(f,h[7])}return h}var c=l("./helpers");d.exports=function(e){return c.hash(e,f,32,!0)}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],10:[function(e,c,t){(function(e,t,n,r,o,i,u,a,s){function f(){}(e=c.exports={}).nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),0<n.length&&n.shift()())},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=f,e.addListener=f,e.once=f,e.off=f,e.removeListener=f,e.removeAllListeners=f,e.emit=f,e.binding=function(e){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(e){throw new Error("process.chdir is not supported")}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:10}],11:[function(e,t,f){(function(e,t,n,r,o,i,u,a,s){f.read=function(e,t,n,r,o){var i,u,a=8*o-r-1,s=(1<<a)-1,f=s>>1,c=-7,l=n?o-1:0,d=n?-1:1,h=e[t+l];for(l+=d,i=h&(1<<-c)-1,h>>=-c,c+=a;0<c;i=256*i+e[t+l],l+=d,c-=8);for(u=i&(1<<-c)-1,i>>=-c,c+=r;0<c;u=256*u+e[t+l],l+=d,c-=8);if(0===i)i=1-f;else{if(i===s)return u?NaN:1/0*(h?-1:1);u+=Math.pow(2,r),i-=f}return(h?-1:1)*u*Math.pow(2,i-r)},f.write=function(e,t,n,r,o,i){var u,a,s,f=8*i-o-1,c=(1<<f)-1,l=c>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,u=c):(u=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-u))<1&&(u--,s*=2),2<=(t+=1<=u+l?d/s:d*Math.pow(2,1-l))*s&&(u++,s/=2),c<=u+l?(a=0,u=c):1<=u+l?(a=(t*s-1)*Math.pow(2,o),u+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,o),u=0));8<=o;e[n+h]=255&a,h+=p,a/=256,o-=8);for(u=u<<o|a,f+=o;0<f;e[n+h]=255&u,h+=p,u/=256,f-=8);e[n+h-p]|=128*g}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/ieee754/index.js","/node_modules/ieee754")},{buffer:3,lYpoI2:10}]},{},[1])(1)});
5916
6197
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5917
- },{}],126:[function(require,module,exports){
6198
+ },{}],130:[function(require,module,exports){
5918
6199
  // shim for using process in browser
5919
6200
  var process = module.exports = {};
5920
6201
 
@@ -6100,8 +6381,8 @@ process.chdir = function (dir) {
6100
6381
  };
6101
6382
  process.umask = function() { return 0; };
6102
6383
 
6103
- },{}],127:[function(require,module,exports){
6384
+ },{}],131:[function(require,module,exports){
6104
6385
  !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(self,(function(){return(()=>{var t={192:(t,e)=>{var r,n,o=function(){var t=function(t,e){var r=t,n=a[e],o=null,i=0,u=null,v=[],w={},m=function(t,e){o=function(t){for(var e=new Array(t),r=0;r<t;r+=1){e[r]=new Array(t);for(var n=0;n<t;n+=1)e[r][n]=null}return e}(i=4*r+17),b(0,0),b(i-7,0),b(0,i-7),x(),_(),M(t,e),r>=7&&S(t),null==u&&(u=A(r,n,v)),C(u,e)},b=function(t,e){for(var r=-1;r<=7;r+=1)if(!(t+r<=-1||i<=t+r))for(var n=-1;n<=7;n+=1)e+n<=-1||i<=e+n||(o[t+r][e+n]=0<=r&&r<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=n&&n<=4)},_=function(){for(var t=8;t<i-8;t+=1)null==o[t][6]&&(o[t][6]=t%2==0);for(var e=8;e<i-8;e+=1)null==o[6][e]&&(o[6][e]=e%2==0)},x=function(){for(var t=s.getPatternPosition(r),e=0;e<t.length;e+=1)for(var n=0;n<t.length;n+=1){var i=t[e],a=t[n];if(null==o[i][a])for(var u=-2;u<=2;u+=1)for(var h=-2;h<=2;h+=1)o[i+u][a+h]=-2==u||2==u||-2==h||2==h||0==u&&0==h}},S=function(t){for(var e=s.getBCHTypeNumber(r),n=0;n<18;n+=1){var a=!t&&1==(e>>n&1);o[Math.floor(n/3)][n%3+i-8-3]=a}for(n=0;n<18;n+=1)a=!t&&1==(e>>n&1),o[n%3+i-8-3][Math.floor(n/3)]=a},M=function(t,e){for(var r=n<<3|e,a=s.getBCHTypeInfo(r),u=0;u<15;u+=1){var h=!t&&1==(a>>u&1);u<6?o[u][8]=h:u<8?o[u+1][8]=h:o[i-15+u][8]=h}for(u=0;u<15;u+=1)h=!t&&1==(a>>u&1),u<8?o[8][i-u-1]=h:u<9?o[8][15-u-1+1]=h:o[8][15-u-1]=h;o[i-8][8]=!t},C=function(t,e){for(var r=-1,n=i-1,a=7,u=0,h=s.getMaskFunction(e),c=i-1;c>0;c-=2)for(6==c&&(c-=1);;){for(var l=0;l<2;l+=1)if(null==o[n][c-l]){var d=!1;u<t.length&&(d=1==(t[u]>>>a&1)),h(n,c-l)&&(d=!d),o[n][c-l]=d,-1==(a-=1)&&(u+=1,a=7)}if((n+=r)<0||i<=n){n-=r,r=-r;break}}},A=function(t,e,r){for(var n=c.getRSBlocks(t,e),o=l(),i=0;i<r.length;i+=1){var a=r[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<n.length;i+=1)u+=n[i].dataCount;if(o.getLengthInBits()>8*u)throw"code length overflow. ("+o.getLengthInBits()+">"+8*u+")";for(o.getLengthInBits()+4<=8*u&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*u||(o.put(236,8),o.getLengthInBits()>=8*u));)o.put(17,8);return function(t,e){for(var r=0,n=0,o=0,i=new Array(e.length),a=new Array(e.length),u=0;u<e.length;u+=1){var c=e[u].dataCount,l=e[u].totalCount-c;n=Math.max(n,c),o=Math.max(o,l),i[u]=new Array(c);for(var d=0;d<i[u].length;d+=1)i[u][d]=255&t.getBuffer()[d+r];r+=c;var f=s.getErrorCorrectPolynomial(l),g=h(i[u],f.getLength()-1).mod(f);for(a[u]=new Array(f.getLength()-1),d=0;d<a[u].length;d+=1){var p=d+g.getLength()-a[u].length;a[u][d]=p>=0?g.getAt(p):0}}var v=0;for(d=0;d<e.length;d+=1)v+=e[d].totalCount;var w=new Array(v),y=0;for(d=0;d<n;d+=1)for(u=0;u<e.length;u+=1)d<i[u].length&&(w[y]=i[u][d],y+=1);for(d=0;d<o;d+=1)for(u=0;u<e.length;u+=1)d<a[u].length&&(w[y]=a[u][d],y+=1);return w}(o,n)};w.addData=function(t,e){var r=null;switch(e=e||"Byte"){case"Numeric":r=d(t);break;case"Alphanumeric":r=f(t);break;case"Byte":r=g(t);break;case"Kanji":r=p(t);break;default:throw"mode:"+e}v.push(r),u=null},w.isDark=function(t,e){if(t<0||i<=t||e<0||i<=e)throw t+","+e;return o[t][e]},w.getModuleCount=function(){return i},w.make=function(){if(r<1){for(var t=1;t<40;t++){for(var e=c.getRSBlocks(t,n),o=l(),i=0;i<v.length;i++){var a=v[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<e.length;i++)u+=e[i].dataCount;if(o.getLengthInBits()<=8*u)break}r=t}m(!1,function(){for(var t=0,e=0,r=0;r<8;r+=1){m(!0,r);var n=s.getLostPoint(w);(0==r||t>n)&&(t=n,e=r)}return e}())},w.createTableTag=function(t,e){t=t||2;var r="";r+='<table style="',r+=" border-width: 0px; border-style: none;",r+=" border-collapse: collapse;",r+=" padding: 0px; margin: "+(e=void 0===e?4*t:e)+"px;",r+='">',r+="<tbody>";for(var n=0;n<w.getModuleCount();n+=1){r+="<tr>";for(var o=0;o<w.getModuleCount();o+=1)r+='<td style="',r+=" border-width: 0px; border-style: none;",r+=" border-collapse: collapse;",r+=" padding: 0px; margin: 0px;",r+=" width: "+t+"px;",r+=" height: "+t+"px;",r+=" background-color: ",r+=w.isDark(n,o)?"#000000":"#ffffff",r+=";",r+='"/>';r+="</tr>"}return(r+="</tbody>")+"</table>"},w.createSvgTag=function(t,e,r,n){var o={};"object"==typeof arguments[0]&&(t=(o=arguments[0]).cellSize,e=o.margin,r=o.alt,n=o.title),t=t||2,e=void 0===e?4*t:e,(r="string"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||"qrcode-description":null,(n="string"==typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||"qrcode-title":null;var i,a,s,u,h=w.getModuleCount()*t+2*e,c="";for(u="l"+t+",0 0,"+t+" -"+t+",0 0,-"+t+"z ",c+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',c+=o.scalable?"":' width="'+h+'px" height="'+h+'px"',c+=' viewBox="0 0 '+h+" "+h+'" ',c+=' preserveAspectRatio="xMinYMin meet"',c+=n.text||r.text?' role="img" aria-labelledby="'+k([n.id,r.id].join(" ").trim())+'"':"",c+=">",c+=n.text?'<title id="'+k(n.id)+'">'+k(n.text)+"</title>":"",c+=r.text?'<description id="'+k(r.id)+'">'+k(r.text)+"</description>":"",c+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',c+='<path d="',a=0;a<w.getModuleCount();a+=1)for(s=a*t+e,i=0;i<w.getModuleCount();i+=1)w.isDark(a,i)&&(c+="M"+(i*t+e)+","+s+u);return(c+='" stroke="transparent" fill="black"/>')+"</svg>"},w.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var r=w.getModuleCount()*t+2*e,n=e,o=r-e;return y(r,r,(function(e,r){if(n<=e&&e<o&&n<=r&&r<o){var i=Math.floor((e-n)/t),a=Math.floor((r-n)/t);return w.isDark(a,i)?0:1}return 1}))},w.createImgTag=function(t,e,r){t=t||2,e=void 0===e?4*t:e;var n=w.getModuleCount()*t+2*e,o="";return o+="<img",o+=' src="',o+=w.createDataURL(t,e),o+='"',o+=' width="',o+=n,o+='"',o+=' height="',o+=n,o+='"',r&&(o+=' alt="',o+=k(r),o+='"'),o+"/>"};var k=function(t){for(var e="",r=0;r<t.length;r+=1){var n=t.charAt(r);switch(n){case"<":e+="&lt;";break;case">":e+="&gt;";break;case"&":e+="&amp;";break;case'"':e+="&quot;";break;default:e+=n}}return e};return w.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,r,n,o,i,a=1*w.getModuleCount()+2*t,s=t,u=a-t,h={"██":"█","█ ":"▀"," █":"▄"," ":" "},c={"██":"▀","█ ":"▀"," █":" "," ":" "},l="";for(e=0;e<a;e+=2){for(n=Math.floor((e-s)/1),o=Math.floor((e+1-s)/1),r=0;r<a;r+=1)i="█",s<=r&&r<u&&s<=e&&e<u&&w.isDark(n,Math.floor((r-s)/1))&&(i=" "),s<=r&&r<u&&s<=e+1&&e+1<u&&w.isDark(o,Math.floor((r-s)/1))?i+=" ":i+="█",l+=t<1&&e+1>=u?c[i]:h[i];l+="\n"}return a%2&&t>0?l.substring(0,l.length-a-1)+Array(a+1).join("▀"):l.substring(0,l.length-1)}(e);t-=1,e=void 0===e?2*t:e;var r,n,o,i,a=w.getModuleCount()*t+2*e,s=e,u=a-e,h=Array(t+1).join("██"),c=Array(t+1).join(" "),l="",d="";for(r=0;r<a;r+=1){for(o=Math.floor((r-s)/t),d="",n=0;n<a;n+=1)i=1,s<=n&&n<u&&s<=r&&r<u&&w.isDark(o,Math.floor((n-s)/t))&&(i=0),d+=i?h:c;for(o=0;o<t;o+=1)l+=d+"\n"}return l.substring(0,l.length-1)},w.renderTo2dContext=function(t,e){e=e||2;for(var r=w.getModuleCount(),n=0;n<r;n++)for(var o=0;o<r;o++)t.fillStyle=w.isDark(n,o)?"black":"white",t.fillRect(n*e,o*e,e,e)},w};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],r=0;r<t.length;r+=1){var n=t.charCodeAt(r);e.push(255&n)}return e}}).default,t.createStringToBytes=function(t,e){var r=function(){for(var r=w(t),n=function(){var t=r.read();if(-1==t)throw"eof";return t},o=0,i={};;){var a=r.read();if(-1==a)break;var s=n(),u=n()<<8|n();i[String.fromCharCode(a<<8|s)]=u,o+=1}if(o!=e)throw o+" != "+e;return i}(),n="?".charCodeAt(0);return function(t){for(var e=[],o=0;o<t.length;o+=1){var i=t.charCodeAt(o);if(i<128)e.push(i);else{var a=r[t.charAt(o)];"number"==typeof a?(255&a)==a?e.push(a):(e.push(a>>>8),e.push(255&a)):e.push(n)}}return e}};var e,r,n,o,i,a={L:1,M:0,Q:3,H:2},s=(e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],r=1335,n=7973,i=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(o={}).getBCHTypeInfo=function(t){for(var e=t<<10;i(e)-i(r)>=0;)e^=r<<i(e)-i(r);return 21522^(t<<10|e)},o.getBCHTypeNumber=function(t){for(var e=t<<12;i(e)-i(n)>=0;)e^=n<<i(e)-i(n);return t<<12|e},o.getPatternPosition=function(t){return e[t-1]},o.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw"bad maskPattern:"+t}},o.getErrorCorrectPolynomial=function(t){for(var e=h([1],0),r=0;r<t;r+=1)e=e.multiply(h([1,u.gexp(r)],0));return e},o.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw"mode:"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw"mode:"+t}else{if(!(e<41))throw"type:"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw"mode:"+t}}},o.getLostPoint=function(t){for(var e=t.getModuleCount(),r=0,n=0;n<e;n+=1)for(var o=0;o<e;o+=1){for(var i=0,a=t.isDark(n,o),s=-1;s<=1;s+=1)if(!(n+s<0||e<=n+s))for(var u=-1;u<=1;u+=1)o+u<0||e<=o+u||0==s&&0==u||a==t.isDark(n+s,o+u)&&(i+=1);i>5&&(r+=3+i-5)}for(n=0;n<e-1;n+=1)for(o=0;o<e-1;o+=1){var h=0;t.isDark(n,o)&&(h+=1),t.isDark(n+1,o)&&(h+=1),t.isDark(n,o+1)&&(h+=1),t.isDark(n+1,o+1)&&(h+=1),0!=h&&4!=h||(r+=3)}for(n=0;n<e;n+=1)for(o=0;o<e-6;o+=1)t.isDark(n,o)&&!t.isDark(n,o+1)&&t.isDark(n,o+2)&&t.isDark(n,o+3)&&t.isDark(n,o+4)&&!t.isDark(n,o+5)&&t.isDark(n,o+6)&&(r+=40);for(o=0;o<e;o+=1)for(n=0;n<e-6;n+=1)t.isDark(n,o)&&!t.isDark(n+1,o)&&t.isDark(n+2,o)&&t.isDark(n+3,o)&&t.isDark(n+4,o)&&!t.isDark(n+5,o)&&t.isDark(n+6,o)&&(r+=40);var c=0;for(o=0;o<e;o+=1)for(n=0;n<e;n+=1)t.isDark(n,o)&&(c+=1);return r+Math.abs(100*c/e/e-50)/5*10},o),u=function(){for(var t=new Array(256),e=new Array(256),r=0;r<8;r+=1)t[r]=1<<r;for(r=8;r<256;r+=1)t[r]=t[r-4]^t[r-5]^t[r-6]^t[r-8];for(r=0;r<255;r+=1)e[t[r]]=r;return{glog:function(t){if(t<1)throw"glog("+t+")";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function h(t,e){if(void 0===t.length)throw t.length+"/"+e;var r=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),n={getAt:function(t){return r[t]},getLength:function(){return r.length},multiply:function(t){for(var e=new Array(n.getLength()+t.getLength()-1),r=0;r<n.getLength();r+=1)for(var o=0;o<t.getLength();o+=1)e[r+o]^=u.gexp(u.glog(n.getAt(r))+u.glog(t.getAt(o)));return h(e,0)},mod:function(t){if(n.getLength()-t.getLength()<0)return n;for(var e=u.glog(n.getAt(0))-u.glog(t.getAt(0)),r=new Array(n.getLength()),o=0;o<n.getLength();o+=1)r[o]=n.getAt(o);for(o=0;o<t.getLength();o+=1)r[o]^=u.gexp(u.glog(t.getAt(o))+e);return h(r,0).mod(t)}};return n}var c=function(){var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e=function(t,e){var r={};return r.totalCount=t,r.dataCount=e,r},r={getRSBlocks:function(r,n){var o=function(e,r){switch(r){case a.L:return t[4*(e-1)+0];case a.M:return t[4*(e-1)+1];case a.Q:return t[4*(e-1)+2];case a.H:return t[4*(e-1)+3];default:return}}(r,n);if(void 0===o)throw"bad rs block @ typeNumber:"+r+"/errorCorrectionLevel:"+n;for(var i=o.length/3,s=[],u=0;u<i;u+=1)for(var h=o[3*u+0],c=o[3*u+1],l=o[3*u+2],d=0;d<h;d+=1)s.push(e(c,l));return s}};return r}(),l=function(){var t=[],e=0,r={getBuffer:function(){return t},getAt:function(e){var r=Math.floor(e/8);return 1==(t[r]>>>7-e%8&1)},put:function(t,e){for(var n=0;n<e;n+=1)r.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return e},putBit:function(r){var n=Math.floor(e/8);t.length<=n&&t.push(0),r&&(t[n]|=128>>>e%8),e+=1}};return r},d=function(t){var e=t,r={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+2<r.length;)t.put(n(r.substring(o,o+3)),10),o+=3;o<r.length&&(r.length-o==1?t.put(n(r.substring(o,o+1)),4):r.length-o==2&&t.put(n(r.substring(o,o+2)),7))}},n=function(t){for(var e=0,r=0;r<t.length;r+=1)e=10*e+o(t.charAt(r));return e},o=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);throw"illegal char :"+t};return r},f=function(t){var e=t,r={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+1<r.length;)t.put(45*n(r.charAt(o))+n(r.charAt(o+1)),11),o+=2;o<r.length&&t.put(n(r.charAt(o)),6)}},n=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);if("A"<=t&&t<="Z")return t.charCodeAt(0)-"A".charCodeAt(0)+10;switch(t){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+t}};return r},g=function(e){var r=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return r.length},write:function(t){for(var e=0;e<r.length;e+=1)t.put(r[e],8)}}},p=function(e){var r=t.stringToBytesFuncs.SJIS;if(!r)throw"sjis not supported.";!function(t,e){var n=r("友");if(2!=n.length||38726!=(n[0]<<8|n[1]))throw"sjis not supported."}();var n=r(e);return{getMode:function(){return 8},getLength:function(t){return~~(n.length/2)},write:function(t){for(var e=n,r=0;r+1<e.length;){var o=(255&e[r])<<8|255&e[r+1];if(33088<=o&&o<=40956)o-=33088;else{if(!(57408<=o&&o<=60351))throw"illegal char at "+(r+1)+"/"+o;o-=49472}o=192*(o>>>8&255)+(255&o),t.put(o,13),r+=2}if(r<e.length)throw"illegal char at "+(r+1)}}},v=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,r,n){r=r||0,n=n||t.length;for(var o=0;o<n;o+=1)e.writeByte(t[o+r])},writeString:function(t){for(var r=0;r<t.length;r+=1)e.writeByte(t.charCodeAt(r))},toByteArray:function(){return t},toString:function(){var e="";e+="[";for(var r=0;r<t.length;r+=1)r>0&&(e+=","),e+=t[r];return e+"]"}};return e},w=function(t){var e=t,r=0,n=0,o=0,i={read:function(){for(;o<8;){if(r>=e.length){if(0==o)return-1;throw"unexpected end of file./"+o}var t=e.charAt(r);if(r+=1,"="==t)return o=0,-1;t.match(/^\s$/)||(n=n<<6|a(t.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i}},a=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw"c:"+t};return i},y=function(t,e,r){for(var n=function(t,e){var r=t,n=e,o=new Array(t*e),i={setPixel:function(t,e,n){o[e*r+t]=n},write:function(t){t.writeString("GIF87a"),t.writeShort(r),t.writeShort(n),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(","),t.writeShort(0),t.writeShort(0),t.writeShort(r),t.writeShort(n),t.writeByte(0);var e=a(2);t.writeByte(2);for(var o=0;e.length-o>255;)t.writeByte(255),t.writeBytes(e,o,255),o+=255;t.writeByte(e.length-o),t.writeBytes(e,o,e.length-o),t.writeByte(0),t.writeString(";")}},a=function(t){for(var e=1<<t,r=1+(1<<t),n=t+1,i=s(),a=0;a<e;a+=1)i.add(String.fromCharCode(a));i.add(String.fromCharCode(e)),i.add(String.fromCharCode(r));var u,h,c,l=v(),d=(u=l,h=0,c=0,{write:function(t,e){if(t>>>e!=0)throw"length over";for(;h+e>=8;)u.writeByte(255&(t<<h|c)),e-=8-h,t>>>=8-h,c=0,h=0;c|=t<<h,h+=e},flush:function(){h>0&&u.writeByte(c)}});d.write(e,n);var f=0,g=String.fromCharCode(o[f]);for(f+=1;f<o.length;){var p=String.fromCharCode(o[f]);f+=1,i.contains(g+p)?g+=p:(d.write(i.indexOf(g),n),i.size()<4095&&(i.size()==1<<n&&(n+=1),i.add(g+p)),g=p)}return d.write(i.indexOf(g),n),d.write(r,n),d.flush(),l.toByteArray()},s=function(){var t={},e=0,r={add:function(n){if(r.contains(n))throw"dup key:"+n;t[n]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return r};return i}(t,e),o=0;o<e;o+=1)for(var i=0;i<t;i+=1)n.setPixel(i,o,r(i,o));var a=v();n.write(a);for(var s=function(){var t=0,e=0,r=0,n="",o={},i=function(t){n+=String.fromCharCode(a(63&t))},a=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw"n:"+t};return o.writeByte=function(n){for(t=t<<8|255&n,e+=8,r+=1;e>=6;)i(t>>>e-6),e-=6},o.flush=function(){if(e>0&&(i(t<<6-e),t=0,e=0),r%3!=0)for(var o=3-r%3,a=0;a<o;a+=1)n+="="},o.toString=function(){return n},o}(),u=a.toByteArray(),h=0;h<u.length;h+=1)s.writeByte(u[h]);return s.flush(),"data:image/gif;base64,"+s};return t}();o.stringToBytesFuncs["UTF-8"]=function(t){return function(t){for(var e=[],r=0;r<t.length;r++){var n=t.charCodeAt(r);n<128?e.push(n):n<2048?e.push(192|n>>6,128|63&n):n<55296||n>=57344?e.push(224|n>>12,128|n>>6&63,128|63&n):(r++,n=65536+((1023&n)<<10|1023&t.charCodeAt(r)),e.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return e}(t)},void 0===(n="function"==typeof(r=function(){return o})?r.apply(e,[]):r)||(t.exports=n)},676:(t,e,r)=>{"use strict";r.d(e,{default:()=>q});var n=function(){return(n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},o=function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<r;e++)for(var i=arguments[e],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n},i=function(t){return!!t&&"object"==typeof t&&!Array.isArray(t)};function a(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(!e.length)return t;var s=e.shift();return void 0!==s&&i(t)&&i(s)?(t=n({},t),Object.keys(s).forEach((function(e){var r=t[e],n=s[e];Array.isArray(r)&&Array.isArray(n)?t[e]=n:i(r)&&i(n)?t[e]=a(Object.assign({},r),n):t[e]=n})),a.apply(void 0,o([t],e))):t}function s(t,e){var r=document.createElement("a");r.download=e,r.href=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}function u(t){return e=this,r=void 0,o=function(){return function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}(this,(function(e){return[2,new Promise((function(e){var r=new XMLHttpRequest;r.onload=function(){var t=new FileReader;t.onloadend=function(){e(t.result)},t.readAsDataURL(r.response)},r.open("GET",t),r.responseType="blob",r.send()}))]}))},new((n=void 0)||(n=Promise))((function(t,i){function a(t){try{u(o.next(t))}catch(t){i(t)}}function s(t){try{u(o.throw(t))}catch(t){i(t)}}function u(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(t){t(r)}))).then(a,s)}u((o=o.apply(e,r||[])).next())}));var e,r,n,o}const h={L:.07,M:.15,Q:.25,H:.3};var c=function(){return(c=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const l=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"dots":o=this._drawDot;break;case"classy":o=this._drawClassy;break;case"classy-rounded":o=this._drawClassyRounded;break;case"rounded":o=this._drawRounded;break;case"extra-rounded":o=this._drawExtraRounded;break;case"square":default:o=this._drawSquare}o.call(this,{x:t,y:e,size:r,getNeighbor:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","circle"),e._element.setAttribute("cx",String(n+r/2)),e._element.setAttribute("cy",String(o+r/2)),e._element.setAttribute("r",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","rect"),e._element.setAttribute("x",String(n)),e._element.setAttribute("y",String(o)),e._element.setAttribute("width",String(r)),e._element.setAttribute("height",String(r))}}))},t.prototype._basicSideRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r/2+"a "+r/2+" "+r/2+", 0, 0, 0, 0 "+-r)}}))},t.prototype._basicCornerRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"v "+-r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+-r/2+" "+-r/2)}}))},t.prototype._basicCornerExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"a "+r+" "+r+", 0, 0, 0, "+-r+" "+-r)}}))},t.prototype._basicCornersRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+r/2+" "+r/2+"h "+r/2+"v "+-r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+-r/2+" "+-r/2)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size;this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size;this._basicSquare({x:e,y:r,size:n,rotation:0})},t.prototype._drawRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawClassy=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t.prototype._drawClassyRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t}();var d=function(){return(d=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const f=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"square":o=this._drawSquare;break;case"extra-rounded":o=this._drawExtraRounded;break;case"dot":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+(n+r/2)+" "+o+"a "+r/2+" "+r/2+" 0 1 0 0.1 0zm 0 "+i+"a "+(r/2-i)+" "+(r/2-i)+" 0 1 1 -0.1 0Z")}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"v "+-r+"zM "+(n+i)+" "+(o+i)+"h "+(r-2*i)+"v "+(r-2*i)+"h "+(2*i-r)+"z")}}))},t.prototype._basicExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+n+" "+(o+2.5*i)+"v "+2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*i+" "+2.5*i+"h "+2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*i+" "+2.5*-i+"v "+-2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*-i+" "+2.5*-i+"h "+-2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*-i+" "+2.5*i+"M "+(n+2.5*i)+" "+(o+i)+"h "+2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*i+" "+1.5*i+"v "+2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*-i+" "+1.5*i+"h "+-2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*-i+" "+1.5*-i+"v "+-2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*i+" "+1.5*-i)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicExtraRounded({x:e,y:r,size:n,rotation:o})},t}();var g=function(){return(g=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const p=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"square":o=this._drawSquare;break;case"dot":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","circle"),e._element.setAttribute("cx",String(n+r/2)),e._element.setAttribute("cy",String(o+r/2)),e._element.setAttribute("r",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","rect"),e._element.setAttribute("x",String(n)),e._element.setAttribute("y",String(o)),e._element.setAttribute("width",String(r)),e._element.setAttribute("height",String(r))}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t}(),v="circle";var w=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},y=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},m=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],b=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];const _=function(){function t(t){this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("width",String(t.width)),this._element.setAttribute("height",String(t.height)),this._defs=document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this._defs),this._options=t}return Object.defineProperty(t.prototype,"width",{get:function(){return this._options.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._options.height},enumerable:!1,configurable:!0}),t.prototype.getElement=function(){return this._element},t.prototype.drawQR=function(t){return w(this,void 0,void 0,(function(){var e,r,n,o,i,a,s,u,c,l,d=this;return y(this,(function(f){switch(f.label){case 0:return e=t.getModuleCount(),r=Math.min(this._options.width,this._options.height)-2*this._options.margin,n=this._options.shape===v?r/Math.sqrt(2):r,o=Math.floor(n/e),i={hideXDots:0,hideYDots:0,width:0,height:0},this._qr=t,this._options.image?[4,this.loadImage()]:[3,2];case 1:if(f.sent(),!this._image)return[2];a=this._options,s=a.imageOptions,u=a.qrOptions,c=s.imageSize*h[u.errorCorrectionLevel],l=Math.floor(c*e*e),i=function(t){var e=t.originalHeight,r=t.originalWidth,n=t.maxHiddenDots,o=t.maxHiddenAxisDots,i=t.dotSize,a={x:0,y:0},s={x:0,y:0};if(e<=0||r<=0||n<=0||i<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};var u=e/r;return a.x=Math.floor(Math.sqrt(n/u)),a.x<=0&&(a.x=1),o&&o<a.x&&(a.x=o),a.x%2==0&&a.x--,s.x=a.x*i,a.y=1+2*Math.ceil((a.x*u-1)/2),s.y=Math.round(s.x*u),(a.y*a.x>n||o&&o<a.y)&&(o&&o<a.y?(a.y=o,a.y%2==0&&a.x--):a.y-=2,s.y=a.y*i,a.x=1+2*Math.ceil((a.y/u-1)/2),s.x=Math.round(s.y/u)),{height:s.y,width:s.x,hideYDots:a.y,hideXDots:a.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:l,maxHiddenAxisDots:e-14,dotSize:o}),f.label=2;case 2:return this.drawBackground(),this.drawDots((function(t,r){var n,o,a,s,u,h;return!(d._options.imageOptions.hideBackgroundDots&&t>=(e-i.hideXDots)/2&&t<(e+i.hideXDots)/2&&r>=(e-i.hideYDots)/2&&r<(e+i.hideYDots)/2||(null===(n=m[t])||void 0===n?void 0:n[r])||(null===(o=m[t-e+7])||void 0===o?void 0:o[r])||(null===(a=m[t])||void 0===a?void 0:a[r-e+7])||(null===(s=b[t])||void 0===s?void 0:s[r])||(null===(u=b[t-e+7])||void 0===u?void 0:u[r])||(null===(h=b[t])||void 0===h?void 0:h[r-e+7]))})),this.drawCorners(),this._options.image?[4,this.drawImage({width:i.width,height:i.height,count:e,dotSize:o})]:[3,4];case 3:f.sent(),f.label=4;case 4:return[2]}}))}))},t.prototype.drawBackground=function(){var t,e,r,n=this._element,o=this._options;if(n){var i=null===(t=o.backgroundOptions)||void 0===t?void 0:t.gradient,a=null===(e=o.backgroundOptions)||void 0===e?void 0:e.color;if((i||a)&&this._createColor({options:i,color:a,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:"background-color"}),null===(r=o.backgroundOptions)||void 0===r?void 0:r.round){var s=Math.min(o.width,o.height),u=document.createElementNS("http://www.w3.org/2000/svg","rect");this._backgroundClipPath=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._backgroundClipPath.setAttribute("id","clip-path-background-color"),this._defs.appendChild(this._backgroundClipPath),u.setAttribute("x",String((o.width-s)/2)),u.setAttribute("y",String((o.height-s)/2)),u.setAttribute("width",String(s)),u.setAttribute("height",String(s)),u.setAttribute("rx",String(s/2*o.backgroundOptions.round)),this._backgroundClipPath.appendChild(u)}}},t.prototype.drawDots=function(t){var e,r,n=this;if(!this._qr)throw"QR code is not defined";var o=this._options,i=this._qr.getModuleCount();if(i>o.width||i>o.height)throw"The canvas is too small.";var a=Math.min(o.width,o.height)-2*o.margin,s=o.shape===v?a/Math.sqrt(2):a,u=Math.floor(s/i),h=Math.floor((o.width-i*u)/2),c=Math.floor((o.height-i*u)/2),d=new l({svg:this._element,type:o.dotsOptions.type});this._dotsClipPath=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._dotsClipPath.setAttribute("id","clip-path-dot-color"),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=o.dotsOptions)||void 0===e?void 0:e.gradient,color:o.dotsOptions.color,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:"dot-color"});for(var f=function(e){for(var o=function(o){return t&&!t(e,o)?"continue":(null===(r=g._qr)||void 0===r?void 0:r.isDark(e,o))?(d.draw(h+e*u,c+o*u,u,(function(r,a){return!(e+r<0||o+a<0||e+r>=i||o+a>=i)&&!(t&&!t(e+r,o+a))&&!!n._qr&&n._qr.isDark(e+r,o+a)})),void(d._element&&g._dotsClipPath&&g._dotsClipPath.appendChild(d._element))):"continue"},a=0;a<i;a++)o(a)},g=this,p=0;p<i;p++)f(p);if(o.shape===v){var w=Math.floor((a/u-i)/2),y=i+2*w,m=h-w*u,b=c-w*u,_=[],x=Math.floor(y/2);for(p=0;p<y;p++){_[p]=[];for(var S=0;S<y;S++)p>=w-1&&p<=y-w&&S>=w-1&&S<=y-w||Math.sqrt((p-x)*(p-x)+(S-x)*(S-x))>x?_[p][S]=0:_[p][S]=this._qr.isDark(S-2*w<0?S:S>=i?S-2*w:S-w,p-2*w<0?p:p>=i?p-2*w:p-w)?1:0}var M=function(t){for(var e=function(e){if(!_[t][e])return"continue";d.draw(m+t*u,b+e*u,u,(function(r,n){var o;return!!(null===(o=_[t+r])||void 0===o?void 0:o[e+n])})),d._element&&C._dotsClipPath&&C._dotsClipPath.appendChild(d._element)},r=0;r<y;r++)e(r)},C=this;for(p=0;p<y;p++)M(p)}},t.prototype.drawCorners=function(){var t=this;if(!this._qr)throw"QR code is not defined";var e=this._element,r=this._options;if(!e)throw"Element code is not defined";var n=this._qr.getModuleCount(),o=Math.min(r.width,r.height)-2*r.margin,i=r.shape===v?o/Math.sqrt(2):o,a=Math.floor(i/n),s=7*a,u=3*a,h=Math.floor((r.width-n*a)/2),c=Math.floor((r.height-n*a)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((function(e){var o,i,d,g,v,w,y,_,x,S,M,C,A=e[0],k=e[1],O=e[2],D=h+A*a*(n-7),P=c+k*a*(n-7),z=t._dotsClipPath,B=t._dotsClipPath;if(((null===(o=r.cornersSquareOptions)||void 0===o?void 0:o.gradient)||(null===(i=r.cornersSquareOptions)||void 0===i?void 0:i.color))&&((z=document.createElementNS("http://www.w3.org/2000/svg","clipPath")).setAttribute("id","clip-path-corners-square-color-"+A+"-"+k),t._defs.appendChild(z),t._cornersSquareClipPath=t._cornersDotClipPath=B=z,t._createColor({options:null===(d=r.cornersSquareOptions)||void 0===d?void 0:d.gradient,color:null===(g=r.cornersSquareOptions)||void 0===g?void 0:g.color,additionalRotation:O,x:D,y:P,height:s,width:s,name:"corners-square-color-"+A+"-"+k})),null===(v=r.cornersSquareOptions)||void 0===v?void 0:v.type){var q=new f({svg:t._element,type:r.cornersSquareOptions.type});q.draw(D,P,s,O),q._element&&z&&z.appendChild(q._element)}else for(var I=new l({svg:t._element,type:r.dotsOptions.type}),E=function(t){for(var e=function(e){if(!(null===(w=m[t])||void 0===w?void 0:w[e]))return"continue";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=m[t+r])||void 0===o?void 0:o[e+n])})),I._element&&z&&z.appendChild(I._element)},r=0;r<m[t].length;r++)e(r)},L=0;L<m.length;L++)E(L);if(((null===(y=r.cornersDotOptions)||void 0===y?void 0:y.gradient)||(null===(_=r.cornersDotOptions)||void 0===_?void 0:_.color))&&((B=document.createElementNS("http://www.w3.org/2000/svg","clipPath")).setAttribute("id","clip-path-corners-dot-color-"+A+"-"+k),t._defs.appendChild(B),t._cornersDotClipPath=B,t._createColor({options:null===(x=r.cornersDotOptions)||void 0===x?void 0:x.gradient,color:null===(S=r.cornersDotOptions)||void 0===S?void 0:S.color,additionalRotation:O,x:D+2*a,y:P+2*a,height:u,width:u,name:"corners-dot-color-"+A+"-"+k})),null===(M=r.cornersDotOptions)||void 0===M?void 0:M.type){var R=new p({svg:t._element,type:r.cornersDotOptions.type});R.draw(D+2*a,P+2*a,u,O),R._element&&B&&B.appendChild(R._element)}else{I=new l({svg:t._element,type:r.dotsOptions.type});var N=function(t){for(var e=function(e){if(!(null===(C=b[t])||void 0===C?void 0:C[e]))return"continue";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=b[t+r])||void 0===o?void 0:o[e+n])})),I._element&&B&&B.appendChild(I._element)},r=0;r<b[t].length;r++)e(r)};for(L=0;L<b.length;L++)N(L)}}))},t.prototype.loadImage=function(){var t=this;return new Promise((function(e,r){var n=t._options,o=new Image;if(!n.image)return r("Image is not defined");"string"==typeof n.imageOptions.crossOrigin&&(o.crossOrigin=n.imageOptions.crossOrigin),t._image=o,o.onload=function(){e()},o.src=n.image}))},t.prototype.drawImage=function(t){var e=t.width,r=t.height,n=t.count,o=t.dotSize;return w(this,void 0,void 0,(function(){var t,i,a,s,h,c,l,d,f;return y(this,(function(g){switch(g.label){case 0:return t=this._options,i=Math.floor((t.width-n*o)/2),a=Math.floor((t.height-n*o)/2),s=i+t.imageOptions.margin+(n*o-e)/2,h=a+t.imageOptions.margin+(n*o-r)/2,c=e-2*t.imageOptions.margin,l=r-2*t.imageOptions.margin,(d=document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("x",String(s)),d.setAttribute("y",String(h)),d.setAttribute("width",c+"px"),d.setAttribute("height",l+"px"),[4,u(t.image||"")];case 1:return f=g.sent(),d.setAttribute("href",f||""),this._element.appendChild(d),[2]}}))}))},t.prototype._createColor=function(t){var e=t.options,r=t.color,n=t.additionalRotation,o=t.x,i=t.y,a=t.height,s=t.width,u=t.name,h=s>a?s:a,c=document.createElementNS("http://www.w3.org/2000/svg","rect");if(c.setAttribute("x",String(o)),c.setAttribute("y",String(i)),c.setAttribute("height",String(a)),c.setAttribute("width",String(s)),c.setAttribute("clip-path","url('#clip-path-"+u+"')"),e){var l;if("radial"===e.type)(l=document.createElementNS("http://www.w3.org/2000/svg","radialGradient")).setAttribute("id",u),l.setAttribute("gradientUnits","userSpaceOnUse"),l.setAttribute("fx",String(o+s/2)),l.setAttribute("fy",String(i+a/2)),l.setAttribute("cx",String(o+s/2)),l.setAttribute("cy",String(i+a/2)),l.setAttribute("r",String(h/2));else{var d=((e.rotation||0)+n)%(2*Math.PI),f=(d+2*Math.PI)%(2*Math.PI),g=o+s/2,p=i+a/2,v=o+s/2,w=i+a/2;f>=0&&f<=.25*Math.PI||f>1.75*Math.PI&&f<=2*Math.PI?(g-=s/2,p-=a/2*Math.tan(d),v+=s/2,w+=a/2*Math.tan(d)):f>.25*Math.PI&&f<=.75*Math.PI?(p-=a/2,g-=s/2/Math.tan(d),w+=a/2,v+=s/2/Math.tan(d)):f>.75*Math.PI&&f<=1.25*Math.PI?(g+=s/2,p+=a/2*Math.tan(d),v-=s/2,w-=a/2*Math.tan(d)):f>1.25*Math.PI&&f<=1.75*Math.PI&&(p+=a/2,g+=s/2/Math.tan(d),w-=a/2,v-=s/2/Math.tan(d)),(l=document.createElementNS("http://www.w3.org/2000/svg","linearGradient")).setAttribute("id",u),l.setAttribute("gradientUnits","userSpaceOnUse"),l.setAttribute("x1",String(Math.round(g))),l.setAttribute("y1",String(Math.round(p))),l.setAttribute("x2",String(Math.round(v))),l.setAttribute("y2",String(Math.round(w)))}e.colorStops.forEach((function(t){var e=t.offset,r=t.color,n=document.createElementNS("http://www.w3.org/2000/svg","stop");n.setAttribute("offset",100*e+"%"),n.setAttribute("stop-color",r),l.appendChild(n)})),c.setAttribute("fill","url('#"+u+"')"),this._defs.appendChild(l)}else r&&c.setAttribute("fill",r);this._element.appendChild(c)},t}(),x="canvas";for(var S={},M=0;M<=40;M++)S[M]=M;const C={type:x,shape:"square",width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:S[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{round:0,color:"#fff"}};var A=function(){return(A=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function k(t){var e=A({},t);if(!e.colorStops||!e.colorStops.length)throw"Field 'colorStops' is required in gradient";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((function(t){return A(A({},t),{offset:Number(t.offset)})})),e}function O(t){var e=A({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=A(A({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=A({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=k(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=A({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=k(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=A({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=k(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=A({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=k(e.backgroundOptions.gradient))),e}var D=r(192),P=r.n(D),z=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},B=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};const q=function(){function t(t){this._options=t?O(a(C,t)):C,this.update()}return t._clearContainer=function(t){t&&(t.innerHTML="")},t.prototype._setupSvg=function(){var t=this;if(this._qr){var e=new _(this._options);this._svg=e.getElement(),this._svgDrawingPromise=e.drawQR(this._qr).then((function(){var r;t._svg&&(null===(r=t._extension)||void 0===r||r.call(t,e.getElement(),t._options))}))}},t.prototype._setupCanvas=function(){var t,e=this;this._qr&&(this._canvas=document.createElement("canvas"),this._canvas.width=this._options.width,this._canvas.height=this._options.height,this._setupSvg(),this._canvasDrawingPromise=null===(t=this._svgDrawingPromise)||void 0===t?void 0:t.then((function(){if(e._svg){var t=e._svg,r=(new XMLSerializer).serializeToString(t),n="data:image/svg+xml;base64,"+btoa(r),o=new Image;return new Promise((function(t){o.onload=function(){var r,n;null===(n=null===(r=e._canvas)||void 0===r?void 0:r.getContext("2d"))||void 0===n||n.drawImage(o,0,0),t()},o.src=n}))}})))},t.prototype._getElement=function(t){return void 0===t&&(t="png"),z(this,void 0,void 0,(function(){return B(this,(function(e){switch(e.label){case 0:if(!this._qr)throw"QR code is empty";return"svg"!==t.toLowerCase()?[3,2]:(this._svg&&this._svgDrawingPromise||this._setupSvg(),[4,this._svgDrawingPromise]);case 1:return e.sent(),[2,this._svg];case 2:return this._canvas&&this._canvasDrawingPromise||this._setupCanvas(),[4,this._canvasDrawingPromise];case 3:return e.sent(),[2,this._canvas]}}))}))},t.prototype.update=function(e){t._clearContainer(this._container),this._options=e?O(a(this._options,e)):this._options,this._options.data&&(this._qr=P()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(t):return"Alphanumeric";default:return"Byte"}}(this._options.data)),this._qr.make(),this._options.type===x?this._setupCanvas():this._setupSvg(),this.append(this._container))},t.prototype.append=function(t){if(t){if("function"!=typeof t.appendChild)throw"Container should be a single DOM node";this._options.type===x?this._canvas&&t.appendChild(this._canvas):this._svg&&t.appendChild(this._svg),this._container=t}},t.prototype.applyExtension=function(t){if(!t)throw"Extension function should be defined.";this._extension=t,this.update()},t.prototype.deleteExtension=function(){this._extension=void 0,this.update()},t.prototype.getRawData=function(t){return void 0===t&&(t="png"),z(this,void 0,void 0,(function(){var e,r,n;return B(this,(function(o){switch(o.label){case 0:if(!this._qr)throw"QR code is empty";return[4,this._getElement(t)];case 1:return(e=o.sent())?"svg"===t.toLowerCase()?(r=new XMLSerializer,n=r.serializeToString(e),[2,new Blob(['<?xml version="1.0" standalone="no"?>\r\n'+n],{type:"image/svg+xml"})]):[2,new Promise((function(r){return e.toBlob(r,"image/"+t,1)}))]:[2,null]}}))}))},t.prototype.download=function(t){return z(this,void 0,void 0,(function(){var e,r,n,o,i;return B(this,(function(a){switch(a.label){case 0:if(!this._qr)throw"QR code is empty";return e="png",r="qr","string"==typeof t?(e=t,console.warn("Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument")):"object"==typeof t&&null!==t&&(t.name&&(r=t.name),t.extension&&(e=t.extension)),[4,this._getElement(e)];case 1:return(n=a.sent())?("svg"===e.toLowerCase()?(o=new XMLSerializer,i='<?xml version="1.0" standalone="no"?>\r\n'+(i=o.serializeToString(n)),s("data:image/svg+xml;charset=utf-8,"+encodeURIComponent(i),r+".svg")):s(n.toDataURL("image/"+e),r+"."+e),[2]):[2]}}))}))},t}()}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r(676)})().default}));
6105
6386
 
6106
- },{}]},{},[8])(8)
6387
+ },{}]},{},[12])(12)
6107
6388
  });