text: /*!
   * OpenUI5
   * (c) Copyright 2009-2019 SAP SE or an SAP affiliate company.
   * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
   */
  sap.ui.define(["jquery.sap.global","sap/base/Log","sap/base/util/uid","sap/base/strings/escapeRegExp"],function(q,L,u,e){"use strict";(function(w){var s="_skip",r=/\|id-[0-9]+-[0-9]+/,a=new RegExp(s+"[0-9]*$"),b=[],h=[],S={},c=0,d,I="|",H=[],f=false,g,j=false;q.sap.history=function(B){if(!q.isPlainObject(B)){return;}if(!j){var W=q(w),C=(w.location.href.split("#")[1]||"");W.bind('hashchange',l);if(q.isArray(B.routes)){var i,D;for(i=0;i<B.routes.length;i++){D=B.routes[i];if(D.path&&D.handler){q.sap.history.addRoute(D.path,D.handler);}}}if(q.isFunction(B.defaultHandler)){g=B.defaultHandler;}h.push(C);if(C.length>1){W.trigger("hashchange",[true]);}else{d=C;}j=true;}};q.sap.history.addHistory=function(i,B,C,V){var U,D;if(C===undefined){C=true;}if(!V){D=p(i,B);U=o(D);if(U){D+=(I+U);}D+=(I+(C?"1":"0"));}else{D=n(d);}H.push(D);S[D]=true;w.location.hash=D;return D;};q.sap.history.addVirtualHistory=function(){q.sap.history.addHistory("",undefined,false,true);};q.sap.history.addRoute=function(i,B,T){if(T){B=q.proxy(B,T);}var R={};R.sIdentifier=i;R['action']=B;b.push(R);return this;};q.sap.history.setDefaultHandler=function(i){g=i;};q.sap.history.getDefaultHandler=function(){return g;};q.sap.history.backToHash=function(i){i=i||"";var B;if(h.length===1){if(q.isFunction(g)){g();}}else{B=k(d,i);if(B<0){w.history.go(B);}else{L.error("jQuery.sap.history.backToHash: "+i+"is not in the history stack or it's after the current hash");}}};q.sap.history.backThroughPath=function(P){P=P||"";P=w.encodeURIComponent(P);var i;if(h.length===1){if(q.isFunction(g)){g();}}else{i=k(d,P,true);if(i<0){w.history.go(i);}else{L.error("jQuery.sap.history.backThroughPath: there's no history state which has the "+P+" identifier in the history stack before the current hash");}}};q.sap.history.back=function(i){if(h.length===1){if(q.isFunction(g)){g(q.sap.history.NavType.Back);}}else{if(!i){i=1;}w.history.go(-1*i);}};q.sap.history.NavType={Back:"_back",Forward:"_forward",Bookmark:"_bookmark",Unknown:"_unknown"};function k(C,T,P){var B=q.inArray(C,h),D,i,E;if(B>0){if(P){for(i=B-1;i>=0;i--){E=h[i];if(E.indexOf(T)===0&&!v(E)){return i-B;}}}else{D=q.inArray(T,h);if((D===-1)&&T.length===0){return-1*B;}if((D>-1)&&(D<B)){return D-B;}}}return 0;}function l(E,M){var i=(w.location.href.split("#")[1]||"");i=m(i);if(M||!S[i]){H.push(i);}if(!f){f=true;if(H.length>0){var B=H.shift();if(S[B]){t(B);delete S[B];}else{y(B);}d=B;}f=false;}}function m(i,R){var B=i,C=i?i.indexOf("#"):-1;if(C===0){B=B.slice(C+1);}if(R){B=B.replace(r,"");}return B;}function n(i){var P=i?i:"";if(v(P)){var B=P.lastIndexOf(s);P=P.slice(0,B);}return P+s+c++;}function p(i,B){var E=w.encodeURIComponent(i);var C=w.encodeURIComponent(w.JSON.stringify(B));return E+I+C;}function o(B){var C=q.inArray(d,h),i,D;if(C>-1){for(i=0;i<C+1;i++){D=h[i];if(D.slice(0,D.length-2)===B){return u();}}}return"";}function t(i){var B=q.inArray(d,h);if(!(B===-1||B===h.length-1)){h.splice(B+1,h.length-1-B);}h.push(i);}function v(i){return a.test(i);}function x(C,F){var B=q.inArray(C,h),i;if(B!==-1){if(F){for(i=B;i<h.length;i++){if(!v(h[i])){return i-B;}}}else{for(i=B;i>=0;i--){if(!v(h[i])){return i-B;}}return-1*(B+1);}}}function y(i){var R,B,P,N,C;if(d===undefined){P=A(i);if(!P||!P.bBookmarkable){if(q.isFunction(g)){g(q.sap.history.NavType.Bookmark);}return;}}if(i.length===0){if(q.isFunction(g)){g(q.sap.history.NavType.Back);}}else{N=h.indexOf(i);if(N===0){P=A(i);if(!P||!P.bBookmarkable){if(q.isFunction(g)){g(q.sap.history.NavType.Back);}return;}}if(v(i)){if(v(d)){B=x(i,false);w.history.go(B);}else{var D=new RegExp(e(d+s)+"[0-9]*$");if(D.test(i)){B=x(i,true);if(B){w.history.go(B);}else{w.history.back();}}else{B=x(i,false);w.history.go(B);}}}else{if(N===-1){C=q.sap.history.NavType.Unknown;h.push(i);}else{if(h.indexOf(d,N+1)===-1){C=q.sap.history.NavType.Forward;}else{C=q.sap.history.NavType.Back;}}P=A(i);if(P){R=z(P.sIdentifier);if(R){R.action.apply(null,[P.oStateData,C]);}}else{L.error("hash format error! The current Hash: "+i);}}}}function z(B){var i;for(i=0;i<b.length;i++){if(b[i].sIdentifier===B){return b[i];}}}function A(B){if(v(B)){var i=B.lastIndexOf(s);B=B.slice(0,i);}var P=B.split(I),R={};if(P.length===4||P.length===3){R.sIdentifier=w.decodeURIComponent(P[0]);R.oStateData=w.JSON.parse(w.decodeURIComponent(P[1]));if(P.length===4){R.uid=P[2];}R.bBookmarkable=P[P.length-1]==="0"?false:true;return R;}else{return null;}}})(this);return q;});
  