@smart-webcomponents-angular/passwordtextbox 9.2.73 → 13.0.10

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.
Files changed (43) hide show
  1. package/README.md +10 -2
  2. package/common/i18n.phonenumbers.min.js +501 -0
  3. package/common/runtime.js +748 -0
  4. package/esm2020/passwordtextbox/index.mjs +2 -0
  5. package/{esm2015/passwordtextbox/public_api.js → esm2020/passwordtextbox/public_api.mjs} +1 -1
  6. package/{esm2015/passwordtextbox/smart-webcomponents-angular-passwordtextbox.js → esm2020/passwordtextbox/smart-webcomponents-angular-passwordtextbox.mjs} +2 -3
  7. package/esm2020/passwordtextbox/smart.element.mjs +96 -0
  8. package/esm2020/passwordtextbox/smart.passwordtextbox.mjs +428 -0
  9. package/esm2020/passwordtextbox/smart.passwordtextbox.module.mjs +18 -0
  10. package/fesm2015/{smart-webcomponents-angular-passwordtextbox.js → smart-webcomponents-angular-passwordtextbox.mjs} +116 -60
  11. package/fesm2015/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
  12. package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs +550 -0
  13. package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
  14. package/images/flags.png +0 -0
  15. package/index.d.ts +31835 -28915
  16. package/package.json +26 -24
  17. package/passwordtextbox/index.d.ts +1 -0
  18. package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.d.ts +2 -2
  19. package/passwordtextbox/smart.element.d.ts +4 -1
  20. package/passwordtextbox/smart.passwordtextbox.d.ts +10 -1
  21. package/passwordtextbox/smart.passwordtextbox.module.d.ts +5 -0
  22. package/source/modules/smart.passwordtextbox.js +1 -1
  23. package/source/smart.button.js +2 -2
  24. package/source/smart.element.js +2 -2
  25. package/source/smart.input.js +2 -2
  26. package/source/smart.passwordtextbox.js +6 -0
  27. package/source/smart.tooltip.js +6 -0
  28. package/styles/font/smart-icons.eot +0 -0
  29. package/styles/font/smart-icons.svg +64 -2
  30. package/styles/font/smart-icons.ttf +0 -0
  31. package/styles/font/smart-icons.woff +0 -0
  32. package/styles/font/smart-icons.woff2 +0 -0
  33. package/styles/smart.base.css +4 -4
  34. package/styles/smart.common.css +1 -1
  35. package/styles/smart.passwordtextbox.css +2 -2
  36. package/bundles/smart-webcomponents-angular-passwordtextbox.umd.js +0 -961
  37. package/bundles/smart-webcomponents-angular-passwordtextbox.umd.min.js +0 -25
  38. package/esm2015/passwordtextbox/smart.element.js +0 -83
  39. package/esm2015/passwordtextbox/smart.passwordtextbox.js +0 -388
  40. package/esm2015/passwordtextbox/smart.passwordtextbox.module.js +0 -13
  41. package/fesm2015/smart-webcomponents-angular-passwordtextbox.js.map +0 -1
  42. package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.metadata.json +0 -1
  43. package/source/smart.maskedtextbox.js +0 -6
@@ -1,25 +0,0 @@
1
-
2
- if (!window['Smart']) {
3
- window['Smart'] = { RenderMode: 'manual' };
4
- }
5
- else {
6
- window['Smart'].RenderMode = 'manual';
7
- }
8
- import './../source/modules/smart.passwordtextbox';
9
-
10
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("smart-webcomponents-angular/passwordtextbox",["exports","@angular/core","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["smart-webcomponents-angular"]=e["smart-webcomponents-angular"]||{},e["smart-webcomponents-angular"].passwordtextbox={}),e.ng.core,e.ng.forms)}(this,(function(e,t,n){"use strict";
11
- /*! *****************************************************************************
12
- Copyright (c) Microsoft Corporation.
13
-
14
- Permission to use, copy, modify, and/or distribute this software for any
15
- purpose with or without fee is hereby granted.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
18
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
19
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
20
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
21
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
22
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23
- PERFORMANCE OF THIS SOFTWARE.
24
- ***************************************************************************** */var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};Object.create;Object.create;var o=function(){function e(e){this.onCreate=new t.EventEmitter,this.onReady=new t.EventEmitter,this.onAttach=new t.EventEmitter,this.onDetach=new t.EventEmitter;var n=this;this.nativeElement=e.nativeElement,n.nativeElement.onAttached=function(){n.onAttach.emit(n.nativeElement)},n.nativeElement.onDetached=function(){n.onDetach.emit(n.nativeElement)}}return e.prototype.addEventListener=function(e,t,n){void 0===n&&(n=!1),this.nativeElement.addEventListener(e,t,n)},e.prototype.removeEventListener=function(e,t,n){void 0===n&&(n=!1),this.nativeElement.removeEventListener(e,t,n)},e.prototype.dispatchEvent=function(e){return this.nativeElement.dispatchEvent(e)},e.prototype.blur=function(){this.nativeElement.blur()},e.prototype.click=function(){this.nativeElement.click()},e.prototype.focus=function(e){this.nativeElement.focus(e)},Object.defineProperty(e.prototype,"locale",{get:function(){return this.nativeElement?this.nativeElement.locale:void 0},set:function(e){this.nativeElement&&(this.nativeElement.locale=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"localizeFormatFunction",{get:function(){return this.nativeElement?this.nativeElement.localizeFormatFunction:void 0},set:function(e){this.nativeElement&&(this.nativeElement.localizeFormatFunction=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"messages",{get:function(){return this.nativeElement?this.nativeElement.messages:void 0},set:function(e){this.nativeElement&&(this.nativeElement.messages=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightToLeft",{get:function(){return this.nativeElement?this.nativeElement.rightToLeft:void 0},set:function(e){this.nativeElement&&(this.nativeElement.rightToLeft=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"theme",{get:function(){return this.nativeElement?this.nativeElement.theme:void 0},set:function(e){this.nativeElement&&(this.nativeElement.theme=e)},enumerable:!1,configurable:!0}),e}();o.propDecorators={onCreate:[{type:t.Output}],onReady:[{type:t.Output}],onAttach:[{type:t.Output}],onDetach:[{type:t.Output}],locale:[{type:t.Input}],localizeFormatFunction:[{type:t.Input}],messages:[{type:t.Input}],rightToLeft:[{type:t.Input}],theme:[{type:t.Input}]};var r=window.Smart,a={provide:n.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return l})),multi:!0},l=function(e){function n(n){var i=e.call(this,n)||this;return i.eventHandlers=[],i._onChange=function(){},i._onTouched=function(){},i.onChange=new t.EventEmitter,i._initialChange=!0,i.nativeElement=n.nativeElement,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(n,e),n.prototype.createComponent=function(e){for(var t in void 0===e&&(e={}),this.nativeElement=document.createElement("smart-password-text-box"),e)this.nativeElement[t]=e[t];return this.nativeElement},Object.defineProperty(n.prototype,"animation",{get:function(){return this.nativeElement?this.nativeElement.animation:void 0},set:function(e){this.nativeElement&&(this.nativeElement.animation=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"autoFocus",{get:function(){return this.nativeElement?this.nativeElement.autoFocus:void 0},set:function(e){this.nativeElement&&(this.nativeElement.autoFocus=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"disabled",{get:function(){return this.nativeElement?this.nativeElement.disabled:void 0},set:function(e){this.nativeElement&&(this.nativeElement.disabled=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"enterKeyBehavior",{get:function(){return this.nativeElement?this.nativeElement.enterKeyBehavior:void 0},set:function(e){this.nativeElement&&(this.nativeElement.enterKeyBehavior=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"form",{get:function(){return this.nativeElement?this.nativeElement.form:void 0},set:function(e){this.nativeElement&&(this.nativeElement.form=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hint",{get:function(){return this.nativeElement?this.nativeElement.hint:void 0},set:function(e){this.nativeElement&&(this.nativeElement.hint=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"label",{get:function(){return this.nativeElement?this.nativeElement.label:void 0},set:function(e){this.nativeElement&&(this.nativeElement.label=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"locale",{get:function(){return this.nativeElement?this.nativeElement.locale:void 0},set:function(e){this.nativeElement&&(this.nativeElement.locale=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"localizeFormatFunction",{get:function(){return this.nativeElement?this.nativeElement.localizeFormatFunction:void 0},set:function(e){this.nativeElement&&(this.nativeElement.localizeFormatFunction=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxLength",{get:function(){return this.nativeElement?this.nativeElement.maxLength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.maxLength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"messages",{get:function(){return this.nativeElement?this.nativeElement.messages:void 0},set:function(e){this.nativeElement&&(this.nativeElement.messages=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"minLength",{get:function(){return this.nativeElement?this.nativeElement.minLength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.minLength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"name",{get:function(){return this.nativeElement?this.nativeElement.name:void 0},set:function(e){this.nativeElement&&(this.nativeElement.name=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"passwordStrength",{get:function(){return this.nativeElement?this.nativeElement.passwordStrength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.passwordStrength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"placeholder",{get:function(){return this.nativeElement?this.nativeElement.placeholder:void 0},set:function(e){this.nativeElement&&(this.nativeElement.placeholder=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"required",{get:function(){return this.nativeElement?this.nativeElement.required:void 0},set:function(e){this.nativeElement&&(this.nativeElement.required=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"rightToLeft",{get:function(){return this.nativeElement?this.nativeElement.rightToLeft:void 0},set:function(e){this.nativeElement&&(this.nativeElement.rightToLeft=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectAllOnFocus",{get:function(){return this.nativeElement?this.nativeElement.selectAllOnFocus:void 0},set:function(e){this.nativeElement&&(this.nativeElement.selectAllOnFocus=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"showPasswordIcon",{get:function(){return this.nativeElement?this.nativeElement.showPasswordIcon:void 0},set:function(e){this.nativeElement&&(this.nativeElement.showPasswordIcon=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"showPasswordStrength",{get:function(){return this.nativeElement?this.nativeElement.showPasswordStrength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.showPasswordStrength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"theme",{get:function(){return this.nativeElement?this.nativeElement.theme:void 0},set:function(e){this.nativeElement&&(this.nativeElement.theme=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipArrow",{get:function(){return this.nativeElement?this.nativeElement.tooltipArrow:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipArrow=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipDelay",{get:function(){return this.nativeElement?this.nativeElement.tooltipDelay:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipDelay=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipPosition",{get:function(){return this.nativeElement?this.nativeElement.tooltipPosition:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipPosition=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipTemplate",{get:function(){return this.nativeElement?this.nativeElement.tooltipTemplate:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipTemplate=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"unfocusable",{get:function(){return this.nativeElement?this.nativeElement.unfocusable:void 0},set:function(e){this.nativeElement&&(this.nativeElement.unfocusable=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"value",{get:function(){return this.nativeElement?this.nativeElement.value:void 0},set:function(e){this.nativeElement&&(this.nativeElement.value=e)},enumerable:!1,configurable:!0}),n.prototype.focus=function(){var e=this;this.nativeElement.isRendered?this.nativeElement.focus():this.nativeElement.whenRendered((function(){e.nativeElement.focus()}))},n.prototype.reset=function(){var e=this;this.nativeElement.isRendered?this.nativeElement.reset():this.nativeElement.whenRendered((function(){e.nativeElement.reset()}))},Object.defineProperty(n.prototype,"isRendered",{get:function(){return!!this.nativeElement&&this.nativeElement.isRendered},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){},n.prototype.ngAfterViewInit=function(){var e=this;e.onCreate.emit(e.nativeElement),r.Render(),this.nativeElement.classList.add("smart-angular"),this.nativeElement.whenRendered((function(){e.onReady.emit(e.nativeElement)})),this.listen()},n.prototype.ngOnDestroy=function(){this.unlisten()},Object.defineProperty(n.prototype,"ngValue",{get:function(){return this.nativeElement?this.nativeElement.value:null},set:function(e){this.nativeElement&&this.writeValue(e)},enumerable:!1,configurable:!0}),n.prototype.writeValue=function(e){var t=this,n=null==e?"":e;t.nativeElement.whenRendered((function(){t.value=n,!1===t._initialChange&&t._onChange(t.value)}))},n.prototype.registerOnChange=function(e){this._onChange=e},n.prototype.registerOnTouched=function(e){this._onTouched=e},n.prototype.ngOnChanges=function(e){if(this.nativeElement&&this.nativeElement.isRendered)for(var t in e)e.hasOwnProperty(t)&&(this.nativeElement[t]=e[t].currentValue)},n.prototype.listen=function(){var e=this;e.eventHandlers.changeHandler=function(t){e.onChange.emit(t)},e.nativeElement.addEventListener("change",e.eventHandlers.changeHandler),e.eventHandlers.changeModelHandler=function(t){e._initialChange=!1,e._onChange(e.nativeElement.value)},e.eventHandlers.blurModelHandler=function(t){e._onTouched()},e.nativeElement.whenRendered((function(){e.nativeElement.querySelector("input")&&(e.eventHandlers.keyupModelHandler=function(t){setTimeout((function(){e.eventHandlers.changeModelHandler(t)}),50)},e.nativeElement.querySelector("input").addEventListener("keyup",e.eventHandlers.keyupModelHandler))})),e.nativeElement.addEventListener("change",e.eventHandlers.changeModelHandler),e.nativeElement.addEventListener("blur",e.eventHandlers.blurModelHandler)},n.prototype.unlisten=function(){var e=this;e.eventHandlers.changeHandler&&e.nativeElement.removeEventListener("change",e.eventHandlers.changeHandler),e.eventHandlers.changeModelHandler&&(e.nativeElement.removeEventListener("change",e.eventHandlers.changeModelHandler),e.nativeElement.querySelector("input")&&e.nativeElement.querySelector("input").removeEventListener("keyup",e.eventHandlers.keyupModelHandler)),e.eventHandlers.blurModelHandler&&e.nativeElement.removeEventListener("blur",e.eventHandlers.blurModelHandler)},n}(o);l.decorators=[{type:t.Directive,args:[{selector:"smart-password-text-box, [smart-password-text-box]",providers:[a]}]}],l.ctorParameters=function(){return[{type:t.ElementRef}]},l.propDecorators={animation:[{type:t.Input}],autoFocus:[{type:t.Input}],disabled:[{type:t.Input}],enterKeyBehavior:[{type:t.Input}],form:[{type:t.Input}],hint:[{type:t.Input}],label:[{type:t.Input}],locale:[{type:t.Input}],localizeFormatFunction:[{type:t.Input}],maxLength:[{type:t.Input}],messages:[{type:t.Input}],minLength:[{type:t.Input}],name:[{type:t.Input}],passwordStrength:[{type:t.Input}],placeholder:[{type:t.Input}],required:[{type:t.Input}],rightToLeft:[{type:t.Input}],selectAllOnFocus:[{type:t.Input}],showPasswordIcon:[{type:t.Input}],showPasswordStrength:[{type:t.Input}],theme:[{type:t.Input}],tooltipArrow:[{type:t.Input}],tooltipDelay:[{type:t.Input}],tooltipPosition:[{type:t.Input}],tooltipTemplate:[{type:t.Input}],unfocusable:[{type:t.Input}],value:[{type:t.Input}],onChange:[{type:t.Output}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{declarations:[l],schemas:[t.CUSTOM_ELEMENTS_SCHEMA],exports:[l]}]}],e.PasswordTextBoxComponent=l,e.PasswordTextBoxModule=s,e.Smart=r,e.ɵa=o,Object.defineProperty(e,"__esModule",{value:!0})}));
25
- //# sourceMappingURL=smart-webcomponents-angular-passwordtextbox.umd.min.js.map
@@ -1,83 +0,0 @@
1
- import { Input, Output, EventEmitter } from '@angular/core';
2
- export class BaseElement {
3
- constructor(ref) {
4
- this.onCreate = new EventEmitter();
5
- this.onReady = new EventEmitter();
6
- this.onAttach = new EventEmitter();
7
- this.onDetach = new EventEmitter();
8
- const that = this;
9
- this.nativeElement = ref.nativeElement;
10
- that.nativeElement.onAttached = () => {
11
- that.onAttach.emit(that.nativeElement);
12
- };
13
- that.nativeElement.onDetached = () => {
14
- that.onDetach.emit(that.nativeElement);
15
- };
16
- }
17
- addEventListener(type, listener, options = false) {
18
- this.nativeElement.addEventListener(type, listener, options);
19
- }
20
- removeEventListener(type, listener, options = false) {
21
- this.nativeElement.removeEventListener(type, listener, options);
22
- }
23
- dispatchEvent(event) {
24
- return this.nativeElement.dispatchEvent(event);
25
- }
26
- blur() {
27
- this.nativeElement.blur();
28
- }
29
- click() {
30
- this.nativeElement.click();
31
- }
32
- focus(options) {
33
- this.nativeElement.focus(options);
34
- }
35
- /** @description Sets or gets the language. Used in conjunction with the property messages. */
36
- get locale() {
37
- return this.nativeElement ? this.nativeElement.locale : undefined;
38
- }
39
- set locale(value) {
40
- this.nativeElement ? this.nativeElement.locale = value : undefined;
41
- }
42
- /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
43
- get localizeFormatFunction() {
44
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
45
- }
46
- set localizeFormatFunction(value) {
47
- this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
48
- }
49
- /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
50
- get messages() {
51
- return this.nativeElement ? this.nativeElement.messages : undefined;
52
- }
53
- set messages(value) {
54
- this.nativeElement ? this.nativeElement.messages = value : undefined;
55
- }
56
- /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
57
- get rightToLeft() {
58
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
59
- }
60
- set rightToLeft(value) {
61
- this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
62
- }
63
- /** @description Determines the theme. Theme defines the look of the element */
64
- get theme() {
65
- return this.nativeElement ? this.nativeElement.theme : undefined;
66
- }
67
- set theme(value) {
68
- this.nativeElement ? this.nativeElement.theme = value : undefined;
69
- }
70
- }
71
- BaseElement.propDecorators = {
72
- onCreate: [{ type: Output }],
73
- onReady: [{ type: Output }],
74
- onAttach: [{ type: Output }],
75
- onDetach: [{ type: Output }],
76
- locale: [{ type: Input }],
77
- localizeFormatFunction: [{ type: Input }],
78
- messages: [{ type: Input }],
79
- rightToLeft: [{ type: Input }],
80
- theme: [{ type: Input }]
81
- };
82
- export const Smart = window.Smart;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQuZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEUsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFBWSxHQUFlO1FBYWpCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWZ2RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBb0IsQ0FBQztRQUU5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQTtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztJQVNNLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUE0QyxFQUFFLFVBQTZDLEtBQUs7UUFDbEksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsUUFBNEMsRUFBRSxVQUE2QyxLQUFLO1FB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TSxDQUFDLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICAgICAgU21hcnQ6IGFueTtcclxufVxyXG59XHJcblxyXG5cclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZW5kZXJNb2RlIH0gZnJvbSAnLi8uLi9pbmRleCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUVsZW1lbnQge1xyXG4gICAgY29uc3RydWN0b3IocmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gcmVmLm5hdGl2ZUVsZW1lbnQgYXMgYW55O1xyXG5cclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQub25BdHRhY2hlZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5vbkF0dGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQub25EZXRhY2hlZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5vbkRldGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSBvbkNyZWF0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZWFkeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25BdHRhY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uRGV0YWNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudDogYW55O1xyXG5cclxuICAgIHB1YmxpYyBhZGRFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsIG9wdGlvbnM6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCwgb3B0aW9uczogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0gZmFsc2UpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBibHVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LmJsdXIoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBjbGljaygpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcclxuXHR9XHJcblxyXG4vKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgbGFuZ3VhZ2UuIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcGVydHkgbWVzc2FnZXMuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGxvY2FsZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBsb2NhbGUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBDYWxsYmFjayB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgZm9ybWF0IG9mIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSByZXR1cm5lZCBmcm9tIHRoZSBMb2NhbGl6YXRpb24gTW9kdWxlLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGxvY2FsaXplRm9ybWF0RnVuY3Rpb24oKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGxvY2FsaXplRm9ybWF0RnVuY3Rpb24odmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsaXplRm9ybWF0RnVuY3Rpb24gPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIGFuIG9iamVjdCBzcGVjaWZ5aW5nIHN0cmluZ3MgdXNlZCBpbiB0aGUgd2lkZ2V0IHRoYXQgY2FuIGJlIGxvY2FsaXplZC4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBsb2NhbGUuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IG1lc3NhZ2VzKCk6IGFueSB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbWVzc2FnZXModmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGFsaWduZWQgdG8gc3VwcG9ydCBsb2NhbGVzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgZm9udHMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcmlnaHRUb0xlZnQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgcmlnaHRUb0xlZnQodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5yaWdodFRvTGVmdCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIHRoZSB0aGVtZS4gVGhlbWUgZGVmaW5lcyB0aGUgbG9vayBvZiB0aGUgZWxlbWVudCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHRoZW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdGhlbWUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU21hcnQ6IGFueSA9IHdpbmRvdy5TbWFydDtcclxuXHJcbiJdfQ==
@@ -1,388 +0,0 @@
1
- import { Directive, ElementRef, Input, forwardRef, Output, EventEmitter } from '@angular/core';
2
- import { BaseElement, Smart } from './smart.element';
3
- export { Smart } from './smart.element';
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
6
- provide: NG_VALUE_ACCESSOR,
7
- useExisting: forwardRef(() => PasswordTextBoxComponent),
8
- multi: true
9
- };
10
- export class PasswordTextBoxComponent extends BaseElement {
11
- constructor(ref) {
12
- super(ref);
13
- this.eventHandlers = [];
14
- /**
15
- * @description
16
- * The registered callback function called when a change event occurs on the form elements.
17
- */
18
- this._onChange = () => { };
19
- /**
20
- * @description
21
- * The registered callback function called when a blur event occurs on the form elements.
22
- */
23
- this._onTouched = () => { };
24
- /** @description This event is triggered when the value of the element is changed.
25
- * @param event. The custom event. Custom event was created with: event.detail( oldValue, value)
26
- * oldValue - The previous value of the element before it was changed.
27
- * value - The new value of the element.
28
- */
29
- this.onChange = new EventEmitter();
30
- this._initialChange = true;
31
- this.nativeElement = ref.nativeElement;
32
- }
33
- /** @description Creates the component on demand.
34
- * @param properties An optional object of properties, which will be added to the template binded ones.
35
- */
36
- createComponent(properties = {}) {
37
- this.nativeElement = document.createElement('smart-password-text-box');
38
- for (let propertyName in properties) {
39
- this.nativeElement[propertyName] = properties[propertyName];
40
- }
41
- return this.nativeElement;
42
- }
43
- /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
44
- get animation() {
45
- return this.nativeElement ? this.nativeElement.animation : undefined;
46
- }
47
- set animation(value) {
48
- this.nativeElement ? this.nativeElement.animation = value : undefined;
49
- }
50
- /** @description Specifies that the element should be focused when the page is loaded. */
51
- get autoFocus() {
52
- return this.nativeElement ? this.nativeElement.autoFocus : undefined;
53
- }
54
- set autoFocus(value) {
55
- this.nativeElement ? this.nativeElement.autoFocus = value : undefined;
56
- }
57
- /** @description Enables or disables the element. */
58
- get disabled() {
59
- return this.nativeElement ? this.nativeElement.disabled : undefined;
60
- }
61
- set disabled(value) {
62
- this.nativeElement ? this.nativeElement.disabled = value : undefined;
63
- }
64
- /** @description Specifies the behavior on "Enter" key press. Default mode is "submit". */
65
- get enterKeyBehavior() {
66
- return this.nativeElement ? this.nativeElement.enterKeyBehavior : undefined;
67
- }
68
- set enterKeyBehavior(value) {
69
- this.nativeElement ? this.nativeElement.enterKeyBehavior = value : undefined;
70
- }
71
- /** @description The form that the element is associated with (its "form owner"). The value of the attribute must be the ID of a form element in the same document. */
72
- get form() {
73
- return this.nativeElement ? this.nativeElement.form : undefined;
74
- }
75
- set form(value) {
76
- this.nativeElement ? this.nativeElement.form = value : undefined;
77
- }
78
- /** @description Sets additional helper text below the element. Appears only when the element is focused. */
79
- get hint() {
80
- return this.nativeElement ? this.nativeElement.hint : undefined;
81
- }
82
- set hint(value) {
83
- this.nativeElement ? this.nativeElement.hint = value : undefined;
84
- }
85
- /** @description Sets label above the element. The label is displayed above the input and it's always visible. */
86
- get label() {
87
- return this.nativeElement ? this.nativeElement.label : undefined;
88
- }
89
- set label(value) {
90
- this.nativeElement ? this.nativeElement.label = value : undefined;
91
- }
92
- /** @description Sets or gets the language. Used in conjunction with the property messages. */
93
- get locale() {
94
- return this.nativeElement ? this.nativeElement.locale : undefined;
95
- }
96
- set locale(value) {
97
- this.nativeElement ? this.nativeElement.locale = value : undefined;
98
- }
99
- /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
100
- get localizeFormatFunction() {
101
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
102
- }
103
- set localizeFormatFunction(value) {
104
- this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
105
- }
106
- /** @description Sets or gets the maximum number of characters that the user can enter. */
107
- get maxLength() {
108
- return this.nativeElement ? this.nativeElement.maxLength : undefined;
109
- }
110
- set maxLength(value) {
111
- this.nativeElement ? this.nativeElement.maxLength = value : undefined;
112
- }
113
- /** @description Sets an object with string values, related to the different states of passwords strength. */
114
- get messages() {
115
- return this.nativeElement ? this.nativeElement.messages : undefined;
116
- }
117
- set messages(value) {
118
- this.nativeElement ? this.nativeElement.messages = value : undefined;
119
- }
120
- /** @description Sets or gets the minimum number of characters that the user can enter. */
121
- get minLength() {
122
- return this.nativeElement ? this.nativeElement.minLength : undefined;
123
- }
124
- set minLength(value) {
125
- this.nativeElement ? this.nativeElement.minLength = value : undefined;
126
- }
127
- /** @description Sets or gets the name attribute for the element. Name is used when submiting HTML forms. */
128
- get name() {
129
- return this.nativeElement ? this.nativeElement.name : undefined;
130
- }
131
- set name(value) {
132
- this.nativeElement ? this.nativeElement.name = value : undefined;
133
- }
134
- /** @description With this property the user can set a custom callback function that determines the password strength. The returned string from the function determines the how strong the current password is. The string should be one of the following: 'short', 'weak', 'far', 'good', 'strong'. */
135
- get passwordStrength() {
136
- return this.nativeElement ? this.nativeElement.passwordStrength : undefined;
137
- }
138
- set passwordStrength(value) {
139
- this.nativeElement ? this.nativeElement.passwordStrength = value : undefined;
140
- }
141
- /** @description The placeholder text that is displayed when no value is applied to the element. */
142
- get placeholder() {
143
- return this.nativeElement ? this.nativeElement.placeholder : undefined;
144
- }
145
- set placeholder(value) {
146
- this.nativeElement ? this.nativeElement.placeholder = value : undefined;
147
- }
148
- /** @description Specifies that the user must fill in a value before submitting a form that contains the element. */
149
- get required() {
150
- return this.nativeElement ? this.nativeElement.required : undefined;
151
- }
152
- set required(value) {
153
- this.nativeElement ? this.nativeElement.required = value : undefined;
154
- }
155
- /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
156
- get rightToLeft() {
157
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
158
- }
159
- set rightToLeft(value) {
160
- this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
161
- }
162
- /** @description Specifies whether the content of the input will be selected on focus. */
163
- get selectAllOnFocus() {
164
- return this.nativeElement ? this.nativeElement.selectAllOnFocus : undefined;
165
- }
166
- set selectAllOnFocus(value) {
167
- this.nativeElement ? this.nativeElement.selectAllOnFocus = value : undefined;
168
- }
169
- /** @description Determines whether the password icon is visible. */
170
- get showPasswordIcon() {
171
- return this.nativeElement ? this.nativeElement.showPasswordIcon : undefined;
172
- }
173
- set showPasswordIcon(value) {
174
- this.nativeElement ? this.nativeElement.showPasswordIcon = value : undefined;
175
- }
176
- /** @description Determines whether a tooltip which shows the password's strength will be shown. */
177
- get showPasswordStrength() {
178
- return this.nativeElement ? this.nativeElement.showPasswordStrength : undefined;
179
- }
180
- set showPasswordStrength(value) {
181
- this.nativeElement ? this.nativeElement.showPasswordStrength = value : undefined;
182
- }
183
- /** @description Determines the theme. Theme defines the look of the element */
184
- get theme() {
185
- return this.nativeElement ? this.nativeElement.theme : undefined;
186
- }
187
- set theme(value) {
188
- this.nativeElement ? this.nativeElement.theme = value : undefined;
189
- }
190
- /** @description Determines whether Tooltip's arrow will be shown or not. */
191
- get tooltipArrow() {
192
- return this.nativeElement ? this.nativeElement.tooltipArrow : undefined;
193
- }
194
- set tooltipArrow(value) {
195
- this.nativeElement ? this.nativeElement.tooltipArrow = value : undefined;
196
- }
197
- /** @description Determines the delay before the tooltip appears in miliseconds. */
198
- get tooltipDelay() {
199
- return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
200
- }
201
- set tooltipDelay(value) {
202
- this.nativeElement ? this.nativeElement.tooltipDelay = value : undefined;
203
- }
204
- /** @description Determines the position of the tooltip. */
205
- get tooltipPosition() {
206
- return this.nativeElement ? this.nativeElement.tooltipPosition : undefined;
207
- }
208
- set tooltipPosition(value) {
209
- this.nativeElement ? this.nativeElement.tooltipPosition = value : undefined;
210
- }
211
- /** @description Sets a custom template for the content of the tooltip. */
212
- get tooltipTemplate() {
213
- return this.nativeElement ? this.nativeElement.tooltipTemplate : undefined;
214
- }
215
- set tooltipTemplate(value) {
216
- this.nativeElement ? this.nativeElement.tooltipTemplate = value : undefined;
217
- }
218
- /** @description If true, the element cannot be focused. */
219
- get unfocusable() {
220
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
221
- }
222
- set unfocusable(value) {
223
- this.nativeElement ? this.nativeElement.unfocusable = value : undefined;
224
- }
225
- /** @description Sets or gets the value of the element. */
226
- get value() {
227
- return this.nativeElement ? this.nativeElement.value : undefined;
228
- }
229
- set value(value) {
230
- this.nativeElement ? this.nativeElement.value = value : undefined;
231
- }
232
- /** @description Focuses the element.
233
- */
234
- focus() {
235
- if (this.nativeElement.isRendered) {
236
- this.nativeElement.focus();
237
- }
238
- else {
239
- this.nativeElement.whenRendered(() => {
240
- this.nativeElement.focus();
241
- });
242
- }
243
- }
244
- /** @description The method is used to reset input to it's initial value.
245
- */
246
- reset() {
247
- if (this.nativeElement.isRendered) {
248
- this.nativeElement.reset();
249
- }
250
- else {
251
- this.nativeElement.whenRendered(() => {
252
- this.nativeElement.reset();
253
- });
254
- }
255
- }
256
- get isRendered() {
257
- return this.nativeElement ? this.nativeElement.isRendered : false;
258
- }
259
- ngOnInit() {
260
- }
261
- ngAfterViewInit() {
262
- const that = this;
263
- that.onCreate.emit(that.nativeElement);
264
- Smart.Render();
265
- this.nativeElement.classList.add('smart-angular');
266
- this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
267
- this.listen();
268
- }
269
- ngOnDestroy() {
270
- this.unlisten();
271
- }
272
- get ngValue() {
273
- if (!this.nativeElement) {
274
- return null;
275
- }
276
- const value = this.nativeElement.value;
277
- return value;
278
- }
279
- set ngValue(value) {
280
- if (this.nativeElement) {
281
- this.writeValue(value);
282
- }
283
- }
284
- writeValue(value) {
285
- const that = this;
286
- const normalizedValue = value == null ? '' : value;
287
- that.nativeElement.whenRendered(() => {
288
- that.value = normalizedValue;
289
- if (that._initialChange === false) {
290
- that._onChange(that.value);
291
- }
292
- });
293
- }
294
- registerOnChange(fn) {
295
- this._onChange = fn;
296
- }
297
- registerOnTouched(fn) {
298
- this._onTouched = fn;
299
- }
300
- ngOnChanges(changes) {
301
- if (this.nativeElement && this.nativeElement.isRendered) {
302
- for (const propName in changes) {
303
- if (changes.hasOwnProperty(propName)) {
304
- this.nativeElement[propName] = changes[propName].currentValue;
305
- }
306
- }
307
- }
308
- }
309
- /** @description Add event listeners. */
310
- listen() {
311
- const that = this;
312
- that.eventHandlers['changeHandler'] = (event) => { that.onChange.emit(event); };
313
- that.nativeElement.addEventListener('change', that.eventHandlers['changeHandler']);
314
- that.eventHandlers['changeModelHandler'] = (event) => {
315
- that._initialChange = false;
316
- that._onChange(that.nativeElement.value);
317
- };
318
- that.eventHandlers['blurModelHandler'] = (event) => {
319
- that._onTouched();
320
- };
321
- that.nativeElement.whenRendered(() => {
322
- if (that.nativeElement.querySelector('input')) {
323
- that.eventHandlers['keyupModelHandler'] = (event) => {
324
- setTimeout(() => { that.eventHandlers['changeModelHandler'](event); }, 50);
325
- };
326
- that.nativeElement.querySelector('input').addEventListener('keyup', that.eventHandlers['keyupModelHandler']);
327
- }
328
- });
329
- that.nativeElement.addEventListener('change', that.eventHandlers['changeModelHandler']);
330
- that.nativeElement.addEventListener('blur', that.eventHandlers['blurModelHandler']);
331
- }
332
- /** @description Remove event listeners. */
333
- unlisten() {
334
- const that = this;
335
- if (that.eventHandlers['changeHandler']) {
336
- that.nativeElement.removeEventListener('change', that.eventHandlers['changeHandler']);
337
- }
338
- if (that.eventHandlers['changeModelHandler']) {
339
- that.nativeElement.removeEventListener('change', that.eventHandlers['changeModelHandler']);
340
- if (that.nativeElement.querySelector('input')) {
341
- that.nativeElement.querySelector('input').removeEventListener('keyup', that.eventHandlers['keyupModelHandler']);
342
- }
343
- }
344
- if (that.eventHandlers['blurModelHandler']) {
345
- that.nativeElement.removeEventListener('blur', that.eventHandlers['blurModelHandler']);
346
- }
347
- }
348
- }
349
- PasswordTextBoxComponent.decorators = [
350
- { type: Directive, args: [{
351
- selector: 'smart-password-text-box, [smart-password-text-box]',
352
- providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
353
- },] }
354
- ];
355
- PasswordTextBoxComponent.ctorParameters = () => [
356
- { type: ElementRef }
357
- ];
358
- PasswordTextBoxComponent.propDecorators = {
359
- animation: [{ type: Input }],
360
- autoFocus: [{ type: Input }],
361
- disabled: [{ type: Input }],
362
- enterKeyBehavior: [{ type: Input }],
363
- form: [{ type: Input }],
364
- hint: [{ type: Input }],
365
- label: [{ type: Input }],
366
- locale: [{ type: Input }],
367
- localizeFormatFunction: [{ type: Input }],
368
- maxLength: [{ type: Input }],
369
- messages: [{ type: Input }],
370
- minLength: [{ type: Input }],
371
- name: [{ type: Input }],
372
- passwordStrength: [{ type: Input }],
373
- placeholder: [{ type: Input }],
374
- required: [{ type: Input }],
375
- rightToLeft: [{ type: Input }],
376
- selectAllOnFocus: [{ type: Input }],
377
- showPasswordIcon: [{ type: Input }],
378
- showPasswordStrength: [{ type: Input }],
379
- theme: [{ type: Input }],
380
- tooltipArrow: [{ type: Input }],
381
- tooltipDelay: [{ type: Input }],
382
- tooltipPosition: [{ type: Input }],
383
- tooltipTemplate: [{ type: Input }],
384
- unfocusable: [{ type: Input }],
385
- value: [{ type: Input }],
386
- onChange: [{ type: Output }]
387
- };
388
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQucGFzc3dvcmR0ZXh0Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFzc3dvcmR0ZXh0Ym94L3NyYy9zbWFydC5wYXNzd29yZHRleHRib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLFNBQVMsRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBK0MsVUFBVSxFQUEyQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9MLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RSxNQUFNLG1DQUFtQyxHQUFRO0lBQzdDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN2RCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUE7QUFRRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBVztJQUN4RCxZQUFZLEdBQWdDO1FBQzNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUlKLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBYTNCOzs7VUFHRTtRQUNILGNBQVMsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFDOzs7VUFHRTtRQUNILGVBQVUsR0FBYyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFzUHZDOzs7O1VBSUU7UUFDUSxhQUFRLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUM7UUF1RG5FLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBM1VyQixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFnQyxDQUFDO0lBQzNELENBQUM7SUFLRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxVQUFV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LFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsNkdBQTZHO0lBQzdHLElBQ0ksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLElBQ0ksU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsNEdBQTRHO0lBQzVHLElBQ0ksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsdVNBQXVTO0lBQ3ZTLElBQ0ksZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsb0dBQW9HO0lBQ3BHLElBQ0ksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsb0hBQW9IO0lBQ3BILElBQ0ksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsa0lBQWtJO0lBQ2xJLElBQ0ksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBRUQseUZBQXlGO0lBQ3pGLElBQ0ksZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsb0VBQW9FO0lBQ3BFLElBQ0ksZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsbUdBQW1HO0lBQ25HLElBQ0ksb0JBQW9CO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pGLENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsRixDQUFDO0lBRUQsK0VBQStFO0lBQy9FLElBQ0ksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLElBQ0ksWUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLElBQ0ksWUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELElBQ0ksZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUUsQ0FBQztJQUNELElBQUksZUFBZSxDQUFDLEtBQXFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdFLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsSUFDSSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELElBQ0ksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELElBQ0ksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBU0Q7TUFDRTtJQUNRLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUI7YUFFRDtZQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVKO01BQ0U7SUFDUSxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO2FBRUQ7WUFDSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFHSixJQUFJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUUsZUFBZTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0MsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFJRCxJQUFJLE9BQU87UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDdkMsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBVTtRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNGLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLGVBQWUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUV6RCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDckI7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQ3hELEtBQUssTUFBTSxRQUFRLElBQUksT0FBTyxFQUFFO2dCQUMvQixJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQztpQkFDOUQ7YUFDRDtTQUNEO0lBQ0YsQ0FBQztJQUVELHdDQUF3QztJQUNoQyxNQUFNO1FBQ1AsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM1RixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFHN0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2hELFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQy9FLENBQUMsQ0FBQztnQkFFRixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7YUFDaEg7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCwyQ0FBMkM7SUFDbkMsUUFBUTtRQUNULE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDbEYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO2FBQ3JIO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztTQUN2RjtJQUNGLENBQUM7OztZQTlhRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLG9EQUFvRDtnQkFDOUQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFFaEQ7OztZQW5CNkMsVUFBVTs7O3dCQXFEdEQsS0FBSzt3QkFTTCxLQUFLO3VCQVNMLEtBQUs7K0JBU0wsS0FBSzttQkFTTCxLQUFLO21CQVNMLEtBQUs7b0JBU0wsS0FBSztxQkFTTCxLQUFLO3FDQVNMLEtBQUs7d0JBU0wsS0FBSzt1QkFTTCxLQUFLO3dCQVNMLEtBQUs7bUJBU0wsS0FBSzsrQkFTTCxLQUFLOzBCQVNMLEtBQUs7dUJBU0wsS0FBSzswQkFTTCxLQUFLOytCQVNMLEtBQUs7K0JBU0wsS0FBSzttQ0FTTCxLQUFLO29CQVNMLEtBQUs7MkJBU0wsS0FBSzsyQkFTTCxLQUFLOzhCQVNMLEtBQUs7OEJBU0wsS0FBSzswQkFTTCxLQUFLO29CQVNMLEtBQUs7dUJBYUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhc3N3b3JkVGV4dEJveCB9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb24sIEVudGVyS2V5QmVoYXZpb3IsIFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiwgRWxlbWVudFJlbmRlck1vZGV9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlRWxlbWVudCwgU21hcnQgfSBmcm9tICcuL3NtYXJ0LmVsZW1lbnQnO1xyXG5leHBvcnQgeyBBbmltYXRpb24sIEVudGVyS2V5QmVoYXZpb3IsIFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiwgRWxlbWVudFJlbmRlck1vZGV9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5leHBvcnQgeyBTbWFydCB9IGZyb20gJy4vc21hcnQuZWxlbWVudCc7XHJcbmV4cG9ydCB7IFBhc3N3b3JkVGV4dEJveCB9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5cclxuXHJcbmNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkVGV4dEJveENvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ3NtYXJ0LXBhc3N3b3JkLXRleHQtYm94LCBbc21hcnQtcGFzc3dvcmQtdGV4dC1ib3hdJyxcclxuXHRwcm92aWRlcnM6IFtDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cclxuXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRUZXh0Qm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUVsZW1lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0Y29uc3RydWN0b3IocmVmOiBFbGVtZW50UmVmPFBhc3N3b3JkVGV4dEJveD4pIHtcclxuXHRcdHN1cGVyKHJlZik7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPSByZWYubmF0aXZlRWxlbWVudCBhcyBQYXNzd29yZFRleHRCb3g7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV2ZW50SGFuZGxlcnM6IGFueVtdID0gW107XHJcblxyXG5cdHB1YmxpYyBuYXRpdmVFbGVtZW50OiBQYXNzd29yZFRleHRCb3g7XHJcblx0LyoqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHRoZSBjb21wb25lbnQgb24gZGVtYW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIEFuIG9wdGlvbmFsIG9iamVjdCBvZiBwcm9wZXJ0aWVzLCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSB0ZW1wbGF0ZSBiaW5kZWQgb25lcy5cclxuXHQgKi9cclxuXHRwdWJsaWMgY3JlYXRlQ29tcG9uZW50KHByb3BlcnRpZXMgPSB7fSk6IGFueSB7XHJcbiAgICBcdHRoaXMubmF0aXZlRWxlbWVudCA9IDxQYXNzd29yZFRleHRCb3g+ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc21hcnQtcGFzc3dvcmQtdGV4dC1ib3gnKTtcclxuXHRcdGZvciAobGV0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7IFxyXG4gXHRcdFx0dGhpcy5uYXRpdmVFbGVtZW50W3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50O1xyXG5cdH1cclxuICAgICAgICAvKipcclxuICAgICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICAgICogVGhlIHJlZ2lzdGVyZWQgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gYSBjaGFuZ2UgZXZlbnQgb2NjdXJzIG9uIHRoZSBmb3JtIGVsZW1lbnRzLlxyXG4gICAgICAgICovXHJcbiAgICAgICBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAgICAqIFRoZSByZWdpc3RlcmVkIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgYmx1ciBldmVudCBvY2N1cnMgb24gdGhlIGZvcm0gZWxlbWVudHMuXHJcbiAgICAgICAgKi9cclxuICAgICAgIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xyXG5cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIGFuaW1hdGlvbiBtb2RlLiBBbmltYXRpb24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgcHJvcGVydHkgaXMgc2V0IHRvICdub25lJyAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGFuaW1hdGlvbigpOiBBbmltYXRpb24ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5hbmltYXRpb24gOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBhbmltYXRpb24odmFsdWU6IEFuaW1hdGlvbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmFuaW1hdGlvbiA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgdGhhdCB0aGUgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCB3aGVuIHRoZSBwYWdlIGlzIGxvYWRlZC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBhdXRvRm9jdXMoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmF1dG9Gb2N1cyA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGF1dG9Gb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmF1dG9Gb2N1cyA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBlbGVtZW50LiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU3BlY2lmaWVzIHRoZSBiZWhhdmlvciBvbiBcIkVudGVyXCIga2V5IHByZXNzLiBEZWZhdWx0IG1vZGUgaXMgXCJzdWJtaXRcIi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBlbnRlcktleUJlaGF2aW9yKCk6IEVudGVyS2V5QmVoYXZpb3Ige1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5lbnRlcktleUJlaGF2aW9yIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgZW50ZXJLZXlCZWhhdmlvcih2YWx1ZTogRW50ZXJLZXlCZWhhdmlvcikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmVudGVyS2V5QmVoYXZpb3IgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gVGhlIGZvcm0gdGhhdCB0aGUgZWxlbWVudCBpcyBhc3NvY2lhdGVkIHdpdGggKGl0cyBcImZvcm0gb3duZXJcIikuIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIG11c3QgYmUgdGhlIElEIG9mIGEgZm9ybSBlbGVtZW50IGluIHRoZSBzYW1lIGRvY3VtZW50LiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9ybSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGZvcm0odmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmZvcm0gPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBhZGRpdGlvbmFsIGhlbHBlciB0ZXh0IGJlbG93IHRoZSBlbGVtZW50LiBBcHBlYXJzIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBmb2N1c2VkLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGhpbnQoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuaGludCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGhpbnQodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmhpbnQgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBsYWJlbCBhYm92ZSB0aGUgZWxlbWVudC4gVGhlIGxhYmVsIGlzIGRpc3BsYXllZCBhYm92ZSB0aGUgaW5wdXQgYW5kIGl0J3MgYWx3YXlzIHZpc2libGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubGFiZWwgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubGFiZWwgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSBsYW5ndWFnZS4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBtZXNzYWdlcy4gICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbG9jYWxlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIENhbGxiYWNrIHVzZWQgdG8gY3VzdG9taXplIHRoZSBmb3JtYXQgb2YgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIHJldHVybmVkIGZyb20gdGhlIExvY2FsaXphdGlvbiBNb2R1bGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbigpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGl6ZUZvcm1hdEZ1bmN0aW9uIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbih2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXIuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbWF4TGVuZ3RoKCk6IG51bWJlciB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IG1heExlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWF4TGVuZ3RoID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgYW4gb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcywgcmVsYXRlZCB0byB0aGUgZGlmZmVyZW50IHN0YXRlcyBvZiBwYXNzd29yZHMgc3RyZW5ndGguICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbWVzc2FnZXMoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBtZXNzYWdlcyh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IG1pbkxlbmd0aCgpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5taW5MZW5ndGggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBtaW5MZW5ndGgodmFsdWU6IG51bWJlcikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1pbkxlbmd0aCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIG5hbWUgYXR0cmlidXRlIGZvciB0aGUgZWxlbWVudC4gTmFtZSBpcyB1c2VkIHdoZW4gc3VibWl0aW5nIEhUTUwgZm9ybXMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbmFtZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5uYW1lIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubmFtZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBXaXRoIHRoaXMgcHJvcGVydHkgdGhlIHVzZXIgY2FuIHNldCBhIGN1c3RvbSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGRldGVybWluZXMgdGhlIHBhc3N3b3JkIHN0cmVuZ3RoLiBUaGUgcmV0dXJuZWQgc3RyaW5nIGZyb20gdGhlIGZ1bmN0aW9uIGRldGVybWluZXMgdGhlIGhvdyBzdHJvbmcgdGhlIGN1cnJlbnQgcGFzc3dvcmQgaXMuIFRoZSBzdHJpbmcgc2hvdWxkIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAnc2hvcnQnLCAnd2VhaycsICdmYXInLCAnZ29vZCcsICdzdHJvbmcnLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHBhc3N3b3JkU3RyZW5ndGgoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucGFzc3dvcmRTdHJlbmd0aCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHBhc3N3b3JkU3RyZW5ndGgodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnBhc3N3b3JkU3RyZW5ndGggPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gVGhlIHBsYWNlaG9sZGVyIHRleHQgdGhhdCBpcyBkaXNwbGF5ZWQgd2hlbiBubyB2YWx1ZSBpcyBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiAgKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgdGhhdCB0aGUgdXNlciBtdXN0IGZpbGwgaW4gYSB2YWx1ZSBiZWZvcmUgc3VibWl0dGluZyBhIGZvcm0gdGhhdCBjb250YWlucyB0aGUgZWxlbWVudC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucmVxdWlyZWQgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJlcXVpcmVkID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGFsaWduZWQgdG8gc3VwcG9ydCBsb2NhbGVzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgZm9udHMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcmlnaHRUb0xlZnQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgcmlnaHRUb0xlZnQodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5yaWdodFRvTGVmdCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgd2hldGhlciB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgd2lsbCBiZSBzZWxlY3RlZCBvbiBmb2N1cy4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBzZWxlY3RBbGxPbkZvY3VzKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3RBbGxPbkZvY3VzIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgc2VsZWN0QWxsT25Gb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnNlbGVjdEFsbE9uRm9jdXMgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBwYXNzd29yZCBpY29uIGlzIHZpc2libGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgc2hvd1Bhc3N3b3JkSWNvbigpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuc2hvd1Bhc3N3b3JkSWNvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHNob3dQYXNzd29yZEljb24odmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5zaG93UGFzc3dvcmRJY29uID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIERldGVybWluZXMgd2hldGhlciBhIHRvb2x0aXAgd2hpY2ggc2hvd3MgdGhlIHBhc3N3b3JkJ3Mgc3RyZW5ndGggd2lsbCBiZSBzaG93bi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBzaG93UGFzc3dvcmRTdHJlbmd0aCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuc2hvd1Bhc3N3b3JkU3RyZW5ndGggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBzaG93UGFzc3dvcmRTdHJlbmd0aCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnNob3dQYXNzd29yZFN0cmVuZ3RoID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIERldGVybWluZXMgdGhlIHRoZW1lLiBUaGVtZSBkZWZpbmVzIHRoZSBsb29rIG9mIHRoZSBlbGVtZW50ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgdGhlbWUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB0aGVtZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB3aGV0aGVyIFRvb2x0aXAncyBhcnJvdyB3aWxsIGJlIHNob3duIG9yIG5vdC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0b29sdGlwQXJyb3coKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBBcnJvdyA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHRvb2x0aXBBcnJvdyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBBcnJvdyA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIHRoZSBkZWxheSBiZWZvcmUgdGhlIHRvb2x0aXAgYXBwZWFycyBpbiBtaWxpc2Vjb25kcy4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0b29sdGlwRGVsYXkoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudG9vbHRpcERlbGF5IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdG9vbHRpcERlbGF5KHZhbHVlOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC50b29sdGlwRGVsYXkgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgdG9vbHRpcFBvc2l0aW9uKCk6IFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBQb3NpdGlvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHRvb2x0aXBQb3NpdGlvbih2YWx1ZTogUGFzc3dvcmRUZXh0Qm94VG9vbHRpcFBvc2l0aW9uKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudG9vbHRpcFBvc2l0aW9uID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgYSBjdXN0b20gdGVtcGxhdGUgZm9yIHRoZSBjb250ZW50IG9mIHRoZSB0b29sdGlwLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHRvb2x0aXBUZW1wbGF0ZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC50b29sdGlwVGVtcGxhdGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB0b29sdGlwVGVtcGxhdGUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBUZW1wbGF0ZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBJZiB0cnVlLCB0aGUgZWxlbWVudCBjYW5ub3QgYmUgZm9jdXNlZC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB1bmZvY3VzYWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudW5mb2N1c2FibGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB1bmZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnVuZm9jdXNhYmxlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgb2YgdGhlIGVsZW1lbnQuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBlbGVtZW50IGlzIGNoYW5nZWQuXHJcblx0KiAgQHBhcmFtIGV2ZW50LiBUaGUgY3VzdG9tIGV2ZW50LiBcdEN1c3RvbSBldmVudCB3YXMgY3JlYXRlZCB3aXRoOiBldmVudC5kZXRhaWwoXHRvbGRWYWx1ZSwgXHR2YWx1ZSlcclxuXHQqICAgb2xkVmFsdWUgLSBUaGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYmVmb3JlIGl0IHdhcyBjaGFuZ2VkLlxyXG5cdCogICB2YWx1ZSAtIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnQuXHJcblx0Ki9cclxuXHRAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRm9jdXNlcyB0aGUgZWxlbWVudC4gXHJcblx0Ki9cclxuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC53aGVuUmVuZGVyZWQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBUaGUgbWV0aG9kIGlzIHVzZWQgdG8gcmVzZXQgaW5wdXQgdG8gaXQncyBpbml0aWFsIHZhbHVlLiAgXHJcblx0Ki9cclxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC53aGVuUmVuZGVyZWQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cdGdldCBpc1JlbmRlcmVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5pc1JlbmRlcmVkIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHR9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICAgIHRoYXQub25DcmVhdGUuZW1pdCh0aGF0Lm5hdGl2ZUVsZW1lbnQpO1xyXG5cclxuXHRcdFNtYXJ0LlJlbmRlcigpO1xyXG5cclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzbWFydC1hbmd1bGFyJyk7XHJcblxyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LndoZW5SZW5kZXJlZCgoKSA9PiB7IHRoYXQub25SZWFkeS5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7IH0pO1xyXG5cdFx0dGhpcy5saXN0ZW4oKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy51bmxpc3RlbigpO1xyXG5cdH1cclxuXHJcblx0X2luaXRpYWxDaGFuZ2UgPSB0cnVlOyBcclxuXHJcblx0Z2V0IG5nVmFsdWUoKTogYW55IHtcclxuXHRcdGlmICghdGhpcy5uYXRpdmVFbGVtZW50KSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG5cdFx0cmV0dXJuIHZhbHVlO1xyXG5cdH1cclxuXHJcblx0c2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMubmF0aXZlRWxlbWVudCkge1xyXG5cdFx0ICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcclxuXHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQud2hlblJlbmRlcmVkKCgpID0+IHtcclxuXHRcdFx0dGhhdC52YWx1ZSA9IG5vcm1hbGl6ZWRWYWx1ZTtcclxuXHRcdFx0aWYgKHRoYXQuX2luaXRpYWxDaGFuZ2UgPT09IGZhbHNlKSB7XHJcblx0ICAgIFx0XHR0aGF0Ll9vbkNoYW5nZSh0aGF0LnZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHRyZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuXHRcdFx0Zm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcblx0XHRcdFx0aWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XHJcblx0XHRcdFx0XHR0aGlzLm5hdGl2ZUVsZW1lbnRbcHJvcE5hbWVdID0gY2hhbmdlc1twcm9wTmFtZV0uY3VycmVudFZhbHVlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBBZGQgZXZlbnQgbGlzdGVuZXJzLiAqL1xyXG5cdHByaXZhdGUgbGlzdGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cdFx0dGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VIYW5kbGVyJ10gPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7IHRoYXQub25DaGFuZ2UuZW1pdChldmVudCk7IH1cclxuXHRcdHRoYXQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZUhhbmRsZXInXSk7XHJcblxyXG5cclxuICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZU1vZGVsSGFuZGxlciddID0gKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGF0Ll9pbml0aWFsQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoYXQuX29uQ2hhbmdlKHRoYXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2JsdXJNb2RlbEhhbmRsZXInXSA9IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5fb25Ub3VjaGVkKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQud2hlblJlbmRlcmVkKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoYXQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10gPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VNb2RlbEhhbmRsZXInXShldmVudCk7IH0sIDUwKTtcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VNb2RlbEhhbmRsZXInXSk7XHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoYXQuZXZlbnRIYW5kbGVyc1snYmx1ck1vZGVsSGFuZGxlciddKTtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gUmVtb3ZlIGV2ZW50IGxpc3RlbmVycy4gKi9cclxuXHRwcml2YXRlIHVubGlzdGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cdFx0aWYgKHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlSGFuZGxlciddKSB7XHJcblx0XHRcdHRoYXQubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZUhhbmRsZXInXSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlTW9kZWxIYW5kbGVyJ10pIHtcclxuXHRcdFx0dGhhdC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICBpZiAodGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpIHtcclxuICAgICAgICAgICAgICAgICAgdGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcblx0XHRpZiAodGhhdC5ldmVudEhhbmRsZXJzWydibHVyTW9kZWxIYW5kbGVyJ10pIHtcclxuXHRcdFx0dGhhdC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2JsdXJNb2RlbEhhbmRsZXInXSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PasswordTextBoxComponent } from './smart.passwordtextbox';
3
- import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
4
- export class PasswordTextBoxModule {
5
- }
6
- PasswordTextBoxModule.decorators = [
7
- { type: NgModule, args: [{
8
- declarations: [PasswordTextBoxComponent],
9
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
- exports: [PasswordTextBoxComponent]
11
- },] }
12
- ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQucGFzc3dvcmR0ZXh0Ym94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQucGFzc3dvcmR0ZXh0Ym94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQVF4RCxNQUFNLE9BQU8scUJBQXFCOzs7WUFOakMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUGFzc3dvcmRUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC5wYXNzd29yZHRleHRib3gnO1xyXG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkVGV4dEJveENvbXBvbmVudF0sXHJcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG5cdGV4cG9ydHM6IFtQYXNzd29yZFRleHRCb3hDb21wb25lbnRdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRUZXh0Qm94TW9kdWxlIHsgfVxyXG4iXX0=