From 8372ad5b40b738f41a469b8b80fc93217f6270c3 Mon Sep 17 00:00:00 2001 From: "Edwin P. Magezi" Date: Mon, 25 Jul 2016 22:57:54 +0300 Subject: [PATCH 1/5] Fixes, enhancements, code refactoring Issues include: - https://github.com/mendix/LoginForm/issues/12 Enhancements: - https://github.com/mendix/LoginForm/issues/15 - https://github.com/mendix/LoginForm/issues/14 - https://github.com/mendix/LoginForm/issues/13 --- .jshintrc | 3 + src/LoginForm/LoginForm.xml | 101 ++-- src/LoginForm/widget/LoginForm.js | 496 ++++++++++-------- src/LoginForm/widget/templates/LoginForm.html | 21 +- .../LoginFormWithoutShowPassword.html | 16 + src/LoginForm/widget/ui/LoginForm.css | 4 + test/LoginForm Test.mpr | Bin 598016 -> 896000 bytes test/widgets/LoginForm.mpk | Bin 6259 -> 8604 bytes 8 files changed, 390 insertions(+), 251 deletions(-) create mode 100644 src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html create mode 100644 src/LoginForm/widget/ui/LoginForm.css diff --git a/.jshintrc b/.jshintrc index f73b569..fb84f6b 100644 --- a/.jshintrc +++ b/.jshintrc @@ -7,6 +7,9 @@ "quotmark" : "double", "eqeqeq" : true, "undef" : true, + "maxstatements" : 15, + "maxdepth" : 2, + "maxcomplexity" : 5, "globals" : { "mendix" : false, "mx" : false, diff --git a/src/LoginForm/LoginForm.xml b/src/LoginForm/LoginForm.xml index dcf01e5..81b285d 100644 --- a/src/LoginForm/LoginForm.xml +++ b/src/LoginForm/LoginForm.xml @@ -1,4 +1,7 @@ - + LoginForm Login form @@ -17,80 +20,105 @@ - Username placeholder + Username Placeholder Display Input box sample value - Password placeholder + Password Placeholder Display Input box sample value + + Show Labels + Display + Show username and password labels + + + Username Label + Display + Username label caption (Only used if Show Labels is Yes) + + + Password Label + Display + Password label caption (Only used if Show Labels is Yes) + - 'Login' button caption + Login Button Caption Display - Caption of login button + Login button caption - Progress bar caption + Progress Bar Caption Display - Text to display in progress bar + Text to display in progress indicator - Empty username or password text + Empty Username or Password Text Display - Text to display in case of form being submitted without username or password + Displayed when Username or Password is empty - 'Forgot password' link text + Forgot Password Link Text Display - Text to display in 'forgot password' link + Text in Forgot Password link - Show progress bar + Show Progress Bar Behavior Display a progress bar while signing in + + Login Failure Warning + Behavior + Alert that username will be blocked for 5 minutes if login fails 3 times + + + Login Failure Text + Behavior + Warning message to show when login fails twice + - Show/mask password toggle + Show/Mask Password Toggle Password - Adds a toggle button to show/mask password. + Toggle button to show/mask password. - 'Show password' button caption + Show Password Button Caption Password - The caption that is used for the show button for the value of the password. + Caption for the button that shows the password - 'Mask password' button caption + Mask Password Button Caption Password - The caption that is used for the hide button for the value of the password. + Caption for the button that masks the password - 'Show password' button image + Show Password Button Image Password - Optional image to be displayed in 'Show password' button. + Optional image to be displayed on Show Password button. - 'Mask password' button image + Mask Password Button Image Password - Optional image to be displayed in 'Mask password' button. + Optional image to be displayed on Mask Password button. - Forgot password microflow + Forgot Password Microflow Behavior - Microflow being triggered in case of 'forgot password' onclick + Triggered on clicking the Forgot Password link - Focus username input field + Focus Username Input Field Behavior - Focus the username field when the form is showed (only use this if it is not done automatically) + When form is shown, username filed takes focus (If not automatic) Convert to lowercase/uppercase Casehandling - Enables/disables automatic conversion of username input field to lowercase/uppercase + Automatic conversion of Username to lowercase/uppercase None Convert to lowercase @@ -98,14 +126,25 @@ - Auto correct + Auto-correct Mobile - Enables/disables auto correct functionality on username input field for mobile devices + Auto-correct Username - Auto capitalize + Auto-capitalize Mobile - Enables/disables auto capitalize functionality on username input field for mobile devices + Auto-capitalize Username + + + Username Keyboard Type + Mobile + The keyboard type to display when the user is entering their username + + Text + Email + Telephone Number + Number + diff --git a/src/LoginForm/widget/LoginForm.js b/src/LoginForm/widget/LoginForm.js index a6e02f5..3347f9b 100644 --- a/src/LoginForm/widget/LoginForm.js +++ b/src/LoginForm/widget/LoginForm.js @@ -1,297 +1,367 @@ -require([ - - "mxui/widget/_WidgetBase", "dijit/_Widget", "dijit/_TemplatedMixin", - "mxui/dom", "dojo/dom", "dojo/query", "dojo/dom-prop", "dojo/dom-geometry", "dojo/dom-class", "dojo/dom-construct", "dojo/dom-style", "dojo/on", "dojo/_base/lang", "dojo/_base/declare", "dojo/text", "dojo/dom-attr", "dojo/request/xhr", "dojo/_base/json", - "dojo/_base/event", "dojo/_base/window", - "dojo/text!LoginForm/widget/templates/LoginForm.html" - -], function (_WidgetBase, _Widget, _TemplatedMixin, domMx, dom, domQuery, domProp, domGeom, domClass, domConstruct, domStyle, on, lang, declare, text, attr, xhr, dojoJSON, event, win, template) { - +/*global logger mendix*/ +define([ + + "mxui/widget/_WidgetBase", "dijit/_TemplatedMixin", + "mxui/dom", "dojo/dom", "dojo/query", "dojo/dom-class", "dojo/dom-construct", "dojo/dom-style", + "dojo/on", "dojo/_base/lang", "dojo/_base/declare", + "dojo/text", "dojo/dom-attr", "dojo/request/xhr", "dojo/json", + "dojo/_base/event", "dojo/html", "dojo/has", + "dojo/text!LoginForm/widget/templates/LoginForm.html", + "dojo/text!LoginForm/widget/templates/LoginFormWithoutShowPassword.html", "dojo/sniff" + +], function (_WidgetBase, _TemplatedMixin, dom, dojoDom, dojoQuery, domClass, domConstruct, domStyle, dojoOn, dojoLang, declare, text, domAttr, dojoXhr, dojoJSON, dojoEvent, dojoHtml, dojoHas, template, templateWithoutShowPassword) { + "use strict"; // Declare widget. - return declare("LoginForm.widget.LoginForm", [ _WidgetBase, _Widget, _TemplatedMixin ], { + return declare("LoginForm.widget.LoginForm", [ _WidgetBase, _TemplatedMixin ], { // Template path - templateString: template, - + templateString: "", + + // DOM Elements + loginFormNode: null, + alertMessageNode: null, + usernameInputNode: null, + passwordContainerNode: null, + passwordInputNode: null, + passwordVisibilityToggleButtonNode: null, + submitButtonNode: null, + forgotPasswordNode: null, + forgotPasswordLinkNode: null, + usernameLabelNode: null, + passwordLabelNode: null, + + // Parameters configured in the Modeler. + userexample: "Username", + passexample: "Password", + logintext: "Login", + progresstext: "", + emptytext: "No username or password given", + forgottext: "Forgot your password?", + showprogress: false, + showPasswordView: true, + showButtonCaption: "Show", + hideButtonCaption: "Mask", + showImage: "", + hideImage: "", + forgotmf: "", + dofocus: false, + convertCase: "none", + autoCorrect: false, + autoCapitalize: false, + keyboardType: "text", + showLabels: false, + usernameLabel: "User name", + passwordLabel: "Password", + showLoginFailureWarning: false, + loginFailureText: "Your account will be blocked for 5 minutes if login with the same username fails thrice!", + + // Internal variables. Non-primitives created in the prototype are shared between all widget instances. _handle: null, _userInput : null, _passInput : null, - _captionShow : null, - _captionHide : null, + _captionShow : "", + _captionHide : "", _indicator : null, _i18nmap : null, _setup: false, + _loginForm_FailedAttempts: 0, + + postMixInProperties: function () { + logger.debug(this.id + ".postMixInProperties"); + if (this.showPasswordView === true) { + this.templateString = template; + } else { + this.templateString = templateWithoutShowPassword; + } + + }, postCreate: function () { - this._setupWidget(); + logger.debug(this.id + ".postCreate"); + + this._getI18NMap(); + this._updateRendering(); this._setupEvents(); }, update: function (obj, callback) { - if (!this._setup) { - this._setupWidget(callback); - } else { - callback(); - } + logger.debug(this.id + ".update"); + + mendix.lang.nullExec(callback); }, - _setupWidget: function (callback) { + _updateRendering: function () { + logger.debug(this.id + "._updateRendering"); + + domClass.add(this.alertMessageNode, "hide"); + this._addMobileOptions(); + this._showLabels(); + // Check if user wants to display the show-password toggle + if (this.showPasswordView === true) { + this._styleMaskPasswordButton(); + this._styleShowPasswordButton(); + domConstruct.place(this._captionShow, this.passwordVisibilityToggleButtonNode, "only"); + } - if (this.showImage) { - this._captionShow = ""; - } else { - this._captionShow = ""; + this._setUsernameInputAttributes(); + this._forgotPasswordLink(); + + // Captures focus for the input node. (Already automatically set, so can only if not done automatically) + if (this.dofocus) { + this._focusNode(); } - if (this.hideImage) { - this._captionHide = ""; - } else { - this._captionHide = ""; + + }, + /** + * Conditionally sets the icon and caption of the show-password button + * @private + */ + _styleShowPasswordButton: function () { + if (this.showImage) { + this._captionShow = ""; } - if (this.showButtonCaption !== "") { + if (this.showButtonCaption.trim() !== "") { if (this.showImage) { this._captionShow += " "; } this._captionShow += this.showButtonCaption; } + }, + /** + * Conditionally sets the icon and caption of the mask-password button + * @private + */ + _styleMaskPasswordButton: function () { + if (this.hideImage) { + this._captionHide = ""; + } - if (this.hideButtonCaption !== "") { + if (this.hideButtonCaption.trim() !== "") { if (this.hideImage) { this._captionHide += " "; } this._captionHide += this.hideButtonCaption; } - - var templateWithView = [ - "
", - " ", - "
" + this._captionShow + "
", - "
" - ].join(""); - var templateWithoutView = ""; - - //Setup controls - this._userInput = this.usernameInput; - attr.set(this._userInput, "placeholder", this.userexample); - - if (this.showPasswordView === false) { - this.passwordContainer.innerHTML = templateWithoutView; - } else { - this.passwordContainer.innerHTML = templateWithView; - this.connect(dom.byId(this.id + "_view"), "click", dojo.hitch(this, function () { - if (attr.get(this._passInput, "type") === "password") { - attr.set(this._passInput, "type", "text"); - dom.byId(this.id + "_view").innerHTML = this._captionHide; - } else { - attr.set(this._passInput, "type", "password"); - dom.byId(this.id + "_view").innerHTML = this._captionShow; - } - })); - } - this._passInput = dom.byId(this.id + "_password"); - - attr.set(this._passInput, "placeholder", this.passexample); - + }, + /** + * Conditionally sets the Username node input attributes + * e.g autocorrect, autocapitalize, text-transform + * @private + */ + _setUsernameInputAttributes: function () { if (this.autoCorrect) { - attr.set(this._userInput, "autocorrect", "on"); + domAttr.set(this.usernameInputNode, "autocorrect", "on"); } if (this.autoCapitalize && this.convertCase !== "none") { - attr.set(this._userInput, "autocapitalize", "on"); + domAttr.set(this.usernameInputNode, "autocapitalize", "on"); } if (this.convertCase === "toLowerCase") { - domStyle.set(this._userInput, "text-transform", "lowercase"); + domStyle.set(this.usernameInputNode, "text-transform", "lowercase"); } else if (this.convertCase === "toUpperCase") { - domStyle.set(this._userInput, "text-transform", "uppercase"); - } - - - // Setup text input elements - this.submitButton.value = this.logintext; - + domStyle.set(this.usernameInputNode, "text-transform", "uppercase"); + }// Else this.convertCase === "None", in which case, do nothing + }, + /** + * Shows or hides the forgot-password link + * @private + */ + _forgotPasswordLink: function () { if (this.forgotmf) { - this.forgotLink.innerHTML = this.forgottext; + dojoHtml.set(this.forgotPasswordLinkNode, this.forgottext); } else { - domStyle.set(this.forgotPane, "display", "none"); + domClass.add(this.forgotPasswordNode, "hide"); + } + }, + /** + * Controls what happens when Login Fails based on the passed in response code + * @param code + * @private + */ + _loginFailed : function(code) { + logger.debug(this.id + "._loginFailed"); + var message = ""; + + if (this._indicator) { + mx.ui.hideProgress(this._indicator); } - domStyle.set(this.messageNode, "display", "none"); + message = this.getStatusMessage(code); - this._getI18NMap(); + logger.warn("Login has failed with Code: " + code + " and Message: " + message); - if (this.showprogress) { - this._indicator = mx.ui.getProgress(this.progresstext); + if(this.showLoginFailureWarning) { + if(this._loginForm_FailedAttempts === 1) { + message += "
" + this.loginFailureText; + } + this._loginForm_FailedAttempts++; } - if (typeof this.dofocus !== "undefined" && this.dofocus) { - this._focusNode(); - } - mendix.lang.nullExec(callback); + dojoHtml.set(this.alertMessageNode, message); + domClass.remove(this.alertMessageNode, "hide"); }, - _setupEvents: function () { - - on(this.loginForm, "submit", lang.hitch(this, function(e) { - var user = null, - pass = null, - promise = null; - - domStyle.set(this.messageNode, "display", "none"); - - if (attr.get(this._passInput, "type") === "text") { - attr.set(this._passInput, "type", "password"); - dom.byId(this.id + "_view").innerHTML = this._captionShow; - } - - logger.debug(this.id + ".submitForm"); - - user = this._userInput.value; - pass = this._passInput.value; - - if (user && pass) { - if (typeof this._indicator !== "undefined" && this._indicator) { - this._indicator.start(); - } - - // local testing requires you to login with MxAdmin, which is case sensitive - if (user.toLowerCase() === "mxadmin") { - user = "MxAdmin"; - } - - dojo.rawXhrPost({ - url : mx.baseUrl, - mimetype : "application/json", - contentType : "application/json", - handleAs : "json", - headers : { - "csrfToken" : mx.session.getCSRFToken() - }, - postData : dojoJSON.toJson({ - action : "login", - params : { - username : user, - password : pass, - locale : "" - } - }), - handle : lang.hitch(this, this._validate) - }); - - } else { - domStyle.set(this.messageNode, "display", "block"); - this.messageNode.innerHTML = this.emptytext; - } + translate: function (str) { + return window.i18nMap[str]; + }, - event.stop(e); + getStatusMessage: function (code) { + return this.translate("http" + code) || this.translate("httpdefault"); + }, - return false; + _setupEvents: function () { + logger.debug(this.id + "._setupEvents"); - })); + this.own(dojoOn(this.loginFormNode, "submit", dojoLang.hitch(this, this._loginUser))); if (this.forgotmf) { - on(this.forgotLink, "click", lang.hitch(this, function(e) { - logger.debug(this.id + ".forgotPwd"); - - var action = this.forgotmf; - - if (action) { - mx.data.action({ - params : { - actionname : action - }, - callback : function() { - // ok - }, - error : function() { - logger.error(this.id + ".forgotPwd: Error while calling microflow"); - } - }); - } - - event.stop(e); - })); + this.own(dojoOn(this.forgotPasswordLinkNode, "click", dojoLang.hitch(this, this._forgotPassword))); } - on(this._userInput, "keyup", lang.hitch(this, function(e) { - if (this.convertCase === "toUpperCase") { - this._userInput.value = this._userInput.value.toUpperCase(); - } else if (this.convertCase === "toLowerCase") { - this._userInput.value = this._userInput.value.toLowerCase(); - } - })); + if(this.passwordVisibilityToggleButtonNode) { + this.own(dojoOn(this.passwordVisibilityToggleButtonNode, "click", dojoLang.hitch(this, this.togglePasswordVisibility))); + } }, - /** - * Interaction widget methods. + * Widget Interaction Methods. * ====================== */ - _loadData: function () { - // TODO, get aditional data from mendix. - }, - _validate : function(response, ioArgs) { - var i18nmap = null, - span = null, - message = " "; + /** + * Attempts to login the user. Takes in an Event Parameter + * @param e + * @private + */ + _loginUser: function(e) { + logger.debug(this.id + ".submitForm"); + + domClass.add(this.alertMessageNode, "hide"); - if (typeof this._indicator !== "undefined" && this._indicator) { - this._indicator.stop(); + if (domAttr.get(this.passwordInputNode, "type") === "text") { + this.togglePasswordVisibility(); } - i18nmap = this._i18nmap; - - switch(ioArgs.xhr.status) { - case 200 : - mx.login(); - return; - case 400 : - case 401 : - message += i18nmap.http401; - break; - case 402 : - case 403 : - message += i18nmap.http401; - break; - case 404 : - message += i18nmap.http404; - break; - case 500 : - message += i18nmap.http500; - break; - case 503 : - message += i18nmap.http503; - break; - default : - message += i18nmap.httpdefault; - break; + var username = this._changeCase(this.usernameInputNode.value); + var password = this.passwordInputNode.value; + + if (username && password) { + if (this.showprogress) { + logger.debug("Showing Progress!!"); + this._indicator = mx.ui.showProgress(); + } + + mx.login(username, password, function(response) { + // Login Successful + }, dojoLang.hitch(this, function(response) { + this._loginFailed(response); + })); + + } else { + domClass.remove(this.alertMessageNode, "hide"); + this.alertMessageNode.innerHTML = this.emptytext; } - this.messageNode.innerHTML = message; // is only reached when xhrstatus !== 200 - domStyle.set(this.messageNode, "display", "block"); + dojoEvent.stop(e); + + }, + /** + * Triggers Forgot-Password Microflow. Takes in an event parameter + * @param e + * @private + */ + _forgotPassword: function(e) { + logger.debug(this.id + "._forgotPassword"); + + mx.data.action({ + params : { + actionname : this.forgotmf + }, + callback : function() { + logger.debug("Forgot Password Microflow Triggered Successfully!"); + }, + error : dojoLang.hitch(this, function(error) { + logger.error(this.id + "._forgotPassword: Error while calling microflow " + this.forgotmf, error); + }) + }); + + dojoEvent.stop(e); + }, + /** + * Show/hide the Password + */ + togglePasswordVisibility : function () { + if (domAttr.get(this.passwordInputNode, "type") === "password") { + domAttr.set(this.passwordInputNode, "type", "text"); + dojoHtml.set(this.passwordVisibilityToggleButtonNode, this._captionHide); + } else { + domAttr.set(this.passwordInputNode, "type", "password"); + dojoHtml.set(this.passwordVisibilityToggleButtonNode, this._captionShow); + } }, _getI18NMap : function() { - logger.debug(this.id + ".injectI18NMap"); + logger.debug(this.id + "._getI18NMap"); if (!window.i18n) { - dojo.xhrGet({ - url : mx.appUrl + "js/login_i18n.js", - handleAs : "javascript", - sync : true + dojoXhr(mx.appUrl + "js/login_i18n.js", { + handleAs: "javascript" + }).then(dojoLang.hitch(this, function(data){ + this._i18nmap = window.i18nMap; + }), function(err){ + logger.debug(this.id + "._getI18Map: Failed to get i18NMap!", err); + }, function(evt){ + // Handle a progress event from the request if the + // browser supports XHR2 }); } - this._i18nmap = window.i18nMap; + + }, + /** + * Changes the Case of the passed in username to either uppercase or lowercase + * @param username + * @private + */ + _changeCase: function (username) { + if (this.convertCase === "toUpperCase") { + return username.toUpperCase(); + } else if (this.convertCase === "toLowerCase") { + return username.toLowerCase(); + } + + return username; }, _focusNode : function() { - logger.debug(this.id + ".focusNode"); + logger.debug(this.id + "._focusNode"); - setTimeout(lang.hitch(this, function() { - this.usernameInput.focus(); + //Even with timeout set to 0, function code is made asynchronous + setTimeout(dojoLang.hitch(this, function() { + this.usernameInputNode.focus(); }), 0); + + }, + /** + * Detects if widget is running on mobile device and sets the available options e.g Keyboard Type + * @private + */ + _addMobileOptions: function () { + if(dojoHas("ios") || dojoHas("android") || dojoHas("bb")) { + domAttr.set(this.usernameInputNode, "type", this.keyboardType); + } + }, + /** + * Handles whether to show/hide the Username and Password Labels + * @private + */ + _showLabels: function () { + if(this.showLabels) { + domClass.remove(this.usernameLabelNode, "hidden"); + domClass.remove(this.passwordLabelNode, "hidden"); + } } }); diff --git a/src/LoginForm/widget/templates/LoginForm.html b/src/LoginForm/widget/templates/LoginForm.html index 48e4122..d337aae 100644 --- a/src/LoginForm/widget/templates/LoginForm.html +++ b/src/LoginForm/widget/templates/LoginForm.html @@ -1,12 +1,19 @@ -
-
+ +
- + +
-
- - - +
+
+ + +
+
+
+ + + diff --git a/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html b/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html new file mode 100644 index 0000000..65a0bb0 --- /dev/null +++ b/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html @@ -0,0 +1,16 @@ +
+
+
+
+ + +
+
+ + +
+ + + + +
diff --git a/src/LoginForm/widget/ui/LoginForm.css b/src/LoginForm/widget/ui/LoginForm.css new file mode 100644 index 0000000..844d193 --- /dev/null +++ b/src/LoginForm/widget/ui/LoginForm.css @@ -0,0 +1,4 @@ + +.hide { + display: none; +} \ No newline at end of file diff --git a/test/LoginForm Test.mpr b/test/LoginForm Test.mpr index ff3bd6220b93ac884880082a54566f52af32d7fc..726f924eabd7bed0116f77f01e33add73832593d 100644 GIT binary patch delta 112896 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

dzblN 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 DV-1Qr diff --git a/test/widgets/LoginForm.mpk b/test/widgets/LoginForm.mpk index d02d30b6c5580ed5504cac9495cf1e6b459211ff..46f7104151b8aa3f304cdfae2d403e2147b6c403 100644 GIT binary patch literal 8604 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 literal 6259 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 From d57e66f17e8826eb48346dd0c195b6f1f917b42f Mon Sep 17 00:00:00 2001 From: "Edwin P. Magezi" Date: Tue, 26 Jul 2016 12:30:35 +0300 Subject: [PATCH 2/5] Code Cleaning Added comments and formatting --- .gitignore | 1 + .jshintrc | 5 + README.md | 17 +- package.json | 2 +- src/LoginForm/LoginForm.xml | 22 +- src/LoginForm/widget/LoginForm.js | 195 ++++++----- src/LoginForm/widget/templates/LoginForm.html | 4 +- .../LoginFormWithoutShowPassword.html | 2 +- src/LoginForm/widget/ui/LoginForm.css | 5 +- src/package.xml | 2 +- test/LoginForm Test.mpr | Bin 896000 -> 997376 bytes test/widgets/LoginForm.mpk | Bin 8604 -> 9190 bytes xsd/widget.xsd | 309 +++++++++--------- 13 files changed, 298 insertions(+), 266 deletions(-) diff --git a/.gitignore b/.gitignore index 4f4740d..b36a0c9 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ node_modules/ *DS_Store* .vscode/ *.bak +*.mda diff --git a/.jshintrc b/.jshintrc index fb84f6b..2bbba13 100644 --- a/.jshintrc +++ b/.jshintrc @@ -10,6 +10,11 @@ "maxstatements" : 15, "maxdepth" : 2, "maxcomplexity" : 5, + "nonbsp" : true, + "nonem" : true, + "unparam" : true, + "plusplus" : true, + "regexp" : true, "globals" : { "mendix" : false, "mx" : false, diff --git a/README.md b/README.md index acf0fe9..0f13b56 100644 --- a/README.md +++ b/README.md @@ -23,27 +23,30 @@ For more information on contributing to this repository visit [Contributing to a ### Display * *Username placeholder* - Standard text to be displayed in username field * *Password placeholder* - Standard text to be displayed in password field -* *'Login' button caption* - Text to be displayed on login button +* *Username Label* - Username label caption +* *Password Label* - Password label caption +* *Login button caption* - Text to be displayed on login button * *Progress bar caption* - Text to display in progress bar, displayed while login request executes * *Empty username/password message* - Feedback message shown when a user didn't provide all credentials -* *'Forgot password' link text* - Text to use in Forgot password link +* *Forgot password link text* - Text to use in the Forgot password link ### Behaviour * *Show progress bar* - Display a progress bar while signing in * *Forgot password microflow* - Microflow being triggered in case of 'forgot password' onclick * *Focus username input field* - Move focus to username field when the form is showed (only use this if it is not done automatically) - +* *Login Failure Text* - Warning message to show when login fails twice ### Mobile * *Auto capitalize* - Enables/disables auto capitalize functionality on username input field for mobile devices * *Auto correct* - Enables/disables auto correct functionality on username input field for mobile devices +* *Username Keyboard Type* - The keyboard type to display when the user is entering their username ### Password * *Show/mask password toggle* - Adds a toggle button to show/mask password.* -* *'Show password' button caption* - The caption that is used for the show button for the value of the password -* *'Mask password' button caption* - The caption that is used for the hide button for the value of the password -* *'Show password' button image* - Optional image to be displayed in 'Show password' button -* *'Mask password' button image* - Optional image to be displayed in 'Mask password' button +* *Show password button caption* - The caption that is used for the show button for the value of the password +* *Mask password button caption* - The caption that is used for the hide button for the value of the password +* *Show password button image* - Optional image to be displayed in 'Show password' button +* *Mask password button image* - Optional image to be displayed in 'Mask password' button ### Casehandling * Convert to lower/uppercase - this option will convert user name input to upper/lower case. Using this functionality only makes practical sense when all usernames defined in your application are either upper or lower cased. diff --git a/package.json b/package.json index a834f09..1fef73d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "LoginForm", - "version": "3.4.0", + "version": "3.5.0", "description": "A custom login form which can be used as an alternative to the default Mendix login page.", "license": "", "author": "", diff --git a/src/LoginForm/LoginForm.xml b/src/LoginForm/LoginForm.xml index 81b285d..a3f61d9 100644 --- a/src/LoginForm/LoginForm.xml +++ b/src/LoginForm/LoginForm.xml @@ -79,6 +79,17 @@ Behavior Warning message to show when login fails twice + + Forgot Password Microflow + Behavior + Triggered on clicking the Forgot Password link + + + + Focus Username Input Field + Behavior + When form is shown, username filed takes focus (If not automatic) + Show/Mask Password Toggle Password @@ -104,17 +115,6 @@ Password Optional image to be displayed on Mask Password button. - - Forgot Password Microflow - Behavior - Triggered on clicking the Forgot Password link - - - - Focus Username Input Field - Behavior - When form is shown, username filed takes focus (If not automatic) - Convert to lowercase/uppercase Casehandling diff --git a/src/LoginForm/widget/LoginForm.js b/src/LoginForm/widget/LoginForm.js index 3347f9b..be8ad06 100644 --- a/src/LoginForm/widget/LoginForm.js +++ b/src/LoginForm/widget/LoginForm.js @@ -1,20 +1,41 @@ -/*global logger mendix*/ +/*jslint browser: true, devel:true, nomen:true, unparam:true, plusplus: true, regexp: true*/ +/*global logger, mendix, define, mx, dojo*/ +/** + LoginForm + ======================== + @file : LoginForm.js + @version : 3.5.0 + @author : Mendix + @date : 7/26/2016 + @copyright : {{copyright}} + @license : Apache 2.0 + Documentation + ======================== + A custom login form which can be used as an alternative to the default Mendix login page. + */ define([ - "mxui/widget/_WidgetBase", "dijit/_TemplatedMixin", - "mxui/dom", "dojo/dom", "dojo/query", "dojo/dom-class", "dojo/dom-construct", "dojo/dom-style", - "dojo/on", "dojo/_base/lang", "dojo/_base/declare", - "dojo/text", "dojo/dom-attr", "dojo/request/xhr", "dojo/json", + "mxui/widget/_WidgetBase", "dijit/_TemplatedMixin", "mxui/dom", + "dojo/dom", "dojo/query", "dojo/dom-class", + "dojo/dom-construct", "dojo/dom-style", "dojo/on", + "dojo/_base/lang", "dojo/_base/declare", "dojo/text", + "dojo/dom-attr", "dojo/request/xhr", "dojo/json", "dojo/_base/event", "dojo/html", "dojo/has", "dojo/text!LoginForm/widget/templates/LoginForm.html", "dojo/text!LoginForm/widget/templates/LoginFormWithoutShowPassword.html", "dojo/sniff" -], function (_WidgetBase, _TemplatedMixin, dom, dojoDom, dojoQuery, domClass, domConstruct, domStyle, dojoOn, dojoLang, declare, text, domAttr, dojoXhr, dojoJSON, dojoEvent, dojoHtml, dojoHas, template, templateWithoutShowPassword) { +], function (_WidgetBase, _TemplatedMixin, dom, + dojoDom, dojoQuery, domClass, + domConstruct, domStyle, dojoOn, + dojoLang, declare, text, + domAttr, dojoXhr, dojoJSON, + dojoEvent, dojoHtml, dojoHas, + template, templateWithoutShowPassword) { "use strict"; // Declare widget. - return declare("LoginForm.widget.LoginForm", [ _WidgetBase, _TemplatedMixin ], { + return declare ("LoginForm.widget.LoginForm", [ _WidgetBase, _TemplatedMixin ], { - // Template path + // Template path, set in the postMixInProperties function templateString: "", // DOM Elements @@ -31,29 +52,44 @@ define([ passwordLabelNode: null, // Parameters configured in the Modeler. + /** + * Display + */ userexample: "Username", passexample: "Password", logintext: "Login", progresstext: "", emptytext: "No username or password given", forgottext: "Forgot your password?", + showLabels: false, + usernameLabel: "User name", + passwordLabel: "Password", + /** + * Behaviour + */ showprogress: false, + forgotmf: "", + dofocus: false, + showLoginFailureWarning: false, + loginFailureText: "Your account will be blocked for 5 minutes if login with the same username fails thrice!", + /** + * Password + */ showPasswordView: true, showButtonCaption: "Show", hideButtonCaption: "Mask", showImage: "", hideImage: "", - forgotmf: "", - dofocus: false, - convertCase: "none", + /** + * Mobile + */ autoCorrect: false, autoCapitalize: false, keyboardType: "text", - showLabels: false, - usernameLabel: "User name", - passwordLabel: "Password", - showLoginFailureWarning: false, - loginFailureText: "Your account will be blocked for 5 minutes if login with the same username fails thrice!", + /** + * Case Handling + */ + convertCase: "none", // Internal variables. Non-primitives created in the prototype are shared between all widget instances. _handle: null, @@ -61,12 +97,11 @@ define([ _passInput : null, _captionShow : "", _captionHide : "", - _indicator : null, _i18nmap : null, _setup: false, _loginForm_FailedAttempts: 0, - + // dijit._WidgetBase.postMixInProperties is called before rendering occurs, and before any dom nodes are created. postMixInProperties: function () { logger.debug(this.id + ".postMixInProperties"); if (this.showPasswordView === true) { @@ -74,27 +109,23 @@ define([ } else { this.templateString = templateWithoutShowPassword; } - }, - + // dijit._WidgetBase.postCreate is called after constructing the widget. Implement to do extra setup work postCreate: function () { logger.debug(this.id + ".postCreate"); - this._getI18NMap(); this._updateRendering(); this._setupEvents(); }, - + // mxui.widget._WidgetBase.update is called when context is changed or initialized. Implement to re-render and / or fetch data. update: function (obj, callback) { logger.debug(this.id + ".update"); - mendix.lang.nullExec(callback); }, - + // Rerender the interface. _updateRendering: function () { logger.debug(this.id + "._updateRendering"); - - domClass.add(this.alertMessageNode, "hide"); + domClass.add(this.alertMessageNode, "hidden"); this._addMobileOptions(); this._showLabels(); // Check if user wants to display the show-password toggle @@ -119,14 +150,11 @@ define([ */ _styleShowPasswordButton: function () { if (this.showImage) { - this._captionShow = ""; + this._captionShow = ''; } if (this.showButtonCaption.trim() !== "") { - if (this.showImage) { - this._captionShow += " "; - } - this._captionShow += this.showButtonCaption; + this._captionShow += "" + this.showButtonCaption + ""; } }, /** @@ -135,14 +163,11 @@ define([ */ _styleMaskPasswordButton: function () { if (this.hideImage) { - this._captionHide = ""; + this._captionHide = ''; } if (this.hideButtonCaption.trim() !== "") { - if (this.hideImage) { - this._captionHide += " "; - } - this._captionHide += this.hideButtonCaption; + this._captionHide += "" + this.hideButtonCaption + ""; } }, /** @@ -180,47 +205,53 @@ define([ * @param code * @private */ - _loginFailed : function(code) { + _loginFailed : function (code) { logger.debug(this.id + "._loginFailed"); - var message = ""; + var message; if (this._indicator) { mx.ui.hideProgress(this._indicator); } message = this.getStatusMessage(code); - logger.warn("Login has failed with Code: " + code + " and Message: " + message); - if(this.showLoginFailureWarning) { - if(this._loginForm_FailedAttempts === 1) { + if (this.showLoginFailureWarning) { + if (this._loginForm_FailedAttempts === 1) { message += "
" + this.loginFailureText; } - this._loginForm_FailedAttempts++; + this._loginForm_FailedAttempts = this._loginForm_FailedAttempts + 1; } dojoHtml.set(this.alertMessageNode, message); - domClass.remove(this.alertMessageNode, "hide"); + domClass.remove(this.alertMessageNode, "hidden"); }, - + /** + * Retrieves the matching value from the internationalization object + * @param str + * @returns {*} + */ translate: function (str) { return window.i18nMap[str]; }, - + /** + * Gets Status message based on the login response code + * @param code + * @returns {*} + */ getStatusMessage: function (code) { return this.translate("http" + code) || this.translate("httpdefault"); }, - + // Attach events to HTML dom elements _setupEvents: function () { logger.debug(this.id + "._setupEvents"); - this.own(dojoOn(this.loginFormNode, "submit", dojoLang.hitch(this, this._loginUser))); if (this.forgotmf) { this.own(dojoOn(this.forgotPasswordLinkNode, "click", dojoLang.hitch(this, this._forgotPassword))); } - if(this.passwordVisibilityToggleButtonNode) { + if (this.passwordVisibilityToggleButtonNode) { this.own(dojoOn(this.passwordVisibilityToggleButtonNode, "click", dojoLang.hitch(this, this.togglePasswordVisibility))); } }, @@ -235,8 +266,8 @@ define([ * @param e * @private */ - _loginUser: function(e) { - logger.debug(this.id + ".submitForm"); + _loginUser: function (e) { + logger.debug(this.id + "._loginUser"); domClass.add(this.alertMessageNode, "hide"); @@ -253,36 +284,37 @@ define([ this._indicator = mx.ui.showProgress(); } - mx.login(username, password, function(response) { + mx.login(username, password, function (response) { // Login Successful - }, dojoLang.hitch(this, function(response) { + if (this._indicator) { + mx.ui.hideProgress(this._indicator); + } + }, dojoLang.hitch(this, function (response) { this._loginFailed(response); })); } else { - domClass.remove(this.alertMessageNode, "hide"); + domClass.remove(this.alertMessageNode, "hidden"); this.alertMessageNode.innerHTML = this.emptytext; } dojoEvent.stop(e); - }, /** * Triggers Forgot-Password Microflow. Takes in an event parameter * @param e * @private */ - _forgotPassword: function(e) { + _forgotPassword: function (e) { logger.debug(this.id + "._forgotPassword"); - mx.data.action({ - params : { + params: { actionname : this.forgotmf }, - callback : function() { - logger.debug("Forgot Password Microflow Triggered Successfully!"); - }, - error : dojoLang.hitch(this, function(error) { + callback: dojoLang.hitch(this, function () { + logger.debug(this.id, "Forgot Password Microflow Triggered Successfully!"); + }), + error: dojoLang.hitch(this, function (error) { logger.error(this.id + "._forgotPassword: Error while calling microflow " + this.forgotmf, error); }) }); @@ -301,24 +333,21 @@ define([ dojoHtml.set(this.passwordVisibilityToggleButtonNode, this._captionShow); } }, - - _getI18NMap : function() { + /** + * Retrieves internalization mapping + * @private + */ + _getI18NMap : function () { logger.debug(this.id + "._getI18NMap"); - if (!window.i18n) { dojoXhr(mx.appUrl + "js/login_i18n.js", { handleAs: "javascript" - }).then(dojoLang.hitch(this, function(data){ + }).then(dojoLang.hitch(this, function (data) { this._i18nmap = window.i18nMap; - }), function(err){ + }), dojoLang.hitch(this, function (err) { logger.debug(this.id + "._getI18Map: Failed to get i18NMap!", err); - }, function(evt){ - // Handle a progress event from the request if the - // browser supports XHR2 - }); + })); } - - }, /** * Changes the Case of the passed in username to either uppercase or lowercase @@ -328,28 +357,27 @@ define([ _changeCase: function (username) { if (this.convertCase === "toUpperCase") { return username.toUpperCase(); - } else if (this.convertCase === "toLowerCase") { + } + if (this.convertCase === "toLowerCase") { return username.toLowerCase(); } - return username; }, - - _focusNode : function() { + /** + * Sets focus to the username input node if not the default + * @private + */ + _focusNode : function () { logger.debug(this.id + "._focusNode"); - //Even with timeout set to 0, function code is made asynchronous - setTimeout(dojoLang.hitch(this, function() { - this.usernameInputNode.focus(); - }), 0); - + setTimeout(dojoLang.hitch(this, this.usernameInputNode.focus()), 0); }, /** * Detects if widget is running on mobile device and sets the available options e.g Keyboard Type * @private */ _addMobileOptions: function () { - if(dojoHas("ios") || dojoHas("android") || dojoHas("bb")) { + if (dojoHas("ios") || dojoHas("android") || dojoHas("bb")) { domAttr.set(this.usernameInputNode, "type", this.keyboardType); } }, @@ -358,12 +386,11 @@ define([ * @private */ _showLabels: function () { - if(this.showLabels) { + if (this.showLabels) { domClass.remove(this.usernameLabelNode, "hidden"); domClass.remove(this.passwordLabelNode, "hidden"); } } - }); }); diff --git a/src/LoginForm/widget/templates/LoginForm.html b/src/LoginForm/widget/templates/LoginForm.html index d337aae..13ac597 100644 --- a/src/LoginForm/widget/templates/LoginForm.html +++ b/src/LoginForm/widget/templates/LoginForm.html @@ -1,4 +1,4 @@ -

+
@@ -9,7 +9,7 @@
-
+
diff --git a/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html b/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html index 65a0bb0..ac4a295 100644 --- a/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html +++ b/src/LoginForm/widget/templates/LoginFormWithoutShowPassword.html @@ -1,4 +1,4 @@ - +
diff --git a/src/LoginForm/widget/ui/LoginForm.css b/src/LoginForm/widget/ui/LoginForm.css index 844d193..9be1ccb 100644 --- a/src/LoginForm/widget/ui/LoginForm.css +++ b/src/LoginForm/widget/ui/LoginForm.css @@ -1,4 +1,3 @@ - -.hide { - display: none; +.login-form-widget .toggle span { + padding-left: 5px; } \ No newline at end of file diff --git a/src/package.xml b/src/package.xml index b601a0a..2e7222a 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,6 +1,6 @@ - + diff --git a/test/LoginForm Test.mpr b/test/LoginForm Test.mpr index 726f924eabd7bed0116f77f01e33add73832593d..3a296bfa57a2c8767ae7bccebe6a4b4645a24258 100644 GIT binary patch delta 26897 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 TuTs58e6%V0Mr`@qXLb1>mnh+Y diff --git a/test/widgets/LoginForm.mpk b/test/widgets/LoginForm.mpk index 46f7104151b8aa3f304cdfae2d403e2147b6c403..7c2e31d5f236c1b76187a6e53376bd73d908ebd4 100644 GIT binary patch delta 8318 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 Dw~D0R literal 8604 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 diff --git a/xsd/widget.xsd b/xsd/widget.xsd index 4af981e..3f4c734 100644 --- a/xsd/widget.xsd +++ b/xsd/widget.xsd @@ -1,156 +1,153 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9200bc6ab53ef3df5860d0f559e6be21254fb263 Mon Sep 17 00:00:00 2001 From: "Edwin P. Magezi" Date: Tue, 26 Jul 2016 13:27:08 +0300 Subject: [PATCH 3/5] Adding Widget Test Cases & Removing Progress Text --- README.md | 1 - src/LoginForm/LoginForm.xml | 5 ----- test/LoginForm Test.mpr | Bin 997376 -> 1172480 bytes test/widgets/LoginForm.mpk | Bin 9190 -> 9155 bytes 4 files changed, 6 deletions(-) diff --git a/README.md b/README.md index 0f13b56..2676f6c 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ For more information on contributing to this repository visit [Contributing to a * *Username Label* - Username label caption * *Password Label* - Password label caption * *Login button caption* - Text to be displayed on login button -* *Progress bar caption* - Text to display in progress bar, displayed while login request executes * *Empty username/password message* - Feedback message shown when a user didn't provide all credentials * *Forgot password link text* - Text to use in the Forgot password link diff --git a/src/LoginForm/LoginForm.xml b/src/LoginForm/LoginForm.xml index a3f61d9..4473118 100644 --- a/src/LoginForm/LoginForm.xml +++ b/src/LoginForm/LoginForm.xml @@ -49,11 +49,6 @@ Display Login button caption - - Progress Bar Caption - Display - Text to display in progress indicator - Empty Username or Password Text Display diff --git a/test/LoginForm Test.mpr b/test/LoginForm Test.mpr index 3a296bfa57a2c8767ae7bccebe6a4b4645a24258..8ac754e3cbfd6e266873195ac3aa1fdb0059ba4c 100644 GIT binary patch delta 115357 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 D^+)v0 delta 85695 zcmeFacT`hN*FKztl0wNrnxaxHfTFY@0@6Z4LJ1ue6_qMQkuG2b5doDZ$j}iG1Q7*9 znkb?uVx@=$D|WGgz5C6{;klI)?{|IQTJQJ!=l8hQb|EHb&&-+GbM0&I*%Nz?8#`j0 zK3T$$KoGi2AP~`5M{4K?|t^A+yLj$Tr(;$BQ(4 zSv8A4uD;;RmC2Y%m0-F=*7`^|7m>_sS0|k}vF*5x^~$_@AY$8sT&sOtz2PCrsfIo_glyRTAw^SZ+9MoeTd8zce#?Vz2)81ExIIcT2Xq#wwtJeH| zzOT7p}I`av!<1|-%^uO|`eVavVeaX?GAqQ{l9naPjlSIy3ny~L=sHa^@ zIkv#mu3-DZ3rwcS7HrCfpNmZH3nsAA)^AFZS?;wTQ)0gA!@dhL%B&Opm)%R3 z{n`O~&r?znnX4Cm-L#ZqH~VwBm){PO!Kg1q8u2h?#a3T9?@$t(d}HqGPnBp7W}(x^ z5~vs;GIU4%Wp7qpwk;LqN+qT?Q$g=>_$BFqRe3vdKC=r<>5CU+gurgY^+P{&XhBa| zNE~y=3Nl%rHW@h05cfbdoY!nWC$Z0=?EJGpJNAMhkkLy^)ivQRe&t-yYtgh{e`PaA z)c|&Q9wBwy&@#A%>62ENvZ{BLY3GEV1S&_#+MwtZMG`4Bda(Sf6q~*GfLY~eYYS{B zx=x2ERWnyv!mFSlrx7=dU@$ z-Rx|Fi3W+8^7R4v$^4Hmfu|WFjWh?GS4*2>V7oVBg+aQ%TnM(zdhL2-SYmSsEk5>PyCQ>S12_E931?%NdQZ(+pgvh4y8g zs@#~&Y#}CIS+RcJGf>h^H9@MRJvB@%ax8Kcrd2o_B3nSob(#lV)o@4hT{bIuAI)j7 zoD%iVGMOwX0VfMlD1#uBA+$nh1z?Jjjhd{!i)ImpBM7@xfo?37r7NsTBp})Z68xx; z4uR23vlLvXGBSf9iai1af|e zvK1o;@$mP*UsdAmY1(62)0!smwK_(`SOv0!ZCveGwm#u8c77T*S}sv`k-qD=OSH8a zx`B?1=6mZ~d-<-njxss@YV2tQk}2##JK7JV=A4WMBg&@YW5oT}$7ePFGgz9sUCJDt z#p-m+#Kg+MYjd6i6NC(L3w^5k#-ga4eD3Z6Gx_e(!{@QJ#Xa-6dywR1f9R*hDiW6f zlxLGYkbUtduAentWnFb=_LV~G7v7i=|8TIU`_;Tpwv|+cdlEhS%i)M?<8*Y{zOA|+ z`G$KiX@N8|=J_kkm~5%HY@4^8!)YlmH2W||zaE>lTiWWc#_OkBlosbIT8mT>F(sms z)Z~aQruK&z4|^A9ShT0~N+B%)u+K%h!t~^0v3>FTcVG z&*P7T?sv_fF_|hp?1PII82N<}ng~J$xMlV%^YX4p`dxD;T_NQ|cG9 z#ce}t4>o{EhqUzCVli%Z{|r+WR!#{N|$dy$bnmIK*gzR^b>Kd zVDCekH!v?I&jC|T(pG`j&qzqq?vu1&q0D*%g)QiMf`1OfwRIK>v=hX0P`aUv zKPdiC0-yv!SqnWyIuLD{O!SyB#<6V z(O1-2@aJdzN)EQT-Epw01=UB`>aLxjCs9lr{K_CxNjHta=vJx%qDMVfaBtdftHQP| zA#1F;E}-`$*^=%VbhF@=JZsFr<1S^>dG%4?Ck`5#OWYyhUt}9q2WrS|TTOK_umYTg0A3d8@4!VRLTh>Ffq^7hzi)Za2@^T3Bs+NZZ`+^GKrAn6i^JqHwmP z_)$eWI7NR$lO@ZpKig>R!7CRVRwQ=MH3!61ut4s7;e|gnFIdF=nTOtc&{d6|vzPGF1S>IybK7x!r zE5ui7Km}qSmvN6^N2nRAoV?4;NLIP-R4RTMn?-iXQPy)QY7PgwSzv3|b1494(H*oQ z5btMF?}60WG*x9CLj1T#eYLI`(Dd18Tl?~RsC09&D)y+b5K*GeHw_jbE%^JUXNmA;o7hTdABk6< zl;lnw>r<0i4poDw%)kxH5wXt8a=lB;Q(lM)S$9Z%#2T_dsy1);O(C0OAFe+8t|F6$ zHiScL64oRC5+Ys&B^i_|Wj%ubxCW`z-8n+_qA?E{i%hUPA;JS4YvH^d{v7T1LFp1Z zaq(iF`$gWyri>EmCnAXbCW;`H!|q!sc4L^jx&; zxr3U5@J3@YQJg~xgVxv!`T)cp=roM`Bg7s<;>l-M1+h*@PQUrf7Npq1iFJtvw>F`! zvH#wk#RhY%$g{M9Em@(iE-|b8bi$%TESB1Px-8NPu?(^FvTzEsb>;^7MOx`v2Ca|c z*yx!|u_S?QR^$ajXDvwJloi=R%ERJME9?Y+Eo)8IZ5sJ0Doqqq8q>8WkA~?A)U#d^ zXydmoG&IC}m8(yvXN(O~gXL|j6BQhwtD&=gO@xM9q^*yorHz5fmWnZ5v-XYYI$ids zu7)zcE_KNr-((p7QS^QtUy-q+wUxJ4&^%AQRSSb1t+cpdQI@*);o*@s;Z~9MzWy<5 z?R~TzdCso(fx#y8j*~EBKoD9Br^-N6$sS4qQCXkhHSVo01zpX-o{d(`BC8J!OHO$X zbOPX8EocpqWBYyLW`yApnSnaPTWvc_H z_cS-e`CdIS!2E$lso$xjpQ}n;LCF%t8#y$Z*0sp*qh(G^^Srbxo7q6ekGvkqpZ?vp zVs5O(jypk@dsMrk(cc<3Aw`rIL}*bA$Mq+oVyo{1a~oD=yvAcO;;eAAMS3&gAl!r- zrO!CazjnU{FUx70LxSq0>r%J(JwR7C-1kC!sF6y#1UR+-=)_zv>t-EEWxJX>-O_H9aynBWb@ijAJ%1Iw3#1hoKqdGL*SD=Z&-Qt)S0)8zgFF@bHAW%6% zWk9>*3jg(caAp$j$u6 zb3?qpWEz_u?XxL8zNqD#WA9^h*o;7M19cYS6MW9|MDrD!*rqsd%lmbDz$seX7pY5C zsL!R+tdl=yBuUraFvyI%zLx$?ZRM>+#1QkM@6C!k4^@DSSgH9=f8KQ|&n7L&~_qrFB$bph7iZ1EbG@#=^Q$V2x0X5AJ$@6}E%oRo+TLe=rQWX!(}fB)ldVALqP`K8I}q_wB!U>(Bal|S4}Jlqj< zGrOK&sFN}1aHx88T7N+e-GuLEDmsUa9&VagY_sFt`<5v3Cd)Ahq=0TM#5+Joi@Z<( zZT#bOvUTwoMUaOmzQ6cj`}25iRlt)?lq;oAFdo9JpCnzTXTv>WNuMulT5%lfA0CQe zJOm!LpghEQTD^{oB$b-QFslpqo~K{>0V5J9t?o4cM8a%aaf_;cii5~(%{aaeIu5IV zUVU*{P+LXzL?^~w5I2LYpo>R2C^pL*Hw{xJf(WtM=giYSD!%%e<-ZS%cEI^gIkUU= z)G;Go^8OJcz+4U2J<6>LSZqj=JA&7nXe)K`CSH)x(vcHWcl+_nK6&%~jUx%SreYLJ zkVy7O1SQfT$9w)J?cU`JF-3UGjgd`wEB_ZpOHCv&I_0T?W%lXhfeHDiS(uVoo9c-V zW`}c+#drKzAGshR9&NR9r-1oB6zOKYna>o)&AQdCwApmvwW`~NJ2qx_M5ZJo_v0&g) z64Z+i6HKXHpmN35)H*ZgcD9(Qvz9#^wVu*pnWq}Q@5a};%hAqx&~Xsyx20o9 z;V>0cgy$s>?$SObUX{SD&R03byZlZa8^t0SYf;rfPfm;8KG_oqbz{_>07TI_33sEr zSE=h6c!UEr;R8$Y!_ARFrFrZI>u)`)_ZUcFnr@zA7=QY1Wmn&0oSCG!{RP@3OGw^6 z0HIan$pX7OKf=Vo!vUzx5NGGatYvOXryRFQEzXc)$xVKN**P;2B>C2UA~Wxzl8xEP zJF~Ibf%okBaSdHO3&4+2ZXRdaIvRYNSX;l??p1ZZRqo*qMo&_-!Qn$NbabOz{)tG| zK6a6kU9Z;a>tm5ZJO==nTf{QCc)oxioE*QEduK~cb!s*?Z|YbkD;!ix9ou@Q!g+-< z8o_XGJp@C|)VYWOc+?o8r^L;F8Dnb&OnT2{N)sMr)wHFUs~;Qdi7JcRdMp%Q!myH@P2tU_U>|$H6~BivxW8d?N@-9)DuR zU`_U;{DVrIN=7y-F8-t8*qfaUzX0DX?9yXko+ze>W7kGTPV~L^9^saq&~a{cQlR{e zUAxy6_BCIBkkevRtKviUIQgi`u5Ejs0Q~!x-;GnN}0xoH)qd2Xw0# zavdK~mIJb4!d|JD8+IF7=aX|4Z$4SP8~d<(!RnJ06l0sZPpcjm)tglV=p6*2ui^>l zxJh{dddw)oKr@xRgMLH!W>h0-rcIl-N$C%7eUKqW6RGt2zlZd-tqXKgCFKPpksKL>sEGhm)3HVJXL|08wa?L+RaM==jp4;Wk+ zV`KP?nxYkh&>wq-lj6|6G^hXB5v;KXRv(xX&Z}Z2htlt#H~lKolwnL=Lu`bkl`x3g zNmm5s2azb`;SrY)hA|3u6+I_v6&>AQVw9T7)3*Z?2YT4`yCVbp%6j&UY5NySO?x)) z=Hp3O%$DkIpBxLtZob1Zbv&h(e0Vd%ax|PB|C|sQaLEyQepDyvCcyh?X3WHmYkaV zzO`YLxp!78cVP3yMm}{W1H%)<7n@q9UjGqb6<_ek)37u*dh98Gr_cHtj6C~GO_?cI zH|?=%X_Uh}?iJSA;)a_pvMUvquXvD^@pNpyK(f&Y9k!RCHw^{Jo6=h%cUA^%qzhBDjJ9}X-aq|?f#>us#FHavgYaylSYG!KqXp= z?Beqjd)+obJ zIZC0qYOC#d(#>#4W6p_*9y!4LlR{e>6Wu}jWM`YDQXA+yamsb<8@w>xD6_=1yo9pu zSUvfMu@;si~P z3z!U=9Xfa;O-^}~azUo&sI0+)ZQGj63qK17o~XPKg)u#|@B0NkQ`=xwxvil^$>xL@ z#`IkOtgLll=bLFwkm>Q^cWe}NT%nCpxHgG)hfwpS7-Wp zci<^Q#@-C4VuM=PrZQeZ#F^Zt>rcVIu|30un>)|N?lrGI*!Ci5`kVFWI$w#$RgRHdk*bVd#{r86b%0-w&$efv-`C*?hd6!A~NYnIRl&e zvzL|VM`^iPgKejDq;5TdX`WON5htJdN`)&Y{dpafDUTpRY=fk_8=?$p!#r zai+XmH*+xIN10tkt-k(7l?2}J@B;BYaFQhJfh|0#DM($0U&n{y-Q3FJZoi z+289e23D8bRy{f;-$c6_g7Gcge#J|*v+S+QS1mDWobqBLhG6h}>>tDqep7~k2}kVc zR;e8Q(J_OaywO;CU5_sVQ*>B5S`In3%f3wd`G&9aJ|hN?6re!tS47=#%&n1AkF9#z(ysEo~CYcb|Eztn~`hgWn!8P6xl03UWH5cg?30 zqFz|-P4dd=Y9#fej*cna`175LNzYjodlsmL%!=ENsle@*eZL(YUHo<{Na^g;p5!98 z!j28*=KGjMDOF>c1CO2Odbb#lFdG9(ju7Q~Ve%KsLg05hl*F+`7se+L=RkJX#cz~? zOpaE0OYFm#XotkiY3*Um6QO)2hkn{g=t$ki!?rDhHWQTMWWcB<%v+PdZHgF?gWp62 ziJUtz?Bo-MyDW-&C3R%Vv!$_@Gtc`)%Ti(~r^fI>#p1J{@~{r!cTLQ}!SAqw)JfE48SOY)jf|kh>M*AP#1E7GF&`!#q6mJSgZ$oX>CjY&_~9IfexU z1w;g_^Ihb*CK4SjBEf_}Fd;EB;&g=LuDQ$u%==`92G7eNAk>0sXW?bQjq(q2u(6pR zXrt|5@1PNG>ATv1xkOJd%wUy{f$L(ursDhLwkI2G2pfj1e5fMN_ ze1hoO3^(%$JL_y4OB(gRJ@5?1#(srIOGipy0_VV-rJrxCp^S|^9s^+n5gsqWLBbP6 z${8moSsO6y54`CxjWkC{>7&Evbr?Yf^OLFLk)s{8$8q?LxS0H0vrkCgmOT1g4myQ z(8vs-2+}bx@cKBJsYv$vlfAjCm_tgkNVbeka=(0r!JYt|9+Iaks*NKFCGRecz1SyZ zwTCShuykMWAdu1(*5K1e$nMzKhbAf$SO;zHW+rz<+yg`A;&xL*p|$)S`mF27yP*}b zle6RWMAtUz{7jvd+L=9b#LcDQry$Y92@dlMj`)Xfg1`KSX!^SH&*$i@J_;lP?^z!$ zS}HEw=j`*hq%GsAVe96qzPCwh=Dc{GHTZI$;lfo7J^ZJ80aGKL_b^&+zmG=USijmkU7ei1w%_?kIv1`98 zbtB3JK$0mvi?(IKQ&n!&UE#Ss4WeS$hxNZKvK3yT$E(b2)+39l^rF1Ybkva}$pEPc z%1Is<=sYfc(20ijXiCctAN8FgbwvQ1LalrSQ)wUr^pY^!F1 zyFJlYT&BbPE|`;sq`M5A&YW9m+c-%?C3=e9DYT755+WPP9{DEvj$5u!Fw zG%FmJsMd>b?AAHbM^7+WnieiZAWa0G zYGi$xq1UtCovw+nP4wP)yF$ge1Zva<*TrbFL4hH820y3)=8MyUkzx<|GePHP!aQ-i z=PIYZ>hNP2GNGc~zZe(A*(Xjpa3^WLABJDo0m~&|gX7bY!mSs3Y-)(*4lg{CuA!dp zZW;A?Mc1x~E?}kBiQU^VC{RHivO+`n7e~Ih&ZV){+uWrfr zc)czV9atG~o=V#wlP$HmaBIya`{Gs7t7bm`2~U*hzyp6Y*w|TTr`QX>SjkTH@}y3< zH`N0D(o#4`Q<|84WOJfml3(go_3+N5B8TK4;_=dN<)1Ob^LQgc)Gm8Er)JmUB!Bg~ zDZg3DG=bc{@Jqjh#M@l#cS{BeZ`e6)75@n`Xnytu(e1yypIu^QJQV-#p)qIq|3po0 ziK|xMv9aAU!|J2`LKQnvJ~c@X@qNCc`1LpY?OUpQT01kE>go|WB7muV4(K9L1Wtis zw*_+i9&Q+FwW=+&D)KOCt3CWp8|%__z2b>?dy=>*AD1tg;@L^z(~<&NeS6K{@|62L zI44wx8uC5`F)@PC{I>4A&TC%gRVB%xd*fTbqC^wwPm`3IN`mMI$MXBUJs2S9iyJ%B zP}Q?zqg(>^-NUJIu1` z-fFuGU#48clE|{BapxKN-nZYixLmhEw`(#!{|s?6T=DEv&n8~VrP1(L=iVe>Uz@;= z1g&=Kd51@XmLIurpND=;6sjhvfD&K&OMxV`BS&+&iH;L2jw)R!HW_~X9HS;J)q;e= z^lEJPOq-IqO^UJ*qb9SKPdxs1>1X?$)cA}E7k6f%)Z_!AK-wAo+Ah_f+J5YsGe0{k z&*f&I_8twQlcoU`FY;_;e!}6bjs`Wm?EB%o)>CF%FiKKcAOWrYR?B79tr6z#wA)Xt zGVXv9Q>p<_s)nb|yj@Pdc`mZbCUea>pHov6e_^y_3b~`|$ICqq`7=(wyro}%8B05> zUiRE7LvfhBkM_w;Gixct$bRIoDX=xut;f#0aw^T&?hw9YpHyI}Co_~c_&<@71{rhS zo|lhe@2&?A;}@sWuz6Ob5n@V7{b60Ke)c(KU6%(s>8?`V_zQLi?;j~hjEeusbwj(Z(9f2H8}_JO|MU-3|e7P z4}NOd`a3%YMjUMHD--hST5oI-;is1EjJg+TL7Tv;-5=81Hu**DKNO@A%!MY+{0-c) zZdzxXw9awJn?hNr`*mjqMo4Z|6fFpTan-gYscxW7!aJN#NQ$35T9&=?hxvj16Lu{s zDscNvNOmdOjAI~|UpjG!zUGttQM+3C%HjA2C{$p`xPHSrTXRtf;6-$`XUIA8_cUHsuTUIJ&~ z;DoEzNiQcdqm7v$ZjRU-2rDWDKPr%8@oct2TvC$*_oj&q5+^9Y5BIVTBn;l}GF_n1p z%xCm;@kSlO5B#~w?21j(91D_dv$yi(!)c2_s5n&{oD77CC2!`R+`;`OXIXgF=V*98 z?*^s_Z#6MRcnb>^;rU6MM~Ri+r@XM)E+ny4;pJuE)JGdrlo4r?z5IzOt4!y*gK=M^ z9;#?5%yA&i=JPCg>xz+;IAh#}oiXm&t^8cO(TCY~)^1>(lGRvh=z$rhjndyYbF13s zdQ_+k`C~o7;|%^xVBj$c>8v=RFW6KNURjp!boZl8`}3Km z4{cJaFeL(j`_ZU@INrO6W`78}!ZdI+D z%F1k5)lhnP?-)ys2QV13hzC2cLwIKKYy3mQLhU)TfxBf-Fam_nEVg!^)5*$!gcQI?X zGUMw6W!c4+$9DGo?76pwACq%~xjm%0VHjPBrzo)Lj;AwFXADO$YF6F7G%3@=yqI<^>eG%NFnJkw$EqOqjcv1zf(NDqPlE8bcLts?L7hEZo>|1GcXWJ* zy?rIG{%B41#^-2vlu^5^3F-{VQxUJPMSFrWr`fepqpcP+D=A>=@E#I2dU%fts>73u z7VDo#L?vpmv*{~bQ;vn4#zv2yaTdCZky%0n%yQR!J1(1g9@B*Lq;CG}Xpnxhi?V1RwLsi$Sc)dSk2nELy+xG;JqOqIv9M%7NMUA82B{NK@DQq@62)eQSP*;+aOt zrDG>A%Wd9%B8IBj$J<75d9N4-C>WPUpQr;mXk=Z4(sShDQSsH>{ihSo3FRz#g?b0@ zEDAqeY~P~(Z$Dp^+sC!NSZfVvirBHshKu6n2MS+X9+QuM=cRM<>KMrclf*noBwa9? zK%WTGyU9_=3D4}<7YBaYrf;)pxshzM1Z(Gr)3)0^&8IBNc3NEvlhQag#_H*)X@)+G z7~m!pD;voNzir1-#Dr^%9eVoxtO_Kvt)qtRj8QtO6m2~NgpN?6{&Mp2mGP#nMHW2s z8h@`MRjJ%Vf8+C>D#oU5yMD=hZ}ULb@ znRV^x;lXDZH?%5DY`x6(Rr5Z6tyJJ<>(U!H`}~u25rOe0;EylK zT%Tj``m&$HVIh;nt)?le@JsW-QZkK!HdGJv&V*5M`;9EQ01C_DK&;#9wuo=#SSJ30 zFSB0xMt^4~vRRL2f4{exzccNzhBVuc?cB>j4ywGGG_gZLPD`rz_)3Ow<{INIHQcsB zsJGGEFFy@xVt_y*Y+l;MV|m11hdG&LFOpt=mJWi$Bc6(|UUVWC;gn+WmlEhmMA8N*u-=|`UIAsk`bL8RP@kP zoU?D<;X@T>O$tz{Hh9xXy?{Kgx;S^YnGgGz(SdWRO0GAt&mSFr(1^V4cBqbZeSToe z>htjPI$+IN`1!M;m3CWRDmcX6XMd=zE@Ppew~{C6^AY8OXNLnqO#Lm&q$OxR3jT^f zr-D`>EjF;LB@>ab*^Ov!d*1nl1^o=L=p=lW<>aAD8^|@5xnG9%^_K1V!PhPAI`Qz- zGTByU)*ib-{c{5m&}9I99q{8D+mmeCS5LM9yQ*)DBuBuLRR1|yA{|)j|2|1V(x!dj zbI42+`T)fIAow&@2_2&O{1Y6yKeoP#TmI~;WnLe-`O1emwt|jhZCvL|lQ+gz?T(jE zsnQKUte~MpxaHw>S1si(k!o@^2qd`sqRIm%{|Mb&gyYCuQpg z0DVAk?gaHL+I|B-YoUfClm*A9{E|Iwl~6kCc(?bYtlus^64>OL=y$8!sflZIqS zu(wfzk%aXbE5&68t@p_^%#$yRdyRVC8)Qj_Ft*?m8n@TwQleef{^=X%>s(Xh^B#;Z zBJJ&ImE7HDG_xb8?>g}Z??GBL9V~99+LIn)j0WgvrrN5Kj9_>Rf`{=rX##7De_kIy z+5Uz9!IQy%@IQD8na}^IpE7o?@ej4nyAUn$YIOqSUH&;*_R+!iLpVDr?_ndezV*W{a zu06NfuGN2AYxU5X3xB{8|N747y@9vc=^KyEf5`OMfJFm_j5bd{r@EJ&y|<$*3XJGu zmE0gMX&`;|Z0bBOZcNPFI~4&k7sX{sBr_oKLsXx%;ssXd=-u$2g^nH#^9vop;!E(n zEn0jD`TYFP|A(k0A(k3RB#C-}?{QRo*k#f7ABXh)9@|zqtTSr2z2yEkWFio|5GW8q z$4y@lS4lOmvkK&SIKK;l9QfJ6)IxbEE;>r*# zI}{%}_!FAoqazqJ!ADZihKciaSpcbS@<#+8B*7pFKAi4dV+w;NyQ7 zH!c_}yhcWIp-7yjAuH;BqCnLL!H6KN`XCTO9P1Pe3td1T#sxz>s)s;W2oF85CgEYq z-@`%zFod6}E&y5J{O>|rVAT{FMAjY)3*liL78b(eJ~S-!iKv9HM}UKKsC8hXmcg2D z8SpqzATERlc34~pj|9=L#qrmz4G8rmhX@3Q@Bo7!7^34430k>gA?O*VC?HOcn(w|T zb+$Y7!sU_9YZJeJ2@c_L8TLj5FdTG|Sa8W3H}yJFkN>4Ofj|tEpRO(tbmgb32TR`0 z?LU%Wzje-lP1M~2cYa)mzGZWlt{XYlAwlBQnSw=G=sEcfi2q~5d1jkW+UC-Yb+7zF z7V|?v09GSVhp$*D2;3K!wESPH$;w{?wqR75toGlctQTlz=o;byq7rq=e~YsIr6{YD z3LGCh$KZgq5x!$I+<%L+3KnNoL8p;D=rDrEaF71CI_qDmv+}tv2hbr)l}7$As>CX- z3@668<@4VL{2*WVCuy&$7tZmN}gl?lb7GoG~b{wKRK& zYCs<|b?@Mdp=-SWJm&<@G0|u+xA2*dWuES%U$-po;zkc0?ufK%4U+ z!`b>D(PNF8e9*NB4CzzUz^@>3DOM;fxVy+kqUs4}?=gq+jV9q5*aOx|e2$$|OE518 zn5^_x*l!bt7zNHY>Nsmf&q)ZfJ$!aRIazA%ehl&z&&-h#vr^%e&K6>?T9`6`jwFBe zFNRgyko&;=Go>9n<)}8lHL<>BwtbFoMp(J)=|=4P8R3(Ml)WF>6%^ijR^ff|C<+;$ z5$D1&bNf$8I~cVZU(@Qg|KwGtn{sV-)VIxcjH~OzP@~2>nYeY*Ppo!ExobXt^9?W$ zQ^!!_6iK#mS@ILx`WflcuY1L|{tIgSB4m(LVk}}=lPPJ&*|6LNdo^OFcjhYZ2h6rO zPYnr^{4BJC2Ow%((&Sl4UGx{!sK08+dOq>CO=?}kn%qqlsi^B^iM$EQ(tp$@#*Q^| zax33=>l~I%wB(xi4SVhuhbp6l*N;{>jAGeD-xRv5r_Zop*GF&MOJ_gPM*-q`B<4}B zvufu@-Vy(e&iC#JasPph=*dLV(x%WFs=FYSa_EV#&fyKQHmxyPDxca94P%{37(BE< z_Sr{U@MCJ{>xmLFV=D-)TqSU>v1h3B2T5{)ZRzpuM?Zcgit?WzgBB^R@O?MwTIyEo zUA~4qzn!^u|H32D6YJialmv11?q7fI&fFcMfAB~X*!io!xL>i|)}`;{Q?twr<&o(6 zms-svg|)3K9Ob7!pf3YMZuI#eb|rZ(a-n_y%U2R)tLl?$PWm-YEx{6p)(6RXK8YCO z?sswXUERHK8YIy8S;_7o^e8NpnWy%A`jn77)~?Y+;fH4@fj_7;MeA`XM2n@*m-?JG zwB40MP)(BHPeb>|7L;kg# z!#mj7t>-*fV+1NbdW2;W;Ui6gSwvkN&l3S&vYcJt9F{F8Gk{?#wD^%xoJ`Upj~3hG z<D^{IBnHCQ6i zFSgu7DG_b^gSRB6*G-nVg6YABX?~N)y7=IZU?LGkEVXrFt`w)`D%pH!XzypNI+fAp z(BULnvenk8$nI~Szeiz;@WC7OP$S=7hJ(=)6nh<9#0O0t8h>%dy|=rEQ=}O-$KxI+ zM?}KQI`~;OrG|4l53Z3nuiwOxSR3X!R(AxyQSu`Jy10E61`hDaLpe>Vh9NJbS=;8% zO(X#u4~(*>U+t4Vcwm^@+AtjRL8f8s8Vj7+J^P!o*Tvgu!IYu0nKZ6)v$TDz)0Fk` zQB65mXLv_WP94^9=d=(1*tX?C!2xvSj8P-!1e}hLRsLJI{4aIOUF6{Sz#w>r_ef}Y z!2h)s%%`K%!~^s$qiX@PW~!W`?kF0o6fSQ0yX8gfX`sQ=pIOeDa2U$*~Rr~gJRJrgtP{vjLt3O;jK z`{vF-7y+f-if<)v>brBSdmePne7u^%ZI-hZt{!Z1=BR!?N;pP!}}n0W0H{ zwteem7W=p!e7AMoSH4jvkvxIQcZw_$+^e&Aj@tvP*Yean;$`bHWXe~iV^=@%16AufoR%5M<+HY)$X;ju&Bgfl?z$Cy z6<)vz(31aNFhStj4SsM6e?`Z?fC_=DR3OTl&##z(;O}06pn?TiO_KNLu3Mbafr)-J zO1K<`sR||)Cl2m7YkmL}Zr8mw+R4XM|56wff8PRzqy+9}fbj4<+H)V!5k!srFhQJW!uW{u`(CNH~EI#uUddT-*o5rWWML3|L@Zo@p2c64f#vNB__X}uv5{8W1{4aPvkLAsJo7bw)QE!Y zz37>MRUkA{OcRXA6A`d-rI@>bV}ZXL20~+T4jp%wi~s|TzZwX0Cj{s!PcvE~`a1kT z$ztksI$``JDqu8>9+w>@mJ2-eD0eX@34bvT<|N@S(LtT0<$N#8A7s#oTA0fx5F5Z> z0fW75{B<#ZclQLSB{;>Wp?wJey<6xC0-+K7g;=8SB{LS z{+F|lUAWsp_zo8C?4!WtBJc%%N81t9?<^3_rY|L<#{Nv&l;kp%+tz zJX4IRC^GI`HEkYs(X2AKccCwg)rd^? zDxmDm$t-a(1McZG6~zzZax2q6qy%`pRAvFy#nx4MFGBgbl^Wx(xCozFpPO>S%zm%K ziO2IQufX>f`o+50$w@WWYt2}uPkHnOIlEG4+ahLXO8aVs@IS7Gi)M6Ma%RkYcgcdu-3TTtZ5+g5nTU0%2F z4Wj1kv@Z;6Ccx1!a${wrH2}dUqUUWy+Lhc?DF_YVr zW>;;@PASUV<%(&-bEDYX!}F-HJNR=C>T86EPc!S;mBCv+x~Hz1g?X_X7WI*??cK!6 zey~z#qx?Rsx-NnzQGa`}hyd%#KlhNm@$RJ~OH6r%bt^k}ejVUoW3|F2W1~h*gxztI z-t;xy;$sIL@B}M*&|xWY9T-xEmxp+k)EK8lES4$n|x#~$#MCRBny_AqU^=APmyWQ+YL zr<}V!&&LBZP(&{=F~8Peo9yrO{FUwL4VV&q@-}~pTi{c^p@G7mb;w@PXuLC$V3+Rq zuGrC~_QxM93yu{mwrwb`i*&}#6p`Ni%c7tzsfA%bZ6a1_9+&-%9eTiLibIw7Ll3F% zPT&3bFq_rhKeGA2JdaglY~;=_uQ`(PcBuvLbSUTc>SF!E=ZNziR|Yx=PyS7 z_0nHTMg0uk{_AEB{0IAB1?>N15+amint?}zj#)I-X54=k)vb>y#K(NF)WZ9(#dPW8 z<3v+23?OidfPdoQp(eEqf7>qH`87!GUf@hBjX6zh+`iv-UGy3G&NGKbn;(>V_-@x1 z=s>p|t*J6|+)=CNcS0i{TJAAVue(%ov&J|L1p%4GxmZRoG$Puw2ho<^Wk_b^X z2P>-rizNS1Rt4SyvR8gq180|sLww-QqrizN%&)5g_6CxKjaZ)HzRE7XYs1kJRsj() zXn5~G^?L~(e?Dj0r|Esq14qn@e&+A2wMSq|v*2A=$_KY@wf!W?+*z9T=*C^jy}yAw zx~j_BaD7Ls3QH%mRX%g>{^bzHl1pL%>cz^OJwcOs76W=?Clr!1*0UntBv~Fy&HHxa zdRiF@?ihTRZ3EDer`00;X?n_SZYmZn`Ps~drQ2#Tm?wAKOr}`{@5+M4w` zJlwd;zW{9&TL!(`jj&wT&OK8_k(()h;kfTji>8tgiUPcEWRUU-{0SQkT^J^xdFJ~5ld!Z*59Kx5>n%+~Gia00x&q@f9?Rc6H8gR^wykjr zH0YWYS%@9EsDERddX!DGNhM9_Nm_B$cdV;_ug}YszPG=3zmsjQ0q1k~i_~NMnKEtW ztmOswiW%&J%bbJd8WOk0yEm{!u}v9uR7)c2{0fG#_Zr!4yu4(h-Htn^Gj3N568X=h z8+@PcxIXwCXWyHjL(g8jH^Dl|uJFuHBE*kdKt0PgUu{eZS#&hKb)@JCV}-3V>JXy^rqOJA2nsinAi8rQ<<(`2!>i|97M!x zYiZ=jCi9~gy*xX6E^I)T0xY8f%TW+FNJs-m4Y3$xxOI`4l_8m#+~Bo_H9P@krlA)g zJIU1^99rFCmv+~#T-Dgu1>28(J!8dt^kOa275lGU(={5i_VM<`T%XB9mJPnHpP2Hy zCt%>V@?78QJhNDK&dHw3uAJpbnN2b^dy>=ZiYp!MA3We)|IMd^?I|O^WoX}>$MBJ7Hz+te2p3R z`2H&Sw-NA040LzoU$1@XE8}B<>NRfB=kB|MYNZdxcE`PnR;~~GY*HE!hgqKIS76s` z4@5JB*6(=6+Pn1PwBg)(^S_|7N$oeMCM=$BUDxkgaYI6<6PpF^T17@JTxD!3goR04 z2N3MK0Qqh2i1QwNv9)Wco@(YYuuc`$YlEY>6$}}Y-H`_6O(VmpLA=b;wTYJNz8*zS zKBXdW%k8v^7tFOyH-CKeLWLbHQH@@s-REi0VgLWI_nrY!WLw)P-3@jVyO5xw5)7yy zS(1Rz&_DxC5>(89B8mwR0TmIDEJ5NX=O|f16IB$mB8U;ioFkY=MenXEW`t@z-+S*j z=bU-(%s)d{?NEEKwVw5?FhI5}7xhabFMmE6AM{9}s$*Z}cI(JSSzjliLyCA7@q$HL zEHnMt>AtlWuM}i&#M70mD{F9r8k+Bz1-ut9 zI{5=N;?EYm`SdB@HdCTV;$qu`bT}{(&xPK1>*JaK)imqk2dz0(t7`GZeTXSP%(%*6 z*XAGA{E|c(!E;(_nfsX80<89~C;4ls7gpeSE?%<0dgAAAMrpLVJLjk82I5)kb!kWP z3&OQ6LL(&~%FvTm<5y``!E-SERJu*0ho1Ae1Lh;;BaJPh%z`KFG%k2`L;Jz5E?8s< z?Tj60w|srZ6+zpiwJfEc%nS)Qd199o8$V0EeYvNNI-V+h>8y}^hfRLr-rcAA2E9(% zmWuWb)NI+H2c;s zVGAm>YpjBdA!Vh4he$VIB=>Z{g zR#H~Px3#x&mAR=+6E9%8We&qKVWG!#zD+IAcYszySl@8-C4Ky`S*}6tk{K=5+wc!w zV`U@on5Jc#^t`%InqvYZf>F1CxyFS(b@X>eE%R=Leto{i3~mz9EucuB8PgX1$@PEH8G0-`^C{A?*jSo@4KkzgVvk1c>ZK-C9UEJgJwUFFEkueoVjzbB zh6;>T`NRq?n^+lco~%1;LzQxeCBsJg12feRTPx}xpqE<(TULJeE3RR2li}(PJk#z@ zRc4jWG>uP*Qnts*@K+Ok8+-F6n5KS?I5zphb{f9!=}-4v`ozj)WxDZ9bgn%vfLHhp zU9i7RC8eBIT0B$fsK$;p+#GoAht?gctc|wW2Xh`>$qN{1nDUB$uhEpbJB+HtSDPQa z*9!Y{p(Trxc{*w{;ytXA1wSmY-mL+xolgERR6W9PTuj}fc6*se+zH+LHrW#|y=33a zeZ)M!u72xk-*8oYJ$qAgQtx%HWd(iM61&0S&6!bLs&&@f+cS1dV%6^? z$?59J+=IH75FleTzk=@9JJCGWE_!LZWnUaVkWy8*dxc;EBQ3&pN>~1gDtw^Z8Zt^& z2CBA=!J0)i)VoFKKr_%)Mgp~Z{^?vrkhm8# z$r{C~Iz_s!-MdbfU4-Z*`;9kqz**IjCA(%y&4@8>;FTv;U3+^8V^tHPzq)j7$TY2% zzqs1|-PMmMtC~g?=BP1rBU@2kj zAjfkp)r-5^0#O0r)F>}eV_?*1j==c|k>}Q0=GMS=va=`Y07#8?p=U0ZQ2nKm%{yumt_5-yfR0RF31u)T%j~@%7&mX-fzv^DX zP2Ip`Fd3pRe-vPY`^z}bmu|*X4x*xB^x+yWoPwXXiYw|)N#~Z6hEY5zbx~G zv=Mx1TG+!p$=uz2tS`s7cV5vLcW9sC@9$E13y{tVHS=l5`->5`D)zr0cOSR6O~n%wNed42KLaX{j?Np~`UJw;d>`J!9C*!R|E#tk5SI+gUg;06?4>dD%syznx_o#3zp@CTyQfi|>~z`LEWXml z;CL8w>ILn6#?mFZn^~VtI5B2^dC^yA0w`O0pw!I*_Ntg~QHCxCp>1M7|PQ^yRYKcE`yLDro%5elW^7 za-S%nrRgqY-rf;cUDG1jff+}1m1iwC?pnXJs6ORPdZi!<>edTrgF!xi9i+(4`0e%G zN326h_X547=Fb4oLTZL{hP`~>(0nz=J?Fg}iI>0IDN=hsJOSodvs6ENGTfbYVT6U~#G@X?44X^cft zCpxdWaf_Mbf~ivHO>En1_vvlOiL$_9`t+xn?}To?GzM$g_ggk^96_K&M=_3Bh)!j0 z%<^t{@YbEUjppSNwZqQRxp>zFq*-U6?v8l8!W79*Kwp<-%oJmelakZO>jN?fLj_eZIRi$=awvs_yn)m8p5SQ{s7K!pVZZB$IuD-_G37RrJLNB8X-c zY%y9yG0yGzAQwP?g=FiKaBIzP<|PFm0bLNtCO6zQSm{z zgemIFLAV4j)~lwy?U0m=o`Y%HQ$N{4^T-jJQ^Hx(-`lf@9X$LwM)@v{j=z`Ny}q7? zl~F3hS}$o3eDZJMGKc{Y*DTtOvo>tDjjBAHE9@0rjyV|Ufmy8&=8P4oQoMfUhdx4dt@dg7#L>TDqgSSYnhXb-dqhgE|{3tDO<$ zq;ZLJul&*UWOg zo={GZ3^VM`bKX1i?MFy&qAm1e>okbQ6C6pKXRN=SS7@u05r4jU6La;xrK|%l@FimY z_EH_ngUb(VS>bygp3f6qVFg?!@H^9q_6SE=Fh!eayTF0)AP92tXo|LMd;gM_*=Nmz zr{86E0B|5;AjGYHy^Tp0)6B~s ze3I*0?1LY2dfrWXa(SekWsBVQh<8^@K<5$Isf3$NMV-Y&<`pA%#x|9?zgDlxz|Gt$ za>;_~?IPov@m<4eK87rE41KzPi+RoB4=-5b3xn|05D8e&Yc8k&bx{dWn?d!^AhNa? zzcaS+a8Hp-_`vNv>%xtfvwSo)vT=Li_4=>M6?Yc0^U7{?x9BO)!AB$Twn>-<*B}zT za1dhg$Avrjo2T(a+cZbaKAj=_3Ho=@v@GS?B`=og1h6`cI(e3w&Af^aLLdV#;+}RQ zaR>(?M!AK3sq;SHFK@m7R)K>@(0N~c^RSYS$g9ezwkvO~gVP686!#u{gN}q%9V`Vy zx>PnoWDQ4ES>mP{VQU$Li_FJjAx?k&JsxtVu*i=Rkh1{NPa27b)Z%Gy1p?n-JS30n z=p!6;%JuduBViNHo{qT{oTo{6Jfw#%uLv^r;m1hQCk2^h_ZkngxNEcHV_W(mPcnvij z)^GKbWxKe#ZGxSMe?&lxZ7kEz29q4aUs&ure4kufQIL#9KujGQD*4q;Yr!ckAtR2` zGVM^Ydf+unP+M9}Z}befVo158TZukW9ElR0swj57Pofh%-hgB&fFy$rt`sh(O@OM25761Rd-sq96{71t7A0@mj z+^4G1BIqAO;rB?b-wlQ8zoA(<`PXJ;%|9Rn!p@(95HvBj7TO5^pjA}-*8N?a7&HC{ zPK<;9c)tEeo-b$?|9#z~4gV`W+KvAUxr3&^2JOQ6YY|d1P--`i0>uADDz4?fKr{;S zkXwIuIsO|t)V4p1{1y7$PYORv`(Gf!8&&EZe|G5lp}$;oK5QBPH_MVh?bajEZY4M` z|D2?g&ObLjhD<*C?@j5U!p%7LPs$ZP`S;${M4lV>I1-6*)Z>V!Ty_0#&&QMb*ZFwI z|HiqNC;rLF9c3T=>zv$^|73kbox=0~GVA-)-?2cz>3?cQ{EM0qXa1>|_k$lyPcf%!yLGBQTxyqBOQ+-7BM{Fvaa>bP%+sRWPVs zDS8?77}9uwavU`pkug4XwSt~+EKK?>_C{Y#fO<`FK|Z^O{94K{)mOf)lx5tcN};z9ZgBGKt=Rjj@nLI zGYMH#u;W!t?nTR1wztNOul0MeyfJ!;SAgX?=eH(RMhi4g3;S_`@6aSk;PurMWBgO=2U5pKUniad>3*|M@yM)7SJ~ znp|mMoqWS{DSywXyB0|b+2a9%8k=kLZ7+YfDSp!1HkqXe>s4N%Vr7ROaMbDq{7Evz27el# z)f{}^i(5yPEpYd#9YB-$%n-{?or78?=Pb*{omurbMWF}{GsLqwUF3Pl4`I|Xv1Lnk zo>`=mOutq0eTSw4w+nv5tK2-)6a%@Ph2{w}tAdXo5;ejX^oumrr21ReKFeeq0nxJd zS-SvU#|N40R(bW^9!Zn%8ArRnKh0=B7lbBDJ;Di35p97qt_;6Ba}{ibXmX6m7&}un z@Fo@KnYQ(6?3_F?!#4A~lUJ|0_tH@re#krLr%Udq<{O3htQHVj6c~m*A)Y-mM8b8r z*tl}*dWG4?U>q#@F)ZnX_V?o|s@%N$Q5ogj6qEFmDPo~dPeb}*1I+Z&Up72`LCg%J zGWp~wuT-Y&{EVO|7*eG`{m|wU_I03Q2)ALWc)FFyLYQf*_+i4%pBVO?&v$bRm&9FLjj7>S4>i- zzuXd1dkA>>2^oMp+v)0vn(WGp?9?vPlq507HL^7pXsWa^+})=fxfX$Zv|Q8JYT8OR zA7;H#JIYEEm6?Dn(S}Wl(S$brqq8jokKeN?u4}5_yKR>`niKvA%dC3_V5uBP_oUr)Wmo3?bl&)Q|FTFA)gp{~mA z+cyQziAN+?ZhN^%(x!#SWV)ThmTh>V-{eKFp9QGIST$ze{mi3ZWc){>-#KhL&w*O6 zpbS@{-=p>7HH;IItfZI-hE0Tk8@{TXS2xP71JrB}r+xT-hq=QBy#%nu`%hE<^``Ha z*e7DkO8dSyce(1xk!oe(E2Be(AGF$*A71m;CaBE^eS;!4krzPivS0};^n`X!`4RkF zzJM00d{)*v|4!TPT_&lZ&Xo=eLa(NaAW<70eWa6Ej5d|GakC=!#bfz>WlN5q3;eLm zxLuYk991EBdsKekLVC;GN&2nKs@Wbx%53`yc<}=#|3bY5I+u;BmVQV%=JYraD}KQH zHqOISip_3Sms0IXjoyY9KM=!a`I4h{U9gZuUNRlrwGpr(KfrSLE&!uGVH*7$pRw4} z0h7a;acRPf&CdVG$wS!j`+VLFPiMt;)*HEnJ)Q+R>;(3pV(}GFQ=r-+1lQ-xj}%+>A%_6P3=7ED|ZGx5ntK-xKA?ufY)q0VCjCM4bet7Qt5OM6K|nkc${m zm%t=Au(%kuODD>FyxBNWKfq)*aHmAz>?ERm$EwP}tsMkv=17znQ7OQ*G~iqYhardn z2XuXQ;MHz{)nY`Mfp#4qE{D$$uQisxg>Z`iNq#X9Ss|bU<;D;YT|$)vmn#Gm!TuH+ z6CqwAEK5S1c;TQzQ3GEp;h4lLgZ&=ix?Z9!LU7D#fp%{F0Q0}FHk@yOOD-(eNYpBD zs8OYl0I#QDCqmQ=c*}Y&ErKRqfp9Ou4*FQV@D8nbB@Whk3+@yrDiS!HCV1y9cvc){ zEeH_x!H-iWPE;W9K`r3rFL;(q^pARopf6(JL)zfk4)_q4DE*^it2j~i!iRK#`!2y{ zWb(WJeZ>vl|5XY@eE7@N%=q{xR|Wa>U#V^K+rPhP%jf@2Ihrs3+2T9mBgJ>V{+G)R ziSv+$|7~@ZP&4D(U%#{znf(3lQ00rl^H0&Y|54F53hD1s3eXVRLF9kxNB$Z0BPo=> zacR;CKP^p4;r;)8O0`#0k z=J3wrX>_Lrla9mBRp|==qRZI~Chj$4wz+gK~oy!l5m4y)} z_>FHumyRxY5&-=`1U6F<_rDRDPqf4fSQiL?PoxgfJ~csPiV(;b=a*C`u#G<{)8cY! z`sEqORHFg`wcH+o8@I4BEr1myxE0~z7*V&cIFXM;tFnO2!Eh=>5(=L>fv0{G*n=n0~O{08JRQhmL< zFsbG^EA-wL{-K70f;i8iGxc=N9%q_S=_Na*^Am02M|cjbb0F16>g&P4KJ!DDjyr74 za?iy1<(W3Af_~qu7$xg7A3wTKfS{b*VsspYlV6Kel8`kUg$Gab+%ayJqo(?A-!vJY zUi)BLdYE`XT!^&+3k1!0O_VnKB?(Mb> z5>4II*+TGtvA@Y0yLf}UyJ?b6^6)o~ZvH;9K3iqiZrJ9z$z_M^hApzcKL-E2cEcJM zpRL|JG>dIaw{^eAcELhXlsk!LcebtR^!^k<=Bd|k#f#b-jLA$9a z6FKJDrJipexI|i1#X221@BA%)q_nRb+%X=CIB=m+^^nM<-@ds$c3~#o4fwL~%8~`> z`+ikGc%0b-=Z}>gHmU7jv*BV5e!vk`-IujO>nK8b4ajk0QYt zdIF;pxLU^M#N7UR@l}FJT+tPqejcZ@`0^+rs^6z5)tD!glE1Y{-H`ct%UH31mW)$7 zy=~f_NZ*S5f2fEZWR%uDjAz>M>}i6*+_B{dcPIK#`Z*uFGZR2hDs3?r5v}r@ z$@qJYPBw9yBa7a%TA%|4C8FtdQ#<_kzcXqGpH$+askh_@5uK0MndMVeqon9X+2%JK zd+giFc#1!EyNlH7w`H+$8ZsogqSYG#u+HpRbTcOcdk<r-Q+V(v$Qn~TNF`&R-N5~jO&=4F;nU_E9qKyIEx;B5U(>k zLl+J)i9kIs(eFKWaPlEmfv-ICn%Mkq{5wfb^iQxg{brPDq8POTc`o;>a^$?fO+MYb z(}mHnFmuq`v*s&KI3L`wW2NPnCYuB8hYS2{NC7zE9NX@(;Mu7z>s)fl)cqwEDmdZ% z?T(|pU0R}1WQf#v4JqSDG=hYgfRWubBZh`!A%bA61`z;}7EbIf;vI z-YI8u<@L;4jMh~D=ER#1_Tekx-}_Quw3Xi^GI+t9ZL9A-Loa{`_N6DM4Dq+ZzCy-h ztX;#=#THhR$Yn(jZzi|e~s+BgY^Yx)7IwX!|&~q>a z4Ds?a>7@Y@S}xXCE%Q4?lKhT20Xu)8b;$XZxpuPZ2TT&z57s~Rj5~#r&2%A`&*P6? zkT5L_zIJA3Y!?SsnB|bi@ldAnI86s$oq{&xhtoi3r{EQYsQE?_%v`F{;+P-@49=!b zK)6&O#w~NH%ky1=`RM$m0m+uC#HC*Fa;yY(q`=KEd&k`WZX=<=PSuz6jz4`Js#&zT z2`O+OxGj69MQioD2d|f_&BGaHqQdz>2i z^f5+QjHn<`()oov{5jX1hom!Fr;H*Cf)5IXiV-CR$~?!;h7S^NHO@S9O8}I4o~R(y zju0;oZYvTm8Z?X5K!l=@2f8(KAD04qTbeVSaAQUoXX5R`80U#fa4e!~z$Pb7R3mUK z4G^v@be2v~2jH%%kOWvt7T75+769j=L{K3Z%Pgr12O`S;Q8Y7AS-{aWL8uzsI-;ci zam>VtssTQv1%}n(LtJtmeyB-Jp+daKpWAbK=KrAQG-dYx*ACf~Ie(2F-xP(vOY}FiacNR+brk6&n7vGwyeD&)i8+n z``mwU_LN6wHEq&aoNF_@j`EC!aCmu3j_e#{6PZkby$b88UgAV+2i^p2uyY=~tOSby z1P=*HfLoXNcOqOCgqJpqK^dn7FDg-Gq9Q~boZ%PPB~Dbda3o!@U0WysT^20AjK)I| z0T?d4h+qxF=pS|9ZRLVr5ThrF6QLRk&cTlP@b^UAg~eM*kHTnhDykSxL%}!R#}Dx8 z3mxY&%JG>I&3O!h2N=MSh$i?b_|0vzqwt#x7i0BFXKkW+qWhx;M1@7ffw3Z4i4V4K zdgsE?GZI=)B9C(h#S9@L7C)MBMaU=2iBX}mb9_q1wFf_Q&fJ|JIQ^7-9y2wsv(OI= zYW)OZ~1?|lu%3nkj*GTWr; z9g0nH+iiJwWx)E3U`9!SPjr>wzH$_tnUN_P9MMR64hgZjHm7C9w)@PitID%RP+jNh&(X)$mZfQ^@h^_vS#y z**0YI)}(a4{>>x9p+Fq%aEee++amOd2 z)I73M6n`thrgIKs41H;}jZa@LyKb3wP=NKk#`Vk(^bE~1(M&-DM6|)=^(N(MR#mE$ z?(w&->5jtU5Pa+%^R^zTxE)v3bSyIymZj9&97w^B-uBelch0?FnI-D99aJWj2B2?n z!oY_P5X}`t(MR2w*Q`I-^|aUHCUbv4qxOA<^DZ2M8-0{jvN5l)Ze1VRT5-4B`mxpO)np=V}+w$4|roWIk90WhEO3?D>|C#(FoB;CGr27%8wfa?qD? z2(otk!etjo8`*oe_RP)qODn`5?K|}KYTxx$>;qFI`4*necl|}cw}AbrcjCGGSZxh) zLOsI1uW`T}5^%#ky1vgWR>(W}c3k646fk3ALXX2pKqf)FkB|^#w*S5F-O{b**`_`B z$(w7c@MjTO&9-G{Hkp@y&>5KWR5tJzA>L0Pf1G-DWg9z1K_u?tqytMacs)g6sCb~< ztA`ObK{;JpL%8gR&w-*3>_w<-(DRHYg_u@HzuWPy*|>#wmG$eo4~jV6mLZ0DM=D>N z{kdteRf|M@oOCl845{<$q}D?}oc0=JccTMo<`F@%9UxbB0(wqVuybMnNTq^3+>zb` z&MD%}manaI!DMhGg6f6?@9-(=nPEry*rCAY+j+_xIK_7YPDqB_NrRhWq0ENV{_Tg& zMSXDKeXa1m*itDz+pN?YN6P(hAW0fzT$7aZCzP))ct7; z#rThaZv_!nU;S}IKC22}ua%KgB=C+n`^{)7h+;|34(rkd8Ut_KN87oqK(86hzBnxSI`yD{bdxn=O&YftYv}@b1B5Ke_wm*(z#{TdmqNR@U%xZbE#-LZJ9{hFZRU9=rc?A+Ivzmbxzl90c4KcI*p`on zhp2~e2;~{duQHyX#ZYB;GYA?!Tx#Ku_9tRQWr9Y2dxgMfh)Mv9{GLcu7{9kM0lc+B zGvRSE0r?XA8en-XMDIkokHc}IzChvlt~xj%QAVKa8i@fX3KbNIPppT}5HCDBgc^EK zn1G~9U5OAR#Z)kaV)D`kctVJ`3O62!HxOERYCy6H4#jLWzWf#Y(bmVx7G0Erej9#Kc&QQutp1jFO`t#Cm^&F}+{&n2o7IEp6E z*dhRX_b6(a!`ZF|v)Y9?2$!aSA7cej)uk$n6IBa*nHGrYfKw)_h*994s8irW+JNsc ze27cd{vHah%FjcY%VM&D-F%#;JFkIg0K0OymqH4STA4z(nVGF2mrB>okHoI1xY*6& zNyDoHnT;G$)H{`k#VA|=ALb%w5iN^KiF0ZjnPHT5H>O?__Q$_N_?S0}4LM@b`>T@wM?fd}iT2>*}ai-3(Bmpoe}-GceRnQ$uEENbz3X{>Z2#Rq{$+ z%RXr9o}tBw)4FxHUMsIN&RJP8!EuVuT)0ME;H3)RH?(NK1EcnZZC!3lsn(=~llb^o zJS@k18r?Ciy=PLqBKUu`X#NISAi zMyQ(_bj_$RRDR0(u$+5XlNfQjLsF`-j;>j@-G1KK*6txVvL;wNA5J%%$6ARo?Vv>- zFR5%sbd){1Mk{na7Qm&Ps)#t98=CW5y@o|u-_=7)mkTb&ZzHQXV~K+OXR|7ORrR~6 z-huFaYG9*2d|%kd^|ce8WE#ai4U-jnaum|y%9mQQLn$FkEk~-cGCX~HTfCFd%H$y}oicU))XG2vH zTi1W|mO$R6bv0ZK;5R%EgK_`$c-`;2lmOMgku z8rM+i*ot;&P5mr)aFf%7#dxZo<+oDoFtg1e^lpE-R)$%G zm#=S#apMv+RS#=nNU;T-MzmR6w{Dar%S9k@-7PGalXwqN0x1$RsqH|gK5ZJeoWe|Z zj(xMt%bQK+mAuE5Y74qYIJ3#*okgXO&sya&wX_vM?H@0W73W~T8t9<)Ds z_v#;}`%kzsqQF4+S{nWI_MEz#R3>+ZD)Fx27C!M_{)#3fN?LR{%*I#<TZL&?a9)0k+@;@_TV`Ho0@*b#~k-N_ZeYYS~I2tAB!5t-&ZnjQwc&4@lBoK3K3 z;lZVo&f2!fY2SXr`(*fME_5!sg*(2HOTG3UfiWmVeT;6{eUk7WMhBej8qm9kF2&`u zR485$OuZh#YWK1?skox;h_Bpvo7k7xBtaWcKwtfN3;WKfn+m-)W8IaZR-qj^if$%V zOFnEoyHEqDrNV~Oo_z2mW~_FP*pj)QQBjv9-=?jY3gE0Bp*!ac66RB_#EJeZXuIiv z@FNgc5j`}(rBf(YoaoYlzt;uiqwx3K?tO@F#fek^hEal!2?YV8xzrgjrP=`WDneHZ z(a(<~79uBrA(nB+;b=s!K91lBBmfK)g$OR<1pGbG1B@dmqPH0SUIXx-62eq)Cdku6 zj5U^llg(RQnpn+z8xK4aner5_coZVSJStOa_2e#CEwD&RI}-S&(|V*As)a<2-%eVm zX@>l^qHCX(FhK82kNdo=I!f3kZiRZNj(u#-5A38NN{eF5v&&~z-fy<3C}CB?fwXyc zjJdy+F{(#}%EQbnGUbl4yWh^nJ1pjiTa1(McQI?3S0r&LtgZ*QIoD6Ach}6lXdAqX zReF$|I{OFU((t&(OzTdpHL1!}CY`&ce+&KSgpu|>Yu>)OAcNUp@ug>DijF8g()FVn z`X9fttPl3+Cq+t!V-0Iz&s~ZOkfR7pLnI{@1u1p~8&@M;E=mGnr?H99pMCOoe=l>M z8L?yud&N06$~nd(a&-gs{H_9wYJI-()`$4m7*s<-$I0Ex_>^MXR%+*TuIQN=J}UoJ zm8_&~8jO~3`7ZV zaB0N0pRVOIXQY!!CZQAO5&lqY1y+ zc|0o?yWJYJh+VXyyZPjC^PdObHQH${f4#2Ts$iVCXhd8yKPu0sp*PnJIw_u7iRSub4s;VH=D`BN)%h5pi*48Dg2ah zk!|6bCmz;Jy}Kv_uoAN-)&Z~Wg34fU0txxK1-41f(NihLmK~MAPB^t(b{X_*3z^Yr z#k%=^lo(=RnYT9xrj-4^aCEyh1v(cVK>Pw20+C?8O`kZtjN&997XT?Siq=9SA9 zg%cEGKgBzAq94u_ku;IZ*T_<5q~9+alonr=jZ*^ZeBzswhmzQ-Wnyt^SN67Glz{k~ z!|s>iMr`N?14bk&+EUeFgy`vph#xKe!fS2 zr2XLq{;G%>LRz!uOfo7o4hF{8L+HN<#uLAE_WN~HQD*acbMx*u{Z!me!h-RP*1az} zD=uqtsIPlP!Se6XkOeS7=duyVeT8sjYp>dpxlZ?3QD1xIPOqKv>JL6(4q|98sh8M# z-ZtTOl={a@v!ifS8T)-@Tn4Gzq7a$#S*GpMM+{Z^cG@qWFPUi)awyf;=!=6siYi}2 zfM7ujfn$-5f!^hG6=2xRFDY#>ro;O z2xSXFYD%W2>{|5Q)jayGMxEN8b71HQZ2^*VFfKIt^atDWfd|{>>Zb7G;wyPLrHS<9 zrAhY1tP8#iImVcH<~8wl@dUw3Xntyr3v{v_ms*FFEDchahEzk%L>TLP%0d#)83U{E z@4i~EXYEhIW#xL$fQwn5%uI^tU0Kijif!=0wA;6Ky9C#nB=`C7r5zhT868ZLv;pMH zQvK9d%{p>d<2A*qboC|^mW%Cd?$+-cRtGO@|I*9IUF%r+HpKTcDlrWN64nfQ6>osM z;0lIjQzeltrHbri`%v33`AJtrZx-FdoI@HuB_VG2j4Vyc_9{LUB+c0dH;uS!rjbBI z^hOv1Om}X7+i=(oTM2!#$jn{Um;22stLEOh-nkse-4S#~l4TQT%qP8KBuqK7Rt7PJ zWnoY^nv$zUvzmykbyYCp`+og^FXl!=a@O@p-hT7hyhZ+7*vV^)Bk>J#4V)(yo^8tr zvW>2jQJ4swW@ry-J<-~X#OoBxw)dBwe3cWA$LC%z*wroByVNN5`8bM2r|1Vb_ff@F zFxCHFI`ZCzJ5@$OjcR)sLBXEr)=Y-SiiZbGI3lnSym~@LIEhCDwosDPl+a$cl&v6& zMb)C*ZY6`GEUK~Sj#l!h^W*{lS;B&9N*M?Lu+oBRObKiua|$e|ek2M7QkB7uqPocA zhS85)aRp}_MH%F2u0VK^s3GV%gouD;i$s-x;9+D6FxyWxN5}O9`DcYBNoxUVv8WRm zIE+Y0kF}WZCxnI0SN3MMIozLpDd)Mz&oYEGF8N%0@L`X6xa^S$H~T-3e`Z0u=U28k z4cM}3K}9`twqw^%f>7r1pUS#DEs>SozQ=Qug*l!KLU-AGJ?n-I+q(1_@7B#eumv(K zYS@%c6(xcA2?7hJ8)jsRSWez+9jV}Z*i$l5=0~6a4;pt4m*@pZ8vI(wIsY%hj|^%p z>boaw`7q$UVFX}Yt?Rel!Yj{__ZX3SGT>`M7d+ z>WTpli`k%uYYq%yPdIzZ&18H9yKwtc{rCLt*&|y45q256m)k+@OaV(S7X@<0_uJXP zHq&}3?Y`pj%f+~hLQle7ZFl-R>xz8`TZ|45A|vnmdAbPGXO_O)kz3{oQF2%93xr1E z^sS@(ER<-oY!93^0U;-!ilSO|0G)_0EF#Q*8^kFH$aCSo&lXjemDdJX)xP-ZCDxoP zj~_^H&v7KRFN!9BtoK{Bs>{bwxQ{DLMfHWQnoi<3%=AqQ%0qs<1E>@uDLc-|~3_ zErZH(;SBs9<)=>_S<^4fRHB^2Cqk5o=tP(#GQ}U{C(z2dd}>@4J!WhYjQ@bqJ~g7P zj+v))f?bbFfo+XqP-jP4m1xF3!DwywYtvq_Qaq4<-F-9MP7 z?P%7FzYxg8?a|EXU#&`%f{ddFHh1^PpY;D%_9)R3KxZ^>CftPGo^CvA$KYI|DS;ln zk=le@5i11c4-$S8z=C<`1X}^rz2&#%+>sLCgQBcW5J5v$FitiQ$kp>}aM2($d2UNA zwNy2&up+;|=HFk13m-g(nWE*%@-_#IKgX7@6^r1jn%q1se|eK0v1u95+cQFujyb3BwuE&zOk6(X_WJ| zS$bb}2}lSM)#j{b3)o=*Z4Z#+pwh%fz+T#WjIEmLirf_#M`NTHHs-C!&X>e&)!zvt z#C)=m|CW6wM#=h4ANu!fyNmJR$g?NMm3x&^+2Ipc6rD6HA1M_`(85^xLY!ApC#r4K zDBV5g!+Gde)sAE6n&hh&H~KtymV*!Euscy@(BZ3f<(+L|@-gR3aGQ&$rZEBwy%a$} zu8luXov81*?b0F7Ny!Tn9@^v#yruW;-x z)QP$nvV1&=V|MQ3)3bHrI-R!V4~}W+Rl%CfUgP-=}T1LNp*WyRrZ91Z# zQRf2>B^aowP!}OYRrrHiRVOM?G>ayB%&@t4mQ)^oy4SpX!=v4_3k8orZ!y&XG3+CY z70$CXuQ#P@^DZdq7%`FwdJ^Mf)rmS4jp*4qW{f&>B(lJ82csf8?+pF?up0iE?6nVt zDOd>^m-o?Z`4p6cu`%cbMGAVgU^Yo@In@O{7@I)w462kmQ3XSWnhk!^V~~Ij%_Z zNkcvybJGOd#u&xxal*S@erCjP51XRjViatZzv#Bds}0`@eqzKg;s34u@#3QvWu4c} z6c{BsxOpqAJdP$+GoPKL_}lfk47sDIF$FWapKADcYZ-R28iT%T&vU98#(%6|ut?*p z_I1m!IEic5bSUegAXP^{bSTFwS)h)D$b4)5Y{LKEIOBk{UejBz5tDuWc|Pw)ViG28 zi~N^gB|niF(GF-vxA;Bj8Bi`#!gi@YH0pSG;4yEph6Zk_n>j6BaLH5J1~i@0smorl za>UBR2#pkL#5}f2-ZbC0QvBGOd2{jE9sFh=68HVOMeGH!mwnN(6Vb@=d6*my2VPkM z=Ml@wf~zHVuEzUZeJu0$eS>LV=cuN1$9;TNr8-wxDS_qbCgzI3rCDGR$FmCANg@P| zUr(Ov8N2qeNyGQv1UtiupH>TRU2)x&QfFdQF#rCF0m&6?0Jk#=-J%E}I-VNyUogtI zOW&;yZ+*m!D%saEBsyq5$|!&Q?7jGdmBmKUU8<8^k0ynVY%!X^t**q1#$vya+ zX(o9|*zRM=J8_fAge>j?^;Fq=p}hy z1UdL*E_F|J4c_c(b3lwi-`=%c9=efRvD3K^xNH|y<1*0uZcMYB3~pK%yw(i6<;zFM zy}{E$UWVAm?_@^zu=p>e-664| zTHhY-L677!^hm~VTy}^Gb6eYS3M)E~xF$RBxZI!pO*u8MaBtR>%I!U@H_E;^^S99GBgq z10)$8p58I%O!|O+hH2|rt9_z9mVU=0fm#jx46mbUB8d30S6!1Wnwbqgu36_7fmgVx zuD_eKeQN1jvrNi8_0RFNTd1=b=i1}I5Q*BvWv1^47W16Kqi3~u<0y<+U-+J9xHul*Eu$H)Bl{e$)sRhZIXPkUPYmEJjosXpA38SokcLc*pC56O{uRPDDz%$4{Rh(R1feWEik1)*Z`em8nCaV$^icc;jLVvf7CmOx&ppK z8>BSCfw@HK@8RJ)#fh>PKBNQ2bA-<-5XB5uhJJ(324A+ibo(2EnEnxRe{(z_xf35Wo+2;M+H)%4U5M~5ba&~7Ih%S4@V_hIQT4y))4%?21pZtzvr@L zV5EB;@SHoBZi1+ZqHdIu7#ZheEDetgDByyRNCRN& zRwq&h=-1&190N5w8{9Z1A-`GW$uGQ7?7RY{{8T|rHMB3Tou2TBFS&@BBV*mGvhk`s zJ`j;Gz&@)vkz7DOE5Wt0CRKE*eY3t1r*pXk@8$yj5rY|4bHZKq@WW?=yUqMchz@wr zfAB5<<#i~CYk_%x%9ID(hqCw)qW-!ksrB&ylGShS=|*dyAVT?5(w==<|nP#Ap(@; zDI%c13t36>13JeMC#Om9W3acn!@5{DTV?HBwr%s<>b+LhajU!gCO7mtP)2aMjPqzW z>{eywgUm`9voeiTliz9STOtg$LxovM&KD%plyBM z%)<3fH;qB;lXf}v;WE@5oQu9X9~i|8PC^{+498u5bKgAX!H#FO4k_!Bof?b(Nb}G zZJMz(-d~FlkQr4Is9`#^jk)(JkH?1dc0evxFgP`x%0QP`2!crv;iE8>_IsJNe|L4Z zrZC~Df!8I?_p%oVzK(A^GYZ^yS*U*?Wr#As^79r2ywr^&i~nhLwy3!DcdZRWjJ!Fm z=9dG{HDNrPI4mT(T_vh>3 zFWlgmEH~rYRCZ0~ynzn`>^}5`zlw=gOc9ZZL>4mIO}BTOy>l$Z6T>a%H!D%*doXho z)UI|JCA|Rfx>TT(DFKYn<2-QM4YorX>jJs+;ITZv2HCXg(lvu7opV6WUldP6{!*R3 zsZL$Rq~zequBA1uSFr%G8S{A7qsSJ%we*jw2Ro*o@t-LxVYb&Noc~CbtRIfh9aU#V zKRT^p8_$@#!+-DqV>G5;w!^=Z{L$JfS+3T@ZQ_)x_!Dezbw9(1E$pzu({r8<#a5s( zVbic%Q3mW&X_vWT@g2%08sPIN5ni`m{l9bv+ca|LFZOF zgQI#{ux=zX+_2;UkFc$&b<1I`#?46@J@`|5UXpZT58X8_o#b;!V4gW(Xb4!Nn^(@U z&!82PxMIH=C3N&cLpes-pLjhEm7Vp&nKy+y?wg;?+QljhZD^6PJS2$2`KzB~RSpae znC728eR^%z>uD&QUyCj50O-u*H^Qhlt^{$X@B_^&;#*mf_Ay=i&#VA0;#B<0n3e3B z<-NO*o#k^popbdu_!X>wmL1r2Dk#sWqO$$@=IO6@;;`P%{=KJA*YDvn*HU0Hv7O*vv6<0S_V1>87nou64}<5DX>(weV+VXJptK8aZxpONFV z#1j^MKmk5i53moxwuP?JgC-??neuc$3A_j<%BoFy>pQbQY`D<6q*hBSKrW0uq6Vem zY^u;4|9M!Z5mJ}n-uXT^(Y!48OPTu7rPoKHeP))?70E9()_V_Tu9jR;ybwqG3G}@4 z)HA;9y&-4ZMaJKHkD-0_Ciit6Df(uaw`ZJ8-x3}D1MOqMGS#4$gYG>_v~3+jw0%vy zRL3ziw@3_kQ}to6VNm`uqAKNfPz>ENn$F|*oRt^pns%~@+=n_S7SQ!S4U|lJYEqJ- zH_LNQa5z2$L0?|{0Rh#C>Xw^gD^i{0Ai2t#36wI|8v4mpU=$njaG}zg7X3j+(}w(d zl4S1@d?2E>L;V?8{%0)+wxzC6Cn`#AW=*BICFuSRf7^(pX@|WThrBRmjeg9YQeXF> z#;T>?a=c8iI2ckEaz=y+N)ad4h)R^3SR2^Ej5?$nW1Q0~q9$IPDu#a?%{9+kmXQj~ zs&wy_EIIKp178qPYvKThsA0LOw4`n4Zj=O;TO4|45Vc!G4aWLGDviFuZn8^__-|J2 zXZ;^a$)y9*XF;rtNgb$Dq_Pk$S^S5$MV%^c>Buq#9`a4Q?KZ6-|;QQhaw75+~ve2a9s=$G33(hGCQ5Y<*XcrE#;i%!x-%A z)Az?^d)6cuST--~rY8-;Mx74@oDrfyfx|L_{c#e`UE@ctHx}Nwq+{(vgHr{@72De* zLv+$ZaNl8NvPWu6T*4U5Gl7tfZPQ{E-=>jaFheJL!I@3z5m$COA8x>yNbXNvr zgeqE$)z2QRD3)brymj8FWC}KTe+TutXiUf1P3&SRQYi%8h!_AZNF^Z7RrMV9t{`7_ zgm-^u`_sBC=;iO8dOmrVPvVqlD|Xkq0`-Y|Ihsg9FGq4tyrVkGaNNuvr*A$UXPx84 z;_z?W5ka>gAdcr5ov`o~{+2oGG&^`}7R-gyho+r4#7Q+ma#dgmWjMFy?%8;Vv7Q|l zSFwJpt|~Z4iAU{#AgTI8TVpxLPQLmyDYQ|Ju%V77sza|6aGo+uBrj`+9R^)NjL{?) z7)ANbz+wxt(|;bfjjd{=icF0k!WoPbU#CWoo5YE%U+AZMg^n$6qzGteCIn{?&6 z6yKyPwLF>QWy3nVQ!ct#?S2!SK^)&uJIe<$-@j5}#7ReQc&mC7)2)^j&?FM3@7Rzg znPGuWdgDppz`6v@0QBYn-pBq&aPw*kY3t~!wOH?YGDC~J_D9aru61B^%+gp^Sj_5c z7mb<9*zzuLgXZ)R9BOR4bJ*23CGLKv{6^>FzV|UDBk9=$=%FQtg>{+hDqEi7wWq{3 zZSBB1=?b=*ejo@8SJa8>((lgQ63>onnCMU~yCB8T%^*drr$8SEJ_V2v+t=UIck6dD zga?p+kkEkJkH2H+Rf;KY>aZ%!a#oOTv-iLZg=9Sh04>(^51KRW9dB<1yXS4))$X4G zpjfZDPi-d^*ri{vk6NNd&&C1JEEOqIg_JaC@lG^=ci6sVU4YcRMcC`zvT8KnuXmn= zV-4(*OJUx<|J9Hz9DQcDY-E%VtY^(`~iVbqKpL0a%)dK#~a zA*?&GgqyY8yPhL5KJ_C8TC;Ma)0{)ots>Uh=v_-%dw{6upz0l-nQHjridBM|f_JUy zZ}8q{!9+5?qe!YOR|=;1kD~3aG?r&n7cj7Paqu52egS3MI0f3bqO&1oPOf#?q%pd| z8YcBaO#xK`nXf*}yycuw%baTWx{yfQh~4EXOeqBPZ4oEOx_nwRk8@Q1l#uoQw#5*= z_!j^)_Kl4EgU`K|d4K6PG-t*yB47&Ar#~$4YjdSGgHyO)@e*WqMc zRWPt>-_24gz;Ps6^soGXwdk+((e^YqU1k;OM>*-7RDh>wY??Dwo|)vBOg|GT^{J(G z)z_ha^r!fz`O}%bs~tx##rijV%+|l}0?Vw+Hu#WV9=X9tGq1<4hE|$kz=`tlM|HlO z(MG0^k~|KcbaO^PV@#G^tk0>AdIHBj4~SQ_4m0$nYH6(uW=hzWTZ{z z%v-eXF+XAD38NCDCUuEI4kuIB=O4wPHi@mT1O9IAi-ccOW(H!FwmWPJU;DV6ZFy{i ze@zBIl~<1)Sx0>-L4D4a9^^zXQ(juC-I8toqPH7TAJ%jqlE2Am>;028QuZiO93k~d zb(whnjq@jdyljL}`D%PBPJNz8Hq)TqPMG%9z>|6U;@8I9=7U1~1;r2VkQy-Ewd7f} z1(AiRbtThn(;f%dRMs!q1!<2C&<}&8A6M&|2j{L?K6u4Q-uv(wR|w9Dfu?zwb^*B8 z-hD-FU-y{xycF+dk9tk5Z;<#TlI!vYU+%Zdm{R-l!TjQDu)?}vRX10t^@4d^?xT}_ zsxuHZo@9T#$!Vh%6UrraE`4*HbSpn5lVvi#GyVR5@t%c3y*F1>w=t88v95@fNpjH9 zvSx3wpd<}iWzV?OO$lle;9k!q9{5FUxxIXtM0IseVR4jvf+t7#=A-;{F?*O%`m9Tx zTfOQ7r>eiJBbfCq{9o!h5{uqc-m1}O=Vw^l(WKnxLZD1kQSW#Zck7iMkDnWvE~>n{ zYYb7#5x=b?aH*WKWl_$S>(%N#Vc+SFHqL=A4M*D4dsb=Ym3nsR8WcyPfp{TgJ-fAJ zGJSh)S|5oK-4ZFf2N0}B;Zo_bG`B%|evWd&uUVN+!>p%Ci#G!9xU^n4L-qd1FSRXF z&3zH^1cy6>Lo{JWyyR3z-xF2Bj%8gtop;VQiXr+k zHR9XGEjdt^qM?`A?KMKfv?S@_KXLEPqNrQOd%YtE`aPaTNJLs&nzVo7pFNg)jDt3I znb}_>Y>Xcf1Hm(C25}IQ9yEGNlAe8cdDk_}^||}xZY{ba@}$CavhgOHIZlCRRrdTY zzkZT%4;%{`8HbZ0BQ&r|q8>l*if!)oZ*^c*>Z(7B?oX7}X%)r9+F=PTDB1yK_%Hw-~P~;ws8UUbZ)wosO>!oKC+0bCPkit zXkLVMxuMi`9|dRwjhK-ApwSg)KO=kkiB~J`(xr=S_uYM^F~Pop0v}gFr|0t~{WO00 z#c(+rnQ=3q4T*&qARnUPAJM1d3if&yd8QG%hD*X9+V6gsC@IB^3&0r}>My|-;UehRV% zSnVc20s0oy#&JGRU>&;YQ5tZ=<}NgZuA0ygy21iODEi_38J+t@qlXtoQrxZf@*1|h zO>W4LFwi{B<(Y-$F~d7{i`xQCa6`^u`Iyj!vKTjkBlCa*iIa7@4az(i z)t78<1!;4KPC?{PX;`%HT?HqvdXC_vZs!I#5>#lw1P>J@U?eCAy4Pg1*lpP&R!z$x zi<#l1e&`C)ZpSi~w}0T(bWgSD;w9!mBNB?_A6L+)Nk|xi{j}2cH{4^ov+}6#%l@do zt$u5*839d%l4ut#9CEK%+nXDkX;pZL-J6uSplwlf#NSkb62&F-n zBY)Mb7o{n7%&cN}d%N7Xn9eM+fQE*ASjvNH1YiR#)qvQSD)KA&&?GW-!YGpx_L!ca{Bji6a85#Ei_3>O$d5zyAx z?!ggte15J?ap~!_kZyc9I=Il4#YCoLP1@Rlto=SIlWnVIgSloE+G@}onj*p3LsKeX z4y8d$cRW+v7Co1lMs;;atlH85XOAf6@k=mHIRb72KjDyJ%VEl1ftHX|>fR3*D@f#C a!YYai6~!7v9naV+3VZO|6ozq-%KrcaUM;%- diff --git a/test/widgets/LoginForm.mpk b/test/widgets/LoginForm.mpk index 7c2e31d5f236c1b76187a6e53376bd73d908ebd4..e2c327abc0100a7287d41eb1e03132a61e570fd5 100644 GIT binary patch delta 2704 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 delta 2739 zcmY*bc|6qb7M_{1jAig6GSVytWtuD*LS+k6Doc@VCKVd%s4!W-D6(X0EFmgu_Amx9 zDU`J=6GB2|Z!8&OO@}BFK z7Yq3I`#LY=R`Il5@*(u0z=S}8cX_NExUQe*wKVUE;&S7)h^vO8H#8YgfmZ#qwDUrF z+rNc`8z3EY=KVz7h-KP0pSqC@F86(0RDh3B!~3w~i(}2QZ4mcCKkwoBZCIUVN{2(m z=lTI@EI0joLp)n#(313i`q>lGFLw#7iteYNu;p#e*nDg@5R(7SaHOZYprth~3TL~x zGejeNn{QN@B7p#qm6xo8PuqF1xMt=?V9Md_dd9H$7i> zE=;uApeGHVS^L%M@Q-5?hF7%tFd`uQu|O$vmF* zg_?d*izfJZGn{|25}{ep1*i~$apetg`Z^cskWNEbZUt`A=gXana}?=uXNePM46CB~ z^G*@JPr2Zy9_0U)Q8=Kmb+zbY+N4hjtlGFJS;Gd}>orCh%Bnm|nJ^n1M_sA#S32f_ z^~SLkOx^}0mH(^*WJseSXs7XK<0r9?Xb#a7vF=6 za&hz{MqJVD+2i)zCMLI?8;+6F{G9TAe$V8zP%8z`NKRVD$S90X;j~-S(<^6wSv%uY z6FTASa^(+k72lj046CBy3z7q_wGT$-Ev05u`l-YpAGJ=ooUscUrx)Qxa-XDE&Wd<* z>|g=8RRW}Y@6jw#fN>tp8*5!QyN78?rr#j2rF=&{)^P3`BEOS|GvLFu7dCSd<{{JpY2pClAo?R8^`V$TY_#R z%e})otFQoqZ?gd-6Qc0ZVH9(5kTYWu33G^4;IgY(O5k@^i>p|M9`ESgXAs+a`4-Rq zvi?>tx9d5<@_K z{F>payxfx|V7xVxDuU40^t?}8xpnHH)^^#iMS=Rcb}ZR1@`UC7bW=vx%2KWPJ2CFl z$JLW{B04X1HbWh3x!ju)9r_(0m$3j(v)X6UobHgmFtEfL+ptl`lUr?@^(G$19u zpf=vC0EQG6~kHGX^RRC zOb_NiKZ3euDnH{=89pCBgBFSyM{{k@HR%L0VJQaFWl&X;t&T6pLArwPO%}EtxSj7n zldj^x3unxG#T=cXZ^g~+ic{}UeY?Cejr^d^CAk_m6G~YbIecWPtVaav%HxhjcRU(z z6dd{CW=9AZ$m}j5*CR5n<>b|{aKl`0E#AT{H|NxF5dGu*rR2)PNOECy9_3vWhDeF_ z9zSq}DS=;;rxwjMgLz+aWQYxEBo6(aTLwuhEL zr07DE%p6Ofq87|ln7W&#zZj8mYT|igM%?k}dJ|LLd6m`1eZB#4thv{+3?${XN%9PT z$LNQk_HJ1o@#2x^*9XGdpRxZ~#=W-uqbLhmw;`Ua&l2pOczG6x7rOQ`FDLA12Mk>i zNrHv=gbnZ%kB<9O?aO3Jx=wD(go`?aXg|!pD}9p zC6_pyqbI_zv4w_BD~?L_W?x=?9PO>$deUnc5jinZqb-Qsnfeq#SwyQRoD;3HwKr_r z5S&_Il)2?E)n#(yI}oamG)UDE)#N_!_jJJ)yXrQ-5#H0TFJc}ifo5jRCbp~BPJ5#K z60IYFOS)TIil)XqyfMkd5E&>4WQPWU{(rHe`9g6!n^om=C`@DrX*F>5-R}}y8M1@f z80lT0$sv?>!3q(%3*QhMyD)}SgHesw3IDUEVNknj8WD8>5)Y+;r9^45D1lw(@eb4Q zZ{|H}KXO<0_h$E>AobsmFo><&1>ccM!%U6A5ZoRy5bw_2u~0%EfbdG~WUw?}w7}mM z@mvq-kH8>M@m>(<#D6W2AV!Fm^iH81tpknO?Y@LQ06s}Gm65>y({r65i%C-4Rqj62 lKO87K^-74{L8Z-_>>GD-**l&1|539}dm?j?dj+{m{tFZi_}>5k From 1db8ae260387f855a87f18b1d431686e93e472d4 Mon Sep 17 00:00:00 2001 From: "Edwin P. Magezi" Date: Tue, 26 Jul 2016 14:41:26 +0300 Subject: [PATCH 4/5] Alert Message Visibility --- src/LoginForm/widget/LoginForm.js | 10 ++++------ test/widgets/LoginForm.mpk | Bin 9155 -> 9142 bytes 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/LoginForm/widget/LoginForm.js b/src/LoginForm/widget/LoginForm.js index be8ad06..bb30679 100644 --- a/src/LoginForm/widget/LoginForm.js +++ b/src/LoginForm/widget/LoginForm.js @@ -197,7 +197,7 @@ define([ if (this.forgotmf) { dojoHtml.set(this.forgotPasswordLinkNode, this.forgottext); } else { - domClass.add(this.forgotPasswordNode, "hide"); + domClass.add(this.forgotPasswordNode, "hidden"); } }, /** @@ -269,7 +269,7 @@ define([ _loginUser: function (e) { logger.debug(this.id + "._loginUser"); - domClass.add(this.alertMessageNode, "hide"); + domClass.add(this.alertMessageNode, "hidden"); if (domAttr.get(this.passwordInputNode, "type") === "text") { this.togglePasswordVisibility(); @@ -284,14 +284,12 @@ define([ this._indicator = mx.ui.showProgress(); } - mx.login(username, password, function (response) { + mx.login(username, password, dojoLang.hitch(this, function (response) { // Login Successful if (this._indicator) { mx.ui.hideProgress(this._indicator); } - }, dojoLang.hitch(this, function (response) { - this._loginFailed(response); - })); + }), dojoLang.hitch(this, this._loginFailed)); } else { domClass.remove(this.alertMessageNode, "hidden"); diff --git a/test/widgets/LoginForm.mpk b/test/widgets/LoginForm.mpk index e2c327abc0100a7287d41eb1e03132a61e570fd5..ad9e48f2397c4897b0f577481976ce80762e43af 100644 GIT binary patch delta 4252 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 delta 4279 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 Date: Tue, 26 Jul 2016 16:36:56 +0300 Subject: [PATCH 5/5] Removed update function --- src/LoginForm/widget/LoginForm.js | 7 +------ test/widgets/LoginForm.mpk | Bin 9142 -> 9047 bytes 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/LoginForm/widget/LoginForm.js b/src/LoginForm/widget/LoginForm.js index bb30679..26287ab 100644 --- a/src/LoginForm/widget/LoginForm.js +++ b/src/LoginForm/widget/LoginForm.js @@ -117,11 +117,6 @@ define([ this._updateRendering(); this._setupEvents(); }, - // mxui.widget._WidgetBase.update is called when context is changed or initialized. Implement to re-render and / or fetch data. - update: function (obj, callback) { - logger.debug(this.id + ".update"); - mendix.lang.nullExec(callback); - }, // Rerender the interface. _updateRendering: function () { logger.debug(this.id + "._updateRendering"); @@ -207,7 +202,7 @@ define([ */ _loginFailed : function (code) { logger.debug(this.id + "._loginFailed"); - var message; + var message = ""; if (this._indicator) { mx.ui.hideProgress(this._indicator); diff --git a/test/widgets/LoginForm.mpk b/test/widgets/LoginForm.mpk index ad9e48f2397c4897b0f577481976ce80762e43af..965503380e0a3d8c0962cb1764c5714e5b13a231 100644 GIT binary patch delta 4605 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