{"version":3,"file":"vendor.0a1fb78ac3b10d0e.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAkJ;AACjF;AACa;;AAE9E;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA,IAAI,KAAK,EAAE,EAOV;AACD;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,eAAe,wCAAE,GAAG;AACpB;AACA;AACA,uDAAuD,sCAAsC,iDAAiD,gFAAgF,mEAA4B,uDAAuD;AACjT,0CAA0C,gEAAyB,GAAG,+DAA+D;AACrI,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAgBV;AACD;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAYV;AACD;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF,oDAAoD,gEAAyB,GAAG,mFAAmF;AACnK,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB,iCAAiC;AACjC;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAmBV;AACD;AACA;AACA;AACA,kCAAkC,QAAQ,UAAU;AACpD;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,GAAG;AACpC;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,SAAS;AACT;AACA;AACA,0DAA0D,yCAAyC,oDAAoD,sFAAsF,mEAA4B,6DAA6D;AACtU,6CAA6C,gEAAyB,GAAG,qEAAqE;AAC9I,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB;AACtB,IAAI,KAAK,EAAE,EAGV;;AAED;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAeV;AACD;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,yDAAyD,wCAAwC,mDAAmD,oFAAoF,mEAA4B,2DAA2D;AAC/T,4CAA4C,gEAAyB,GAAG,mEAAmE;AAC3I,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,uCAAuC,uDAAY;AACnD;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,gCAAgC,uDAAY;AAC5C;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,uCAAuC,uDAAY;AACnD;AACA;AACA,IAAI,KAAK,EAAE,EA6CV;;AAED;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA,WAAW,GAAG;AACd,sBAAsB,yDAAc;AACpC,WAAW,GAAG;AACd,6BAA6B,yDAAc;AAC3C,WAAW,GAAG;AACd,6BAA6B,yDAAc;AAC3C,WAAW,GAAG;AACd,uBAAuB,yDAAc;AACrC;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAKV;AACD;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAKV;AACD;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAKV;AACD;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,uDAAY;AACpD,iCAAiC,uDAAY;AAC7C,wCAAwC,uDAAY;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oDAAI;AAC7B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,aAAa;AACb;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,mBAAmB,wCAAE;AACrB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oDAAI;AAC7B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,eAAe;AACf;AACA,mBAAmB,wCAAE;AACrB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,iFAAiF,2DAAW,KAAK,oDAAI;AACrG,4DAA4D,mDAAG;AAC/D,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA,iEAAiE,2DAAW,KAAK,oDAAI;AACrF;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,iHAAiH;AACjH;AACA;AACA,aAAa;AACb;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,mDAAmD;AAC3F;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA,oBAAoB,kDAAY;AAChC;AACA;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B,4BAA4B;AAC5B;AACA,qBAAqB,kDAAY,0BAA0B,wCAAE,aAAa,GAAG;AAC7E,uBAAuB,8CAAQ,eAAe,mDAAG;AACjD,2BAA2B,GAAG;AAC9B,4BAA4B;AAC5B;AACA;AACA,+BAA+B,GAAG;AAClC;AACA;AACA,+BAA+B,GAAG;AAClC,+BAA+B,GAAG;AAClC,gCAAgC;AAChC;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB,GAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,yDAAS;AAC1D,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,uBAAuB,kDAAY,cAAc,wCAAE;AACnD,aAAa;AACb;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,mBAAmB,kDAAY,cAAc,wCAAE;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB,GAAG;AACnB;AACA;AACA;AACA;AACA;AACA,eAAe,4CAAM,CAAC,2CAAK;AAC3B,oBAAoB;AACpB;AACA,gFAAgF,0DAAS;AACzF,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,uBAAuB,wCAAE;AACzB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB,GAAG;AACnB;AACA;AACA;AACA;AACA;AACA,eAAe,4CAAM,CAAC,2CAAK;AAC3B,oBAAoB;AACpB;AACA,yEAAyE,0DAAS;AAClF,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,mBAAmB,kDAAY,cAAc,wCAAE;AAC/C,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,YAAY,kDAAY;AACxB;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA,2BAA2B,GAAG;AAC9B,2BAA2B,GAAG;AAC9B,4BAA4B;AAC5B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,wCAAwC,mDAAmD;AAC3F;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,iCAAiC,mDAAmD;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,wCAAwC,mDAAmD;AAC3F;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA,+DAA+D,mCAAmC,sDAAe,kBAAkB,sDAAe,mBAAmB,sDAAe,qBAAqB,sDAAe,mBAAmB,sDAAe,6BAA6B,sDAAe,oBAAoB,sDAAe,aAAa,sDAAe,cAAc,sDAAe;AAClY,uCAAuC,gEAAyB,GAAG,yDAAyD;AAC5H;AACA;AACA,MAAM,sBAAsB;AAC5B,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,uBAAuB;AAC7B,MAAM,iCAAiC;AACvC,MAAM,8BAA8B,MAAM,iDAAM,6BAA6B,GAAG;AAChF,MAAM,8BAA8B,MAAM,iDAAM,sBAAsB,GAAG;AACzE,MAAM,8BAA8B,MAAM,iDAAM,uBAAuB,GAAG;AAC1E,MAAM,6BAA6B,MAAM,iDAAM,6BAA6B;AAC5E;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB,UAAU,sBAAsB,IAAI,uBAAuB,IAAI,yBAAyB,IAAI,uBAAuB,IAAI,iCAAiC,IAAI;AAClL,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI,UAAU;AAC9B,IAAI,KAAK,EAAE,EA4EV;;AAED;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,uBAAuB,GAAG;AAC1B;AACA,uCAAuC;AACvC;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,GAAG;AAClC;AACA,+BAA+B,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,2BAA2B,GAAG;AAC9B;AACA,oBAAoB,kDAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,qCAAqC,+DAAwB,oBAAoB,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,4DAAwB;AAClP,wCAAwC,+DAAwB,GAAG,mGAAmG,8DAA8D;AACpO;AACA;AACA,MAAM,wBAAwB;AAC9B,MAAM,MAAM,qDAAU,EAAE;AACxB,MAAM,MAAM,4DAAiB;AAC7B;AACA;AACA,kBAAkB,MAAM,gDAAK,EAAE;AAC/B,wBAAwB,MAAM,gDAAK,EAAE;AACrC;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA,aAAa;AACb,KAAK,iBAAiB,UAAU,wBAAwB,IAAI,MAAM,qDAAiB,EAAE,IAAI,MAAM,4DAAwB,EAAE,IAAI,IAAI;AACjI,kBAAkB,gDAAK;AACvB,SAAS;AACT,kBAAkB,gDAAK;AACvB,SAAS,GAAG,IAAI;AAChB,IAAI,KAAK,EAAE,EA4BV;;AAED;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,GAAG;AAC1B;AACA,gBAAgB,kDAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,MAAM;AACrB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,sEAAsE,IAAI,GAAG,MAAM,GAAG;AACtF,yFAAyF,OAAO,IAAI;AACpG,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kHAAkH,QAAQ;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC,+DAAwB,wBAAwB,+DAAwB,CAAC,4DAAwB;AAC1L,oCAAoC,0DAAmB,GAAG,qDAAqD;AAC/G,oCAAoC,gEAAyB,GAAG,mDAAmD;AACnH;AACA;AACA,MAAM,wBAAwB;AAC9B,MAAM,MAAM,4DAAiB;AAC7B;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK;AACL,cAAc,+CAAI;AAClB;AACA;AACA;AACA,aAAa;AACb,KAAK,iBAAiB,UAAU,wBAAwB,IAAI,MAAM,4DAAwB,EAAE,IAAI,UAAU;AAC1G,IAAI,KAAK,EAAE,EAuBV;;AAED;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,EAAE,EAiBV;AACD;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,mCAAmC,yDAAyD;AAC5F,qCAAqC,6DAA6D;AAClG,mCAAmC,4DAA4D;AAC/F,sDAAsD,6EAA6E;AACnI;AACA,kBAAkB,8CAA8C;AAChE,kBAAkB,4DAA4D;AAC9E,kBAAkB,8CAA8C;AAChE,kBAAkB,6DAA6D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mCAAmC,yDAAyD;AAC5F,qCAAqC,6DAA6D;AAClG,mCAAmC,4DAA4D;AAC/F,sDAAsD,6EAA6E;AACnI,kBAAkB,8CAA8C;AAChE,kBAAkB,4DAA4D;AAC9E,kBAAkB,8CAA8C;AAChE,kBAAkB,6DAA6D;AAC/E;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D,qCAAqC,8DAAuB,GAAG,uBAAuB;AACtF,qCAAqC,8DAAuB,GAAG;AAC/D,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,mDAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,KAAK,iBAAiB;AACtB,eAAe,mDAAmD,gEAAyB,oBAAoB,iGAAiG,IAAI;;AAEpN;AACA;AACA;AACA,cAAc,yGAAyG;AACvH;;AAE8U;;;;;;;;;;;;;;;;;ACjuD9U;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY,EAAE,KAAK,EAAE,YAAY;AACjE;AACA;;AAEA;AACA;AACA;;AAE+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBqB;AAC2F;AAC3E;AAC2D;;AAE/H;AACA;AACA,cAAc,wEAAwE;AACtF;AACA;AACA;AACA,UAAU;AACV;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,cAAc,wEAAwE;AACtF;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA,0BAA0B,sDAAsD;AAChF,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA,wBAAwB,uCAAuC;AAC/D,eAAe,GAAG;AAClB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iDAAiD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,0BAA0B;AAC1G;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,yBAAyB;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uDAAY;AAC3C;AACA;AACA;AACA,4BAA4B,uDAAY;AACxC;AACA;AACA;AACA,6BAA6B,uDAAY;AACzC;AACA;AACA;AACA,2BAA2B,yCAAO;AAClC;AACA;AACA;AACA,6BAA6B,yCAAO;AACpC;AACA;AACA;AACA,6BAA6B,yCAAO;AACpC,4BAA4B,yCAAO;AACnC,gCAAgC,yCAAO;AACvC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB,2BAA2B,2CAAK;AAChC,mBAAmB,GAAG;AACtB,2BAA2B,2CAAK,8DAA8D,mDAAG,IAAI,OAAO;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,GAAG,qDAAK;AACjB,mBAAmB,GAAG;AACtB,yBAAyB,2CAAK;AAC9B,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mCAAmC;AACnC;AACA;AACA,kBAAkB,yDAAS,oBAAoB,mDAAG;AAClD;AACA;AACA,SAAS,GAAG,yDAAS,qEAAqE,uCAAK,GAAG,yDAAS,4BAA4B,0DAAS;AAChJ,0BAA0B,kBAAkB;AAC5C,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uBAAuB,GAAG;AAC1B;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,GAAG;AACtB;AACA,kBAAkB,yDAAQ;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,2BAA2B,GAAG;AAC9B,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,uBAAuB,GAAG;AAC1B,w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AAK;AACrB,+BAA+B,6CAAU;AACzC,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,gCAAgC,GAAG;AACnC;AACA;AACA,SAAS,OAAO,qDAAK;AACrB,6BAA6B,6CAAU;AACvC,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,gCAAgC,GAAG;AACnC,gCAAgC,GAAG;AACnC;AACA;AACA,SAAS,OAAO,qDAAK;AACrB;AACA;;AAEA;AACA;AACA,cAAc,wEAAwE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA,gFAAgF,0BAA0B;AAC1G;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAO;AACnC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iBAAiB;AACjB,gBAAgB,2CAAK;AACrB;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,GAAG;AAC5B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,eAAe,gDAAS,6CAA6C,0DAAS;AAC9E;AACA;AACA,yEAAyE,wCAAwC,+DAAwB,CAAC,oDAAgB,GAAG,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,iDAAa,GAAG,+DAAwB;AAC3Q,2CAA2C,+DAAwB,GAAG,iFAAiF,wEAAwE;AAC/N;AACA;AACA,MAAM,MAAM,oDAAS,EAAE;AACvB,MAAM,MAAM,qDAAU,EAAE;AACxB,MAAM,MAAM,iDAAM,EAAE;AACpB,MAAM,yCAAyC,MAAM,mDAAQ,EAAE;AAC/D;AACA;AACA,oBAAoB,MAAM,gDAAK,EAAE;AACjC,2BAA2B,MAAM,gDAAK,EAAE;AACxC;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA,aAAa;AACb,KAAK,iBAAiB,UAAU,MAAM,oDAAgB,EAAE,IAAI,MAAM,qDAAiB,EAAE,IAAI,MAAM,iDAAa,EAAE,IAAI;AAClH,sBAAsB,mDAAQ;AAC9B,aAAa,GAAG,IAAI,IAAI;AACxB,kBAAkB,gDAAK;AACvB,SAAS;AACT,kBAAkB,gDAAK;AACvB,SAAS,GAAG,IAAI;;AAEhB;AACA;AACA,cAAc,wEAAwE;AACtF;AACA;AACA;AACA,6DAA6D;AAC7D,qCAAqC,8DAAuB,GAAG,uBAAuB;AACtF,qCAAqC,8DAAuB,GAAG;AAC/D,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,mDAAQ;AACtB;AACA;AACA;AACA,aAAa;AACb,KAAK,iBAAiB;AACtB,eAAe,mDAAmD,gEAAyB,oBAAoB,iHAAiH,IAAI;;AAEpO;AACA;AACA,cAAc,wEAAwE;AACtF;;AAEA;AACA;AACA,cAAc,wEAAwE;AACtF;;AAEsE;;;;;;;;;;;;ACr/BtE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,UAAU;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO,MAAM,KAAK,EAAE,KAAK,EAAE,KAAK;AAC3C,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,OAAO,EAAE,KAAK,EAAE,KAAK;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ,IAAI;AACvB,WAAW,QAAQ,IAAI;AACvB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,4BAA4B,8BAA8B;;AAE1D;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC,qCAAqC;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iBAAiB;AACjB;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,GAAG;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C,2BAA2B,cAAc;AACzC,2BAA2B,gCAAgC;AAC3D,yBAAyB,gCAAgC;AACzD;AACA,yBAAyB,4BAA4B;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,4BAA4B,gCAAgC;;AAE5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,mBAAmB;AAClC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,mBAAmB;AAClC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,UAAU;AACzB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,UAAU;AACzB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,mGAAmG,IAAI;AACvG;;AAEA,IAAI,IAA0C;AAC9C,IAAI,mCAAO;AACX;AACA,KAAK;AAAA,kGAAC;AACN,EAAE,KAAK,EAIN;;AAED,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACllF+G;AAChE;AACiB;AACZ;AACW;;AAExB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB;AACA;AACA,4DAA4D;AAC5D;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,kCAAkC;AACxD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,oBAAoB;AAC1C;AACA,iEAAiE,YAAY;AAC7E;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,oBAAoB;AAC1C;AACA,2DAA2D,YAAY;AACvE;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,4BAA4B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,+EAA+E;AACrG;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,0BAA0B;AAChD;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,cAAc;AACpC;AACA,kEAAkE,MAAM;AACxE;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,cAAc;AACpC;AACA,wDAAwD,MAAM;AAC9D;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,gBAAgB;AACtC;AACA,2DAA2D,QAAQ;AACnE;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,0BAA0B;AAChD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,IAAI,+CAAS;AACb,cAAc,yDAAS;AACvB,sBAAsB,sBAAsB;AAC5C;AACA,6DAA6D,cAAc;AAC3E;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wDAAK,eAAe,6EAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,gCAAgC,wDAAK;AACrC,8CAA8C,gEAAa,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAO;AACnC,qCAAqC,uDAAY;AACjD,gCAAgC,uDAAY;AAC5C,mCAAmC,uDAAY;AAC/C,qCAAqC,uDAAY;AACjD,2BAA2B,uDAAY;AACvC,8BAA8B,uDAAY;AAC1C,8BAA8B,uDAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,gEAAa,CAAC;AACpF;AACA,eAAe,4EAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yEAAsB;AAC7C;AACA,uBAAuB,wEAAqB;AAC5C;AACA,uBAAuB,wEAAqB;AAC5C;AACA,uBAAuB,0EAAuB;AAC9C;AACA,uBAAuB,uEAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA,6DAA6D,wBAAwB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0CAAI;AACZ,kBAAkB,yDAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,oBAAoB;AAC5E;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAK;AACpB,wCAAwC,6DAAW;AACnD,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,2CAA2C,4EAA0B,iBAAiB,UAAU;AAChG,8CAA8C,+EAA6B;AAC3E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uEAAqB;AAC3D;AACA;AACA;AACA;AACA,eAAe,wDAAK;AACpB,wCAAwC,6DAAW;AACnD,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B,0BAA0B,YAAY;AACtC;AACA;AACA;AACA,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,QAAQ,+CAAS;AACjB,kBAAkB,yDAAS;AAC3B;AACA;AACA,SAAS;AACT,4CAA4C,4EAA0B,iBAAiB,UAAU;AACjG,+CAA+C,+EAA6B;AAC5E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iFAA+B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oEAAiB;AAC5C;AACA;AACA;AACA;AACA,QAAQ,0CAAI;AACZ,kBAAkB,yDAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+CAAS;AACrB,sBAAsB,4DAAY,OAAO,sDAAM,4CAA4C,yDAAS;AACpG;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,mEAAmE,qCAAqC,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,iDAAa;AAC3L,wCAAwC,+DAAwB,GAAG,+GAA+G;AAClL,QAAQ,yDAAkB;AAC1B,MAAM;AACN;AACA,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,OAAO,YAAY,siBAAsiB,aAAa,gOAAgO,aAAa,kEAA2B,yKAAyK;AACv/B,QAAQ,4DAAqB;AAC7B,QAAQ,uDAAgB;AACxB,QAAQ,0DAAmB;AAC3B,OAAO,yDAAyD,gBAAgB,kBAAkB,YAAY,WAAW,iCAAiC,iBAAiB,cAAc,kBAAkB,qBAAqB,iEAAiE,mJAAmJ,aAAa,0DAA0D,mJAAmJ,aAAa,gCAAgC,4BAA4B,oCAAoC,2CAA2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;;;;;;;;;;;;;;;;ACb0D;AACV;AACsB;AAC1B;AACV;AACa;AACI;AAC5C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,uDAAc;AAC7F,QAAQ,gEAAY;AACpB,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,uDAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK,0DAAiB;AACtB;AACA;AACA;AACA,eAAe,yDAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,mDAAc;AAC9F;AACA;AACA,oBAAoB,4DAAU,gBAAgB,4DAAU,iBAAiB,4DAAU;AACnF;AACA;AACA,sCAAsC,mDAAU,2BAA2B,6DAAc;AACzF;;;;;;;;;;;;;;;;;;AC3FoC;AACsC;AACnE,4BAA4B,6CAAO;AAC1C,qFAAqF,mFAAqB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2EAA2E;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C;AACA,wBAAwB,uCAAuC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gEAAgE;AAChF;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAyC;AACrE;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AChD0E;AACnE;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uFAAyB;;;;;;;;;;;;;;;;;;;;;;ACVC;AACwB;AACO;AAC5B;AACM;AAC5C,sBAAsB,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA,wBAAwB,YAAY;AACpC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iCAAiC;AACjD;AACA,mBAAmB,6DAAkB;AACrC;AACA;AACA;AACA,mBAAmB,uDAAY;AAC/B;AACA,YAAY,0DAAS;AACrB,SAAS;AACT;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mDAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI,6DAAkB;AAC1J;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACpI+C;AACe;AAC5B;AACiC;AAChC;AACkE;AACvC;AACX;AAC5C,yBAAyB,uDAAY;AAC5C;AACA;AACA;AACA;AACA;AACA,gBAAgB,6DAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,wEAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,yEAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,yEAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,YAAY,4DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oEAA+B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iFAA4C;AACpD,QAAQ,gEAAY;AACpB;AACA;AACA,QAAQ,gFAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wBAAwB,EAAE,2CAAM;AAC5C,6BAA6B,kFAA0B;AACvD;AACO;AACP;AACA,UAAU,4CAAI;AACd;AACA,cAAc,4CAAI;AAClB;;;;;;;;;;;;;;;;;;;;;AC5K+C;AACkB;AACpB;AACtC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD,gBAAgB,4DAAU;AAC1B;AACA;AACA;AACA;AACA,0CAA0C,0EAAmB;AAC7D;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0EAAmB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0EAAmB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA,YAAY,0DAAS;AACrB;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B,uBAAuB,0DAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;AACA;AACP;AACA,uCAAuC,4DAAU,kBAAkB,4DAAU,eAAe,4DAAU;AACtG;AACA;AACA,QAAQ,4DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACrHO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACN2C;AACI;AACyB;AACG;AACpC;AAChC,oCAAoC,mDAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mDAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uDAAY;AAC5D;AACA,iDAAiD,uFAAwB;AACzE;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,6BAA6B,6DAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,6DAAmB;AAClC;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACvD2C;AACyB;AACtC;AACc;AACgB;AACG;AACX;AACuB;AACjB;AACnD;AACP,sBAAsB,wDAAY;AAClC,2BAA2B,6DAAiB;AAC5C,YAAY,0BAA0B,EAAE,gFAAoB;AAC5D;AACA,eAAe,2CAAI;AACnB;AACA,uBAAuB,mDAAU;AACjC;AACA,wBAAwB,gEAAY;AACpC;AACA,YAAY,oDAAQ;AACpB,wCAAwC,wEAAgB;AACxD;AACO,oEAAoE,oDAAQ;AACnF;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA,mCAAmC,2CAAI;AACvC;AACA,qCAAqC,uFAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,QAAQ,sEAAe;AACvB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5DmD;AACP;AACd;AACvB;AACP,WAAW,+DAAS,GAAG,2CAAI,OAAO,wDAAY;AAC9C;;;;;;;;;;;;;;;;;;ACL2C;AACH;AACjC;AACP,eAAe,mDAAU;AACzB,QAAQ,qDAAS;AACjB,KAAK;AACL;;;;;;;;;;;;;;;;;;ACN2C;AACpC,kBAAkB,mDAAU;AAC5B;AACP;AACA;AACA;AACA,eAAe,mDAAU;AACzB;;;;;;;;;;;;;;;;;;;;;;;ACP2C;AACyB;AAC5B;AACS;AAC0B;AACf;AACR;AAC7C;AACP,2BAA2B,6DAAiB;AAC5C,YAAY,sBAAsB,EAAE,gFAAoB;AACxD,uBAAuB,mDAAU;AACjC,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA,YAAY,qDAAS,iCAAiC,uFAAwB;AAC9E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,+CAA+C,gEAAY;AAC3D;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL,wCAAwC,wEAAgB;AACxD;;;;;;;;;;;;;;;;;;ACtCmD;AACX;AACjC;AACP,uBAAuB,+DAAS,qBAAqB,qDAAS;AAC9D;;;;;;;;;;;;;;;;;;;;;;ACJoD;AACT;AACM;AACC;AACF;AACY;AAC5D;AACA;AACA;AACO;AACP,QAAQ,4DAAU;AAClB;AACA;AACA;AACA;AACA,0DAA0D,wEAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8DAAW;AACvB,mBAAmB,6DAAQ,0DAA0D,gEAAS;AAC9F;AACA;AACA;AACA;AACA;AACA,eAAe,mDAAU;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAU,wBAAwB,4DAAU;AACvD;AACA;AACA,WAAW,4DAAU,eAAe,4DAAU;AAC9C;AACA;AACA,WAAW,4DAAU,6BAA6B,4DAAU;AAC5D;;;;;;;;;;;;;;;;;AClD2C;AACpC;AACP,eAAe,mDAAU;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASsuC,SAAT,CAAmBtyJ,KAAnB,EAA0B;AAC7B,MAAIA,KAAK,YAAY4xJ,mDAArB,EAAiC;AAC7B,WAAO5xJ,KAAP;AACH;;AACD,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,QAAI6xJ,8EAAmB,CAAC7xJ,KAAD,CAAvB,EAAgC;AAC5B,aAAOuyJ,qBAAqB,CAACvyJ,KAAD,CAA5B;AACH;;AACD,QAAI0xJ,8DAAW,CAAC1xJ,KAAD,CAAf,EAAwB;AACpB,aAAOwyJ,aAAa,CAACxyJ,KAAD,CAApB;AACH;;AACD,QAAI2xJ,0DAAS,CAAC3xJ,KAAD,CAAb,EAAsB;AAClB,aAAOyyJ,WAAW,CAACzyJ,KAAD,CAAlB;AACH;;AACD,QAAI8xJ,sEAAe,CAAC9xJ,KAAD,CAAnB,EAA4B;AACxB,aAAO0yJ,iBAAiB,CAAC1yJ,KAAD,CAAxB;AACH;;AACD,QAAIgyJ,4DAAU,CAAChyJ,KAAD,CAAd,EAAuB;AACnB,aAAO2yJ,YAAY,CAAC3yJ,KAAD,CAAnB;AACH;;AACD,QAAIiyJ,gFAAoB,CAACjyJ,KAAD,CAAxB,EAAiC;AAC7B,aAAO4yJ,sBAAsB,CAAC5yJ,KAAD,CAA7B;AACH;AACJ;;AACD,QAAM+xJ,8FAAgC,CAAC/xJ,KAAD,CAAtC;AACH;AACM,SAASuyJ,qBAAT,CAA+BzmK,GAA/B,EAAoC;AACvC,SAAO,IAAI8lK,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC,UAAMC,GAAG,GAAGhnK,GAAG,CAACumK,0DAAD,CAAH,EAAZ;;AACA,QAAIlwH,4DAAU,CAAC2wH,GAAG,CAACC,SAAL,CAAd,EAA+B;AAC3B,aAAOD,GAAG,CAACC,SAAJ,CAAcF,UAAd,CAAP;AACH;;AACD,UAAM,IAAI/jK,SAAJ,CAAc,gEAAd,CAAN;AACH,GANM,CAAP;AAOH;AACM,SAAS0jK,aAAT,CAAuB/gI,KAAvB,EAA8B;AACjC,SAAO,IAAImgI,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC,SAAK,IAAIvkK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmjC,KAAK,CAACpjC,MAAV,IAAoB,CAACwkK,UAAU,CAACrpH,MAAhD,EAAwDl7C,CAAC,EAAzD,EAA6D;AACzDukK,MAAAA,UAAU,CAACzjK,IAAX,CAAgBqiC,KAAK,CAACnjC,CAAD,CAArB;AACH;;AACDukK,IAAAA,UAAU,CAAC1rJ,QAAX;AACH,GALM,CAAP;AAMH;AACM,SAASsrJ,WAAT,CAAqBtvI,OAArB,EAA8B;AACjC,SAAO,IAAIyuI,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC1vI,IAAAA,OAAO,CACFxyB,IADL,CACWtE,KAAD,IAAW;AACjB,UAAI,CAACwmK,UAAU,CAACrpH,MAAhB,EAAwB;AACpBqpH,QAAAA,UAAU,CAACzjK,IAAX,CAAgB/C,KAAhB;AACAwmK,QAAAA,UAAU,CAAC1rJ,QAAX;AACH;AACJ,KAND,EAMIlY,GAAD,IAAS4jK,UAAU,CAACpiK,KAAX,CAAiBxB,GAAjB,CANZ,EAOK0B,IAPL,CAOU,IAPV,EAOgBwhK,6EAPhB;AAQH,GATM,CAAP;AAUH;AACM,SAASQ,YAAT,CAAsBvsJ,QAAtB,EAAgC;AACnC,SAAO,IAAIwrJ,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC,SAAK,MAAMxmK,KAAX,IAAoB+Z,QAApB,EAA8B;AAC1BysJ,MAAAA,UAAU,CAACzjK,IAAX,CAAgB/C,KAAhB;;AACA,UAAIwmK,UAAU,CAACrpH,MAAf,EAAuB;AACnB;AACH;AACJ;;AACDqpH,IAAAA,UAAU,CAAC1rJ,QAAX;AACH,GARM,CAAP;AASH;AACM,SAASurJ,iBAAT,CAA2BM,aAA3B,EAA0C;AAC7C,SAAO,IAAIpB,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC5tI,IAAAA,OAAO,CAAC+tI,aAAD,EAAgBH,UAAhB,CAAP,CAAmCI,KAAnC,CAA0ChkK,GAAD,IAAS4jK,UAAU,CAACpiK,KAAX,CAAiBxB,GAAjB,CAAlD;AACH,GAFM,CAAP;AAGH;AACM,SAAS2jK,sBAAT,CAAgCz7F,cAAhC,EAAgD;AACnD,SAAOu7F,iBAAiB,CAACR,8FAAkC,CAAC/6F,cAAD,CAAnC,CAAxB;AACH;;AACD,SAASlyC,OAAT,CAAiB+tI,aAAjB,EAAgCH,UAAhC,EAA4C;AACxC,MAAIK,eAAJ,EAAqBC,iBAArB;;AACA,MAAIC,GAAJ,EAASzpH,EAAT;;AACA,SAAO8nH,iDAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,aAAa;AAChD,QAAI;AACA,WAAKyB,eAAe,GAAG1B,qDAAa,CAACwB,aAAD,CAApC,EAAqDG,iBAAiB,GAAG,MAAMD,eAAe,CAAC9jK,IAAhB,EAA1B,EAAkD,CAAC+jK,iBAAiB,CAACzkK,IAA1H,GAAiI;AAC7H,cAAMrC,KAAK,GAAG8mK,iBAAiB,CAAC9mK,KAAhC;AACAwmK,QAAAA,UAAU,CAACzjK,IAAX,CAAgB/C,KAAhB;;AACA,YAAIwmK,UAAU,CAACrpH,MAAf,EAAuB;AACnB;AACH;AACJ;AACJ,KARD,CASA,OAAO6pH,KAAP,EAAc;AAAED,MAAAA,GAAG,GAAG;AAAE3iK,QAAAA,KAAK,EAAE4iK;AAAT,OAAN;AAAyB,KATzC,SAUQ;AACJ,UAAI;AACA,YAAIF,iBAAiB,IAAI,CAACA,iBAAiB,CAACzkK,IAAxC,KAAiDi7C,EAAE,GAAGupH,eAAe,CAAC9oH,MAAtE,CAAJ,EAAmF,MAAMT,EAAE,CAACz6C,IAAH,CAAQgkK,eAAR,CAAN;AACtF,OAFD,SAGQ;AAAE,YAAIE,GAAJ,EAAS,MAAMA,GAAG,CAAC3iK,KAAV;AAAkB;AACxC;;AACDoiK,IAAAA,UAAU,CAAC1rJ,QAAX;AACH,GAlBe,CAAhB;AAmBH;;;;;;;;;;;;;;;;;AC5GD;AACA;AACO,SAASqsJ,QAAT,CAAkBC,MAAM,GAAG,CAA3B,EAA8BC,SAAS,GAAGJ,4DAA1C,EAA0D;AAC7D,MAAIG,MAAM,GAAG,CAAb,EAAgB;AACZA,IAAAA,MAAM,GAAG,CAAT;AACH;;AACD,SAAOF,6CAAK,CAACE,MAAD,EAASA,MAAT,EAAiBC,SAAjB,CAAZ;AACH;;;;;;;;;;;;;;;;;;;;ACPgD;AACT;AACR;AACuB;AACzB;AACvB;AACP,sBAAsB,wDAAY;AAClC,uBAAuB,qDAAS;AAChC;AACA;AACA;AACA,YAAY,yCAAK;AACjB;AACA;AACA,gBAAgB,qDAAS;AACzB;AACA,gBAAgB,6DAAQ,aAAa,2CAAI;AACzC;;;;;;;;;;;;;;;;;;;ACjB2C;AACP;AAC7B,kBAAkB,mDAAU,CAAC,4CAAI;AACjC;AACP;AACA;;;;;;;;;;;;;;;;;;ACL4C;AACd;AACvB;AACP,sBAAsB,wDAAY;AAClC,WAAW,2CAAI;AACf;;;;;;;;;;;;;;;;;;ACL2C;AACK;AACzC;AACP,yBAAyB,4DAAU;AACnC;AACA,eAAe,mDAAU;AACzB;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACO,SAASH,KAAT,CAAeM,OAAO,GAAG,CAAzB,EAA4BC,mBAA5B,EAAiDJ,SAAS,GAAGJ,mDAA7D,EAA6E;AAChF,MAAIS,gBAAgB,GAAG,CAAC,CAAxB;;AACA,MAAID,mBAAmB,IAAI,IAA3B,EAAiC;AAC7B,QAAIH,8DAAW,CAACG,mBAAD,CAAf,EAAsC;AAClCJ,MAAAA,SAAS,GAAGI,mBAAZ;AACH,KAFD,MAGK;AACDC,MAAAA,gBAAgB,GAAGD,mBAAnB;AACH;AACJ;;AACD,SAAO,IAAIlC,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClC,QAAImB,GAAG,GAAGJ,yDAAW,CAACC,OAAD,CAAX,GAAuB,CAACA,OAAD,GAAWH,SAAS,CAAC31J,GAAV,EAAlC,GAAoD81J,OAA9D;;AACA,QAAIG,GAAG,GAAG,CAAV,EAAa;AACTA,MAAAA,GAAG,GAAG,CAAN;AACH;;AACD,QAAIvlK,CAAC,GAAG,CAAR;AACA,WAAOilK,SAAS,CAACO,QAAV,CAAmB,YAAY;AAClC,UAAI,CAACpB,UAAU,CAACrpH,MAAhB,EAAwB;AACpBqpH,QAAAA,UAAU,CAACzjK,IAAX,CAAgBX,CAAC,EAAjB;;AACA,YAAI,KAAKslK,gBAAT,EAA2B;AACvB,eAAKE,QAAL,CAAc/iK,SAAd,EAAyB6iK,gBAAzB;AACH,SAFD,MAGK;AACDlB,UAAAA,UAAU,CAAC1rJ,QAAX;AACH;AACJ;AACJ,KAVM,EAUJ6sJ,GAVI,CAAP;AAWH,GAjBM,CAAP;AAkBH;;;;;;;;;;;;;;;;;AChC0C;AACpC;AACP;AACA;AACO,iCAAiC,mDAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtDuC;AACa;AACY;AACzD;AACP,WAAW,mDAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA;AACA,gBAAgB,gEAAS,0DAA0D,6EAAwB;AAC3G;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACO,SAASG,SAAT,CAAmBz1J,QAAnB,EAA6Bg1J,SAAS,GAAGJ,4DAAzC,EAAyD;AAC5D,SAAOY,6CAAK,CAAC,MAAMX,wDAAK,CAAC70J,QAAD,EAAWg1J,SAAX,CAAZ,CAAZ;AACH;;;;;;;;;;;;;;;;;;ACLmD;AACY;AACzB;AAChC;AACP,WAAW,mDAAO;AAClB;AACA;AACA;AACA,oCAAoC,6EAAwB;AAC5D,4BAA4B,gEAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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A;AACA;AACA;AACA,WAAW,mDAAO,yBAAyB,+DAAc;AACzD;;;;;;;;;;;;;;;;;;;ACb4E;AAC5B;AACZ;AAC7B;AACP,2BAA2B,4DAAU;AACrC,QAAQ,4DAAU;AAClB,eAAe,iDAAO;AACtB;AACA,SAAS;AACT;AACA,2BAA2B,oFAAqB;AAChD;;;;;;;;;;;;;;;;;;;ACX0D;AACnB;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB,yBAAyB,6EAAwB,wBAAwB,sEAAe,oEAAoE,sEAAe,sEAAsE,sEAAe;AAChQ,KAAK;AACL;;;;;;;;;;;;;;;;;;ACPuC;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB;AACA;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;ACbqC;AACG;AACJ;AAC7B;AACP,kCAAkC,iDAAO,iCAAiC,qDAAS,KAAK,6CAAO;AAC/F;;;;;;;;;;;;;;;;;;ACLuC;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB;AACA;AACA,2BAA2B,6EAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;ACxBuC;AACS;AACzC;AACP,WAAW,mDAAO,CAAC,6DAAa;AAChC;;;;;;;;;;;;;;;;;ACJgE;AACzD;AACP;AACA;AACA;AACA;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;;;;;;;;;;;;;;;;;;;;ACpBoD;AACf;AACU;AACR;AAChC,2BAA2B;AAClC,YAAY,sBAAsB,6CAAO,8EAA8E;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,mDAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iCAAiC,uDAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,gEAAS;AACzB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uDAAc;AAC3C;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,WAAW,gEAAS;AACpB;;;;;;;;;;;;;;;;;;AC7EiD;AACjB;AACzB;AACP;AACA;AACA;AACA,WAAW,4EAA4E;AACvF;AACA;AACA;AACA;AACA,WAAW,6CAAK;AAChB,6BAA6B,yDAAa;AAC1C;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;ACjBkC;AAC3B;AACP,WAAW,+CAAM;AACjB;;;;;;;;;;;;;;;;;;;ACH8C;AACF;AACL;AAChC;AACP,sBAAsB,wDAAY;AAClC,WAAW,mDAAO;AAClB,qBAAqB,0DAAM,8BAA8B,0DAAM;AAC/D,KAAK;AACL;;;;;;;;;;;;;;;;;ACRuC;AAChC;AACP,WAAW,mDAAO;AAClB;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;ACLoD;AACb;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB;AACA;AACA;AACA;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA;AACA,YAAY,gEAAS,0DAA0D,6EAAwB;AACvG;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;ACtB4C;AACL;AACyB;AACzD;AACP;AACA;AACA,kBAAkB,oDAAK;AACvB,UAAU,mDAAO;AACjB;AACA,6BAA6B,6EAAwB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;;;;;;;;;;;;;;;;;;AClB4C;AACL;AACyB;AACzD;AACP;AACA,gBAAgB,oDAAK;AACrB,UAAU,mDAAO;AACjB;AACA,6BAA6B,6EAAwB;AACrD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb,SAAS;AACT;;;;;;;;;;;;;;;;;;;;ACpBuC;AACyB;AACZ;AAChB;AAC7B;AACP,WAAW,mDAAO;AAClB,QAAQ,gEAAS,qBAAqB,6EAAwB,0CAA0C,4CAAI;AAC5G;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;ACTuC;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;;;ACXgD;AACT;AACyB;AACpB;AACrC;AACP,wBAAwB,4DAAU;AAClC;AACA,cAAc;AACd;AACA;AACA,UAAU,mDAAO;AACjB;AACA;AACA;AACA,6BAA6B,6EAAwB;AACrD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,YAAY,oDAAQ;AACpB;;;;;;;;;;;;;;;;;;;ACtCgD;AACT;AACyB;AACzD;AACP,WAAW,mDAAO;AAClB;AACA,yBAAyB,6EAAwB;AACjD;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,eAAe,wDAAU;AACzB;;;;;;;;;;;;;;;;;ACd2C;AACpC;AACP,eAAe,mDAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;;AChBA;AACA;AACO,SAASq2J,qBAAT,CAA+B/0J,KAA/B,EAAsC0zJ,SAAtC,EAAiD;AACpD,MAAI,CAAC1zJ,KAAL,EAAY;AACR,UAAM,IAAI/J,KAAJ,CAAU,yBAAV,CAAN;AACH;;AACD,SAAO,IAAI27J,mDAAJ,CAAgBiB,UAAD,IAAgB;AAClCiC,IAAAA,sEAAe,CAACjC,UAAD,EAAaa,SAAb,EAAwB,MAAM;AACzC,YAAM1nK,QAAQ,GAAGgU,KAAK,CAACjU,MAAM,CAACgW,aAAR,CAAL,EAAjB;AACA+yJ,MAAAA,sEAAe,CAACjC,UAAD,EAAaa,SAAb,EAAwB,MAAM;AACzC1nK,QAAAA,QAAQ,CAACoD,IAAT,GAAgBuB,IAAhB,CAAsBoC,MAAD,IAAY;AAC7B,cAAIA,MAAM,CAACrE,IAAX,EAAiB;AACbmkK,YAAAA,UAAU,CAAC1rJ,QAAX;AACH,WAFD,MAGK;AACD0rJ,YAAAA,UAAU,CAACzjK,IAAX,CAAgB2D,MAAM,CAAC1G,KAAvB;AACH;AACJ,SAPD;AAQH,OATc,EASZ,CATY,EAST,IATS,CAAf;AAUH,KAZc,CAAf;AAaH,GAdM,CAAP;AAeH;;;;;;;;;;;;;;;;;;;ACrB0C;AACsB;AACjB;AACU;AACnD;AACP,eAAe,mDAAU;AACzB;AACA,QAAQ,sEAAe;AACvB,6BAA6B,sDAAe;AAC5C,YAAY,sEAAe;AAC3B;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,qBAAqB,4DAAU;AAC/B,KAAK;AACL;;;;;;;;;;;;;;;;;;;AC7BoD;AACD;AACI;AAChD;AACP,WAAW,gEAAS,aAAa,mEAAW,aAAa,+DAAS;AAClE;;;;;;;;;;;;;;;;;;;ACLoD;AACD;AACI;AAChD;AACP,WAAW,gEAAS,aAAa,mEAAW,aAAa,+DAAS;AAClE;;;;;;;;;;;;;;;;;;ACLgE;AACkB;AAC3E;AACP,WAAW,6EAAqB,CAAC,8FAAkC;AACnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ0D;AACN;AACJ;AACM;AACU;AACE;AACpB;AACI;AACF;AACU;AACwB;AACd;AACM;AACnE;AACP;AACA,YAAY,8EAAmB;AAC/B,mBAAmB,uEAAkB;AACrC;AACA,YAAY,8DAAW;AACvB,mBAAmB,6DAAa;AAChC;AACA,YAAY,0DAAS;AACrB,mBAAmB,iEAAe;AAClC;AACA,YAAY,sEAAe;AAC3B,mBAAmB,6EAAqB;AACxC;AACA,YAAY,4DAAU;AACtB,mBAAmB,mEAAgB;AACnC;AACA,YAAY,iFAAoB;AAChC,mBAAmB,wFAA0B;AAC7C;AACA;AACA,UAAU,+FAAgC;AAC1C;;;;;;;;;;;;;;;;;ACnC+C;AACxC,qBAAqB,uDAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACR4C;AACsB;AAC3D,mCAAmC,qDAAW;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,iGAA4C;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA,YAAY,gGAA2C;AACvD;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC3BkD;AAC3C,sCAAsC,2DAAc;AAC3D;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtB4C;AACY;AACjD,yBAAyB,qDAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,8EAA8B;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA,YAAY,gFAAgC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7BkD;AAC3C,4BAA4B,2DAAc;AACjD;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtBkC;AACoB;AACR;AACvC,0BAA0B,2CAAM;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2EAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6EAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC,oBAAoB,UAAU;AAC9B;AACA;AACA,YAAY,0DAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AChFyC;AAClC,6BAA6B,iDAAS;AAC7C,uCAAuC,qDAAa;AACpD;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5B8D;AACM;AAC7D,oCAAoC,6EAAuB,CAAC,uEAAoB;AAChF;;;;;;;;;;;;;;;;;ACHwC;AACxC;AACP;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,uDAAY;AAC/B,KAAK;AACL;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;;;ACzB0C;AACM;AACzC,0BAA0B,yDAAa,CAAC,mDAAU;AAClD;;;;;;;;;;;;;;;;;;;ACHP;AACA;AACO,MAAMinK,cAAc,GAAG,IAAI2B,2DAAJ,CAAmBD,qDAAnB,CAAvB;AACA,MAAMtwJ,KAAK,GAAG4uJ,cAAd;;;;;;;;;;;;;;;ACHA;AACP;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;ACL8C;AAC9C,QAAQ,+BAA+B,EAAE,sDAAS;AAC3C;AACP;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;ACZO;AACP;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;ACbO;AACP;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB,WAAW;AAC3B;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;ACbO;AACP;AACA;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;ACNA;;;;;;;;;;;;;;;;;ACA+C;AAC/C,mBAAmB,mEAAgB;AAC1C;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5BsD;AAC/C,gCAAgC,mEAAgB;AACvD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;ACLqD;AAC/C,4BAA4B,mEAAgB;AACnD;AACA;AACA,aAAa,eAAe;AAC5B,EAAE,0BAA0B,MAAM,IAAI,eAAe,gBAAgB;AACrE;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;ACTyC;AACE;AAC5C;AACA;AACA;AACO;AACP,WAAW,uDAAU;AACrB;AACO;AACP,WAAW,yDAAW;AACtB;AACO;AACP;AACA;;;;;;;;;;;;;;;;ACbA,QAAQ,UAAU;AAClB,QAAQ,wDAAwD;AACzD;AACP;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpBO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACLO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACTO;AACP,kFAAkF;AAClF;;;;;;;;;;;;;;;;;;ACFmC;AACnC;AACO;AACP,QAAQ,iFAA4C;AACpD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,QAAQ,iFAA4C;AACpD;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1BO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACdO;AACP;AACA;;;;;;;;;;;;;;;;ACFO;;;;;;;;;;;;;;;;;ACAP;AACO,SAASxB,eAAT,CAAyBhmK,GAAzB,EAA8B;AACjC,SAAOC,MAAM,CAACgW,aAAP,IAAwBogC,uDAAU,CAACr2C,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK,KAAK,CAA7B,GAAiC,KAAK,CAAtC,GAA0CA,GAAG,CAACC,MAAM,CAACgW,aAAR,CAA9C,CAAzC;AACH;;;;;;;;;;;;;;;ACHM;AACP;AACA;;;;;;;;;;;;;;;;ACFO;AACP;AACA;;;;;;;;;;;;;;;;;;ACFuE;AAC7B;AACnC;AACP,WAAW,uDAAU,OAAO,0DAAiB;AAC7C;;;;;;;;;;;;;;;;;;ACJiE;AACvB;AACnC;AACP,WAAW,uDAAU,qDAAqD,sDAAe;AACzF;;;;;;;;;;;;;;;;;;ACJ2C;AACD;AACnC;AACP,oCAAoC,mDAAU,KAAK,uDAAU,cAAc,uDAAU;AACrF;;;;;;;;;;;;;;;;;ACJ0C;AACnC;AACP,WAAW,uDAAU;AACrB;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACO,SAASmwJ,kCAAT,CAA4C/6F,cAA5C,EAA4D;AAC/D,SAAO+9F,uDAAgB,CAAC,IAAD,EAAOlkK,SAAP,EAAkB,UAAUmkK,oCAAV,GAAiD;AACtF,UAAM1vH,MAAM,GAAG0xB,cAAc,CAAC9V,SAAf,EAAf;;AACA,QAAI;AACA,aAAO,IAAP,EAAa;AACT,cAAM;AAAEh1D,UAAAA,KAAF;AAASqC,UAAAA;AAAT,YAAkB,MAAMuV,8CAAO,CAACwhC,MAAM,CAACyD,IAAP,EAAD,CAArC;;AACA,YAAIx6C,IAAJ,EAAU;AACN,iBAAO,MAAMuV,8CAAO,CAAC,KAAK,CAAN,CAApB;AACH;;AACD,cAAM,MAAMA,8CAAO,CAAC5X,KAAD,CAAnB;AACH;AACJ,KARD,SASQ;AACJo5C,MAAAA,MAAM,CAAC8D,WAAP;AACH;AACJ,GAdsB,CAAvB;AAeH;AACM,SAAS0oH,oBAAT,CAA8BnmK,GAA9B,EAAmC;AACtC,SAAOq2C,uDAAU,CAACr2C,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK,KAAK,CAA7B,GAAiC,KAAK,CAAtC,GAA0CA,GAAG,CAACu1D,SAA/C,CAAjB;AACH;;;;;;;;;;;;;;;;ACrByC;AACnC;AACP,oBAAoB,uDAAU;AAC9B;;;;;;;;;;;;;;;;;;ACH0C;AACnC;AACP,WAAW,uDAAU;AACrB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AClBuC;AACvC,QAAQ,UAAU;AAClB;AACA;AACA;AACO;AACP,WAAW,mDAAG;AACd;;;;;;;;;;;;;;;;ACPO;;;;;;;;;;;;;;;;;;ACA+B;AAC/B;AACP;AACA;AACO;AACP;AACA,eAAe,+CAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACdmC;AAC4B;AACxD;AACP,IAAI,kFAA0B;AAC9B,gBAAgB,mBAAmB,EAAE,2CAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;;;;ACZO;AACP,yCAAyC,wEAAwE,MAAM,IAAI;AAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,+BAA+B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD,2BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mCAAmC;AAChD,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,yBAAyB;AACtC,aAAa,2BAA2B;AACxC,aAAa,0BAA0B;AACvC;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,WAAW;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iCAAiC;AACrD,oBAAoB,qCAAqC;AACzD,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa,QAAQ,GAAG;AACrC,iBAAiB,OAAO;AACxB,aAAa,aAAa,MAAM,EAAE;AAClC;AACA,OAAO,UAAU,mCAAmC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,YAAY;AAC1C,oCAAoC,YAAY;AAChD;AACA;AACA,4CAA4C,YAAY;AACxD,kDAAkD,YAAY;AAC9D;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA,mCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qDAAU;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,8BAA8B;AAC9B,yBAAyB;AACzB,SAAS,MAAM,SAAS;AACxB,QAAQ,MAAM,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,MAAM;AACrE;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE2I;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClI3I;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMM,UAAN,CAAiB;AAEjB;;;AACA,SAASC,YAAT,CAAsBhyM,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,SAAOA,KAAK,IAAI,OAAOA,KAAK,CAACiyM,OAAb,KAAyB,UAAzC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMC,eAAN,SAA8BH,UAA9B,CAAyC;AACrCnyM,EAAAA,WAAW,CAACu0E,KAAD,EAAQ;AACf;AACA,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACD89H,EAAAA,OAAO,GAAG;AACN,WAAOH,kDAAY,CAAC,KAAK39H,KAAN,CAAZ,GAA2B,KAAKA,KAAhC,GAAwC0kH,wCAAE,CAAC,KAAK1kH,KAAN,CAAjD;AACH;;AACDg+H,EAAAA,UAAU,GAAG,CAAG;;AARqB;AAWzC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/BC,EAAAA,YAAY,CAACpU,OAAD,EAAUqU,gBAAV,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AAlBZ,KAAD;AAFsG,GAAD,CAAvH;AAAA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA,uBAAuB;AACvB,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEq/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrKr/B;AACA;AACA;AACA;AAC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H;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu2K,qBAAT,CAA+BhsH,MAA/B,EAAuCrpI,IAAvC,EAA6C;AACzC,QAAMhB,IAAI,GAAGmuP,iEAAe,CAAC9jH,MAAD,CAA5B;AACA,SAAOrqI,IAAI,CAACouP,4EAAD,CAAJ,CAAqCptP,IAArC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu1P,uBAAT,CAAiClsH,MAAjC,EAAyC;AACrC,QAAMrqI,IAAI,GAAGmuP,iEAAe,CAAC9jH,MAAD,CAA5B;AACA,SAAOrqI,IAAI,CAACouP,6EAAD,CAAJ,IAAyC,IAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqI,qBAAT,CAA+BpsH,MAA/B,EAAuC;AACnC,QAAMrqI,IAAI,GAAGmuP,iEAAe,CAAC9jH,MAAD,CAA5B;AACA,SAAOrqI,IAAI,CAACouP,2EAAD,CAAJ,IAAuC,IAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuI,qBAAT,CAA+BtsH,MAA/B,EAAuC;AACnC,SAAOgkH,wEAAsB,CAAChkH,MAAD,CAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASusH,mBAAT,CAA6BvsH,MAA7B,EAAqC;AACjC,QAAMrqI,IAAI,GAAGmuP,iEAAe,CAAC9jH,MAAD,CAA5B;AACA,SAAOrqI,IAAI,CAACouP,yEAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAM0I,mBAAmB,GAAGxI,kEAA5B;;AACA,SAASyI,aAAT,CAAuB/2P,IAAvB,EAA6B;AACzB,MAAI,CAACA,IAAI,CAACouP,wEAAD,CAAT,EAAuC;AACnC,UAAM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D,EAAYw9D,OAAZ,EAAqB9wO,KAArB,EAA4B2iD,KAA5B,EAAmC;AAC1C,SAAK2wH,SAAL,GAAiBA,SAAjB;AACA,SAAKw9D,OAAL,GAAeA,OAAf;AACA,SAAK9wO,KAAL,GAAaA,KAAb;AACA,SAAK2iD,KAAL,GAAaA,KAAb;AACH;;AACQ,MAALnuD,KAAK,GAAG;AACR,WAAO,KAAKwL,KAAL,KAAe,CAAtB;AACH;;AACO,MAAJsU,IAAI,GAAG;AACP,WAAO,KAAKtU,KAAL,KAAe,KAAK2iD,KAAL,GAAa,CAAnC;AACH;;AACO,MAAJi5J,IAAI,GAAG;AACP,WAAO,KAAK57M,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACH;;AACM,MAAH67M,GAAG,GAAG;AACN,WAAO,CAAC,KAAKD,IAAb;AACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMm1B,OAAN,CAAc;AACVzxQ,EAAAA,WAAW,CAACwkP,cAAD,EAAiB/J,SAAjB,EAA4BC,QAA5B,EAAsC;AAC7C,SAAK8J,cAAL,GAAsBA,cAAtB;AACA,SAAK/J,SAAL,GAAiBA,SAAjB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKg3B,QAAL,GAAgB,IAAhB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACA,SAAK32B,OAAL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IAAI,EAAEg4J,sDAAcmsD;AAAtB,KAAhC,EAA0D;AAAEnkN,MAAAA,IAAI,EAAEg4J,0DAAkBo4E;AAA1B,KAA1D,CAAP;AAAiG,GAH3I,EAG6J;AAAEg1B,IAAAA,OAAO,EAAE,CAAC;AACzJplQ,MAAAA,IAAI,EAAEgsL,gDAAKA;AAD8I,KAAD,CAAX;AAE7Iw5E,IAAAA,YAAY,EAAE,CAAC;AACfxlQ,MAAAA,IAAI,EAAEgsL,gDAAKA;AADI,KAAD,CAF+H;AAI7Iy5E,IAAAA,aAAa,EAAE,CAAC;AAChBzlQ,MAAAA,IAAI,EAAEgsL,gDAAKA;AADK,KAAD;AAJ8H,GAH7J;AAAA;;AAUA,SAAS25E,eAAT,CAAyBlxN,IAAzB,EAA+BzoC,MAA/B,EAAuC;AACnCyoC,EAAAA,IAAI,CAACtqC,OAAL,CAAay9L,SAAb,GAAyB57L,MAAM,CAAC0a,IAAhC;AACH;;AACD,SAASg/O,WAAT,CAAqB1lQ,IAArB,EAA2B;AACvB,SAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,gBAAN,CAAuB;AACnB/4Q,EAAAA,WAAW,CAACg5Q,WAAD,EAAc32E,MAAd,EAAsBrtD,QAAtB,EAAgCq1F,UAAhC,EAA4C0F,QAA5C,EAAsDmjC,UAAtD,EAAkE+F,kBAAlE,EAAsF;AAC7F,SAAKD,WAAL,GAAmBA,WAAnB;AACA,SAAK32E,MAAL,GAAcA,MAAd;AACA,SAAKrtD,QAAL,GAAgBA,QAAhB;AACA,SAAKq1F,UAAL,GAAkBA,UAAlB;AACA,SAAK0F,QAAL,GAAgBA,QAAhB;AACA,SAAKmjC,UAAL,GAAkBA,UAAlB;AACA,SAAK+F,kBAAL,GAA0BA,kBAA1B;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,uBAAL,GAA+B,KAA/B;AACA,SAAKC,KAAL,GAAa,KAAb;AACA,SAAKh3E,MAAL,GAAci3E,aAAa,CAAC,KAAKj3E,MAAN,CAA3B;AACA,SAAKk3E,UAAL,GAAkB,KAAKlvC,UAAL,CAAgBvkC,aAAlC;AACA,SAAK0zE,WAAL,GAAmB7vG,SAAS,GAAG,KAAKomE,QAAL,CAAc94M,GAAd,CAAkB4+O,gBAAlB,CAAH,GAAyC,IAArE;AACH;AACD;AACJ;AACA;AACA;;;AACa,MAALntQ,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,0DA4jLnG;AAAA;AAAA,QAAwG4+G,aAAxG;AAAA;AAAA;;AACA;AAAA,qDA7jLmG5+G,+DA6jLnG,CAA2F4+G,aAA3F,EAAsH,CAAC;AAC3G52Q,IAAAA,IAAI,EAAEkuP,+CADqG;AAE3Gx1P,IAAAA,IAAI,EAAE,CAAC;AAAErB,MAAAA,IAAI,EAAE;AAAR,KAAD;AAFqG,GAAD,CAAtH;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMw/Q,0BAA0B,GAAG,IAAI5qF,yDAAJ,CAAmB,4BAAnB,CAAnC,EACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6qF,QAAN,CAAe;AACXljR,EAAAA,WAAW,CAACy1I,MAAD,EAAS0tI,e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B,6BAA4B41B,IAAI,CAAC59C,GAAL,IAAY,eAAgB,KAAI49C,IAAI,CAAC77C,MAAO,IAAG67C,IAAI,CAAC/8C,UAAW,EAA3G;AACH;;AACD,SAAKzF,KAAL,GAAawiD,IAAI,CAACxiD,KAAL,IAAc,IAA3B;AACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASknR,OAAT,CAAiB/6P,OAAjB,EAA0BksD,IAA1B,EAAgC;AAC5B,SAAO;AACHA,IAAAA,IADG;AAEHizC,IAAAA,OAAO,EAAEn/F,OAAO,CAACm/F,OAFd;AAGHv5G,IAAAA,OAAO,EAAEoa,OAAO,CAACpa,OAHd;AAIH6+B,IAAAA,OAAO,EAAEzkB,OAAO,CAACykB,OAJd;AAKHwnB,IAAAA,MAAM,EAAEjsC,OAAO,CAACisC,MALb;AAMH6tN,IAAAA,cAAc,EAAE95P,OAAO,CAAC85P,cANrB;AAOH1/Q,IAAAA,YAAY,EAAE4lB,OAAO,CAAC5lB,YAPnB;AAQHg0D,IAAAA,eAAe,EAAEpuC,OAAO,CAACouC;AARtB,GAAP;AAUH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4sN,UAAN,CAAiB;AACb3rR,EAAAA,WAAW,CAAC2wC,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI/lC,EAAAA,OAAO,CAACsqB,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A;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;ACjuEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAe,kuBAAkuB,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,oBAAoB,wHAAwH,qWAAqW,gBAAgB,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfxwC;AACA;AACA;AACA;AACA;;AAE2E;AACpC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,yCAAyC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,eAAe;AAC1C,0BAA0B,SAAS,EAAE,8BAA8B;AACnE;AACA,0BAA0B,aAAa,iBAAiB,4BAA4B,GAAG,SAAS;AAChG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kBAAkB,IAAI,MAAM;AAC7E,sGAAsG,MAAM,EAAE,QAAQ;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,0BAA0B;AACnG;AACA,0DAA0D,wBAAwB;AAClF;AACA;AACA;AACA,kDAAkD,aAAa;AAC/D,6EAA6E,0BAA0B,OAAO,gBAAgB;AAC9H;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C,mDAAmD,UAAU,EAAE,YAAY,EAAE,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,gBAAgB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,QAAQ,UAAU,MAAM;AAC7E;AACA;AACA;AACA;AACA;AACA,8CAA8C,6BAA6B,UAAU,sBAAsB;AAC3G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,SAAS;AAC1E,0GAA0G,SAAS;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,+BAA+B;AAC5E,4CAA4C,8BAA8B;AAC1E;AACA,mDAAmD,yCAAyC;AAC5F,iDAAiD,uCAAuC;;AAExF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,iBAAiB;AAC3E;AACA;AACA,QAAQ,4CAA4C;AACpD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+BAA+B,IAAI,oCAAoC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+BAA+B,IAAI,qCAAqC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,8BAA8B;AAC3E,4CAA4C,8BAA8B;AAC1E,6CAA6C,+BAA+B;AAC5E,4CAA4C,8BAA8B;AAC1E,gDAAgD,8BAA8B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,2CAA2C;;AAE1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,UAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,UAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO,2CAA2C,WAAW;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,KAAK,OAAO,IAAI,MAAM;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAqB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+BAA+B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,oCAAoC;AAC9E,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,SAAS;AAC1E;AACA;AACA;AACA,gBAAgB,8FAA8F;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,qBAAqB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC,YAAY,gCAAgC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,0BAA0B;AAChH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAc;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,WAAW;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,WAAW;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,WAAW;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,0EAA0E;;AAElJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iCAAiC,WAAW;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kCAAkC;AAC1C,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAmC;AACzC,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,sBAAsB,8HAA8H;AACrO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,sBAAsB,8DAA8D;AAC/J;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,sBAAsB,4HAA4H;AAC7N;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,6DAA6D;;AAEnJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,aAAa;AACjE,6BAA6B,cAAc,GAAG;AAC9C,uBAAuB;AACvB;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA,sEAAsE,GAAG;AACzE;AACA;AACA;AACA;AACA,gFAAgF,GAAG;AACnF;AACA;AACA;AACA;AACA,yFAAyF,GAAG,6BAA6B,GAAG;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA,iEAAiE;AACjE;AACA;AACA,uCAAuC,KAAK,sBAAsB,KAAK;AACvE,mBAAmB,KAAK,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAmD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH,OAAO;AACvH;;AAEA,2DAA2D,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,kBAAkB;AACxC;AACA,cAAc,kBAAkB,EAAE,iCAAiC,GAAG,QAAQ,KAAK,+BAA+B;AAClH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,mBAAmB;AACrE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6BAA6B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6BAA6B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,qBAAqB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,gBAAgB;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kCAAkC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,IAAI,EAAE;AACN,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD,8CAA8C,kCAAkC;AAChF,+CAA+C,SAAS;AACxD;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,2CAA2C;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,KAAK,UAAU,YAAY;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,gBAAgB;AAChB;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uIAAuI;AACvI;AACA;AACA;AACA;AACA;AACA,6DAA6D,KAAK;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF,eAAe;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,+EAA+E;AAC/E,KAAK;AACL;AACA,8CAA8C;AAC9C,KAAK;AACL,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,kCAAkC;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,mCAAmC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,iCAAiC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yCAAyC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA,8EAA8E,eAAe;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,SAAS;AAC7E;AACA;AACA;AACA;AACA,6EAA6E,cAAc;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,KAAK;AAChE,2BAA2B,cAAc;AACzC,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,KAAK;AACjE,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS,aAAa,uEAAuE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gDAAgD;AAClE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH,YAAY;AAC5H,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C,yHAAyH,MAAM,KAAK,SAAS,qBAAqB,UAAU;AAC5K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA,uBAAuB,eAAe,EAAE,UAAU;AAClD,uBAAuB,4DAA4D,EAAE,UAAU;AAC/F;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,yBAAyB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D,4CAA4C,eAAe,IAAI,mBAAmB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,MAAM,eAAe;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,iCAAiC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC;AACnF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,QAAQ;AACR,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,UAAU;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,UAAU;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC,uBAAuB,qDAAqD;AAC5E;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4CAA4C,6BAA6B;AACzE;AACA;AACA;AACA,0CAA0C,wBAAwB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,uBAAuB;AAC3N;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+BAA+B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,kCAAkC,MAAM,GAAG,yBAAyB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,iBAAiB,wBAAwB,WAAW;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS,wCAAwC,QAAQ;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,YAAY;AAChF,0EAA0E,qBAAqB;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,oGAAoG,iBAAiB;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,KAAK;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qBAAqB;AAC1E,8CAA8C,uBAAuB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qBAAqB;AAC1E;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qBAAqB;AAC1E,8CAA8C,uBAAuB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAA4B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,iBAAiB;AAC3F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF,kBAAkB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,iBAAiB,KAAK,gBAAgB;AACzJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA,oCAAoC,MAAM;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2CAA2C;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oDAAoD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oCAAoC;AACjE;AACA;AACA;AACA;AACA,gHAAgH;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sCAAsC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,oCAAoC,oCAAoC,6BAA6B;AAC5K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,oDAAoD;AAC7G,4FAA4F,UAAU;AACtG;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,oDAAoD;AAC7G,sFAAsF,UAAU;AAChG;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,2CAA2C,mDAAmD;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,eAAe;AAC3E,IAAI,gBAAgB,iBAAiB,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,MAAM,GAAG,6BAA6B;AACxE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAwE;AAC9E,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,6BAA6B;AACpF,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B,kCAAkC,MAAM,GAAG,6BAA6B;AACpH,KAAK;AACL;AACA;AACA,qCAAqC,gBAAgB,0BAA0B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,SAAS;AACtG;AACA;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kBAAkB;AAC/E;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,qDAAqD;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA,2EAA2E,WAAW,EAAE,UAAU;AAClG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,yBAAyB;AAChF;AACA;AACA;AACA;AACA;AACA,gCAAgC,0BAA0B;AAC1D;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uCAAuC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,UAAU;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,cAAc;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB,KAAK;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC,iCAAiC,QAAQ;AACzC;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,cAAc,sBAAsB,mCAAmC;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA,mBAAmB,cAAc,KAAK;AACtC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc,yBAAyB,cAAc;AAC5E;AACA;AACA;AACA;AACA,uBAAuB,cAAc,yBAAyB,cAAc;AAC5E;AACA;AACA;AACA,uBAAuB,cAAc,yBAAyB,cAAc;AAC5E;AACA;AACA;AACA,uBAAuB,cAAc,yBAAyB,cAAc;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA,yBAAyB,UAAU;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mDAAmD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kBAAkB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,IAAI;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,IAAI;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,IAAI;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB,gBAAgB,gBAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ;AAC9E,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB,gBAAgB,gBAAgB,gBAAgB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ;AAC5F,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB,gBAAgB,gBAAgB,gBAAgB;AACtF,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ;AAC5F,uBAAuB,MAAM,QAAQ,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB,gBAAgB,gBAAgB,gBAAgB;AACtF,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ;AACxF,mBAAmB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,IAAI;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB,gBAAgB,gBAAgB,gBAAgB;AACvF,UAAU,gBAAgB,gBAAgB,gBAAgB;AAC1D;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,cAAc;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uvBAAuvB,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,EAAE,oBAAoB,2HAA2H;;AAEh6B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0IAA0I,OAAO;AACjJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,aAAa;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,QAAQ;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA,4BAA4B,MAAM,eAAe,2CAA2C,GAAG,qBAAqB,EAAE;AACtH;AACA,mDAAmD,MAAM,GAAG;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI;AACrC;AACA;AACA;AACA,mDAAmD,eAAe;AAClE,iCAAiC,IAAI,8BAA8B,SAAS,KAAK,MAAM;AACvF;AACA,wCAAwC,IAAI;AAC5C;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,mCAAmC,iBAAiB,IAAI,EAAE,uBAAuB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,kCAAkC,QAAQ;AAClF;AACA,iCAAiC,IAAI,8BAA8B,uBAAuB,MAAM,uBAAuB;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ,8BAA8B,KAAK;AAC3E;AACA;AACA;AACA;AACA,gCAAgC,QAAQ,8BAA8B,KAAK;AAC3E;AACA;AACA;AACA,gCAAgC,QAAQ,+BAA+B,MAAM;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAwB;AAC5C;AACA;AACA;AACA,uCAAuC,eAAe;AACtD;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB,EAAE,YAAY;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,QAAQ;AACtF;AACA,wJAAwJ,MAAM,GAAG,0BAA0B;AAC3L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,8HAA8H,GAAG;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG,QAAQ;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,qCAAqC;AACrC,oCAAoC;AACpC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO,IAAI,WAAW,EAAE,OAAO;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH,QAAQ;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB,EAAE,OAAO;AACpE,iDAAiD,OAAO,aAAa,iBAAiB,EAAE,OAAO;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,8CAA8C,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe,aAAa,SAAS;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF,eAAe;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,qCAAqC,aAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,6EAA6E,QAAQ;AACrF;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,MAAM,EAAE,kBAAkB,EAAE,IAAI;AACrF,KAAK;AACL;AACA,uEAAuE;AACvE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,OAAO,YAAY,IAAI;AAC5F;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,GAAG,MAAM;AACvB;AACA;AACA,SAAS,MAAM,GAAG,MAAM,SAAS,MAAM,GAAG,MAAM;AAChD;AACA;AACA;AACA,SAAS,MAAM,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB,KAAK,eAAe;AACvD;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,GAAG,MAAM;AACvB;AACA;AACA,SAAS,MAAM,GAAG,MAAM,SAAS,MAAM,GAAG,MAAM;AAChD;AACA;AACA;AACA,SAAS,MAAM,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB,wBAAwB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,qBAAqB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe;AACtD;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qDAAqD;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,GAAG;AAC7D;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uCAAuC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uCAAuC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+CAA+C;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,uBAAuB;AAC/E;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,IAAI,IAAI,iBAAiB,KAAK,qBAAqB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,wBAAwB;AAC5E;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB;AACzE,uEAAuE,KAAK,sBAAsB,UAAU;AAC5G;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE;AACA;AACA;AACA;AACA,gDAAgD,+BAA+B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oDAAoD;AAC3F,sCAAsC,8CAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB,GAAG,sBAAsB,OAAO;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,mBAAmB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,MAAM;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qHAAqH,gBAAgB;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,kCAAkC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,8BAA8B;AACtE;AACA,qDAAqD,8DAA8D;AACnH,gFAAgF,gBAAgB;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qDAAqD,8DAA8D;AACnH,gFAAgF,gBAAgB;AAChG;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,8DAA8D;AACnH;AACA,sEAAsE,gBAAgB;AACtF;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,gBAAgB,4BAA4B,qBAAqB;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,wBAAwB,4BAA4B,8BAA8B;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,MAAM,EAAE,yBAAyB,OAAO,+BAA+B;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,yBAAyB,4CAA4C,YAAY,MAAM,WAAW;AACtI,8CAA8C,yBAAyB,kCAAkC,YAAY,MAAM,WAAW;AACtI,oFAAoF,yBAAyB,+BAA+B,YAAY,MAAM,WAAW;AACzK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,UAAU,4BAA4B,qBAAqB;AAChH;AACA;AACA,gDAAgD,UAAU,4BAA4B,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,yDAAyD;AAC9G;AACA,iDAAiD,UAAU;AAC3D;AACA,sDAAsD,qBAAqB;AAC3E;AACA;AACA,oDAAoD,mCAAmC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,UAAU;AAC/E,2DAA2D,wCAAwC,wYAAwY;AAC3e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE,qDAAqD,mDAAmD;AACxG;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,yCAAyC,mDAAmD;AAC5F;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,mDAAmD;AACxG,gFAAgF,UAAU;AAC1F;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8DAA8D;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,MAAM;AAC3F,gCAAgC,wBAAwB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,6DAA6D;AAClH,gFAAgF,cAAc;AAC9F;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qDAAqD,6DAA6D;AAClH;AACA,kEAAkE,cAAc;AAChF;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,sBAAsB,kDAAkD;AAC5H;AACA;AACA;AACA;AACA,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA,qEAAqE,qBAAqB;AAC1F;AACA;AACA;AACA;AACA,uEAAuE,qBAAqB;AAC5F;AACA;AACA;AACA;AACA,8EAA8E,kBAAkB;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA,oDAAoD,UAAU;AAC9D;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,iBAAiB;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,kCAAkC;AACjF,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,iEAAiE,uFAAuF;AACxJ;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,SAAS;AACT,kBAAkB;AAClB;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB,GAAG;AACxB,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6DAA6D;AACjE;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,cAAc,cAAc,EAAE,cAAc,EAAE,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,mDAAmD,+DAA+D;AAClH;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,yBAAyB;AACrC,YAAY,YAAY;AACxB;AACA;AACA,kBAAkB,uCAAuC;AACzD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yBAAyB;AACrC,YAAY,YAAY;AACxB;AACA;AACA,kBAAkB,iDAAiD;AACnE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,YAAY,yBAAyB;AACrC,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA,kBAAkB,+CAA+C;AACjE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,mBAAmB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC,YAAY,yBAAyB;AACrC,YAAY,YAAY;AACxB;AACA;AACA,kBAAkB,+CAA+C;AACjE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC,YAAY,yBAAyB;AACrC,YAAY,YAAY;AACxB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,oDAAoD,6DAA6D;AACjH;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,SAAS;AACT,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0BAA0B;AACxE,qCAAqC,WAAW;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+BAA+B;AACnE,UAAU;AACV,QAAQ;AACR;AACA;AACA;AACA;AACA,wCAAwC,cAAc;AACtD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,oHAAoH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;AACA;AACA;AACA,uDAAuD;AACvD,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,sBAAsB,WAAW;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,sDAAsD;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,uDAAuD,+CAA+C;AACtG;AACA;AACA;AACA,SAAS,iBAAiB,UAAU,cAAc,IAAI;AACtD,CAAC;AACD;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,+DAA+D,uFAAuF;AACtJ;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C,SAAS,iBAAiB,YAAY;AACtC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,+CAA+C,8BAA8B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,KAAK;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,+CAA+C;AAC7D,cAAc,wEAAwE;AACtF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,4CAA4C;AAC7F,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA,qDAAqD,kFAAkF;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,uDAAuD,uEAAuE;AAC9H;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C,SAAS,iBAAiB,UAAU,gBAAgB,IAAI;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,sCAAsC,4CAAU;AAChD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,6BAA6B,4CAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,YAAY,2CAAO,kCAAkC,qDAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,0DAA0D,yEAAyE;AACnI;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,SAAS,iBAAiB,UAAU,cAAc,IAAI,gBAAgB,IAAI,oBAAoB,IAAI,6BAA6B,IAAI;AACnI,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,IAAI;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,uCAAuC,MAAM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D,uDAAuD,QAAQ;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,4BAA4B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,iBAAiB;AAChF;AACA;AACA,+CAA+C,iBAAiB;AAChE;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D;AACA,oCAAoC,4BAA4B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,gBAAgB;AACvE;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA,6CAA6C,iBAAiB;AAC9D;AACA;AACA;AACA;AACA;AACA,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA,6CAA6C,iBAAiB;AAC9D;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,kBAAkB,uBAAuB;AACzC,QAAQ,uBAAuB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,sBAAsB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,SAAS,aAAa,kCAAkC;AACnH;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,oFAAoF;AACjI;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,kBAAkB,uBAAuB;AACzC,QAAQ,uBAAuB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,sBAAsB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,GAAG;AAC1D;AACA;AACA;AACA;AACA;AACA,6CAA6C,oFAAoF;;AAEjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,0DAA0D,yBAAyB;AACnF,0DAA0D;AAC1D;AACA;AACA;AACA,SAAS,iBAAiB,UAAU,sBAAsB,IAAI;AAC9D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uEAAuE;AAChH,yEAAyE,eAAe;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uEAAuE;AAChH,yEAAyE,eAAe;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uEAAuE,eAAe;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,wEAAwE;AACjH,0EAA0E,eAAe;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,sEAAsE;AAC/G,wEAAwE,eAAe;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,sEAAsE;AAC/G,wEAAwE,eAAe;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,kEAAkE;AAC3G,oEAAoE,eAAe;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEisQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5t4BjsQ;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4I,wBAAN,CAA+B;AAC3BtwR,EAAAA,WAAW,CAAC0vQ,SAAD,EAAYhqE,WAAZ,EAAyB;AAChC,SAAKgqE,SAAL,GAAiBA,SAAjB;AACA,SAAKhqE,WAAL,GAAmBA,WAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAK6qF,QAAL,GAAiBxvM,CAAD,IAAO,CAAG,CAA1B;AACA;AACR;AACA;AACA;;;AACQ,SAAKyvM,SAAL,GAAiB,MAAM,CAAG,CAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI5jJ,EAAAA,WAAW,CAACvoI,GAAD,EAAMjE,KAAN,EAAa;AACpB,SAAKsvQ,SAAL,CAAe9iI,WAAf,CAA2B,KAAK84D,WAAL,CAAiBI,aAA5C,EAA2DzhM,GAA3D,EAAgEjE,KAAhE;AACH;AACD;AACJ;AACA;AACA;;;AACIqwR,EAAAA,iBAAiB,CAAC7rR,EAAD,EAAK;AAClB,SAAK4rR,SAAL,GAAiB5rR,EAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACI8rR,EAAAA,gBAAgB,CAAC9rR,EAAD,EAAK;AACjB,SAAK2rR,QAAL,GAAgB3rR,EAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACI+rR,EAAAA,gBAAgB,CAACrvF,UAAD,EAAa;AACzB,SAAK10D,WAAL,CAAiB,UAAjB,EAA6B00D,UAA7B;AACH;;AA5C0B;;AA8C/BgvF,wBAAwB,CAAC3/G,IAAzB;AAAA,mBAAqH2/G,wBAArH,EAA2GlsH,+DAA3G,CAA+JA,oDAA/J,GAA2GA,+DAA3G,CAAwLA,qDAAxL;AAAA;;AACAksH,wBAAwB,CAAC9pF,IAAzB,kBAD2GpiC,+DAC3G;AAAA,QAAyGksH;AAAzG;;AACA;AAAA,qDAF2GlsH,+DAE3G,CAA2FksH,wBAA3F,EAAiI,CAAC;AACtHlkR,IAAAA,IAAI,EAAE+rL,oDAASA;AADuG,GAAD,CAAjI,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE/rL,MAAAA,IAAI,EAAEg4J,oDAAY81F;AAApB,KAAD,EAAyB;AAAE9tP,MAAAA,IAAI,EAAEg4J,qDAAamiC;AAArB,KAAzB,CAAP;AAA2D,GAFrG;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqqF,2BAAN,SAA0CN,wBAA1C,CAAmE;;AAEnEM,2BAA2B,CAACjgH,IAA5B;AAAA;AAAA;AAAA,oGAhB2GvM,mEAgB3G,CAAwHwsH,2BAAxH,SAAwHA,2BAAxH;AAAA;AAAA;;AACAA,2BAA2B,CAACpqF,IAA5B,kBAjB2GpiC,+DAiB3G;AAAA,QAA4GwsH,2BAA5G;AAAA,aAjB2GxsH,wEAiB3G;AAAA;;AACA;AAAA,qDAlB2GA,+DAkB3G,CAA2FwsH,2BAA3F,EAAoI,CAAC;AACzHxkR,IAAAA,IAAI,EAAE+rL,oDAASA;AAD0G,GAAD,CAApI;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM04F,iBAAiB,GAAG,IAAIx4F,yDAAJ,CAAmB,iBAAnB,CAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMy4F,uBAAuB,GAAG;AAC5B9gF,EAAAA,OAAO,EAAE6gF,iBADmB;AAE5B5gF,EAAAA,WAAW,EAAEsiC,yDAAU,CAAC,MAAMw+C,4BAAP,CAFK;AAG5B5hH,EAAAA,KAAK,EAAE;AAHqB,CAAhC;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4hH,4BAAN,SAA2CH,2BAA3C,CAAuE;AACnE;AACJ;AACA;AACA;AACII,EAAAA,UAAU,CAAC5wR,KAAD,EAAQ;AACd,SAAKwsI,WAAL,CAAiB,SAAjB,EAA4BxsI,KAA5B;AACH;;AAPkE;;AASvE2wR,4BAA4B,CAACpgH,IAA7B;AAAA;AAAA;AAAA,sGA1E2GvM,mEA0E3G,CAAyH2sH,4BAAzH,SAAyHA,4BAAzH;AAAA;AAAA;;AACAA,4BAA4B,CAACvqF,IAA7B,kBA3E2GpiC,+DA2E3G;AAAA,QAA6G2sH,4BAA7G;AAAA;AAAA;AAAA;AA3E2G3sH,MAAAA,wDA2E3G;AAAA,eAA6G,mCAA7G;AAAA;AAAA,eAA6G,eAA7G;AAAA;AAAA;AAAA;AAAA,aA3E2GA,gEA2E3G,CAAsW,CAAC0sH,uBAAD,CAAtW,GA3E2G1sH,wEA2E3G;AAAA;;AACA;AAAA,qDA5E2GA,+DA4E3G,CAA2F2sH,4BAA3F,EAAqI,CAAC;AAC1H3kR,IAAAA,IAAI,EAAE+rL,oDADoH;AAE1HrzL,IAAAA,IAAI,EAAE,CAAC;AACC2xG,MAAAA,QAAQ,EAAE,uGADX;AAEC3iE,MAAAA,IAAI,EAAE;AAAE,oBAAY,iCAAd;AAAiD,kBAAU;AAA3D,OAFP;AAGCo8J,MAAAA,SAAS,EAAE,CAAC4gF,uBAAD;AAHZ,KAAD;AAFoH,GAAD,CAArI;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,sBAAsB,GAAG;AAC3BjhF,EAAAA,OAAO,EAAE6gF,iBADkB;AAE3B5gF,EAAAA,WAAW,EAAEsiC,yDAAU,CAAC,MAAM2+C,oBAAP,CAFI;AAG3B/hH,EAAAA,KAAK,EAAE;AAHoB,CAA/B;AAKA;AACA;AACA;AACA;;AACA,SAASgiH,UAAT,GAAsB;AAClB,QAAMv0P,SAAS,GAAG2qP,2DAAO,KAAKA,2DAAO,GAAG6J,YAAV,EAAL,GAAgC,EAAzD;AACA,SAAO,gBAAgBztR,IAAhB,CAAqBi5B,SAAS,CAACpsB,WAAV,EAArB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6gR,uBAAuB,GAAG,IAAIh5F,yDAAJ,CAAmB,sBAAnB,CAAhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM64F,oBAAN,SAAmCZ,wBAAnC,CAA4D;AACxDtwR,EAAAA,WAAW,CAACg1I,QAAD,EAAWq1F,UAAX,EAAuBinD,gBAAvB,EAAyC;AAChD,UAAMt8I,QAAN,EAAgBq1F,UAAhB;AACA,SAAKinD,gBAAL,GAAwBA,gBAAxB;AACA;;AACA,SAAKC,UAAL,GAAkB,KAAlB;;AACA,QAAI,KAAKD,gBAAL,IAAyB,IAA7B,EAAmC;AAC/B,WAAKA,gBAAL,GAAwB,CAACH,UAAU,EAAnC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIH,EAAAA,UAAU,CAAC5wR,KAAD,EAAQ;AACd,UAAM0tK,eAAe,GAAG1tK,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;AACA,SAAKwsI,WAAL,CAAiB,OAAjB,EAA0BkhC,eAA1B;AACH;AACD;;;AACA0jH,EAAAA,YAAY,CAACpxR,KAAD,EAAQ;AAChB,QAAI,CAAC,KAAKkxR,gBAAN,IAA2B,KAAKA,gBAAL,IAAyB,CAAC,KAAKC,UAA9D,EAA2E;AACvE,WAAKhB,QAAL,CAAcnwR,KAAd;AACH;AACJ;AACD;;;AACAqxR,EAAAA,iBAAiB,GAAG;AAChB,SAAKF,UAAL,GAAkB,IAAlB;AACH;AACD;;;AACAG,EAAAA,eAAe,CAACtxR,KAAD,EAAQ;AACnB,SAAKmxR,UAAL,GAAkB,KAAlB;AACA,SAAKD,gBAAL,IAAyB,KAAKf,QAAL,CAAcnwR,KAAd,CAAzB;AACH;;AAhCuD;;AAkC5D8wR,oBAAoB,CAACvgH,IAArB;AAAA,mBAAiHugH,oBAAjH,EArL2G9sH,+DAqL3G,CAAuJA,oDAAvJ,GArL2GA,+DAqL3G,CAAgLA,qDAAhL,GArL2GA,+DAqL3G,CAA0MitH,uBAA1M;AAAA;;AACAH,oBAAoB,CAAC1qF,IAArB,kBAtL2GpiC,+DAsL3G;AAAA,QAAqG8sH,oBAArG;AAAA;AAAA;AAAA;AAtL2G9sH,MAAAA,wDAsL3G;AAAA,eAAqG,qCAArG;AAAA;AAAA,eAAqG,eAArG;AAAA;AAAA,eAAqG,uBAArG;AAAA;AAAA,eAAqG,wCAArG;AAAA;AAAA;AAAA;AAAA,aAtL2GA,gEAsL3G,CAAokB,CAAC6sH,sBAAD,CAApkB,GAtL2G7sH,wEAsL3G;AAAA;;AACA;AAAA,qDAvL2GA,+DAuL3G,CAA2F8sH,oBAA3F,EAA6H,CAAC;AAClH9kR,IAAAA,IAAI,EAAE+rL,oDAD4G;AAElHrzL,IAAAA,IAAI,EAAE,CAAC;AACC2xG,MAAAA,QAAQ,EAAE,8MADX;AAEC;AACA;AACA;AACA3iE,MAAAA,IAAI,EAAE;AACF,mBAAW,8CADT;AAEF,kBAAU,aAFR;AAGF,8BAAsB,gCAHpB;AAIF,4BAAoB;AAJlB,OALP;AAWCo8J,MAAAA,SAAS,EAAE,CAAC+gF,sBAAD;AAXZ,KAAD;AAF4G,GAAD,CAA7H,EAe4B,YAAY;AAChC,WAAO,CAAC;AAAE7kR,MAAAA,IAAI,EAAEg4J,oDAAY81F;AAApB,KAAD,EAAyB;AAAE9tP,MAAAA,IAAI,EAAEg4J,qDAAamiC;AAArB,KAAzB,EAAkD;AAAEn6L,MAAAA,IAAI,EAAEnH,SAAR;AAAmBq4L,MAAAA,UAAU,EAAE,CAAC;AACzElxL,QAAAA,IAAI,EAAEksL,mDAAQA;AAD2D,OAAD,EAEzE;AACClsL,QAAAA,IAAI,EAAE6rL,iDADP;AAECnzL,QAAAA,IAAI,EAAE,CAACusR,uBAAD;AAFP,OAFyE;AAA/B,KAAlD,CAAP;AAMH,GAtBL;AAAA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,iBAAT,CAA2BvxR,KAA3B,EAAkC;AAC9B;AACA,SAAOA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACgC,MAAN,KAAiB,CAAzC;AACH;;AACD,SAASwvR,cAAT,CAAwBxxR,KAAxB,EAA+B;AAC3B;AACA,SAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAK,CAACgC,MAAb,KAAwB,QAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyvR,aAAa,GAAG,IAAIx5F,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMy5F,mBAAmB,GAAG,IAAIz5F,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM05F,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;AACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAHlhR,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOmhR,YAAY,CAACnhR,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAH4jB,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOw9P,YAAY,CAACx9P,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACmB,SAARy7E,QAAQ,CAACqwI,OAAD,EAAU;AACrB,WAAO2xC,iBAAiB,CAAC3xC,OAAD,CAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZ4xC,YAAY,CAAC5xC,OAAD,EAAU;AACzB,WAAO6xC,qBAAqB,CAAC7xC,OAAD,CAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,SAAL8xC,KAAK,CAAC9xC,OAAD,EAAU;AAClB,WAAO+xC,cAAc,CAAC/xC,OAAD,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATgyC,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATz/K,SAAS,CAACA,SAAD,EAAY;AACxB,WAAO2/K,kBAAkB,CAAC3/K,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACkB,SAAPzgB,OAAO,CAACA,OAAD,EAAU;AACpB,WAAOqgM,gBAAgB,CAACrgM,OAAD,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,SAAbsgM,aAAa,CAACpyC,OAAD,EAAU;AAC1B,WAAOoyC,aAAa,CAACpyC,OAAD,CAApB;AACH;;AACa,SAAPqyC,OAAO,CAACC,UAAD,EAAa;AACvB,WAAOD,OAAO,CAACC,UAAD,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZC,YAAY,CAACD,UAAD,EAAa;AAC5B,WAAOC,YAAY,CAACD,UAAD,CAAnB;AACH;;AAlRY;AAoRjB;AACA;AACA;AACA;;;AACA,SAASb,YAAT,CAAsBnhR,GAAtB,EAA2B;AACvB,SAAQ0vO,OAAD,IAAa;AAChB,QAAImxC,iBAAiB,CAACnxC,OAAO,CAACpgP,KAAT,CAAjB,IAAoCuxR,iBAAiB,CAAC7gR,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAM1Q,KAAK,GAAGghI,UAAU,CAACo/G,OAAO,CAACpgP,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACia,KAAK,CAACja,KAAD,CAAN,IAAiBA,KAAK,GAAG0Q,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAU0vO,OAAO,CAACpgP;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAAS8xR,YAAT,CAAsBx9P,GAAtB,EAA2B;AA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AA2B,CAAC3zR,EAAD,EAAK;AAC5B,SAAKo4R,mBAAL,GAA2Bp4R,EAA3B;AACH;AACD;;;AACA+6R,EAAAA,kBAAkB,CAACjC,IAAD,EAAO;AACrB,QAAI1B,YAAY,CAAC0B,IAAD,CAAZ,IAAsBA,IAAI,CAACnE,QAAL,IAAiB,IAA3C,EAAiD;AAC7C,WAAK6D,SAAL,GAAiBM,IAAI,CAACnE,QAAtB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACI6E,EAAAA,kBAAkB,CAACT,QAAD,EAAW;AACzB,UAAMiC,WAAW,GAAG,KAAKhK,OAAL,IAAgB,KAAKA,OAAL,CAAaf,KAAjD;AACA,WAAO,CAAC8I,QAAD,IAAa,CAAC,CAACiC,WAAf,IAA8B,CAAC,KAAKhK,OAAL,CAAa2J,iBAAb,EAAtC;AACH;;AAtvBiB;AAwvBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMlD,WAAN,SAA0BS,eAA1B,CAA0C;AACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI98R,EAAAA,WAAW,CAAC0/R,SAAS,GAAG,IAAb,EAAmB3D,eAAnB,EAAoCzG,cAApC,EAAoD;AAC3D,UAAMwG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC5G,cAAD,EAAiBy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D;AAClD,UAAI,KAAKA,QAAL,CAAc6E,WAAd,EAA2B5wR,OAA/B,EAAwC;AACpC,eAAO,KAAP;AACH;AACJ;;AACD,WAAO1P,MAAM,CAAC6Z,IAAP,CAAY,KAAK4hR,QAAjB,EAA2Bv5R,MAA3B,GAAoC,CAApC,IAAyC,KAAKivG,QAArD;AACH;;AA9VmC;AAgWxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkrL,SAAN,SAAwBO,eAAxB,CAAwC;AACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI98R,EAAAA,WAAW,CAAC27R,QAAD,EAAWI,eAAX,EAA4BzG,cAA5B,EAA4C;AACnD,UAAMwG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC5G,cAAD,EAAiByG,eAAjB,CAA1D;AACA,SAAKJ,QAAL,GAAgBA,QAAhB;;AACA,SAAKyD,gBAAL;;AACA,SAAKO,kBAAL,CAAwB5D,eAAxB;;AACA,SAAKoE,cAAL;;AACA,SAAKnH,sBAAL,CAA4B;AACxB2E,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAO,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAK5I;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;;;AACIuG,EAAAA,EAAE,CAACn7P,KAAD,EAAQ;AACN,WAAO,KAAKi7P,QAAL,CAAcj7P,KAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI1uB,EAAAA,IAAI,CAACwuO,OAAD,EAAU7vN,OAAO,GAAG,EAApB,EAAwB;AACxB,SAAKgrQ,QAAL,CAAc3pR,IAAd,CAAmBwuO,OAAnB;;AACA,SAAKsgD,gBAAL,CAAsBtgD,OAAtB;;AACA,SAAKw4C,sBAAL,CAA4B;AAAEkF,MAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIrhN,EAAAA,MAAM,CAACj7C,KAAD,EAAQ8/M,OAAR,EAAiB7vN,OAAO,GAAG,EAA3B,EAA+B;AACjC,SAAKgrQ,QAAL,CAAcjtN,MAAd,CAAqBhuC,KAArB,EAA4B,CAA5B,EAA+B8/M,OAA/B;;AACA,SAAKsgD,gBAAL,CAAsBtgD,OAAtB;;AACA,SAAKw4C,sBAAL,CAA4B;AAAEkF,MAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArB,KAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI6C,EAAAA,QAAQ,CAACrgQ,KAAD,EAAQ/P,OAAO,GAAG,EAAlB,EAAsB;AAC1B,QAAI,KAAKgrQ,QAAL,CAAcj7P,KAAd,CAAJ,EACI,KAAKi7P,QAAL,CAAcj7P,KAAd,EAAqB63P,2BAArB,CAAiD,MAAM,CAAG,CAA1D;AACJ,SAAKoD,QAAL,CAAcjtN,MAAd,CAAqBhuC,KAArB,EAA4B,CAA5B;AACA,SAAKs4P,sBAAL,CAA4B;AAAEkF,MAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArB,KAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIqC,EAAAA,UAAU,CAAC7/P,KAAD,EAAQ8/M,OAAR,EAAiB7vN,OAAO,GAAG,EAA3B,EAA+B;AACrC,QAAI,KAAKgrQ,QAAL,CAAcj7P,KAAd,CAAJ,EACI,KAAKi7P,QAAL,CAAcj7P,KAAd,EAAqB63P,2BAArB,CAAiD,MAAM,CAAG,CAA1D;AACJ,SAAKoD,QAAL,CAAcjtN,MAAd,CAAqBhuC,KAArB,EAA4B,CAA5B;;AACA,QAAI8/M,OAAJ,EAAa;AACT,WAAKm7C,QAAL,CAAcjtN,MAAd,CAAqBhuC,KAArB,EAA4B,CAA5B,EAA+B8/M,OAA/B;;AACA,WAAKsgD,gBAAL,CAAsBtgD,OAAtB;AACH;;AACD,SAAKw4C,sBAAL,CAA4B;AAAEkF,MAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;;;AACc,MAAN56R,MAAM,GAAG;AACT,WAAO,KAAKu5R,QAAL,CAAcv5R,MAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIy8E,EAAAA,QAAQ,CAACz+E,KAAD,EAAQuwB,OAAO,GAAG,EAAlB,EAAsB;AAC1BisQ,IAAAA,sBAAsB,CAAC,IAAD,EAAOx8R,KAAP,CAAtB;AACAA,IAAAA,KAAK,CAACsX,OAAN,CAAc,CAAC0nJ,QAAD,EAAW1+H,KAAX,KAAqB;AAC/B+7P,MAAAA,oBAAoB,CAAC,IAAD,EAAO/7P,KAAP,CAApB;AACA,WAAKm7P,EAAL,CAAQn7P,KAAR,EAAem+C,QAAf,CAAwBugF,QAAxB,EAAkC;AAAEu+H,QAAAA,QAAQ,EAAE,IAAZ;AAAkBO,QAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArC,OAAlC;AACH,KAHD;AAIA,SAAKlF,sBAAL,CAA4BroQ,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIsvQ,EAAAA,UAAU,CAAC7/R,KAAD,EAAQuwB,OAAO,GAAG,EAAlB,EAAsB;AAC5B;AACA;AACA;AACA;AACA,QAAIvwB,KAAK,IAAI;AAAK;AAAlB,MACI;AACJA,IAAAA,KAAK,CAACsX,OAAN,CAAc,CAAC0nJ,QAAD,EAAW1+H,KAAX,KAAqB;AAC/B,UAAI,KAAKm7P,EAAL,CAAQn7P,KAAR,CAAJ,EAAoB;AAChB,aAAKm7P,EAAL,CAAQn7P,KAAR,EAAeu/P,UAAf,CAA0B7gI,QAA1B,EAAoC;AAAEu+H,UAAAA,QAAQ,EAAE,IAAZ;AAAkBO,UAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArC,SAApC;AACH;AACJ,KAJD;AAKA,SAAKlF,sBAAL,CAA4BroQ,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI7W,EAAAA,KAAK,CAAC1Z,KAAK,GAAG,EAAT,EAAauwB,OAAO,GAAG,EAAvB,EAA2B;AAC5B,SAAKksQ,aAAL,CAAmB,CAACr8C,OAAD,EAAU9/M,KAAV,KAAoB;AACnC8/M,MAAAA,OAAO,CAAC1mO,KAAR,CAAc1Z,KAAK,CAACsgC,KAAD,CAAnB,EAA4B;AAAEi9P,QAAAA,QAAQ,EAAE,IAAZ;AAAkBO,QAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArC,OAA5B;AACH,KAFD;;AAGA,SAAKF,eAAL,CAAqBrtQ,OAArB;;AACA,SAAKmtQ,cAAL,CAAoBntQ,OAApB;;AACA,SAAKqoQ,sBAAL,CAA4BroQ,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI6rQ,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKb,QAAL,CAAc1oQ,GAAd,CAAmButN,OAAD,IAAag8C,WAAW,CAACh8C,OAAD,CAA1C,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIztM,EAAAA,KAAK,CAACpiB,OAAO,GAAG,EAAX,EAAe;AAChB,QAAI,KAAKgrQ,QAAL,CAAcv5R,MAAd,GAAuB,CAA3B,EACI;;AACJ,SAAKy6R,aAAL,CAAoBr8C,OAAD,IAAaA,OAAO,CAAC+3C,2BAAR,CAAoC,MAAM,CAAG,CAA7C,CAAhC;;AACA,SAAKoD,QAAL,CAAcjtN,MAAd,CAAqB,CAArB;AACA,SAAKsqN,sBAAL,CAA4B;AAAEkF,MAAAA,SAAS,EAAEvtQ,OAAO,CAACutQ;AAArB,KAA5B;AACH;AACD;;;AACAxD,EAAAA,oBAAoB,GAAG;AACnB,QAAIgG,cAAc,GAAG,KAAK/E,QAAL,CAAc/nE,MAAd,CAAqB,CAAC+sE,OAAD,EAAUl8L,KAAV,KAAoB;AAC1D,aAAOA,KAAK,CAACi2L,oBAAN,KAA+B,IAA/B,GAAsCiG,OAA7C;AACH,KAFoB,EAElB,KAFkB,CAArB;AAGA,QAAID,cAAJ,EACI,KAAK1H,sBAAL,CAA4B;AAAE2E,MAAAA,QAAQ,EAAE;AAAZ,KAA5B;AACJ,WAAO+C,cAAP;AACH;AACD;;;AACA7D,EAAAA,aAAa,CAACqD,EAAD,EAAK;AACd,SAAKvE,QAAL,CAAcjkR,OAAd,CAAsB,CAAC8oO,OAAD,EAAU9/M,KAAV,KAAoB;AACtCw/P,MAAAA,EAAE,CAAC1/C,OAAD,EAAU9/M,KAAV,CAAF;AACH,KAFD;AAGH;AACD;;;AACA29P,EAAAA,YAAY,GAAG;AACX,SAAKj+R,KAAL,GACI,KAAKu7R,QAAL,CAAcvmL,MAAd,CAAsBorI,OAAD,IAAaA,OAAO,CAAC5wO,OAAR,IAAmB,KAAKyhG,QAA1D,EACKp+E,GADL,CACUutN,OAAD,IAAaA,OAAO,CAACpgP,KAD9B,CADJ;AAGH;AACD;;;AACAk/R,EAAAA,YAAY,CAAC7yP,SAAD,EAAY;AACpB,WAAO,KAAKkvP,QAAL,CAAc54L,IAAd,CAAoBy9I,OAAD,IAAaA,OAAO,CAAC5wO,OAAR,IAAmB68B,SAAS,CAAC+zM,OAAD,CAA5D,CAAP;AACH;AACD;;;AACA2/C,EAAAA,cAAc,GAAG;AACb,SAAKtD,aAAL,CAAoBr8C,OAAD,IAAa,KAAKsgD,gBAAL,CAAsBtgD,OAAtB,CAAhC;AACH;AACD;;;AACAw+C,EAAAA,oBAAoB,GAAG;AACnB,SAAK,MAAMx+C,OAAX,IAAsB,KAAKm7C,QAA3B,EAAqC;AACjC,UAAIn7C,OAAO,CAAC5wO,OAAZ,EACI,OAAO,KAAP;AACP;;AACD,WAAO,KAAK+rR,QAAL,CAAcv5R,MAAd,GAAuB,CAAvB,IAA4B,KAAKivG,QAAxC;AACH;;AACDyvL,EAAAA,gBAAgB,CAACtgD,OAAD,EAAU;AACtBA,IAAAA,OAAO,CAACg+C,SAAR,CAAkB,IAAlB;;AACAh+C,IAAAA,OAAO,CAAC+3C,2BAAR,CAAoC,KAAKyE,mBAAzC;AACH;;AA5VmC;AA+VxC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgE,uBAAuB,GAAG;AAC5BhxF,EAAAA,OAAO,EAAE8lF,gBADmB;AAE5B7lF,EAAAA,WAAW,EAAEsiC,yDAAU,CAAC,MAAM0uD,MAAP;AAFK,CAAhC;;AAIA,MAAMC,iBAAiB,GAAG,CAAC,MAAMz8R,OAAO,CAACR,OAAR,CAAgB,IAAhB,CAAP,GAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg9R,MAAN,SAAqBnL,gBAArB,CAAsC;AAClC91R,EAAAA,WAAW,CAAC8yR,UAAD,EAAa+F,eAAb,EAA8B;AACrC;AACA;AACR;AACA;AACA;;AACQ,SAAKxC,SAAL,GAAiB,KAAjB;AACA,SAAK8K,WAAL,GAAmB,IAAIh4N,GAAJ,EAAnB;AACA;AACR;AACA;AACA;;AACQ,SAAKi4N,QAAL,GAAgB,IAAI7oG,uDAAJ,EAAhB;AACA,SAAK4uE,IAAL,GACI,IAAIm1B,SAAJ,CAAc,EAAd,EAAkB3I,iBAAiB,CAACb,UAAD,CAAnC,EAAiDc,sBAAsB,CAACiF,eAAD,CAAvE,CADJ;AAEH;AACD;;;AACA1qF,EAAAA,eAAe,GAAG;AACd,SAAKwxF,kBAAL;AACH;AACD;AACJ;AACA;AACA;;;AACqB,MAAb5J,aAAa,GAAG;AAChB,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACe,MAAPv1C,OAAO,GAAG;AACV,WAAO,KAAK2mB,IAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,MAAJpgO,IAAI,GAAG;AACP,WAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;;;AACgB,MAAR40P,QAAQ,GAAG;AACX,WAAO,KAAKx0B,IAAL,CAAUw0B,QAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI0E,EAAAA,UAAU,CAAClpL,GAAD,EAAM;AACZ+pL,IAAAA,iBAAiB,CAACx8R,IAAlB,CAAuB,MAAM;AACzB,YAAMi7C,SAAS,GAAG,KAAK0hP,cAAL,CAAoBlqL,GAAG,CAACpwE,IAAxB,CAAlB;;AACAowE,MAAAA,GAAG,CAACqpI,OAAJ,GACI7gM,SAAS,CAACygP,eAAV,CAA0BjpL,GAAG,CAAC1zG,IAA9B,EAAoC0zG,GAAG,CAACqpI,OAAxC,CADJ;AAEAo3C,MAAAA,YAAY,CAACzgL,GAAG,CAACqpI,OAAL,EAAcrpI,GAAd,CAAZ;AACAA,MAAAA,GAAG,CAACqpI,OAAJ,CAAYw4C,sBAAZ,CAAmC;AAAEkF,QAAAA,SAAS,EAAE;AAAb,OAAnC;;AACA,WAAKiD,WAAL,CAAiB/3N,GAAjB,CAAqB+tC,GAArB;AACH,KAPD;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACImqL,EAAAA,UAAU,CAACnqL,GAAD,EAAM;AACZ,WAAO,KAAKgwJ,IAAL,CAAUlwO,GAAV,CAAckgF,GAAG,CAACpwE,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIu5P,EAAAA,aAAa,CAACnpL,GAAD,EAAM;AACf+pL,IAAAA,iBAAiB,CAACx8R,IAAlB,CAAuB,MAAM;AACzB,YAAMi7C,SAAS,GAAG,KAAK0hP,cAAL,CAAoBlqL,GAAG,CAACpwE,IAAxB,CAAlB;;AACA,UAAI4Y,SAAJ,EAAe;AACXA,QAAAA,SAAS,CAAC2gP,aAAV,CAAwBnpL,GAAG,CAAC1zG,IAA5B;AACH;;AACD,WAAK09R,WAAL,CAAiB/2G,MAAjB,CAAwBjzE,GAAxB;AACH,KAND;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIoqL,EAAAA,YAAY,CAACpqL,GAAD,EAAM;AACd+pL,IAAAA,iBAAiB,CAACx8R,IAAlB,CAAuB,MAAM;AACzB,YAAMi7C,SAAS,GAAG,KAAK0hP,cAAL,CAAoBlqL,GAAG,CAACpwE,IAAxB,CAAlB;;AACA,YAAMyuD,KAAK,GAAG,IAAI8mM,SAAJ,CAAc,EAAd,CAAd;AACAtC,MAAAA,kBAAkB,CAACxkM,KAAD,EAAQ2hB,GAAR,CAAlB;AACAx3D,MAAAA,SAAS,CAACygP,eAAV,CAA0BjpL,GAAG,CAAC1zG,IAA9B,EAAoC+xF,KAApC;AACAA,MAAAA,KAAK,CAACwjM,sBAAN,CAA6B;AAAEkF,QAAAA,SAAS,EAAE;AAAb,OAA7B;AACH,KAND;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIsD,EAAAA,eAAe,CAACrqL,GAAD,EAAM;AACjB+pL,IAAAA,iBAAiB,CAACx8R,IAAlB,CAAuB,MAAM;AACzB,YAAMi7C,SAAS,GAAG,KAAK0hP,cAAL,CAAoBlqL,GAAG,CAACpwE,IAAxB,CAAlB;;AACA,UAAI4Y,SAAJ,EAAe;AACXA,QAAAA,SAAS,CAAC2gP,aAAV,CAAwBnpL,GAAG,CAAC1zG,IAA5B;AACH;AACJ,KALD;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIg+R,EAAAA,YAAY,CAACtqL,GAAD,EAAM;AACd,WAAO,KAAKgwJ,IAAL,CAAUlwO,GAAV,CAAckgF,GAAG,CAACpwE,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI26P,EAAAA,WAAW,CAACvqL,GAAD,EAAM/2G,KAAN,EAAa;AACpB8gS,IAAAA,iBAAiB,CAACx8R,IAAlB,CAAuB,MAAM;AACzB,YAAMq6R,IAAI,GAAG,KAAK53B,IAAL,CAAUlwO,GAAV,CAAckgF,GAAG,CAACpwE,IAAlB,CAAb;AACAg4P,MAAAA,IAAI,CAAClgN,QAAL,CAAcz+E,KAAd;AACH,KAHD;AAIH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIy+E,EAAAA,QAAQ,CAACz+E,KAAD,EAAQ;AACZ,SAAKogP,OAAL,CAAa3hK,QAAb,CAAsBz+E,KAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIuhS,EAAAA,QAAQ,CAACC,MAAD,EAAS;AACb,SAAKvL,SAAL,GAAiB,IAAjB;AACAmE,IAAAA,mBAAmB,CAAC,KAAKrzB,IAAN,EAAY,KAAKg6B,WAAjB,CAAnB;AACA,SAAKC,QAAL,CAAc7vP,IAAd,CAAmBqwP,MAAnB;AACA,WAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,OAAO,GAAG;AACN,SAAKh3L,SAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,SAAS,CAACzqG,KAAK,GAAG6E,SAAT,EAAoB;AACzB,SAAKkiQ,IAAL,CAAUrtP,KAAV,CAAgB1Z,KAAhB;AACA,SAAKi2R,SAAL,GAAiB,KAAjB;AACH;;AACDsJ,EAAAA,kBAAkB,GAAG;AACjB,QAAI,KAAKhvQ,OAAL,IAAgB,KAAKA,OAAL,CAAa4oQ,QAAb,IAAyB,IAA7C,EAAmD;AAC/C,WAAKpyB,IAAL,CAAUi2B,SAAV,GAAsB,KAAKzsQ,OAAL,CAAa4oQ,QAAnC;AACH;AACJ;;AACD8H,EAAAA,cAAc,CAACt6P,IAAD,EAAO;AACjBA,IAAAA,IAAI,CAAC7sB,GAAL;AACA,WAAO6sB,IAAI,CAAC3kC,MAAL,GAAc,KAAK+kQ,IAAL,CAAUlwO,GAAV,CAAc8P,IAAd,CAAd,GAAoC,KAAKogO,IAAhD;AACH;;AA5LiC;;AA8LtC85B,MAAM,CAACtwH,IAAP;AAAA,mBAAmGswH,MAAnG,EAlgI2G78H,+DAkgI3G,CAA2HytH,aAA3H,OAlgI2GztH,+DAkgI3G,CAAiL0tH,mBAAjL;AAAA;;AACAmP,MAAM,CAACz6F,IAAP,kBAngI2GpiC,+DAmgI3G;AAAA,QAAuF68H,MAAvF;AAAA;AAAA;AAAA;AAngI2G78H,MAAAA,wDAmgI3G;AAAA,eAAuF,oBAAvF;AAAA;AAAA,eAAuF,aAAvF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAngI2GA,gEAmgI3G,CAAiV,CAAC48H,uBAAD,CAAjV,GAngI2G58H,wEAmgI3G;AAAA;;AACA;AAAA,qDApgI2GA,+DAogI3G,CAA2F68H,MAA3F,EAA+G,CAAC;AACpG70R,IAAAA,IAAI,EAAE+rL,oDAD8F;AAEpGrzL,IAAAA,IAAI,EAAE,CAAC;AACC2xG,MAAAA,QAAQ,EAAE,wDADX;AAECy5F,MAAAA,SAAS,EAAE,CAAC8wF,uBAAD,CAFZ;AAGCltP,MAAAA,IAAI,EAAE;AAAE,oBAAY,kBAAd;AAAkC,mBAAW;AAA7C,OAHP;AAICguP,MAAAA,OAAO,EAAE,CAAC,UAAD,CAJV;AAKCr7F,MAAAA,QAAQ,EAAE;AALX,KAAD;AAF8F,GAAD,CAA/G,EAS4B,YAAY;AAChC,WAAO,CAAC;AAAEr6L,MAAAA,IAAI,EAAEnH,SAAR;AAAmBq4L,MAAAA,UAAU,EAAE,CAAC;AACxBlxL,QAAAA,IAAI,EAAEksL,mDAAQA;AADU,OAAD,EAExB;AACClsL,QAAAA,IAAI,EAAEspM,+CAAIA;AADX,OAFwB,EAIxB;AACCtpM,QAAAA,IAAI,EAAE6rL,iDADP;AAECnzL,QAAAA,IAAI,EAAE,CAAC+sR,aAAD;AAFP,OAJwB;AAA/B,KAAD,EAOW;AAAEzlR,MAAAA,IAAI,EAAEnH,SAAR;AAAmBq4L,MAAAA,UAAU,EAAE,CAAC;AAClClxL,QAAAA,IAAI,EAAEksL,mDAAQA;AADoB,OAAD,EAElC;AACClsL,QAAAA,IAAI,EAAEspM,+CAAIA;AADX,OAFkC,EAIlC;AACCtpM,QAAAA,IAAI,EAAE6rL,iDADP;AAECnzL,QAAAA,IAAI,EAAE,CAACgtR,mBAAD;AAFP,OAJkC;AAA/B,KAPX,CAAP;AAeH,GAzBL,EAyBuB;AAAEnhQ,IAAAA,OAAO,EAAE,CAAC;AACnBvkB,MAAAA,IAAI,EAAEgsL,gDADa;AAEnBtzL,MAAAA,IAAI,EAAE,CAAC,eAAD;AAFa,KAAD;AAAX,GAzBvB;AAAA;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMi9R,0BAAN,SAAyCjM,gBAAzC,CAA0D;AACtD;AACA9jD,EAAAA,QAAQ,GAAG;AACP,SAAKgwD,gBAAL,GADO,CAEP;;;AACA,SAAKjM,aAAL,CAAmBwL,YAAnB,CAAgC,IAAhC;AACH;AACD;;;AACA/kG,EAAAA,WAAW,GAAG;AACV,QAAI,KAAKu5F,aAAT,EAAwB;AACpB;AACA,WAAKA,aAAL,CAAmByL,eAAnB,CAAmC,IAAnC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACe,MAAPhhD,OAAO,GAAG;AACV,WAAO,KAAKu1C,aAAL,CAAmB0L,YAAnB,CAAgC,IAAhC,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACY,MAAJ16P,IAAI,GAAG;AACP,WAAO4wP,WAAW,CAAC,KAAKl0R,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAUF,QAAV,EAAjC,EAAuD,KAAKqyR,OAA5D,CAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACqB,MAAbG,aAAa,GAAG;AAChB,WAAO,KAAKH,OAAL,GAAe,KAAKA,OAAL,CAAaG,aAA5B,GAA4C,IAAnD;AACH;AACD;;;AACAiM,EAAAA,gBAAgB,GAAG,CAAG;;AApCgC;;AAsC1DD,0BAA0B,CAACpxH,IAA3B;AAAA;AAAA;AAAA,kGArlI2GvM,mEAqlI3G,CAAuH29H,0BAAvH,SAAuHA,0BAAvH;AAAA;AAAA;;AACAA,0BAA0B,CAACv7F,IAA3B,kBAtlI2GpiC,+DAslI3G;AAAA,QAA2G29H,0BAA3G;AAAA,aAtlI2G39H,wEAslI3G;AAAA;;AACA;AAAA,qDAvlI2GA,+DAulI3G,CAA2F29H,0BAA3F,EAAmI,CAAC;AACxH31R,IAAAA,IAAI,EAAE+rL,oDAASA;AADyG,GAAD,CAAnI;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8pG,oBAAT,GAAgC;AAC5B,SAAO,IAAIj4R,KAAJ,CAAW;AACtB;AACA;AACA;AACA,MAAM0sR,sBAAuB;AAC7B;AACA;AACA;AACA;AACA;AACA,MAAMI,2BAA4B,EAVvB,CAAP;AAWH;;AACD,SAASoL,sBAAT,GAAkC;AAC9B,SAAO,IAAIl4R,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM2sR,oBAAqB;AAC3B;AACA;AACA;AACA,MAAME,mBAAoB,EATf,CAAP;AAUH;;AACD,SAASsL,oBAAT,GAAgC;AAC5B,SAAO,IAAIn4R,KAAJ,CAAW;AACtB;AACA;AACA;AACA,4FAJW,CAAP;AAKH;;AACD,SAASo4R,yBAAT,GAAqC;AACjC,SAAO,IAAIp4R,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM2sR,oBAAqB;AAC3B;AACA;AACA;AACA,MAAME,mBAAoB,EATf,CAAP;AAUH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwL,kBAAkB,GAAG;AACvBryF,EAAAA,OAAO,EAAE8lF,gBADc;AAEvB7lF,EAAAA,WAAW,EAAEsiC,yDAAU,CAAC,MAAM+vD,YAAP;AAFA,CAA3B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMA,YAAN,SAA2BP,0BAA3B,CAAsD;AAClD/hS,EAAAA,WAAW,CAACwxC,MAAD,EAASshP,UAAT,EAAqB+F,eAArB,EAAsC;AAC7C;AACA,SAAKjD,OAAL,GAAepkP,MAAf;;AACA,SAAK0jP,cAAL,CAAoBpC,UAApB;;AACA,SAAKsC,mBAAL,CAAyByD,eAAzB;AACH;AACD;;;AACAmJ,EAAAA,gBAAgB,GAAG;AACf,QAAI,EAAE,KAAKpM,OAAL,YAAwB0M,YAA1B,KAA2C,EAAE,KAAK1M,OAAL,YAAwBqL,MAA1B,CAA3C,KACC,OAAOt3H,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,YAAMy4H,yBAAyB,EAA/B;AACH;AACJ;;AAbiD;;AAetDE,YAAY,CAAC3xH,IAAb;AAAA,mBAAyG2xH,YAAzG,EAnsI2Gl+H,+DAmsI3G,CAAuI0xH,gBAAvI,MAnsI2G1xH,+DAmsI3G,CAAgMytH,aAAhM,OAnsI2GztH,+DAmsI3G,CAAsP0tH,mBAAtP;AAAA;;AACAwQ,YAAY,CAAC97F,IAAb,kBApsI2GpiC,+DAosI3G;AAAA,QAA6Fk+H,YAA7F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aApsI2Gl+H,gEAosI3G,CAA8L,CAACi+H,kBAAD,CAA9L,GApsI2Gj+H,wEAosI3G;AAAA;;AACA;AAAA,qDArsI2GA,+DAqsI3G,CAA2Fk+H,YAA3F,EAAqH,CAAC;AAC1Gl2R,IAAAA,IAAI,EAAE+rL,oDADoG;AAE1GrzL,IAAAA,IAAI,EAAE,CAAC;AAAE2xG,MAAAA,QAAQ,EAAE,gBAAZ;AAA8By5F,MAAAA,SAAS,EAAE,CAACmyF,kBAAD,CAAzC;AAA+D57F,MAAAA,QAAQ,EAAE;AAAzE,KAAD;AAFoG,GAAD,CAArH,EAG4B,YAAY;AAChC,WAAO,CAAC;AAAEr6L,MAAAA,IAAI,EAAE0pR,gBAAR;AAA0Bx4F,MAAAA,UAAU,EAAE,CAAC;AAC/BlxL,QAAAA,IAAI,EAAE+tP,+CAAIA;AADqB,OAAD,EAE/B;AACC/tP,QAAAA,IAAI,EAAEmjM,mDAAQA;AADf,OAF+B;AAAtC,KAAD,EAIW;AAAEnjM,MAAAA,IAAI,EAAEnH,SAAR;AAAmBq4L,MAAAA,UAAU,EAAE,CAAC;AAClClxL,QAAAA,IAAI,EAAEksL,mDAAQA;AADoB,OAAD,EAElC;AACClsL,QAAAA,IAAI,EAAEspM,+CAAIA;AADX,OAFkC,EAIlC;AACCtpM,QAAAA,IAAI,EAAE6rL,iDADP;AAECnzL,QAAAA,IAAI,EAAE,CAAC+sR,aAAD;AAFP,OAJkC;AAA/B,KAJX,EAWW;AAAEzlR,MAAAA,IAAI,EAAEnH,SAAR;AAAmBq4L,MAAAA,UAAU,EAAE,CAAC;AAClClxL,QAAAA,IAAI,EAAEksL,mDAAQA;AADoB,OAAD,EAElC;AACClsL,QAAAA,IAAI,EAAEspM,+CAAIA;AADX,OAFkC,EAIlC;AACCtpM,QAAAA,IAAI,EAAE6rL,iDADP;AAECnzL,QAAAA,IAAI,EAAE,CAACgtR,mBAAD;AAFP,OAJkC;AAA/B,KAXX,CAAP;AAmBH,GAvBL,EAuBuB;AAAEruR,IAAAA,IAAI,EAAE,CAAC;AAChB2I,MAAAA,IAAI,EAAEgsL,gDADU;AAEhBtzL,MAAAA,IAAI,EAAE,CAAC,cAAD;AAFU,KAAD;AAAR,GAvBvB;AAAA;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMy9R,oBAAoB,GAAG;AACzBvyF,EAAAA,OAAO,EAAE2lF,SADgB;AAEzB1lF,EAAAA,WAAW,EAAEsiC,yDAAU,CAAC,MAAMiwD,OAAP;AAFE,CAA7B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMxqP,eAAe,GAAG,CAAC,MAAMvzC,OAAO,CAACR,OAAR,CAAgB,IAAhB,CAAP,GAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA,MAAMvkB,OAAO,GAAG,IAAI3qB,kDAAJ,CAAY,QAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;ACrnOA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAK,cAAc,cAAc;AACpD;AACA;AACA,0CAA0C,IAAI,aAAa,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,YAAY;AAClC;AACA,gBAAgB,MAAM,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6BAA6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EACFziN,IADE,CACGhqF,sDAAM,CAACjkE,KAAK,IAAIA,KAAK,CAAC6wW,KAAN,KAAgBA,KAA1B,CADT,EAC2C7nN,oDAAI,CAAC,CAAD,CAD/C,EACoDlnK,mDAAG,CAACke,KAAK,IAAI;AACpE,UAAIA,KAAK,CAACrqC,MAAN,KAAiB7B,SAArB,EAAgC;AAC5B,eAAOksC,KAAK,CAACrqC,MAAb;AACH;;AACD,YAAM,IAAIkD,KAAJ,CAAUmnC,KAAK,CAAC3sC,KAAhB,CAAN;AACH,KAL6D,CADvD,EAOFg9Y,SAPE,EAAP;AAQH;;AACY,MAATt8M,SAAS,GAAG;AACZ,WAAO,CAAC,CAAC,KAAK07M,aAAd;AACH;;AA9DiB;AAiEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqB,MAAN,CAAa;AACTjiZ,EAAAA,WAAW,CAACuhZ,EAAD,EAAK;AACZ,SAAKA,EAAL,GAAUA,EAAV;AACA,SAAKW,mBAAL,GAA2B,IAAIppN,0CAAJ,EAA3B;;AACA,QAAI,CAACyoN,EAAE,CAACr8M,SAAR,EAAmB;AACf,WAAKi9M,QAAL,GAAgB5B,wCAAhB;AACA,WAAK6B,kBAAL,GAA0B7B,wCAA1B;AACA,WAAKxvL,YAAL,GAAoBwvL,wCAApB;AACA;AACH;;AACD,SAAK4B,QAAL,GAAgB,KAAKZ,EAAL,CAAQM,YAAR,CAAqB,MAArB,EAA6BziN,IAA7B,CAAkCnsK,mDAA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A;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,2DAA2D;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,2DAA2D;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA,wBAAwB,mCAAmC;AAC3D;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AAD,CADV;AAEC9lR,MAAAA,OAAO,EAAE,CAACyzd,gBAAD,CAFV;AAGCvjR,MAAAA,YAAY,EAAE,CAACujR,gBAAD;AAHf,KAAD;AAF8G,GAAD,CAA/H;AAAA;AASA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,UAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,SAAS;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO,EAAE,OAAO;AAC9B;;AAEA;AACA;AACA;AACA,iFAAiF;AACjF;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjNtE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,gBAAgB,sCAAsC,kBAAkB;AACjF,wBAAwB;AACxB;AACA;;AAEO;AACP;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEO;AACP;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP,kCAAkC;AAClC;;AAEO;AACP,uBAAuB,uFAAuF;AAC9G;AACA;AACA,yGAAyG;AACzG;AACA,sCAAsC,QAAQ;AAC9C;AACA,gEAAgE;AAChE;AACA,8CAA8C,yFAAyF;AACvI,8DAA8D,2CAA2C;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,4CAA4C,yEAAyE;AACrH;;AAEO;AACP;AACA;;AAEO;AACP,0BAA0B,+DAA+D,iBAAiB;AAC1G;AACA,kCAAkC,MAAM,+BAA+B,YAAY;AACnF,iCAAiC,MAAM,mCAAmC,YAAY;AACtF,8BAA8B;AAC9B;AACA,GAAG;AACH;;AAEO;AACP,YAAY,6BAA6B,0BAA0B,cAAc,qBAAqB;AACtG,eAAe,oDAAoD,qEAAqE,cAAc;AACtJ,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,iCAAiC,SAAS;AAC1C,iCAAiC,WAAW,UAAU;AACtD,wCAAwC,cAAc;AACtD;AACA,4GAA4G,OAAO;AACnH,+EAA+E,iBAAiB;AAChG,uDAAuD,gBAAgB,QAAQ;AAC/E,6CAA6C,gBAAgB,gBAAgB;AAC7E;AACA,gCAAgC;AAChC;AACA;AACA,QAAQ,YAAY,aAAa,SAAS,UAAU;AACpD,kCAAkC,SAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAEM;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACO;AACP,2BAA2B,sBAAsB;AACjD;AACA;AACA;;AAEA;AACO;AACP,gDAAgD,QAAQ;AACxD,uCAAuC,QAAQ;AAC/C,uDAAuD,QAAQ;AAC/D;AACA;AACA;;AAEO;AACP,2EAA2E,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,eAAe,uFAAuF,cAAc;AACpH,qBAAqB,gCAAgC,qCAAqC,2CAA2C;AACrI,0BAA0B,MAAM,iBAAiB,YAAY;AAC7D,qBAAqB;AACrB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B;;AAEO;AACP;AACA,eAAe,6CAA6C,UAAU,sDAAsD,cAAc;AAC1I,wBAAwB,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AAClI;;AAEO;AACP;AACA;AACA,yGAAyG,uFAAuF,cAAc;AAC9M,qBAAqB,8BAA8B,gDAAgD,wDAAwD;AAC3J,2CAA2C,sCAAsC,UAAU,mBAAmB,IAAI;AAClH;;AAEO;AACP,+BAA+B,uCAAuC,YAAY,KAAK,OAAO;AAC9F;AACA;;AAEA;AACA,wCAAwC,4BAA4B;AACpE,CAAC;AACD;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,2CAA2C;AAC3C;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8CAA8C;AACnE;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,SAAS,gBAAgB;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC","sources":["./node_modules/@ngx-translate/core/__ivy_ngcc__/fesm2015/ngx-translate-core.js","./node_modules/@ngx-translate/http-loader/__ivy_ngcc__/fesm2015/ngx-translate-http-loader.js","./node_modules/angular-resizable-element/__ivy_ngcc__/fesm2015/angular-resizable-element.js","./node_modules/hammerjs/hammer.js","./node_modules/ng2-pdf-viewer/__ivy_ngcc__/fesm2015/ng2-pdf-viewer.js","./node_modules/pdfjs-dist/legacy/build/pdf.js","./node_modules/pdfjs-dist/legacy/web/pdf_viewer.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/fromSubscribable.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/interval.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/never.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/connect.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/multicast.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/publish.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/@angular/animations/fesm2015/animations.mjs","./node_modules/@angular/animations/fesm2015/browser.mjs","./node_modules/@angular/cdk/fesm2015/a11y.mjs","./node_modules/@angular/cdk/fesm2015/accordion.mjs","./node_modules/@angular/cdk/fesm2015/bidi.mjs","./node_modules/@angular/cdk/fesm2015/cdk.mjs","./node_modules/@angular/cdk/fesm2015/coercion.mjs","./node_modules/@angular/cdk/fesm2015/collections.mjs","./node_modules/@angular/cdk/fesm2015/drag-drop.mjs","./node_modules/@angular/cdk/fesm2015/keycodes.mjs","./node_modules/@angular/cdk/fesm2015/layout.mjs","./node_modules/@angular/cdk/fesm2015/observers.mjs","./node_modules/@angular/cdk/fesm2015/overlay.mjs","./node_modules/@angular/cdk/fesm2015/platform.mjs","./node_modules/@angular/cdk/fesm2015/portal.mjs","./node_modules/@angular/cdk/fesm2015/scrolling.mjs","./node_modules/@angular/cdk/fesm2015/stepper.mjs","./node_modules/@angular/cdk/fesm2015/table.mjs","./node_modules/@angular/cdk/fesm2015/text-field.mjs","./node_modules/@angular/cdk/fesm2015/tree.mjs","./node_modules/@angular/common/fesm2015/common.mjs","./node_modules/@angular/common/fesm2015/http.mjs","./node_modules/@angular/common/locales/es.mjs","./node_modules/@angular/core/fesm2015/core.mjs","./node_modules/@angular/forms/fesm2015/forms.mjs","./node_modules/@angular/localize/fesm2015/init.mjs","./node_modules/@angular/material/fesm2015/autocomplete.mjs","./node_modules/@angular/material/fesm2015/badge.mjs","./node_modules/@angular/material/fesm2015/bottom-sheet.mjs","./node_modules/@angular/material/fesm2015/button-toggle.mjs","./node_modules/@angular/material/fesm2015/button.mjs","./node_modules/@angular/material/fesm2015/card.mjs","./node_modules/@angular/material/fesm2015/checkbox.mjs","./node_modules/@angular/material/fesm2015/chips.mjs","./node_modules/@angular/material/fesm2015/core.mjs","./node_modules/@angular/material/fesm2015/datepicker.mjs","./node_modules/@angular/material/fesm2015/dialog.mjs","./node_modules/@angular/material/fesm2015/divider.mjs","./node_modules/@angular/material/fesm2015/expansion.mjs","./node_modules/@angular/material/fesm2015/form-field.mjs","./node_modules/@angular/material/fesm2015/grid-list.mjs","./node_modules/@angular/material/fesm2015/icon.mjs","./node_modules/@angular/material/fesm2015/input.mjs","./node_modules/@angular/material/fesm2015/list.mjs","./node_modules/@angular/material/fesm2015/menu.mjs","./node_modules/@angular/material/fesm2015/paginator.mjs","./node_modules/@angular/material/fesm2015/progress-bar.mjs","./node_modules/@angular/material/fesm2015/progress-spinner.mjs","./node_modules/@angular/material/fesm2015/radio.mjs","./node_modules/@angular/material/fesm2015/select.mjs","./node_modules/@angular/material/fesm2015/sidenav.mjs","./node_modules/@angular/material/fesm2015/slide-toggle.mjs","./node_modules/@angular/material/fesm2015/slider.mjs","./node_modules/@angular/material/fesm2015/snack-bar.mjs","./node_modules/@angular/material/fesm2015/sort.mjs","./node_modules/@angular/material/fesm2015/table.mjs","./node_modules/@angular/material/fesm2015/tabs.mjs","./node_modules/@angular/material/fesm2015/toolbar.mjs","./node_modules/@angular/material/fesm2015/tooltip.mjs","./node_modules/@angular/material/fesm2015/tree.mjs","./node_modules/@angular/platform-browser/fesm2015/animations.mjs","./node_modules/@angular/platform-browser/fesm2015/platform-browser.mjs","./node_modules/@angular/router/fesm2015/router.mjs","./node_modules/@angular/service-worker/fesm2015/service-worker.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-accordion.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-carousel.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-checkbox.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-collapse.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-dropdown.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-forms.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-modal.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-popover.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-radio.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-range.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-ripple.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-scrollspy.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-tabs.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-tooltip.mjs","./node_modules/mdb-angular-ui-kit/fesm2015/mdb-angular-ui-kit-validation.mjs","./node_modules/primeng/fesm2015/primeng-api.mjs","./node_modules/primeng/fesm2015/primeng-button.mjs","./node_modules/primeng/fesm2015/primeng-calendar.mjs","./node_modules/primeng/fesm2015/primeng-carousel.mjs","./node_modules/primeng/fesm2015/primeng-confirmdialog.mjs","./node_modules/primeng/fesm2015/primeng-contextmenu.mjs","./node_modules/primeng/fesm2015/primeng-dialog.mjs","./node_modules/primeng/fesm2015/primeng-dom.mjs","./node_modules/primeng/fesm2015/primeng-dropdown.mjs","./node_modules/primeng/fesm2015/primeng-fileupload.mjs","./node_modules/primeng/fesm2015/primeng-focustrap.mjs","./node_modules/primeng/fesm2015/primeng-inputnumber.mjs","./node_modules/primeng/fesm2015/primeng-inputtext.mjs","./node_modules/primeng/fesm2015/primeng-inputtextarea.mjs","./node_modules/primeng/fesm2015/primeng-message.mjs","./node_modules/primeng/fesm2015/primeng-messages.mjs","./node_modules/primeng/fesm2015/primeng-multiselect.mjs","./node_modules/primeng/fesm2015/primeng-paginator.mjs","./node_modules/primeng/fesm2015/primeng-panel.mjs","./node_modules/primeng/fesm2015/primeng-password.mjs","./node_modules/primeng/fesm2015/primeng-progressbar.mjs","./node_modules/primeng/fesm2015/primeng-progressspinner.mjs","./node_modules/primeng/fesm2015/primeng-radiobutton.mjs","./node_modules/primeng/fesm2015/primeng-rating.mjs","./node_modules/primeng/fesm2015/primeng-ripple.mjs","./node_modules/primeng/fesm2015/primeng-selectbutton.mjs","./node_modules/primeng/fesm2015/primeng-skeleton.mjs","./node_modules/primeng/fesm2015/primeng-slider.mjs","./node_modules/primeng/fesm2015/primeng-table.mjs","./node_modules/primeng/fesm2015/primeng-tabview.mjs","./node_modules/primeng/fesm2015/primeng-toast.mjs","./node_modules/primeng/fesm2015/primeng-togglebutton.mjs","./node_modules/primeng/fesm2015/primeng-toolbar.mjs","./node_modules/primeng/fesm2015/primeng-tooltip.mjs","./node_modules/primeng/fesm2015/primeng-tristatecheckbox.mjs","./node_modules/primeng/fesm2015/primeng-utils.mjs","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import { Injectable, EventEmitter, InjectionToken, Inject, Directive, ElementRef, ChangeDetectorRef, Input, Pipe, NgModule } from '@angular/core';\nimport { of, isObservable, forkJoin, concat, defer } from 'rxjs';\nimport { take, shareReplay, map, concatMap, switchMap } from 'rxjs/operators';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.loader.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nimport * as ɵngcc0 from '@angular/core';\nclass TranslateLoader {\n}\nif (false) {\n /**\n * @abstract\n * @param {?} lang\n * @return {?}\n */\n TranslateLoader.prototype.getTranslation = function (lang) { };\n}\n/**\n * This loader is just a placeholder that does nothing, in case you don't need a loader at all\n */\nclass TranslateFakeLoader extends TranslateLoader {\n /**\n * @param {?} lang\n * @return {?}\n */\n getTranslation(lang) {\n return of({});\n }\n}\nTranslateFakeLoader.ɵfac = /*@__PURE__*/ function () { let ɵTranslateFakeLoader_BaseFactory; return function TranslateFakeLoader_Factory(t) { return (ɵTranslateFakeLoader_BaseFactory || (ɵTranslateFakeLoader_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateFakeLoader)))(t || TranslateFakeLoader); }; }();\nTranslateFakeLoader.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateFakeLoader, factory: TranslateFakeLoader.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateFakeLoader, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/missing-translation-handler.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @record\n */\nfunction MissingTranslationHandlerParams() { }\nif (false) {\n /**\n * the key that's missing in translation files\n * @type {?}\n */\n MissingTranslationHandlerParams.prototype.key;\n /**\n * an instance of the service that was unable to translate the key.\n * @type {?}\n */\n MissingTranslationHandlerParams.prototype.translateService;\n /**\n * interpolation params that were passed along for translating the given key.\n * @type {?|undefined}\n */\n MissingTranslationHandlerParams.prototype.interpolateParams;\n}\n/**\n * @abstract\n */\nclass MissingTranslationHandler {\n}\nif (false) {\n /**\n * A function that handles missing translations.\n *\n * @abstract\n * @param {?} params context for resolving a missing translation\n * @return {?} a value or an observable\n * If it returns a value, then this value is used.\n * If it return an observable, the value returned by this observable will be used (except if the method was \"instant\").\n * If it doesn't return then the key will be used as a value\n */\n MissingTranslationHandler.prototype.handle = function (params) { };\n}\n/**\n * This handler is just a placeholder that does nothing, in case you don't need a missing translation handler at all\n */\nclass FakeMissingTranslationHandler {\n /**\n * @param {?} params\n * @return {?}\n */\n handle(params) {\n return params.key;\n }\n}\nFakeMissingTranslationHandler.ɵfac = function FakeMissingTranslationHandler_Factory(t) { return new (t || FakeMissingTranslationHandler)(); };\nFakeMissingTranslationHandler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: FakeMissingTranslationHandler, factory: FakeMissingTranslationHandler.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FakeMissingTranslationHandler, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/util.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/* tslint:disable */\n/**\n * Determines if two objects or two values are equivalent.\n *\n * Two objects or values are considered equivalent if at least one of the following is true:\n *\n * * Both objects or values pass `===` comparison.\n * * Both objects or values are of the same type and all of their properties are equal by\n * comparing them with `equals`.\n *\n * @param {?} o1 Object or value to compare.\n * @param {?} o2 Object or value to compare.\n * @return {?} true if arguments are equal.\n */\nfunction equals(o1, o2) {\n if (o1 === o2)\n return true;\n if (o1 === null || o2 === null)\n return false;\n if (o1 !== o1 && o2 !== o2)\n return true; // NaN === NaN\n // NaN === NaN\n /** @type {?} */\n let t1 = typeof o1;\n /** @type {?} */\n let t2 = typeof o2;\n /** @type {?} */\n let length;\n /** @type {?} */\n let key;\n /** @type {?} */\n let keySet;\n if (t1 == t2 && t1 == 'object') {\n if (Array.isArray(o1)) {\n if (!Array.isArray(o2))\n return false;\n if ((length = o1.length) == o2.length) {\n for (key = 0; key < length; key++) {\n if (!equals(o1[key], o2[key]))\n return false;\n }\n return true;\n }\n }\n else {\n if (Array.isArray(o2)) {\n return false;\n }\n keySet = Object.create(null);\n for (key in o1) {\n if (!equals(o1[key], o2[key])) {\n return false;\n }\n keySet[key] = true;\n }\n for (key in o2) {\n if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n}\n/* tslint:enable */\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isDefined(value) {\n return typeof value !== 'undefined' && value !== null;\n}\n/**\n * @param {?} item\n * @return {?}\n */\nfunction isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n/**\n * @param {?} target\n * @param {?} source\n * @return {?}\n */\nfunction mergeDeep(target, source) {\n /** @type {?} */\n let output = Object.assign({}, target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((/**\n * @param {?} key\n * @return {?}\n */\n (key) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, { [key]: source[key] });\n }\n else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n }\n else {\n Object.assign(output, { [key]: source[key] });\n }\n }));\n }\n return output;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.parser.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass TranslateParser {\n}\nif (false) {\n /**\n * Interpolates a string to replace parameters\n * \"This is a {{ key }}\" ==> \"This is a value\", with params = { key: \"value\" }\n * @abstract\n * @param {?} expr\n * @param {?=} params\n * @return {?}\n */\n TranslateParser.prototype.interpolate = function (expr, params) { };\n /**\n * Gets a value from an object by composed key\n * parser.getValue({ key1: { keyA: 'valueI' }}, 'key1.keyA') ==> 'valueI'\n * @abstract\n * @param {?} target\n * @param {?} key\n * @return {?}\n */\n TranslateParser.prototype.getValue = function (target, key) { };\n}\nclass TranslateDefaultParser extends TranslateParser {\n constructor() {\n super(...arguments);\n this.templateMatcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n }\n /**\n * @param {?} expr\n * @param {?=} params\n * @return {?}\n */\n interpolate(expr, params) {\n /** @type {?} */\n let result;\n if (typeof expr === 'string') {\n result = this.interpolateString(expr, params);\n }\n else if (typeof expr === 'function') {\n result = this.interpolateFunction(expr, params);\n }\n else {\n // this should not happen, but an unrelated TranslateService test depends on it\n result = (/** @type {?} */ (expr));\n }\n return result;\n }\n /**\n * @param {?} target\n * @param {?} key\n * @return {?}\n */\n getValue(target, key) {\n /** @type {?} */\n let keys = typeof key === 'string' ? key.split('.') : [key];\n key = '';\n do {\n key += keys.shift();\n if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {\n target = target[key];\n key = '';\n }\n else if (!keys.length) {\n target = undefined;\n }\n else {\n key += '.';\n }\n } while (keys.length);\n return target;\n }\n /**\n * @private\n * @param {?} fn\n * @param {?=} params\n * @return {?}\n */\n interpolateFunction(fn, params) {\n return fn(params);\n }\n /**\n * @private\n * @param {?} expr\n * @param {?=} params\n * @return {?}\n */\n interpolateString(expr, params) {\n if (!params) {\n return expr;\n }\n return expr.replace(this.templateMatcher, (/**\n * @param {?} substring\n * @param {?} b\n * @return {?}\n */\n (substring, b) => {\n /** @type {?} */\n let r = this.getValue(params, b);\n return isDefined(r) ? r : substring;\n }));\n }\n}\nTranslateDefaultParser.ɵfac = /*@__PURE__*/ function () { let ɵTranslateDefaultParser_BaseFactory; return function TranslateDefaultParser_Factory(t) { return (ɵTranslateDefaultParser_BaseFactory || (ɵTranslateDefaultParser_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateDefaultParser)))(t || TranslateDefaultParser); }; }();\nTranslateDefaultParser.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateDefaultParser, factory: TranslateDefaultParser.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateDefaultParser, [{\n type: Injectable\n }], null, null); })();\nif (false) {\n /** @type {?} */\n TranslateDefaultParser.prototype.templateMatcher;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.compiler.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass TranslateCompiler {\n}\nif (false) {\n /**\n * @abstract\n * @param {?} value\n * @param {?} lang\n * @return {?}\n */\n TranslateCompiler.prototype.compile = function (value, lang) { };\n /**\n * @abstract\n * @param {?} translations\n * @param {?} lang\n * @return {?}\n */\n TranslateCompiler.prototype.compileTranslations = function (translations, lang) { };\n}\n/**\n * This compiler is just a placeholder that does nothing, in case you don't need a compiler at all\n */\nclass TranslateFakeCompiler extends TranslateCompiler {\n /**\n * @param {?} value\n * @param {?} lang\n * @return {?}\n */\n compile(value, lang) {\n return value;\n }\n /**\n * @param {?} translations\n * @param {?} lang\n * @return {?}\n */\n compileTranslations(translations, lang) {\n return translations;\n }\n}\nTranslateFakeCompiler.ɵfac = /*@__PURE__*/ function () { let ɵTranslateFakeCompiler_BaseFactory; return function TranslateFakeCompiler_Factory(t) { return (ɵTranslateFakeCompiler_BaseFactory || (ɵTranslateFakeCompiler_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateFakeCompiler)))(t || TranslateFakeCompiler); }; }();\nTranslateFakeCompiler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateFakeCompiler, factory: TranslateFakeCompiler.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateFakeCompiler, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.store.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass TranslateStore {\n constructor() {\n /**\n * The lang currently used\n */\n this.currentLang = this.defaultLang;\n /**\n * a list of translations per lang\n */\n this.translations = {};\n /**\n * an array of langs\n */\n this.langs = [];\n /**\n * An EventEmitter to listen to translation change events\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n * // do something\n * });\n */\n this.onTranslationChange = new EventEmitter();\n /**\n * An EventEmitter to listen to lang change events\n * onLangChange.subscribe((params: LangChangeEvent) => {\n * // do something\n * });\n */\n this.onLangChange = new EventEmitter();\n /**\n * An EventEmitter to listen to default lang change events\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n * // do something\n * });\n */\n this.onDefaultLangChange = new EventEmitter();\n }\n}\nif (false) {\n /**\n * The default lang to fallback when translations are missing on the current lang\n * @type {?}\n */\n TranslateStore.prototype.defaultLang;\n /**\n * The lang currently used\n * @type {?}\n */\n TranslateStore.prototype.currentLang;\n /**\n * a list of translations per lang\n * @type {?}\n */\n TranslateStore.prototype.translations;\n /**\n * an array of langs\n * @type {?}\n */\n TranslateStore.prototype.langs;\n /**\n * An EventEmitter to listen to translation change events\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n * // do something\n * });\n * @type {?}\n */\n TranslateStore.prototype.onTranslationChange;\n /**\n * An EventEmitter to listen to lang change events\n * onLangChange.subscribe((params: LangChangeEvent) => {\n * // do something\n * });\n * @type {?}\n */\n TranslateStore.prototype.onLangChange;\n /**\n * An EventEmitter to listen to default lang change events\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n * // do something\n * });\n * @type {?}\n */\n TranslateStore.prototype.onDefaultLangChange;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.service.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst USE_STORE = new InjectionToken('USE_STORE');\n/** @type {?} */\nconst USE_DEFAULT_LANG = new InjectionToken('USE_DEFAULT_LANG');\n/** @type {?} */\nconst DEFAULT_LANGUAGE = new InjectionToken('DEFAULT_LANGUAGE');\n/** @type {?} */\nconst USE_EXTEND = new InjectionToken('USE_EXTEND');\n/**\n * @record\n */\nfunction TranslationChangeEvent() { }\nif (false) {\n /** @type {?} */\n TranslationChangeEvent.prototype.translations;\n /** @type {?} */\n TranslationChangeEvent.prototype.lang;\n}\n/**\n * @record\n */\nfunction LangChangeEvent() { }\nif (false) {\n /** @type {?} */\n LangChangeEvent.prototype.lang;\n /** @type {?} */\n LangChangeEvent.prototype.translations;\n}\n/**\n * @record\n */\nfunction DefaultLangChangeEvent() { }\nif (false) {\n /** @type {?} */\n DefaultLangChangeEvent.prototype.lang;\n /** @type {?} */\n DefaultLangChangeEvent.prototype.translations;\n}\nclass TranslateService {\n /**\n *\n * @param {?} store an instance of the store (that is supposed to be unique)\n * @param {?} currentLoader An instance of the loader currently used\n * @param {?} compiler An instance of the compiler currently used\n * @param {?} parser An instance of the parser currently used\n * @param {?} missingTranslationHandler A handler for missing translations.\n * @param {?=} useDefaultLang whether we should use default language translation when current language translation is missing.\n * @param {?=} isolate whether this service should use the store or not\n * @param {?=} extend To make a child module extend (and use) translations from parent modules.\n * @param {?=} defaultLanguage Set the default language using configuration\n */\n constructor(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang = true, isolate = false, extend = false, defaultLanguage) {\n this.store = store;\n this.currentLoader = currentLoader;\n this.compiler = compiler;\n this.parser = parser;\n this.missingTranslationHandler = missingTranslationHandler;\n this.useDefaultLang = useDefaultLang;\n this.isolate = isolate;\n this.extend = extend;\n this.pending = false;\n this._onTranslationChange = new EventEmitter();\n this._onLangChange = new EventEmitter();\n this._onDefaultLangChange = new EventEmitter();\n this._langs = [];\n this._translations = {};\n this._translationRequests = {};\n /** set the default language from configuration */\n if (defaultLanguage) {\n this.setDefaultLang(defaultLanguage);\n }\n }\n /**\n * An EventEmitter to listen to translation change events\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onTranslationChange() {\n return this.isolate ? this._onTranslationChange : this.store.onTranslationChange;\n }\n /**\n * An EventEmitter to listen to lang change events\n * onLangChange.subscribe((params: LangChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onLangChange() {\n return this.isolate ? this._onLangChange : this.store.onLangChange;\n }\n /**\n * An EventEmitter to listen to default lang change events\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onDefaultLangChange() {\n return this.isolate ? this._onDefaultLangChange : this.store.onDefaultLangChange;\n }\n /**\n * The default lang to fallback when translations are missing on the current lang\n * @return {?}\n */\n get defaultLang() {\n return this.isolate ? this._defaultLang : this.store.defaultLang;\n }\n /**\n * @param {?} defaultLang\n * @return {?}\n */\n set defaultLang(defaultLang) {\n if (this.isolate) {\n this._defaultLang = defaultLang;\n }\n else {\n this.store.defaultLang = defaultLang;\n }\n }\n /**\n * The lang currently used\n * @return {?}\n */\n get currentLang() {\n return this.isolate ? this._currentLang : this.store.currentLang;\n }\n /**\n * @param {?} currentLang\n * @return {?}\n */\n set currentLang(currentLang) {\n if (this.isolate) {\n this._currentLang = currentLang;\n }\n else {\n this.store.currentLang = currentLang;\n }\n }\n /**\n * an array of langs\n * @return {?}\n */\n get langs() {\n return this.isolate ? this._langs : this.store.langs;\n }\n /**\n * @param {?} langs\n * @return {?}\n */\n set langs(langs) {\n if (this.isolate) {\n this._langs = langs;\n }\n else {\n this.store.langs = langs;\n }\n }\n /**\n * a list of translations per lang\n * @return {?}\n */\n get translations() {\n return this.isolate ? this._translations : this.store.translations;\n }\n /**\n * @param {?} translations\n * @return {?}\n */\n set translations(translations) {\n if (this.isolate) {\n this._translations = translations;\n }\n else {\n this.store.translations = translations;\n }\n }\n /**\n * Sets the default language to use as a fallback\n * @param {?} lang\n * @return {?}\n */\n setDefaultLang(lang) {\n if (lang === this.defaultLang) {\n return;\n }\n /** @type {?} */\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the defaultLang immediately\n if (this.defaultLang == null) {\n this.defaultLang = lang;\n }\n pending.pipe(take(1))\n .subscribe((/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n this.changeDefaultLang(lang);\n }));\n }\n else { // we already have this language\n this.changeDefaultLang(lang);\n }\n }\n /**\n * Gets the default language used\n * @return {?}\n */\n getDefaultLang() {\n return this.defaultLang;\n }\n /**\n * Changes the lang currently used\n * @param {?} lang\n * @return {?}\n */\n use(lang) {\n // don't change the language if the language given is already selected\n if (lang === this.currentLang) {\n return of(this.translations[lang]);\n }\n /** @type {?} */\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the currentLang immediately\n if (!this.currentLang) {\n this.currentLang = lang;\n }\n pending.pipe(take(1))\n .subscribe((/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n this.changeLang(lang);\n }));\n return pending;\n }\n else { // we have this language, return an Observable\n this.changeLang(lang);\n return of(this.translations[lang]);\n }\n }\n /**\n * Retrieves the given translations\n * @private\n * @param {?} lang\n * @return {?}\n */\n retrieveTranslations(lang) {\n /** @type {?} */\n let pending;\n // if this language is unavailable or extend is true, ask for it\n if (typeof this.translations[lang] === \"undefined\" || this.extend) {\n this._translationRequests[lang] = this._translationRequests[lang] || this.getTranslation(lang);\n pending = this._translationRequests[lang];\n }\n return pending;\n }\n /**\n * Gets an object of translations for a given language with the current loader\n * and passes it through the compiler\n * @param {?} lang\n * @return {?}\n */\n getTranslation(lang) {\n this.pending = true;\n /** @type {?} */\n const loadingTranslations = this.currentLoader.getTranslation(lang).pipe(shareReplay(1), take(1));\n this.loadingTranslations = loadingTranslations.pipe(map((/**\n * @param {?} res\n * @return {?}\n */\n (res) => this.compiler.compileTranslations(res, lang))), shareReplay(1), take(1));\n this.loadingTranslations\n .subscribe({\n next: (/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n this.translations[lang] = this.extend && this.translations[lang] ? Object.assign(Object.assign({}, res), this.translations[lang]) : res;\n this.updateLangs();\n this.pending = false;\n }),\n error: (/**\n * @param {?} err\n * @return {?}\n */\n (err) => {\n this.pending = false;\n })\n });\n return loadingTranslations;\n }\n /**\n * Manually sets an object of translations for a given language\n * after passing it through the compiler\n * @param {?} lang\n * @param {?} translations\n * @param {?=} shouldMerge\n * @return {?}\n */\n setTranslation(lang, translations, shouldMerge = false) {\n translations = this.compiler.compileTranslations(translations, lang);\n if ((shouldMerge || this.extend) && this.translations[lang]) {\n this.translations[lang] = mergeDeep(this.translations[lang], translations);\n }\n else {\n this.translations[lang] = translations;\n }\n this.updateLangs();\n this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Returns an array of currently available langs\n * @return {?}\n */\n getLangs() {\n return this.langs;\n }\n /**\n * Add available langs\n * @param {?} langs\n * @return {?}\n */\n addLangs(langs) {\n langs.forEach((/**\n * @param {?} lang\n * @return {?}\n */\n (lang) => {\n if (this.langs.indexOf(lang) === -1) {\n this.langs.push(lang);\n }\n }));\n }\n /**\n * Update the list of available langs\n * @private\n * @return {?}\n */\n updateLangs() {\n this.addLangs(Object.keys(this.translations));\n }\n /**\n * Returns the parsed result of the translations\n * @param {?} translations\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?}\n */\n getParsedResult(translations, key, interpolateParams) {\n /** @type {?} */\n let res;\n if (key instanceof Array) {\n /** @type {?} */\n let result = {};\n /** @type {?} */\n let observables = false;\n for (let k of key) {\n result[k] = this.getParsedResult(translations, k, interpolateParams);\n if (isObservable(result[k])) {\n observables = true;\n }\n }\n if (observables) {\n /** @type {?} */\n const sources = key.map((/**\n * @param {?} k\n * @return {?}\n */\n k => isObservable(result[k]) ? result[k] : of((/** @type {?} */ (result[k])))));\n return forkJoin(sources).pipe(map((/**\n * @param {?} arr\n * @return {?}\n */\n (arr) => {\n /** @type {?} */\n let obj = {};\n arr.forEach((/**\n * @param {?} value\n * @param {?} index\n * @return {?}\n */\n (value, index) => {\n obj[key[index]] = value;\n }));\n return obj;\n })));\n }\n return result;\n }\n if (translations) {\n res = this.parser.interpolate(this.parser.getValue(translations, key), interpolateParams);\n }\n if (typeof res === \"undefined\" && this.defaultLang != null && this.defaultLang !== this.currentLang && this.useDefaultLang) {\n res = this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang], key), interpolateParams);\n }\n if (typeof res === \"undefined\") {\n /** @type {?} */\n let params = { key, translateService: this };\n if (typeof interpolateParams !== 'undefined') {\n params.interpolateParams = interpolateParams;\n }\n res = this.missingTranslationHandler.handle(params);\n }\n return typeof res !== \"undefined\" ? res : key;\n }\n /**\n * Gets the translated value of a key (or an array of keys)\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?} the translated key, or an object of translated keys\n */\n get(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n // check if we are loading a new translation to use\n if (this.pending) {\n return this.loadingTranslations.pipe(concatMap((/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n res = this.getParsedResult(res, key, interpolateParams);\n return isObservable(res) ? res : of(res);\n })));\n }\n else {\n /** @type {?} */\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n return isObservable(res) ? res : of(res);\n }\n }\n /**\n * Returns a stream of translated values of a key (or an array of keys) which updates\n * whenever the translation changes.\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?} A stream of the translated key, or an object of translated keys\n */\n getStreamOnTranslationChange(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n return concat(defer((/**\n * @return {?}\n */\n () => this.get(key, interpolateParams))), this.onTranslationChange.pipe(switchMap((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n /** @type {?} */\n const res = this.getParsedResult(event.translations, key, interpolateParams);\n if (typeof res.subscribe === 'function') {\n return res;\n }\n else {\n return of(res);\n }\n }))));\n }\n /**\n * Returns a stream of translated values of a key (or an array of keys) which updates\n * whenever the language changes.\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?} A stream of the translated key, or an object of translated keys\n */\n stream(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n return concat(defer((/**\n * @return {?}\n */\n () => this.get(key, interpolateParams))), this.onLangChange.pipe(switchMap((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n /** @type {?} */\n const res = this.getParsedResult(event.translations, key, interpolateParams);\n return isObservable(res) ? res : of(res);\n }))));\n }\n /**\n * Returns a translation instantly from the internal state of loaded translation.\n * All rules regarding the current language, the preferred language of even fallback languages will be used except any promise handling.\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?}\n */\n instant(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n /** @type {?} */\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n if (isObservable(res)) {\n if (key instanceof Array) {\n /** @type {?} */\n let obj = {};\n key.forEach((/**\n * @param {?} value\n * @param {?} index\n * @return {?}\n */\n (value, index) => {\n obj[key[index]] = key[index];\n }));\n return obj;\n }\n return key;\n }\n else {\n return res;\n }\n }\n /**\n * Sets the translated value of a key, after compiling it\n * @param {?} key\n * @param {?} value\n * @param {?=} lang\n * @return {?}\n */\n set(key, value, lang = this.currentLang) {\n this.translations[lang][key] = this.compiler.compile(value, lang);\n this.updateLangs();\n this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Changes the current lang\n * @private\n * @param {?} lang\n * @return {?}\n */\n changeLang(lang) {\n this.currentLang = lang;\n this.onLangChange.emit({ lang: lang, translations: this.translations[lang] });\n // if there is no default lang, use the one that we just set\n if (this.defaultLang == null) {\n this.changeDefaultLang(lang);\n }\n }\n /**\n * Changes the default lang\n * @private\n * @param {?} lang\n * @return {?}\n */\n changeDefaultLang(lang) {\n this.defaultLang = lang;\n this.onDefaultLangChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Allows to reload the lang file from the file\n * @param {?} lang\n * @return {?}\n */\n reloadLang(lang) {\n this.resetLang(lang);\n return this.getTranslation(lang);\n }\n /**\n * Deletes inner translation\n * @param {?} lang\n * @return {?}\n */\n resetLang(lang) {\n this._translationRequests[lang] = undefined;\n this.translations[lang] = undefined;\n }\n /**\n * Returns the language code name from the browser, e.g. \"de\"\n * @return {?}\n */\n getBrowserLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n /** @type {?} */\n let browserLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserLang = browserLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n if (typeof browserLang === 'undefined') {\n return undefined;\n }\n if (browserLang.indexOf('-') !== -1) {\n browserLang = browserLang.split('-')[0];\n }\n if (browserLang.indexOf('_') !== -1) {\n browserLang = browserLang.split('_')[0];\n }\n return browserLang;\n }\n /**\n * Returns the culture language code name from the browser, e.g. \"de-DE\"\n * @return {?}\n */\n getBrowserCultureLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n /** @type {?} */\n let browserCultureLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserCultureLang = browserCultureLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n return browserCultureLang;\n }\n}\nTranslateService.ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(ɵngcc0.ɵɵinject(TranslateStore), ɵngcc0.ɵɵinject(TranslateLoader), ɵngcc0.ɵɵinject(TranslateCompiler), ɵngcc0.ɵɵinject(TranslateParser), ɵngcc0.ɵɵinject(MissingTranslationHandler), ɵngcc0.ɵɵinject(USE_DEFAULT_LANG), ɵngcc0.ɵɵinject(USE_STORE), ɵngcc0.ɵɵinject(USE_EXTEND), ɵngcc0.ɵɵinject(DEFAULT_LANGUAGE)); };\nTranslateService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac });\n/** @nocollapse */\nTranslateService.ctorParameters = () => [\n { type: TranslateStore },\n { type: TranslateLoader },\n { type: TranslateCompiler },\n { type: TranslateParser },\n { type: MissingTranslationHandler },\n { type: Boolean, decorators: [{ type: Inject, args: [USE_DEFAULT_LANG,] }] },\n { type: Boolean, decorators: [{ type: Inject, args: [USE_STORE,] }] },\n { type: Boolean, decorators: [{ type: Inject, args: [USE_EXTEND,] }] },\n { type: String, decorators: [{ type: Inject, args: [DEFAULT_LANGUAGE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateService, [{\n type: Injectable\n }], function () { return [{ type: TranslateStore }, { type: TranslateLoader }, { type: TranslateCompiler }, { type: TranslateParser }, { type: MissingTranslationHandler }, { type: Boolean, decorators: [{\n type: Inject,\n args: [USE_DEFAULT_LANG]\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [USE_STORE]\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [USE_EXTEND]\n }] }, { type: String, decorators: [{\n type: Inject,\n args: [DEFAULT_LANGUAGE]\n }] }]; }, null); })();\nif (false) {\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype.loadingTranslations;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype.pending;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._onTranslationChange;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._onLangChange;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._onDefaultLangChange;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._defaultLang;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._currentLang;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._langs;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._translations;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype._translationRequests;\n /** @type {?} */\n TranslateService.prototype.store;\n /** @type {?} */\n TranslateService.prototype.currentLoader;\n /** @type {?} */\n TranslateService.prototype.compiler;\n /** @type {?} */\n TranslateService.prototype.parser;\n /** @type {?} */\n TranslateService.prototype.missingTranslationHandler;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype.useDefaultLang;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype.isolate;\n /**\n * @type {?}\n * @private\n */\n TranslateService.prototype.extend;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.directive.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass TranslateDirective {\n /**\n * @param {?} translateService\n * @param {?} element\n * @param {?} _ref\n */\n constructor(translateService, element, _ref) {\n this.translateService = translateService;\n this.element = element;\n this._ref = _ref;\n // subscribe to onTranslationChange event, in case the translations of the current lang change\n if (!this.onTranslationChangeSub) {\n this.onTranslationChangeSub = this.translateService.onTranslationChange.subscribe((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n if (event.lang === this.translateService.currentLang) {\n this.checkNodes(true, event.translations);\n }\n }));\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChangeSub) {\n this.onLangChangeSub = this.translateService.onLangChange.subscribe((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n this.checkNodes(true, event.translations);\n }));\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub = this.translateService.onDefaultLangChange.subscribe((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n this.checkNodes(true);\n }));\n }\n }\n /**\n * @param {?} key\n * @return {?}\n */\n set translate(key) {\n if (key) {\n this.key = key;\n this.checkNodes();\n }\n }\n /**\n * @param {?} params\n * @return {?}\n */\n set translateParams(params) {\n if (!equals(this.currentParams, params)) {\n this.currentParams = params;\n this.checkNodes(true);\n }\n }\n /**\n * @return {?}\n */\n ngAfterViewChecked() {\n this.checkNodes();\n }\n /**\n * @param {?=} forceUpdate\n * @param {?=} translations\n * @return {?}\n */\n checkNodes(forceUpdate = false, translations) {\n /** @type {?} */\n let nodes = this.element.nativeElement.childNodes;\n // if the element is empty\n if (!nodes.length) {\n // we add the key as content\n this.setContent(this.element.nativeElement, this.key);\n nodes = this.element.nativeElement.childNodes;\n }\n for (let i = 0; i < nodes.length; ++i) {\n /** @type {?} */\n let node = nodes[i];\n if (node.nodeType === 3) { // node type 3 is a text node\n // node type 3 is a text node\n /** @type {?} */\n let key;\n if (forceUpdate) {\n node.lastKey = null;\n }\n if (isDefined(node.lookupKey)) {\n key = node.lookupKey;\n }\n else if (this.key) {\n key = this.key;\n }\n else {\n /** @type {?} */\n let content = this.getContent(node);\n /** @type {?} */\n let trimmedContent = content.trim();\n if (trimmedContent.length) {\n node.lookupKey = trimmedContent;\n // we want to use the content as a key, not the translation value\n if (content !== node.currentValue) {\n key = trimmedContent;\n // the content was changed from the user, we'll use it as a reference if needed\n node.originalContent = content || node.originalContent;\n }\n else if (node.originalContent) { // the content seems ok, but the lang has changed\n // the current content is the translation, not the key, use the last real content as key\n key = node.originalContent.trim();\n }\n else if (content !== node.currentValue) {\n // we want to use the content as a key, not the translation value\n key = trimmedContent;\n // the content was changed from the user, we'll use it as a reference if needed\n node.originalContent = content || node.originalContent;\n }\n }\n }\n this.updateValue(key, node, translations);\n }\n }\n }\n /**\n * @param {?} key\n * @param {?} node\n * @param {?} translations\n * @return {?}\n */\n updateValue(key, node, translations) {\n if (key) {\n if (node.lastKey === key && this.lastParams === this.currentParams) {\n return;\n }\n this.lastParams = this.currentParams;\n /** @type {?} */\n let onTranslation = (/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n if (res !== key) {\n node.lastKey = key;\n }\n if (!node.originalContent) {\n node.originalContent = this.getContent(node);\n }\n node.currentValue = isDefined(res) ? res : (node.originalContent || key);\n // we replace in the original content to preserve spaces that we might have trimmed\n this.setContent(node, this.key ? node.currentValue : node.originalContent.replace(key, node.currentValue));\n this._ref.markForCheck();\n });\n if (isDefined(translations)) {\n /** @type {?} */\n let res = this.translateService.getParsedResult(translations, key, this.currentParams);\n if (isObservable(res)) {\n res.subscribe(onTranslation);\n }\n else {\n onTranslation(res);\n }\n }\n else {\n this.translateService.get(key, this.currentParams).subscribe(onTranslation);\n }\n }\n }\n /**\n * @param {?} node\n * @return {?}\n */\n getContent(node) {\n return isDefined(node.textContent) ? node.textContent : node.data;\n }\n /**\n * @param {?} node\n * @param {?} content\n * @return {?}\n */\n setContent(node, content) {\n if (isDefined(node.textContent)) {\n node.textContent = content;\n }\n else {\n node.data = content;\n }\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n if (this.onLangChangeSub) {\n this.onLangChangeSub.unsubscribe();\n }\n if (this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub.unsubscribe();\n }\n if (this.onTranslationChangeSub) {\n this.onTranslationChangeSub.unsubscribe();\n }\n }\n}\nTranslateDirective.ɵfac = function TranslateDirective_Factory(t) { return new (t || TranslateDirective)(ɵngcc0.ɵɵdirectiveInject(TranslateService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nTranslateDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: TranslateDirective, selectors: [[\"\", \"translate\", \"\"], [\"\", \"ngx-translate\", \"\"]], inputs: { translate: \"translate\", translateParams: \"translateParams\" } });\n/** @nocollapse */\nTranslateDirective.ctorParameters = () => [\n { type: TranslateService },\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nTranslateDirective.propDecorators = {\n translate: [{ type: Input }],\n translateParams: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateDirective, [{\n type: Directive,\n args: [{\n selector: '[translate],[ngx-translate]'\n }]\n }], function () { return [{ type: TranslateService }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { translate: [{\n type: Input\n }], translateParams: [{\n type: Input\n }] }); })();\nif (false) {\n /** @type {?} */\n TranslateDirective.prototype.key;\n /** @type {?} */\n TranslateDirective.prototype.lastParams;\n /** @type {?} */\n TranslateDirective.prototype.currentParams;\n /** @type {?} */\n TranslateDirective.prototype.onLangChangeSub;\n /** @type {?} */\n TranslateDirective.prototype.onDefaultLangChangeSub;\n /** @type {?} */\n TranslateDirective.prototype.onTranslationChangeSub;\n /**\n * @type {?}\n * @private\n */\n TranslateDirective.prototype.translateService;\n /**\n * @type {?}\n * @private\n */\n TranslateDirective.prototype.element;\n /**\n * @type {?}\n * @private\n */\n TranslateDirective.prototype._ref;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: lib/translate.pipe.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass TranslatePipe {\n /**\n * @param {?} translate\n * @param {?} _ref\n */\n constructor(translate, _ref) {\n this.translate = translate;\n this._ref = _ref;\n this.value = '';\n }\n /**\n * @param {?} key\n * @param {?=} interpolateParams\n * @param {?=} translations\n * @return {?}\n */\n updateValue(key, interpolateParams, translations) {\n /** @type {?} */\n let onTranslation = (/**\n * @param {?} res\n * @return {?}\n */\n (res) => {\n this.value = res !== undefined ? res : key;\n this.lastKey = key;\n this._ref.markForCheck();\n });\n if (translations) {\n /** @type {?} */\n let res = this.translate.getParsedResult(translations, key, interpolateParams);\n if (isObservable(res.subscribe)) {\n res.subscribe(onTranslation);\n }\n else {\n onTranslation(res);\n }\n }\n this.translate.get(key, interpolateParams).subscribe(onTranslation);\n }\n /**\n * @param {?} query\n * @param {...?} args\n * @return {?}\n */\n transform(query, ...args) {\n if (!query || !query.length) {\n return query;\n }\n // if we ask another time for the same key, return the last value\n if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n return this.value;\n }\n /** @type {?} */\n let interpolateParams;\n if (isDefined(args[0]) && args.length) {\n if (typeof args[0] === 'string' && args[0].length) {\n // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n /** @type {?} */\n let validArgs = args[0]\n .replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":')\n .replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n try {\n interpolateParams = JSON.parse(validArgs);\n }\n catch (e) {\n throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);\n }\n }\n else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n interpolateParams = args[0];\n }\n }\n // store the query, in case it changes\n this.lastKey = query;\n // store the params, in case they change\n this.lastParams = args;\n // set the value\n this.updateValue(query, interpolateParams);\n // if there is a subscription to onLangChange, clean it\n this._dispose();\n // subscribe to onTranslationChange event, in case the translations change\n if (!this.onTranslationChange) {\n this.onTranslationChange = this.translate.onTranslationChange.subscribe((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n if (this.lastKey && event.lang === this.translate.currentLang) {\n this.lastKey = null;\n this.updateValue(query, interpolateParams, event.translations);\n }\n }));\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChange) {\n this.onLangChange = this.translate.onLangChange.subscribe((/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams, event.translations);\n }\n }));\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChange) {\n this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe((/**\n * @return {?}\n */\n () => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams);\n }\n }));\n }\n return this.value;\n }\n /**\n * Clean any existing subscription to change events\n * @private\n * @return {?}\n */\n _dispose() {\n if (typeof this.onTranslationChange !== 'undefined') {\n this.onTranslationChange.unsubscribe();\n this.onTranslationChange = undefined;\n }\n if (typeof this.onLangChange !== 'undefined') {\n this.onLangChange.unsubscribe();\n this.onLangChange = undefined;\n }\n if (typeof this.onDefaultLangChange !== 'undefined') {\n this.onDefaultLangChange.unsubscribe();\n this.onDefaultLangChange = undefined;\n }\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this._dispose();\n }\n}\nTranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(ɵngcc0.ɵɵdirectiveInject(TranslateService, 16), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef, 16)); };\nTranslatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"translate\", type: TranslatePipe, pure: false });\nTranslatePipe.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslatePipe, factory: TranslatePipe.ɵfac });\n/** @nocollapse */\nTranslatePipe.ctorParameters = () => [\n { type: TranslateService },\n { type: ChangeDetectorRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslatePipe, [{\n type: Injectable\n }, {\n type: Pipe,\n args: [{\n name: 'translate',\n pure: false // required to update the value when the promise is resolved\n }]\n }], function () { return [{ type: TranslateService }, { type: ɵngcc0.ChangeDetectorRef }]; }, null); })();\nif (false) {\n /** @type {?} */\n TranslatePipe.prototype.value;\n /** @type {?} */\n TranslatePipe.prototype.lastKey;\n /** @type {?} */\n TranslatePipe.prototype.lastParams;\n /** @type {?} */\n TranslatePipe.prototype.onTranslationChange;\n /** @type {?} */\n TranslatePipe.prototype.onLangChange;\n /** @type {?} */\n TranslatePipe.prototype.onDefaultLangChange;\n /**\n * @type {?}\n * @private\n */\n TranslatePipe.prototype.translate;\n /**\n * @type {?}\n * @private\n */\n TranslatePipe.prototype._ref;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: public_api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @record\n */\nfunction TranslateModuleConfig() { }\nif (false) {\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.loader;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.compiler;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.parser;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.missingTranslationHandler;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.isolate;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.extend;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.useDefaultLang;\n /** @type {?|undefined} */\n TranslateModuleConfig.prototype.defaultLanguage;\n}\nclass TranslateModule {\n /**\n * Use this method in your root module to provide the TranslateService\n * @param {?=} config\n * @return {?}\n */\n static forRoot(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [\n config.loader || { provide: TranslateLoader, useClass: TranslateFakeLoader },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n config.missingTranslationHandler || { provide: MissingTranslationHandler, useClass: FakeMissingTranslationHandler },\n TranslateStore,\n { provide: USE_STORE, useValue: config.isolate },\n { provide: USE_DEFAULT_LANG, useValue: config.useDefaultLang },\n { provide: USE_EXTEND, useValue: config.extend },\n { provide: DEFAULT_LANGUAGE, useValue: config.defaultLanguage },\n TranslateService\n ]\n };\n }\n /**\n * Use this method in your other (non root) modules to import the directive/pipe\n * @param {?=} config\n * @return {?}\n */\n static forChild(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [\n config.loader || { provide: TranslateLoader, useClass: TranslateFakeLoader },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n config.missingTranslationHandler || { provide: MissingTranslationHandler, useClass: FakeMissingTranslationHandler },\n { provide: USE_STORE, useValue: config.isolate },\n { provide: USE_DEFAULT_LANG, useValue: config.useDefaultLang },\n { provide: USE_EXTEND, useValue: config.extend },\n { provide: DEFAULT_LANGUAGE, useValue: config.defaultLanguage },\n TranslateService\n ]\n };\n }\n}\nTranslateModule.ɵfac = function TranslateModule_Factory(t) { return new (t || TranslateModule)(); };\nTranslateModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TranslateModule });\nTranslateModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateModule, [{\n type: NgModule,\n args: [{\n declarations: [\n TranslatePipe,\n TranslateDirective\n ],\n exports: [\n TranslatePipe,\n TranslateDirective\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TranslateModule, { declarations: [TranslatePipe, TranslateDirective], exports: [TranslatePipe, TranslateDirective] }); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: ngx-translate-core.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { DEFAULT_LANGUAGE, FakeMissingTranslationHandler, MissingTranslationHandler, TranslateCompiler, TranslateDefaultParser, TranslateDirective, TranslateFakeCompiler, TranslateFakeLoader, TranslateLoader, TranslateModule, TranslateParser, TranslatePipe, TranslateService, TranslateStore, USE_DEFAULT_LANG, USE_EXTEND, USE_STORE };\n\n","class TranslateHttpLoader {\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TranslateHttpLoader };\n\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, Renderer2, ElementRef, Output, Input, EventEmitter, NgZone, Inject, PLATFORM_ID, Optional, NgModule } from '@angular/core';\nimport { Subject, Observable, merge, EMPTY, fromEvent } from 'rxjs';\nimport { map, mergeMap, takeUntil, filter, pairwise, take, share, auditTime, switchMap, startWith, tap } from 'rxjs/operators';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @hidden\n * @type {?}\n */\nimport * as ɵngcc0 from '@angular/core';\nconst IS_TOUCH_DEVICE = (() => {\n // In case we're in Node.js environment.\n if (typeof window === 'undefined') {\n return false;\n }\n else {\n return ('ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0);\n }\n})();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @param {?} value1\n * @param {?} value2\n * @param {?=} precision\n * @return {?}\n */\nfunction isNumberCloseTo(value1, value2, precision = 3) {\n /** @type {?} */\n const diff = Math.abs(value1 - value2);\n return diff < precision;\n}\n/**\n * @param {?} startingRect\n * @param {?} edges\n * @param {?} clientX\n * @param {?} clientY\n * @return {?}\n */\nfunction getNewBoundingRectangle(startingRect, edges, clientX, clientY) {\n /** @type {?} */\n const newBoundingRect = {\n top: startingRect.top,\n bottom: startingRect.bottom,\n left: startingRect.left,\n right: startingRect.right\n };\n if (edges.top) {\n newBoundingRect.top += clientY;\n }\n if (edges.bottom) {\n newBoundingRect.bottom += clientY;\n }\n if (edges.left) {\n newBoundingRect.left += clientX;\n }\n if (edges.right) {\n newBoundingRect.right += clientX;\n }\n newBoundingRect.height = newBoundingRect.bottom - newBoundingRect.top;\n newBoundingRect.width = newBoundingRect.right - newBoundingRect.left;\n return newBoundingRect;\n}\n/**\n * @param {?} element\n * @param {?} ghostElementPositioning\n * @return {?}\n */\nfunction getElementRect(element, ghostElementPositioning) {\n /** @type {?} */\n let translateX = 0;\n /** @type {?} */\n let translateY = 0;\n /** @type {?} */\n const style = element.nativeElement.style;\n /** @type {?} */\n const transformProperties = [\n 'transform',\n '-ms-transform',\n '-moz-transform',\n '-o-transform'\n ];\n /** @type {?} */\n const transform = transformProperties\n .map(property => style[property])\n .find(value => !!value);\n if (transform && transform.includes('translate')) {\n translateX = transform.replace(/.*translate3?d?\\((-?[0-9]*)px, (-?[0-9]*)px.*/, '$1');\n translateY = transform.replace(/.*translate3?d?\\((-?[0-9]*)px, (-?[0-9]*)px.*/, '$2');\n }\n if (ghostElementPositioning === 'absolute') {\n return {\n height: element.nativeElement.offsetHeight,\n width: element.nativeElement.offsetWidth,\n top: element.nativeElement.offsetTop - translateY,\n bottom: element.nativeElement.offsetHeight +\n element.nativeElement.offsetTop -\n translateY,\n left: element.nativeElement.offsetLeft - translateX,\n right: element.nativeElement.offsetWidth +\n element.nativeElement.offsetLeft -\n translateX\n };\n }\n else {\n /** @type {?} */\n const boundingRect = element.nativeElement.getBoundingClientRect();\n return {\n height: boundingRect.height,\n width: boundingRect.width,\n top: boundingRect.top - translateY,\n bottom: boundingRect.bottom - translateY,\n left: boundingRect.left - translateX,\n right: boundingRect.right - translateX,\n scrollTop: element.nativeElement.scrollTop,\n scrollLeft: element.nativeElement.scrollLeft\n };\n }\n}\n/**\n * @param {?} __0\n * @return {?}\n */\nfunction isWithinBoundingY({ clientY, rect }) {\n return clientY >= rect.top && clientY <= rect.bottom;\n}\n/**\n * @param {?} __0\n * @return {?}\n */\nfunction isWithinBoundingX({ clientX, rect }) {\n return clientX >= rect.left && clientX <= rect.right;\n}\n/**\n * @param {?} __0\n * @return {?}\n */\nfunction getResizeEdges({ clientX, clientY, elm, allowedEdges, cursorPrecision }) {\n /** @type {?} */\n const elmPosition = elm.nativeElement.getBoundingClientRect();\n /** @type {?} */\n const edges = {};\n if (allowedEdges.left &&\n isNumberCloseTo(clientX, elmPosition.left, cursorPrecision) &&\n isWithinBoundingY({ clientY, rect: elmPosition })) {\n edges.left = true;\n }\n if (allowedEdges.right &&\n isNumberCloseTo(clientX, elmPosition.right, cursorPrecision) &&\n isWithinBoundingY({ clientY, rect: elmPosition })) {\n edges.right = true;\n }\n if (allowedEdges.top &&\n isNumberCloseTo(clientY, elmPosition.top, cursorPrecision) &&\n isWithinBoundingX({ clientX, rect: elmPosition })) {\n edges.top = true;\n }\n if (allowedEdges.bottom &&\n isNumberCloseTo(clientY, elmPosition.bottom, cursorPrecision) &&\n isWithinBoundingX({ clientX, rect: elmPosition })) {\n edges.bottom = true;\n }\n return edges;\n}\n/** @type {?} */\nconst DEFAULT_RESIZE_CURSORS = Object.freeze({\n topLeft: 'nw-resize',\n topRight: 'ne-resize',\n bottomLeft: 'sw-resize',\n bottomRight: 'se-resize',\n leftOrRight: 'col-resize',\n topOrBottom: 'row-resize'\n});\n/**\n * @param {?} edges\n * @param {?} cursors\n * @return {?}\n */\nfunction getResizeCursor(edges, cursors) {\n if (edges.left && edges.top) {\n return cursors.topLeft;\n }\n else if (edges.right && edges.top) {\n return cursors.topRight;\n }\n else if (edges.left && edges.bottom) {\n return cursors.bottomLeft;\n }\n else if (edges.right && edges.bottom) {\n return cursors.bottomRight;\n }\n else if (edges.left || edges.right) {\n return cursors.leftOrRight;\n }\n else if (edges.top || edges.bottom) {\n return cursors.topOrBottom;\n }\n else {\n return '';\n }\n}\n/**\n * @param {?} __0\n * @return {?}\n */\nfunction getEdgesDiff({ edges, initialRectangle, newRectangle }) {\n /** @type {?} */\n const edgesDiff = {};\n Object.keys(edges).forEach(edge => {\n edgesDiff[edge] = (newRectangle[edge] || 0) - (initialRectangle[edge] || 0);\n });\n return edgesDiff;\n}\n/** @type {?} */\nconst RESIZE_ACTIVE_CLASS = 'resize-active';\n/** @type {?} */\nconst RESIZE_LEFT_HOVER_CLASS = 'resize-left-hover';\n/** @type {?} */\nconst RESIZE_RIGHT_HOVER_CLASS = 'resize-right-hover';\n/** @type {?} */\nconst RESIZE_TOP_HOVER_CLASS = 'resize-top-hover';\n/** @type {?} */\nconst RESIZE_BOTTOM_HOVER_CLASS = 'resize-bottom-hover';\n/** @type {?} */\nconst RESIZE_GHOST_ELEMENT_CLASS = 'resize-ghost-element';\n/** @type {?} */\nconst MOUSE_MOVE_THROTTLE_MS = 50;\n/**\n * Place this on an element to make it resizable. For example:\n *\n * ```html\n * \n * \n * ```\n * Or in case they are sibling elements:\n * ```html\n *
\n *
\n * ```\n */\nclass ResizableDirective {\n /**\n * @hidden\n * @param {?} platformId\n * @param {?} renderer\n * @param {?} elm\n * @param {?} zone\n */\n constructor(platformId, renderer, elm, zone) {\n this.platformId = platformId;\n this.renderer = renderer;\n this.elm = elm;\n this.zone = zone;\n /**\n * The edges that an element can be resized from. Pass an object like `{top: true, bottom: false}`. By default no edges can be resized.\n * @deprecated use a resize handle instead that positions itself to the side of the element you would like to resize\n */\n this.resizeEdges = {};\n /**\n * Set to `true` to enable a temporary resizing effect of the element in between the `resizeStart` and `resizeEnd` events.\n */\n this.enableGhostResize = false;\n /**\n * A snap grid that resize events will be locked to.\n *\n * e.g. to only allow the element to be resized every 10px set it to `{left: 10, right: 10}`\n */\n this.resizeSnapGrid = {};\n /**\n * The mouse cursors that will be set on the resize edges\n */\n this.resizeCursors = DEFAULT_RESIZE_CURSORS;\n /**\n * Mouse over thickness to active cursor.\n * @deprecated invalid when you migrate to use resize handles instead of setting resizeEdges on the element\n */\n this.resizeCursorPrecision = 3;\n /**\n * Define the positioning of the ghost element (can be fixed or absolute)\n */\n this.ghostElementPositioning = 'fixed';\n /**\n * Allow elements to be resized to negative dimensions\n */\n this.allowNegativeResizes = false;\n /**\n * The mouse move throttle in milliseconds, default: 50 ms\n */\n this.mouseMoveThrottleMS = MOUSE_MOVE_THROTTLE_MS;\n /**\n * Called when the mouse is pressed and a resize event is about to begin. `$event` is a `ResizeEvent` object.\n */\n this.resizeStart = new EventEmitter();\n /**\n * Called as the mouse is dragged after a resize event has begun. `$event` is a `ResizeEvent` object.\n */\n this.resizing = new EventEmitter();\n /**\n * Called after the mouse is released after a resize event. `$event` is a `ResizeEvent` object.\n */\n this.resizeEnd = new EventEmitter();\n /**\n * @hidden\n */\n this.mouseup = new Subject();\n /**\n * @hidden\n */\n this.mousedown = new Subject();\n /**\n * @hidden\n */\n this.mousemove = new Subject();\n this.destroy$ = new Subject();\n this.resizeEdges$ = new Subject();\n this.pointerEventListeners = PointerEventListeners.getInstance(renderer, zone);\n }\n /**\n * @hidden\n * @return {?}\n */\n ngOnInit() {\n /** @type {?} */\n const mousedown$ = merge(this.pointerEventListeners.pointerDown, this.mousedown);\n /** @type {?} */\n const mousemove$ = merge(this.pointerEventListeners.pointerMove, this.mousemove).pipe(tap(({ event }) => {\n if (currentResize) {\n try {\n event.preventDefault();\n }\n catch (e) {\n // just adding try-catch not to see errors in console if there is a passive listener for same event somewhere\n // browser does nothing except of writing errors to console\n }\n }\n }), share());\n /** @type {?} */\n const mouseup$ = merge(this.pointerEventListeners.pointerUp, this.mouseup);\n /** @type {?} */\n let currentResize;\n /** @type {?} */\n const removeGhostElement = () => {\n if (currentResize && currentResize.clonedNode) {\n this.elm.nativeElement.parentElement.removeChild(currentResize.clonedNode);\n this.renderer.setStyle(this.elm.nativeElement, 'visibility', 'inherit');\n }\n };\n /** @type {?} */\n const getResizeCursors = () => {\n return Object.assign({}, DEFAULT_RESIZE_CURSORS, this.resizeCursors);\n };\n this.resizeEdges$\n .pipe(startWith(this.resizeEdges), map(() => {\n return (this.resizeEdges &&\n Object.keys(this.resizeEdges).some(edge => !!this.resizeEdges[edge]));\n }), switchMap(legacyResizeEdgesEnabled => legacyResizeEdgesEnabled ? mousemove$ : EMPTY), auditTime(this.mouseMoveThrottleMS), takeUntil(this.destroy$))\n .subscribe(({ clientX, clientY }) => {\n /** @type {?} */\n const resizeEdges = getResizeEdges({\n clientX,\n clientY,\n elm: this.elm,\n allowedEdges: this.resizeEdges,\n cursorPrecision: this.resizeCursorPrecision\n });\n /** @type {?} */\n const resizeCursors = getResizeCursors();\n if (!currentResize) {\n /** @type {?} */\n const cursor = getResizeCursor(resizeEdges, resizeCursors);\n this.renderer.setStyle(this.elm.nativeElement, 'cursor', cursor);\n }\n this.setElementClass(this.elm, RESIZE_LEFT_HOVER_CLASS, resizeEdges.left === true);\n this.setElementClass(this.elm, RESIZE_RIGHT_HOVER_CLASS, resizeEdges.right === true);\n this.setElementClass(this.elm, RESIZE_TOP_HOVER_CLASS, resizeEdges.top === true);\n this.setElementClass(this.elm, RESIZE_BOTTOM_HOVER_CLASS, resizeEdges.bottom === true);\n });\n /** @type {?} */\n const mousedrag = mousedown$\n .pipe(mergeMap(startCoords => {\n /**\n * @param {?} moveCoords\n * @return {?}\n */\n function getDiff(moveCoords) {\n return {\n clientX: moveCoords.clientX - startCoords.clientX,\n clientY: moveCoords.clientY - startCoords.clientY\n };\n }\n /** @type {?} */\n const getSnapGrid = () => {\n /** @type {?} */\n const snapGrid = { x: 1, y: 1 };\n if (currentResize) {\n if (this.resizeSnapGrid.left && currentResize.edges.left) {\n snapGrid.x = +this.resizeSnapGrid.left;\n }\n else if (this.resizeSnapGrid.right &&\n currentResize.edges.right) {\n snapGrid.x = +this.resizeSnapGrid.right;\n }\n if (this.resizeSnapGrid.top && currentResize.edges.top) {\n snapGrid.y = +this.resizeSnapGrid.top;\n }\n else if (this.resizeSnapGrid.bottom &&\n currentResize.edges.bottom) {\n snapGrid.y = +this.resizeSnapGrid.bottom;\n }\n }\n return snapGrid;\n };\n /**\n * @param {?} coords\n * @param {?} snapGrid\n * @return {?}\n */\n function getGrid(coords, snapGrid) {\n return {\n x: Math.ceil(coords.clientX / snapGrid.x),\n y: Math.ceil(coords.clientY / snapGrid.y)\n };\n }\n return ((/** @type {?} */ (merge(mousemove$.pipe(take(1)).pipe(map(coords => [, coords])), mousemove$.pipe(pairwise())))))\n .pipe(map(([previousCoords, newCoords]) => {\n return [\n previousCoords ? getDiff(previousCoords) : previousCoords,\n getDiff(newCoords)\n ];\n }))\n .pipe(filter(([previousCoords, newCoords]) => {\n if (!previousCoords) {\n return true;\n }\n /** @type {?} */\n const snapGrid = getSnapGrid();\n /** @type {?} */\n const previousGrid = getGrid(previousCoords, snapGrid);\n /** @type {?} */\n const newGrid = getGrid(newCoords, snapGrid);\n return (previousGrid.x !== newGrid.x || previousGrid.y !== newGrid.y);\n }))\n .pipe(map(([, newCoords]) => {\n /** @type {?} */\n const snapGrid = getSnapGrid();\n return {\n clientX: Math.round(newCoords.clientX / snapGrid.x) * snapGrid.x,\n clientY: Math.round(newCoords.clientY / snapGrid.y) * snapGrid.y\n };\n }))\n .pipe(takeUntil(merge(mouseup$, mousedown$)));\n }))\n .pipe(filter(() => !!currentResize));\n mousedrag\n .pipe(map(({ clientX, clientY }) => {\n return getNewBoundingRectangle((/** @type {?} */ (currentResize)).startingRect, (/** @type {?} */ (currentResize)).edges, clientX, clientY);\n }))\n .pipe(filter((newBoundingRect) => {\n return (this.allowNegativeResizes ||\n !!(newBoundingRect.height &&\n newBoundingRect.width &&\n newBoundingRect.height > 0 &&\n newBoundingRect.width > 0));\n }))\n .pipe(filter((newBoundingRect) => {\n return this.validateResize\n ? this.validateResize({\n rectangle: newBoundingRect,\n edges: getEdgesDiff({\n edges: (/** @type {?} */ (currentResize)).edges,\n initialRectangle: (/** @type {?} */ (currentResize)).startingRect,\n newRectangle: newBoundingRect\n })\n })\n : true;\n }), takeUntil(this.destroy$))\n .subscribe((newBoundingRect) => {\n if (currentResize && currentResize.clonedNode) {\n this.renderer.setStyle(currentResize.clonedNode, 'height', `${newBoundingRect.height}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'width', `${newBoundingRect.width}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'top', `${newBoundingRect.top}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'left', `${newBoundingRect.left}px`);\n }\n if (this.resizing.observers.length > 0) {\n this.zone.run(() => {\n this.resizing.emit({\n edges: getEdgesDiff({\n edges: (/** @type {?} */ (currentResize)).edges,\n initialRectangle: (/** @type {?} */ (currentResize)).startingRect,\n newRectangle: newBoundingRect\n }),\n rectangle: newBoundingRect\n });\n });\n }\n (/** @type {?} */ (currentResize)).currentRect = newBoundingRect;\n });\n mousedown$\n .pipe(map(({ clientX, clientY, edges }) => {\n return (edges ||\n getResizeEdges({\n clientX,\n clientY,\n elm: this.elm,\n allowedEdges: this.resizeEdges,\n cursorPrecision: this.resizeCursorPrecision\n }));\n }))\n .pipe(filter((edges) => {\n return Object.keys(edges).length > 0;\n }), takeUntil(this.destroy$))\n .subscribe((edges) => {\n if (currentResize) {\n removeGhostElement();\n }\n /** @type {?} */\n const startingRect = getElementRect(this.elm, this.ghostElementPositioning);\n currentResize = {\n edges,\n startingRect,\n currentRect: startingRect\n };\n /** @type {?} */\n const resizeCursors = getResizeCursors();\n /** @type {?} */\n const cursor = getResizeCursor(currentResize.edges, resizeCursors);\n this.renderer.setStyle(document.body, 'cursor', cursor);\n this.setElementClass(this.elm, RESIZE_ACTIVE_CLASS, true);\n if (this.enableGhostResize) {\n currentResize.clonedNode = this.elm.nativeElement.cloneNode(true);\n this.elm.nativeElement.parentElement.appendChild(currentResize.clonedNode);\n this.renderer.setStyle(this.elm.nativeElement, 'visibility', 'hidden');\n this.renderer.setStyle(currentResize.clonedNode, 'position', this.ghostElementPositioning);\n this.renderer.setStyle(currentResize.clonedNode, 'left', `${currentResize.startingRect.left}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'top', `${currentResize.startingRect.top}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'height', `${currentResize.startingRect.height}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'width', `${currentResize.startingRect.width}px`);\n this.renderer.setStyle(currentResize.clonedNode, 'cursor', getResizeCursor(currentResize.edges, resizeCursors));\n this.renderer.addClass(currentResize.clonedNode, RESIZE_GHOST_ELEMENT_CLASS);\n (/** @type {?} */ (currentResize.clonedNode)).scrollTop = (/** @type {?} */ (currentResize.startingRect\n .scrollTop));\n (/** @type {?} */ (currentResize.clonedNode)).scrollLeft = (/** @type {?} */ (currentResize.startingRect\n .scrollLeft));\n }\n if (this.resizeStart.observers.length > 0) {\n this.zone.run(() => {\n this.resizeStart.emit({\n edges: getEdgesDiff({\n edges,\n initialRectangle: startingRect,\n newRectangle: startingRect\n }),\n rectangle: getNewBoundingRectangle(startingRect, {}, 0, 0)\n });\n });\n }\n });\n mouseup$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n if (currentResize) {\n this.renderer.removeClass(this.elm.nativeElement, RESIZE_ACTIVE_CLASS);\n this.renderer.setStyle(document.body, 'cursor', '');\n this.renderer.setStyle(this.elm.nativeElement, 'cursor', '');\n if (this.resizeEnd.observers.length > 0) {\n this.zone.run(() => {\n this.resizeEnd.emit({\n edges: getEdgesDiff({\n edges: (/** @type {?} */ (currentResize)).edges,\n initialRectangle: (/** @type {?} */ (currentResize)).startingRect,\n newRectangle: (/** @type {?} */ (currentResize)).currentRect\n }),\n rectangle: (/** @type {?} */ (currentResize)).currentRect\n });\n });\n }\n removeGhostElement();\n currentResize = null;\n }\n });\n }\n /**\n * @hidden\n * @param {?} changes\n * @return {?}\n */\n ngOnChanges(changes) {\n if (changes.resizeEdges) {\n this.resizeEdges$.next(this.resizeEdges);\n }\n }\n /**\n * @hidden\n * @return {?}\n */\n ngOnDestroy() {\n // browser check for angular universal, because it doesn't know what document is\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setStyle(document.body, 'cursor', '');\n }\n this.mousedown.complete();\n this.mouseup.complete();\n this.mousemove.complete();\n this.resizeEdges$.complete();\n this.destroy$.next();\n }\n /**\n * @private\n * @param {?} elm\n * @param {?} name\n * @param {?} add\n * @return {?}\n */\n setElementClass(elm, name, add) {\n if (add) {\n this.renderer.addClass(elm.nativeElement, name);\n }\n else {\n this.renderer.removeClass(elm.nativeElement, name);\n }\n }\n}\nResizableDirective.ɵfac = function ResizableDirective_Factory(t) { return new (t || ResizableDirective)(ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nResizableDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ResizableDirective, selectors: [[\"\", \"mwlResizable\", \"\"]], inputs: { resizeEdges: \"resizeEdges\", enableGhostResize: \"enableGhostResize\", resizeSnapGrid: \"resizeSnapGrid\", resizeCursors: \"resizeCursors\", resizeCursorPrecision: \"resizeCursorPrecision\", ghostElementPositioning: \"ghostElementPositioning\", allowNegativeResizes: \"allowNegativeResizes\", mouseMoveThrottleMS: \"mouseMoveThrottleMS\", validateResize: \"validateResize\" }, outputs: { resizeStart: \"resizeStart\", resizing: \"resizing\", resizeEnd: \"resizeEnd\" }, exportAs: [\"mwlResizable\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n/** @nocollapse */\nResizableDirective.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: Renderer2 },\n { type: ElementRef },\n { type: NgZone }\n];\nResizableDirective.propDecorators = {\n validateResize: [{ type: Input }],\n resizeEdges: [{ type: Input }],\n enableGhostResize: [{ type: Input }],\n resizeSnapGrid: [{ type: Input }],\n resizeCursors: [{ type: Input }],\n resizeCursorPrecision: [{ type: Input }],\n ghostElementPositioning: [{ type: Input }],\n allowNegativeResizes: [{ type: Input }],\n mouseMoveThrottleMS: [{ type: Input }],\n resizeStart: [{ type: Output }],\n resizing: [{ type: Output }],\n resizeEnd: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ResizableDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlResizable]',\n exportAs: 'mwlResizable'\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { resizeEdges: [{\n type: Input\n }], enableGhostResize: [{\n type: Input\n }], resizeSnapGrid: [{\n type: Input\n }], resizeCursors: [{\n type: Input\n }], resizeCursorPrecision: [{\n type: Input\n }], ghostElementPositioning: [{\n type: Input\n }], allowNegativeResizes: [{\n type: Input\n }], mouseMoveThrottleMS: [{\n type: Input\n }], resizeStart: [{\n type: Output\n }], resizing: [{\n type: Output\n }], resizeEnd: [{\n type: Output\n }], validateResize: [{\n type: Input\n }] }); })();\nclass PointerEventListeners {\n // tslint:disable-line\n /**\n * @param {?} renderer\n * @param {?} zone\n * @return {?}\n */\n static getInstance(renderer, zone) {\n if (!PointerEventListeners.instance) {\n PointerEventListeners.instance = new PointerEventListeners(renderer, zone);\n }\n return PointerEventListeners.instance;\n }\n /**\n * @param {?} renderer\n * @param {?} zone\n */\n constructor(renderer, zone) {\n this.pointerDown = new Observable((observer) => {\n /** @type {?} */\n let unsubscribeMouseDown;\n /** @type {?} */\n let unsubscribeTouchStart;\n zone.runOutsideAngular(() => {\n unsubscribeMouseDown = renderer.listen('document', 'mousedown', (event) => {\n observer.next({\n clientX: event.clientX,\n clientY: event.clientY,\n event\n });\n });\n if (IS_TOUCH_DEVICE) {\n unsubscribeTouchStart = renderer.listen('document', 'touchstart', (event) => {\n observer.next({\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY,\n event\n });\n });\n }\n });\n return () => {\n unsubscribeMouseDown();\n if (IS_TOUCH_DEVICE) {\n (/** @type {?} */ (unsubscribeTouchStart))();\n }\n };\n }).pipe(share());\n this.pointerMove = new Observable((observer) => {\n /** @type {?} */\n let unsubscribeMouseMove;\n /** @type {?} */\n let unsubscribeTouchMove;\n zone.runOutsideAngular(() => {\n unsubscribeMouseMove = renderer.listen('document', 'mousemove', (event) => {\n observer.next({\n clientX: event.clientX,\n clientY: event.clientY,\n event\n });\n });\n if (IS_TOUCH_DEVICE) {\n unsubscribeTouchMove = renderer.listen('document', 'touchmove', (event) => {\n observer.next({\n clientX: event.targetTouches[0].clientX,\n clientY: event.targetTouches[0].clientY,\n event\n });\n });\n }\n });\n return () => {\n unsubscribeMouseMove();\n if (IS_TOUCH_DEVICE) {\n (/** @type {?} */ (unsubscribeTouchMove))();\n }\n };\n }).pipe(share());\n this.pointerUp = new Observable((observer) => {\n /** @type {?} */\n let unsubscribeMouseUp;\n /** @type {?} */\n let unsubscribeTouchEnd;\n /** @type {?} */\n let unsubscribeTouchCancel;\n zone.runOutsideAngular(() => {\n unsubscribeMouseUp = renderer.listen('document', 'mouseup', (event) => {\n observer.next({\n clientX: event.clientX,\n clientY: event.clientY,\n event\n });\n });\n if (IS_TOUCH_DEVICE) {\n unsubscribeTouchEnd = renderer.listen('document', 'touchend', (event) => {\n observer.next({\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY,\n event\n });\n });\n unsubscribeTouchCancel = renderer.listen('document', 'touchcancel', (event) => {\n observer.next({\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY,\n event\n });\n });\n }\n });\n return () => {\n unsubscribeMouseUp();\n if (IS_TOUCH_DEVICE) {\n (/** @type {?} */ (unsubscribeTouchEnd))();\n (/** @type {?} */ (unsubscribeTouchCancel))();\n }\n };\n }).pipe(share());\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * An element placed inside a `mwlResizable` directive to be used as a drag and resize handle\n *\n * For example\n *\n * ```html\n *
\n *
\n *
\n * ```\n * Or in case they are sibling elements:\n * ```html\n *
\n *
\n * ```\n */\nclass ResizeHandleDirective {\n /**\n * @param {?} renderer\n * @param {?} element\n * @param {?} zone\n * @param {?} resizableDirective\n */\n constructor(renderer, element, zone, resizableDirective) {\n this.renderer = renderer;\n this.element = element;\n this.zone = zone;\n this.resizableDirective = resizableDirective;\n /**\n * The `Edges` object that contains the edges of the parent element that dragging the handle will trigger a resize on\n */\n this.resizeEdges = {};\n this.eventListeners = {};\n this.destroy$ = new Subject();\n }\n /**\n * @return {?}\n */\n ngOnInit() {\n this.zone.runOutsideAngular(() => {\n this.listenOnTheHost('mousedown').subscribe(event => {\n this.onMousedown(event, event.clientX, event.clientY);\n });\n this.listenOnTheHost('mouseup').subscribe(event => {\n this.onMouseup(event.clientX, event.clientY);\n });\n if (IS_TOUCH_DEVICE) {\n this.listenOnTheHost('touchstart').subscribe(event => {\n this.onMousedown(event, event.touches[0].clientX, event.touches[0].clientY);\n });\n merge(this.listenOnTheHost('touchend'), this.listenOnTheHost('touchcancel')).subscribe(event => {\n this.onMouseup(event.changedTouches[0].clientX, event.changedTouches[0].clientY);\n });\n }\n });\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this.destroy$.next();\n this.unsubscribeEventListeners();\n }\n /**\n * @hidden\n * @param {?} event\n * @param {?} clientX\n * @param {?} clientY\n * @return {?}\n */\n onMousedown(event, clientX, clientY) {\n event.preventDefault();\n if (!this.eventListeners.touchmove) {\n this.eventListeners.touchmove = this.renderer.listen(this.element.nativeElement, 'touchmove', (touchMoveEvent) => {\n this.onMousemove(touchMoveEvent, touchMoveEvent.targetTouches[0].clientX, touchMoveEvent.targetTouches[0].clientY);\n });\n }\n if (!this.eventListeners.mousemove) {\n this.eventListeners.mousemove = this.renderer.listen(this.element.nativeElement, 'mousemove', (mouseMoveEvent) => {\n this.onMousemove(mouseMoveEvent, mouseMoveEvent.clientX, mouseMoveEvent.clientY);\n });\n }\n this.resizable.mousedown.next({\n clientX,\n clientY,\n edges: this.resizeEdges\n });\n }\n /**\n * @hidden\n * @param {?} clientX\n * @param {?} clientY\n * @return {?}\n */\n onMouseup(clientX, clientY) {\n this.unsubscribeEventListeners();\n this.resizable.mouseup.next({\n clientX,\n clientY,\n edges: this.resizeEdges\n });\n }\n // directive might be passed from DI or as an input\n /**\n * @private\n * @return {?}\n */\n get resizable() {\n return this.resizableDirective || this.resizableContainer;\n }\n /**\n * @private\n * @param {?} event\n * @param {?} clientX\n * @param {?} clientY\n * @return {?}\n */\n onMousemove(event, clientX, clientY) {\n this.resizable.mousemove.next({\n clientX,\n clientY,\n edges: this.resizeEdges,\n event\n });\n }\n /**\n * @private\n * @return {?}\n */\n unsubscribeEventListeners() {\n Object.keys(this.eventListeners).forEach(type => {\n ((/** @type {?} */ (this))).eventListeners[type]();\n delete this.eventListeners[type];\n });\n }\n /**\n * @private\n * @template T\n * @param {?} eventName\n * @return {?}\n */\n listenOnTheHost(eventName) {\n return fromEvent(this.element.nativeElement, eventName).pipe(takeUntil(this.destroy$));\n }\n}\nResizeHandleDirective.ɵfac = function ResizeHandleDirective_Factory(t) { return new (t || ResizeHandleDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ResizableDirective, 8)); };\nResizeHandleDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ResizeHandleDirective, selectors: [[\"\", \"mwlResizeHandle\", \"\"]], inputs: { resizeEdges: \"resizeEdges\", resizableContainer: \"resizableContainer\" } });\n/** @nocollapse */\nResizeHandleDirective.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: NgZone },\n { type: ResizableDirective, decorators: [{ type: Optional }] }\n];\nResizeHandleDirective.propDecorators = {\n resizeEdges: [{ type: Input }],\n resizableContainer: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ResizeHandleDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlResizeHandle]'\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ResizableDirective, decorators: [{\n type: Optional\n }] }]; }, { resizeEdges: [{\n type: Input\n }], resizableContainer: [{\n type: Input\n }] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass ResizableModule {\n}\nResizableModule.ɵfac = function ResizableModule_Factory(t) { return new (t || ResizableModule)(); };\nResizableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ResizableModule });\nResizableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ResizableModule, [{\n type: NgModule,\n args: [{\n declarations: [ResizableDirective, ResizeHandleDirective],\n exports: [ResizableDirective, ResizeHandleDirective]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ResizableModule, { declarations: [ResizableDirective, ResizeHandleDirective], exports: [ResizableDirective, ResizeHandleDirective] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { ResizableDirective, ResizeHandleDirective, ResizableModule };\n\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","import { EventEmitter, Component, ElementRef, NgZone, ViewChild, Output, Input, NgModule } from '@angular/core';\nimport { fromEvent, Subject, from } from 'rxjs';\nimport { takeUntil, debounceTime, filter } from 'rxjs/operators';\nimport * as PDFJS from 'pdfjs-dist/legacy/build/pdf';\nimport * as PDFJSViewer from 'pdfjs-dist/legacy/web/pdf_viewer';\n\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"pdfViewerContainer\"];\nfunction createEventBus(pdfJsViewer, destroy$) {\n const globalEventBus = new pdfJsViewer.EventBus();\n attachDOMEventsToEventBus(globalEventBus, destroy$);\n return globalEventBus;\n}\nfunction attachDOMEventsToEventBus(eventBus, destroy$) {\n fromEvent(eventBus, 'documentload')\n .pipe(takeUntil(destroy$))\n .subscribe(() => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagerendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, cssTransform, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber,\n cssTransform,\n });\n source.div.dispatchEvent(event);\n });\n fromEvent(eventBus, 'textlayerrendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, { pageNumber });\n source.textLayerDiv.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagechanging')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('pagechanging', true, true);\n /* tslint:disable:no-string-literal */\n event['pageNumber'] = pageNumber;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesinit')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pagesCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, { pagesCount });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'scalechange')\n .pipe(takeUntil(destroy$))\n .subscribe(({ scale, presetValue, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('scalechange', true, true);\n /* tslint:disable:no-string-literal */\n event['scale'] = scale;\n /* tslint:disable:no-string-literal */\n event['presetValue'] = presetValue;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'updateviewarea')\n .pipe(takeUntil(destroy$))\n .subscribe(({ location, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('updateviewarea', true, true);\n event['location'] = location;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'find')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source, type, query, phraseSearch, caseSensitive, highlightAll, findPrevious, }) => {\n if (source === window) {\n return; // event comes from FirefoxCom, no need to replicate\n }\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + type, true, true, {\n query,\n phraseSearch,\n caseSensitive,\n highlightAll,\n findPrevious,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'attachmentsloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ attachmentsCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, {\n attachmentsCount,\n });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'sidebarviewchanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ view, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, { view });\n source.outerContainer.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagemode')\n .pipe(takeUntil(destroy$))\n .subscribe(({ mode, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, { mode });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'namedaction')\n .pipe(takeUntil(destroy$))\n .subscribe(({ action, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, { action });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'presentationmodechanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ active, switchInProgress }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active,\n switchInProgress,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'outlineloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ outlineCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, { outlineCount });\n source.container.dispatchEvent(event);\n });\n}\n\nfunction assign(obj, prop, value) {\n obj[prop] = value;\n}\nfunction isSSR() {\n return typeof window === 'undefined';\n}\n\n/**\n * Created by vadimdez on 21/06/16.\n */\nif (!isSSR()) {\n assign(PDFJS, 'verbosity', PDFJS.VerbosityLevel.INFOS);\n}\nvar RenderTextMode;\n(function (RenderTextMode) {\n RenderTextMode[RenderTextMode[\"DISABLED\"] = 0] = \"DISABLED\";\n RenderTextMode[RenderTextMode[\"ENABLED\"] = 1] = \"ENABLED\";\n RenderTextMode[RenderTextMode[\"ENHANCED\"] = 2] = \"ENHANCED\";\n})(RenderTextMode || (RenderTextMode = {}));\nclass PdfViewerComponent {\n constructor(element, ngZone) {\n this.element = element;\n this.ngZone = ngZone;\n this.isVisible = false;\n this._cMapsUrl = typeof PDFJS !== 'undefined'\n ? `https://unpkg.com/pdfjs-dist@${PDFJS.version}/cmaps/`\n : null;\n this._renderText = true;\n this._renderTextMode = RenderTextMode.ENABLED;\n this._stickToPage = false;\n this._originalSize = true;\n this._page = 1;\n this._zoom = 1;\n this._zoomScale = 'page-width';\n this._rotation = 0;\n this._showAll = true;\n this._canAutoResize = true;\n this._fitToPage = false;\n this._externalLinkTarget = 'blank';\n this._showBorders = false;\n this.resizeTimeout = null;\n this.pageScrollTimeout = null;\n this.isInitialized = false;\n this.destroy$ = new Subject();\n this.afterLoadComplete = new EventEmitter();\n this.pageRendered = new EventEmitter();\n this.pageInitialized = new EventEmitter();\n this.textLayerRendered = new EventEmitter();\n this.onError = new EventEmitter();\n this.onProgress = new EventEmitter();\n this.pageChange = new EventEmitter(true);\n if (isSSR()) {\n return;\n }\n let pdfWorkerSrc;\n if (window.hasOwnProperty('pdfWorkerSrc') &&\n typeof window.pdfWorkerSrc === 'string' &&\n window.pdfWorkerSrc) {\n pdfWorkerSrc = window.pdfWorkerSrc;\n }\n else {\n pdfWorkerSrc = `https://cdn.jsdelivr.net/npm/pdfjs-dist@${PDFJS.version}/legacy/build/pdf.worker.js`;\n }\n assign(PDFJS.GlobalWorkerOptions, 'workerSrc', pdfWorkerSrc);\n }\n set cMapsUrl(cMapsUrl) {\n this._cMapsUrl = cMapsUrl;\n }\n set page(_page) {\n _page = parseInt(_page, 10) || 1;\n const originalPage = _page;\n if (this._pdf) {\n _page = this.getValidPageNumber(_page);\n }\n this._page = _page;\n if (originalPage !== _page) {\n this.pageChange.emit(_page);\n }\n }\n set renderText(renderText) {\n this._renderText = renderText;\n }\n set renderTextMode(renderTextMode) {\n this._renderTextMode = renderTextMode;\n }\n set originalSize(originalSize) {\n this._originalSize = originalSize;\n }\n set showAll(value) {\n this._showAll = value;\n }\n set stickToPage(value) {\n this._stickToPage = value;\n }\n set zoom(value) {\n if (value <= 0) {\n return;\n }\n this._zoom = value;\n }\n get zoom() {\n return this._zoom;\n }\n set zoomScale(value) {\n this._zoomScale = value;\n }\n get zoomScale() {\n return this._zoomScale;\n }\n set rotation(value) {\n if (!(typeof value === 'number' && value % 90 === 0)) {\n console.warn('Invalid pages rotation angle.');\n return;\n }\n this._rotation = value;\n }\n set externalLinkTarget(value) {\n this._externalLinkTarget = value;\n }\n set autoresize(value) {\n this._canAutoResize = Boolean(value);\n }\n set fitToPage(value) {\n this._fitToPage = Boolean(value);\n }\n set showBorders(value) {\n this._showBorders = Boolean(value);\n }\n static getLinkTarget(type) {\n switch (type) {\n case 'blank':\n return PDFJS.LinkTarget.BLANK;\n case 'none':\n return PDFJS.LinkTarget.NONE;\n case 'self':\n return PDFJS.LinkTarget.SELF;\n case 'parent':\n return PDFJS.LinkTarget.PARENT;\n case 'top':\n return PDFJS.LinkTarget.TOP;\n }\n return null;\n }\n ngAfterViewChecked() {\n if (this.isInitialized) {\n return;\n }\n const offset = this.pdfViewerContainer.nativeElement.offsetParent;\n if (this.isVisible === true && offset == null) {\n this.isVisible = false;\n return;\n }\n if (this.isVisible === false && offset != null) {\n this.isVisible = true;\n setTimeout(() => {\n this.initialize();\n this.ngOnChanges({ src: this.src });\n });\n }\n }\n ngOnInit() {\n this.initialize();\n this.setupResizeListener();\n }\n ngOnDestroy() {\n this.clear();\n this.destroy$.next();\n this.loadingTask = null;\n }\n get pdfLinkService() {\n return this._showAll\n ? this.pdfMultiPageLinkService\n : this.pdfSinglePageLinkService;\n }\n get pdfViewer() {\n return this.getCurrentViewer();\n }\n get pdfFindController() {\n return this._showAll\n ? this.pdfMultiPageFindController\n : this.pdfSinglePageFindController;\n }\n ngOnChanges(changes) {\n if (isSSR() || !this.isVisible) {\n return;\n }\n if ('src' in changes) {\n this.loadPDF();\n }\n else if (this._pdf) {\n if ('renderText' in changes) {\n this.getCurrentViewer().textLayerMode = this._renderText\n ? this._renderTextMode\n : RenderTextMode.DISABLED;\n this.resetPdfDocument();\n }\n else if ('showAll' in changes) {\n this.resetPdfDocument();\n }\n if ('page' in changes) {\n const { page } = changes;\n if (page.currentValue === this._latestScrolledPage) {\n return;\n }\n // New form of page changing: The viewer will now jump to the specified page when it is changed.\n // This behavior is introduced by using the PDFSinglePageViewer\n this.getCurrentViewer().scrollPageIntoView({ pageNumber: this._page });\n }\n this.update();\n }\n }\n updateSize() {\n const currentViewer = this.getCurrentViewer();\n from(this._pdf.getPage(currentViewer.currentPageNumber))\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (page) => {\n const rotation = this._rotation || page.rotate;\n const viewportWidth = page.getViewport({\n scale: this._zoom,\n rotation\n }).width * PdfViewerComponent.CSS_UNITS;\n let scale = this._zoom;\n let stickToPage = true;\n // Scale the document when it shouldn't be in original size or doesn't fit into the viewport\n if (!this._originalSize ||\n (this._fitToPage &&\n viewportWidth > this.pdfViewerContainer.nativeElement.clientWidth)) {\n const viewPort = page.getViewport({ scale: 1, rotation });\n scale = this.getScale(viewPort.width, viewPort.height);\n stickToPage = !this._stickToPage;\n }\n currentViewer._setScale(scale, stickToPage);\n }\n });\n }\n clear() {\n if (this.loadingTask && !this.loadingTask.destroyed) {\n this.loadingTask.destroy();\n }\n if (this._pdf) {\n this._pdf.destroy();\n this._pdf = null;\n this.pdfMultiPageViewer.setDocument(null);\n this.pdfSinglePageViewer.setDocument(null);\n this.pdfMultiPageLinkService.setDocument(null, null);\n this.pdfSinglePageLinkService.setDocument(null, null);\n this.pdfMultiPageFindController.setDocument(null);\n this.pdfSinglePageFindController.setDocument(null);\n }\n }\n getPDFLinkServiceConfig() {\n const pdfLinkServiceConfig = {};\n const linkTarget = PdfViewerComponent.getLinkTarget(this._externalLinkTarget);\n if (linkTarget) {\n pdfLinkServiceConfig.externalLinkTarget = linkTarget;\n }\n return pdfLinkServiceConfig;\n }\n setupMultiPageViewer() {\n assign(PDFJS, 'disableTextLayer', !this._renderText);\n const eventBus = createEventBus(PDFJSViewer, this.destroy$);\n fromEvent(eventBus, 'pagerendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageRendered.emit(event);\n });\n fromEvent(eventBus, 'pagesinit')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageInitialized.emit(event);\n });\n fromEvent(eventBus, 'pagechanging')\n .pipe(takeUntil(this.destroy$))\n .subscribe(({ pageNumber }) => {\n if (this.pageScrollTimeout) {\n clearTimeout(this.pageScrollTimeout);\n }\n this.pageScrollTimeout = window.setTimeout(() => {\n this._latestScrolledPage = pageNumber;\n this.pageChange.emit(pageNumber);\n }, 100);\n });\n fromEvent(eventBus, 'textlayerrendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.textLayerRendered.emit(event);\n });\n this.pdfMultiPageLinkService = new PDFJSViewer.PDFLinkService(Object.assign({ eventBus }, this.getPDFLinkServiceConfig()));\n this.pdfMultiPageFindController = new PDFJSViewer.PDFFindController({\n linkService: this.pdfMultiPageLinkService,\n eventBus\n });\n const pdfOptions = {\n eventBus,\n container: this.element.nativeElement.querySelector('div'),\n removePageBorders: !this._showBorders,\n linkService: this.pdfMultiPageLinkService,\n textLayerMode: this._renderText\n ? this._renderTextMode\n : RenderTextMode.DISABLED,\n findController: this.pdfMultiPageFindController,\n renderer: 'canvas',\n l10n: undefined\n };\n this.pdfMultiPageViewer = new PDFJSViewer.PDFViewer(pdfOptions);\n this.pdfMultiPageLinkService.setViewer(this.pdfMultiPageViewer);\n this.pdfMultiPageFindController.setDocument(this._pdf);\n }\n setupSinglePageViewer() {\n assign(PDFJS, 'disableTextLayer', !this._renderText);\n const eventBus = createEventBus(PDFJSViewer, this.destroy$);\n fromEvent(eventBus, 'pagechanging')\n .pipe(takeUntil(this.destroy$))\n .subscribe(({ pageNumber }) => {\n if (pageNumber !== this._page) {\n this.page = pageNumber;\n }\n });\n fromEvent(eventBus, 'pagerendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageRendered.emit(event);\n });\n fromEvent(eventBus, 'pagesinit')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageInitialized.emit(event);\n });\n fromEvent(eventBus, 'textlayerrendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.textLayerRendered.emit(event);\n });\n this.pdfSinglePageLinkService = new PDFJSViewer.PDFLinkService(Object.assign({ eventBus }, this.getPDFLinkServiceConfig()));\n this.pdfSinglePageFindController = new PDFJSViewer.PDFFindController({\n linkService: this.pdfSinglePageLinkService,\n eventBus\n });\n const pdfOptions = {\n eventBus,\n container: this.element.nativeElement.querySelector('div'),\n removePageBorders: !this._showBorders,\n linkService: this.pdfSinglePageLinkService,\n textLayerMode: this._renderText\n ? this._renderTextMode\n : RenderTextMode.DISABLED,\n findController: this.pdfSinglePageFindController\n };\n this.pdfSinglePageViewer = new PDFJSViewer.PDFSinglePageViewer(pdfOptions);\n this.pdfSinglePageLinkService.setViewer(this.pdfSinglePageViewer);\n this.pdfSinglePageFindController.setDocument(this._pdf);\n this.pdfSinglePageViewer._currentPageNumber = this._page;\n }\n getValidPageNumber(page) {\n if (page < 1) {\n return 1;\n }\n if (page > this._pdf.numPages) {\n return this._pdf.numPages;\n }\n return page;\n }\n getDocumentParams() {\n const srcType = typeof this.src;\n if (!this._cMapsUrl) {\n return this.src;\n }\n const params = {\n cMapUrl: this._cMapsUrl,\n cMapPacked: true\n };\n if (srcType === 'string') {\n params.url = this.src;\n }\n else if (srcType === 'object') {\n if (this.src.byteLength !== undefined) {\n params.data = this.src;\n }\n else {\n Object.assign(params, this.src);\n }\n }\n return params;\n }\n loadPDF() {\n if (!this.src) {\n return;\n }\n if (this.lastLoaded === this.src) {\n this.update();\n return;\n }\n this.clear();\n this.loadingTask = PDFJS.getDocument(this.getDocumentParams());\n this.loadingTask.onProgress = (progressData) => {\n this.onProgress.emit(progressData);\n };\n const src = this.src;\n from(this.loadingTask.promise)\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (pdf) => {\n this._pdf = pdf;\n this.lastLoaded = src;\n this.afterLoadComplete.emit(pdf);\n if (!this.pdfMultiPageViewer) {\n this.setupMultiPageViewer();\n this.setupSinglePageViewer();\n }\n this.resetPdfDocument();\n this.update();\n },\n error: (error) => {\n this.onError.emit(error);\n }\n });\n }\n update() {\n this.page = this._page;\n this.render();\n }\n render() {\n this._page = this.getValidPageNumber(this._page);\n const currentViewer = this.getCurrentViewer();\n if (this._rotation !== 0 ||\n currentViewer.pagesRotation !== this._rotation) {\n setTimeout(() => {\n currentViewer.pagesRotation = this._rotation;\n });\n }\n if (this._stickToPage) {\n setTimeout(() => {\n currentViewer.currentPageNumber = this._page;\n });\n }\n this.updateSize();\n }\n getScale(viewportWidth, viewportHeight) {\n const borderSize = (this._showBorders ? 2 * PdfViewerComponent.BORDER_WIDTH : 0);\n const pdfContainerWidth = this.pdfViewerContainer.nativeElement.clientWidth - borderSize;\n const pdfContainerHeight = this.pdfViewerContainer.nativeElement.clientHeight - borderSize;\n if (pdfContainerHeight === 0 || viewportHeight === 0 || pdfContainerWidth === 0 || viewportWidth === 0) {\n return 1;\n }\n let ratio = 1;\n switch (this._zoomScale) {\n case 'page-fit':\n ratio = Math.min((pdfContainerHeight / viewportHeight), (pdfContainerWidth / viewportWidth));\n break;\n case 'page-height':\n ratio = (pdfContainerHeight / viewportHeight);\n break;\n case 'page-width':\n default:\n ratio = (pdfContainerWidth / viewportWidth);\n break;\n }\n return (this._zoom * ratio) / PdfViewerComponent.CSS_UNITS;\n }\n getCurrentViewer() {\n return this._showAll ? this.pdfMultiPageViewer : this.pdfSinglePageViewer;\n }\n resetPdfDocument() {\n this.pdfFindController.setDocument(this._pdf);\n if (this._showAll) {\n this.pdfSinglePageViewer.setDocument(null);\n this.pdfSinglePageLinkService.setDocument(null);\n this.pdfMultiPageViewer.setDocument(this._pdf);\n this.pdfMultiPageLinkService.setDocument(this._pdf, null);\n }\n else {\n this.pdfMultiPageViewer.setDocument(null);\n this.pdfMultiPageLinkService.setDocument(null);\n this.pdfSinglePageViewer.setDocument(this._pdf);\n this.pdfSinglePageLinkService.setDocument(this._pdf, null);\n }\n }\n initialize() {\n if (isSSR() || !this.isVisible) {\n return;\n }\n this.isInitialized = true;\n this.setupMultiPageViewer();\n this.setupSinglePageViewer();\n }\n setupResizeListener() {\n if (isSSR()) {\n return;\n }\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100), filter(() => this._canAutoResize && !!this._pdf), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateSize();\n });\n });\n }\n}\nPdfViewerComponent.ɵfac = function PdfViewerComponent_Factory(t) { return new (t || PdfViewerComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nPdfViewerComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PdfViewerComponent, selectors: [[\"pdf-viewer\"]], viewQuery: function PdfViewerComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.pdfViewerContainer = _t.first);\n } }, inputs: { cMapsUrl: [\"c-maps-url\", \"cMapsUrl\"], page: \"page\", renderText: [\"render-text\", \"renderText\"], renderTextMode: [\"render-text-mode\", \"renderTextMode\"], originalSize: [\"original-size\", \"originalSize\"], showAll: [\"show-all\", \"showAll\"], stickToPage: [\"stick-to-page\", \"stickToPage\"], zoom: \"zoom\", zoomScale: [\"zoom-scale\", \"zoomScale\"], rotation: \"rotation\", externalLinkTarget: [\"external-link-target\", \"externalLinkTarget\"], autoresize: \"autoresize\", fitToPage: [\"fit-to-page\", \"fitToPage\"], showBorders: [\"show-borders\", \"showBorders\"], src: \"src\" }, outputs: { afterLoadComplete: \"after-load-complete\", pageRendered: \"page-rendered\", pageInitialized: \"pages-initialized\", textLayerRendered: \"text-layer-rendered\", onError: \"error\", onProgress: \"on-progress\", pageChange: \"pageChange\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 3, vars: 0, consts: [[1, \"ng2-pdf-viewer-container\"], [\"pdfViewerContainer\", \"\"], [1, \"pdfViewer\"]], template: function PdfViewerComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵelement(2, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n } }, styles: [\".ng2-pdf-viewer-container[_ngcontent-%COMP%]{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] {--annotation-unfocused-field-background:url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background:url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--pdfViewer-padding-bottom:none;--page-margin:1px auto -8px;--page-border:9px solid transparent;--spreadHorizontalWrapped-margin-LR:-3.5px;--zoom-factor:1}@media screen and (forced-colors:active){[_nghost-%COMP%] {--pdfViewer-padding-bottom:9px;--page-margin:9px auto 0;--page-border:none;--spreadHorizontalWrapped-margin-LR:4.5px}}[_nghost-%COMP%] .textLayer{position:absolute;text-align:initial;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1}[_nghost-%COMP%] .textLayer br, [_nghost-%COMP%] .textLayer span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}[_nghost-%COMP%] .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}[_nghost-%COMP%] .textLayer .highlight.appended{position:static}[_nghost-%COMP%] .textLayer .highlight.begin{border-radius:4px 0 0 4px}[_nghost-%COMP%] .textLayer .highlight.end{border-radius:0 4px 4px 0}[_nghost-%COMP%] .textLayer .highlight.middle{border-radius:0}[_nghost-%COMP%] .textLayer .highlight.selected{background-color:#006400}[_nghost-%COMP%] .textLayer ::-moz-selection{background:#00f}[_nghost-%COMP%] .textLayer ::-moz-selection, [_nghost-%COMP%] .textLayer ::selection{background:#00f}[_nghost-%COMP%] .textLayer br::-moz-selection{background:transparent}[_nghost-%COMP%] .textLayer br::-moz-selection, [_nghost-%COMP%] .textLayer br::selection{background:transparent}[_nghost-%COMP%] .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[_nghost-%COMP%] .textLayer .endOfContent.active{top:0}[_nghost-%COMP%] .annotationLayer section{position:absolute;text-align:initial}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.pushButton>a, [_nghost-%COMP%] .annotationLayer .linkAnnotation>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover, [_nghost-%COMP%] .annotationLayer .linkAnnotation>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}[_nghost-%COMP%] .annotationLayer .textAnnotation img{position:absolute;cursor:pointer}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input, [_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}[_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select option{padding:0}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}[_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled], [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled], [_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select[disabled], [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input[disabled], [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:hover, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input:hover, [_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select:hover, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input:hover, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}[_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select:focus, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input:focus, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox :focus, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton :focus, [_nghost-%COMP%] .annotationLayer .choiceWidgetAnnotation select :focus, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input :focus, [_nghost-%COMP%] .annotationLayer .textWidgetAnnotation textarea :focus{background-image:none;background-color:transparent;outline:auto}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:\\\"\\\";display:block;position:absolute}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}[_nghost-%COMP%] .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}[_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.checkBox input, [_nghost-%COMP%] .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}[_nghost-%COMP%] .annotationLayer .popupWrapper{position:absolute;width:20em}[_nghost-%COMP%] .annotationLayer .popup{position:absolute;z-index:200;max-width:20em;background-color:#ff9;box-shadow:0 2px 5px #888;border-radius:2px;padding:6px;margin-left:5px;cursor:pointer;font:message-box;font-size:9px;white-space:normal;word-wrap:break-word}[_nghost-%COMP%] .annotationLayer .popup>*{font-size:9px}[_nghost-%COMP%] .annotationLayer .popup h1{display:inline-block}[_nghost-%COMP%] .annotationLayer .popup span{display:inline-block;margin-left:5px}[_nghost-%COMP%] .annotationLayer .popup p{border-top:1px solid #333;margin-top:2px;padding-top:2px}[_nghost-%COMP%] .annotationLayer .caretAnnotation, [_nghost-%COMP%] .annotationLayer .circleAnnotation svg ellipse, [_nghost-%COMP%] .annotationLayer .fileAttachmentAnnotation, [_nghost-%COMP%] .annotationLayer .freeTextAnnotation, [_nghost-%COMP%] .annotationLayer .highlightAnnotation, [_nghost-%COMP%] .annotationLayer .inkAnnotation svg polyline, [_nghost-%COMP%] .annotationLayer .lineAnnotation svg line, [_nghost-%COMP%] .annotationLayer .polygonAnnotation svg polygon, [_nghost-%COMP%] .annotationLayer .polylineAnnotation svg polyline, [_nghost-%COMP%] .annotationLayer .squareAnnotation svg rect, [_nghost-%COMP%] .annotationLayer .squigglyAnnotation, [_nghost-%COMP%] .annotationLayer .stampAnnotation, [_nghost-%COMP%] .annotationLayer .strikeoutAnnotation, [_nghost-%COMP%] .annotationLayer .underlineAnnotation{cursor:pointer}[_nghost-%COMP%] .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}[_nghost-%COMP%] .xfaLayer .highlight.appended{position:static}[_nghost-%COMP%] .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}[_nghost-%COMP%] .xfaLayer .highlight.end{border-radius:0 4px 4px 0}[_nghost-%COMP%] .xfaLayer .highlight.middle{border-radius:0}[_nghost-%COMP%] .xfaLayer .highlight.selected{background-color:#cbdfcb}[_nghost-%COMP%] .xfaLayer ::-moz-selection{background:#00f}[_nghost-%COMP%] .xfaLayer ::-moz-selection, [_nghost-%COMP%] .xfaLayer ::selection{background:#00f}[_nghost-%COMP%] .xfaPage{overflow:hidden;position:relative}[_nghost-%COMP%] .xfaContentarea{position:absolute}[_nghost-%COMP%] .xfaPrintOnly{display:none}[_nghost-%COMP%] .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}[_nghost-%COMP%] .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;-webkit-font-kerning:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}[_nghost-%COMP%] .xfaLayer div, [_nghost-%COMP%] .xfaLayer svg, [_nghost-%COMP%] .xfaLayer svg *{pointer-events:none}[_nghost-%COMP%] .xfaLayer a{color:#00f}[_nghost-%COMP%] .xfaRich li{margin-left:3em}[_nghost-%COMP%] .xfaFont{color:#000;font-weight:400;-webkit-font-kerning:none;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}[_nghost-%COMP%] .xfaCaption{overflow:hidden;flex:0 0 auto}[_nghost-%COMP%] .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}[_nghost-%COMP%] .xfaLabel{height:100%;width:100%}[_nghost-%COMP%] .xfaLeft{display:flex;flex-direction:row;align-items:center}[_nghost-%COMP%] .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}[_nghost-%COMP%] .xfaLeft>.xfaCaption, [_nghost-%COMP%] .xfaLeft>.xfaCaptionForCheckButton, [_nghost-%COMP%] .xfaRight>.xfaCaption, [_nghost-%COMP%] .xfaRight>.xfaCaptionForCheckButton{max-height:100%}[_nghost-%COMP%] .xfaTop{display:flex;flex-direction:column;align-items:flex-start}[_nghost-%COMP%] .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}[_nghost-%COMP%] .xfaBottom>.xfaCaption, [_nghost-%COMP%] .xfaBottom>.xfaCaptionForCheckButton, [_nghost-%COMP%] .xfaTop>.xfaCaption, [_nghost-%COMP%] .xfaTop>.xfaCaptionForCheckButton{width:100%}[_nghost-%COMP%] .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}[_nghost-%COMP%] .xfaWrapped{width:100%;height:100%}[_nghost-%COMP%] .xfaSelect:focus, [_nghost-%COMP%] .xfaTextfield:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}[_nghost-%COMP%] .xfaCheckbox:focus, [_nghost-%COMP%] .xfaRadio:focus{outline:auto}[_nghost-%COMP%] .xfaSelect, [_nghost-%COMP%] .xfaTextfield{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}[_nghost-%COMP%] .xfaBottom>.xfaSelect, [_nghost-%COMP%] .xfaBottom>.xfaTextfield, [_nghost-%COMP%] .xfaTop>.xfaSelect, [_nghost-%COMP%] .xfaTop>.xfaTextfield{flex:0 1 auto}[_nghost-%COMP%] .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}[_nghost-%COMP%] .xfaLink{width:100%;height:100%}[_nghost-%COMP%] .xfaCheckbox, [_nghost-%COMP%] .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}[_nghost-%COMP%] .xfaRich{white-space:pre-wrap;width:100%;height:100%}[_nghost-%COMP%] .xfaImage{-o-object-position:left top;object-position:left top;-o-object-fit:contain;object-fit:contain;width:100%;height:100%}[_nghost-%COMP%] .xfaLrTb, [_nghost-%COMP%] .xfaRlTb, [_nghost-%COMP%] .xfaTb{display:flex;flex-direction:column;align-items:stretch}[_nghost-%COMP%] .xfaLr{display:flex;flex-direction:row;align-items:stretch}[_nghost-%COMP%] .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}[_nghost-%COMP%] .xfaTb>div{justify-content:left}[_nghost-%COMP%] .xfaArea, [_nghost-%COMP%] .xfaPosition{position:relative}[_nghost-%COMP%] .xfaValignMiddle{display:flex;align-items:center}[_nghost-%COMP%] .xfaTable{display:flex;flex-direction:column;align-items:stretch}[_nghost-%COMP%] .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}[_nghost-%COMP%] .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}[_nghost-%COMP%] .xfaTable .xfaRlRow>div{flex:1}[_nghost-%COMP%] .xfaDisabled input, [_nghost-%COMP%] .xfaDisabled textarea, [_nghost-%COMP%] .xfaNonInteractive input, [_nghost-%COMP%] .xfaNonInteractive textarea, [_nghost-%COMP%] .xfaReadOnly input, [_nghost-%COMP%] .xfaReadOnly textarea{background:initial}@media print{[_nghost-%COMP%] .xfaTextfield{background:transparent}[_nghost-%COMP%] .xfaSelect{background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}[_nghost-%COMP%] .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}[_nghost-%COMP%] .pdfViewer .canvasWrapper{overflow:hidden}[_nghost-%COMP%] .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);background-clip:content-box;-o-border-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\\\") 9 9 repeat;border-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\\\") 9 9 repeat;background-color:#fff}[_nghost-%COMP%] .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}[_nghost-%COMP%] .pdfViewer.singlePageView{display:inline-block}[_nghost-%COMP%] .pdfViewer.singlePageView .page{margin:0;border:none}[_nghost-%COMP%] .pdfViewer.scrollHorizontal, [_nghost-%COMP%] .pdfViewer.scrollWrapped, [_nghost-%COMP%] .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}[_nghost-%COMP%] .pdfViewer.scrollHorizontal, [_nghost-%COMP%] .spread{white-space:nowrap}[_nghost-%COMP%] .pdfViewer.removePageBorders, [_nghost-%COMP%] .pdfViewer.scrollHorizontal .spread, [_nghost-%COMP%] .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}[_nghost-%COMP%] .pdfViewer.scrollHorizontal .page, [_nghost-%COMP%] .pdfViewer.scrollHorizontal .spread, [_nghost-%COMP%] .pdfViewer.scrollWrapped .page, [_nghost-%COMP%] .pdfViewer.scrollWrapped .spread, [_nghost-%COMP%] .spread .page{display:inline-block;vertical-align:middle}[_nghost-%COMP%] .pdfViewer.scrollHorizontal .page, [_nghost-%COMP%] .pdfViewer.scrollWrapped .page, [_nghost-%COMP%] .spread .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}[_nghost-%COMP%] .pdfViewer.removePageBorders.scrollHorizontal .page, [_nghost-%COMP%] .pdfViewer.removePageBorders.scrollWrapped .page, [_nghost-%COMP%] .pdfViewer.removePageBorders .spread .page{margin-left:5px;margin-right:5px}[_nghost-%COMP%] .pdfViewer .page canvas{margin:0;display:block}[_nghost-%COMP%] .pdfViewer .page canvas[hidden]{display:none}[_nghost-%COMP%] .pdfViewer .page .loadingIcon{position:absolute;display:block;left:0;top:0;right:0;bottom:0;background:url(\\\"data:image/gif;base64,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\\\") 50% no-repeat}[_nghost-%COMP%] .pdfPresentationMode .pdfViewer{margin-left:0;margin-right:0}[_nghost-%COMP%] .pdfPresentationMode .pdfViewer .page, [_nghost-%COMP%] .pdfPresentationMode .pdfViewer .spread{display:block}[_nghost-%COMP%] .pdfPresentationMode .pdfViewer .page, [_nghost-%COMP%] .pdfPresentationMode .pdfViewer.removePageBorders .page{margin-left:auto;margin-right:auto}[_nghost-%COMP%] .pdfPresentationMode:-webkit-full-screen .pdfViewer .page{margin-bottom:100%;border:0}[_nghost-%COMP%] .pdfPresentationMode:-webkit-full-screen .pdfViewer .page, [_nghost-%COMP%] .pdfPresentationMode:fullscreen .pdfViewer .page{margin-bottom:100%;border:0}\"] });\nPdfViewerComponent.CSS_UNITS = 96.0 / 72.0;\nPdfViewerComponent.BORDER_WIDTH = 9;\nPdfViewerComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone }\n];\nPdfViewerComponent.propDecorators = {\n pdfViewerContainer: [{ type: ViewChild, args: ['pdfViewerContainer',] }],\n afterLoadComplete: [{ type: Output, args: ['after-load-complete',] }],\n pageRendered: [{ type: Output, args: ['page-rendered',] }],\n pageInitialized: [{ type: Output, args: ['pages-initialized',] }],\n textLayerRendered: [{ type: Output, args: ['text-layer-rendered',] }],\n onError: [{ type: Output, args: ['error',] }],\n onProgress: [{ type: Output, args: ['on-progress',] }],\n pageChange: [{ type: Output }],\n src: [{ type: Input }],\n cMapsUrl: [{ type: Input, args: ['c-maps-url',] }],\n page: [{ type: Input, args: ['page',] }],\n renderText: [{ type: Input, args: ['render-text',] }],\n renderTextMode: [{ type: Input, args: ['render-text-mode',] }],\n originalSize: [{ type: Input, args: ['original-size',] }],\n showAll: [{ type: Input, args: ['show-all',] }],\n stickToPage: [{ type: Input, args: ['stick-to-page',] }],\n zoom: [{ type: Input, args: ['zoom',] }],\n zoomScale: [{ type: Input, args: ['zoom-scale',] }],\n rotation: [{ type: Input, args: ['rotation',] }],\n externalLinkTarget: [{ type: Input, args: ['external-link-target',] }],\n autoresize: [{ type: Input, args: ['autoresize',] }],\n fitToPage: [{ type: Input, args: ['fit-to-page',] }],\n showBorders: [{ type: Input, args: ['show-borders',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PdfViewerComponent, [{\n type: Component,\n args: [{\n selector: 'pdf-viewer',\n template: `\n
\n
\n
\n `,\n styles: [\".ng2-pdf-viewer-container{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}:host{display:block;position:relative}:host ::ng-deep{--annotation-unfocused-field-background:url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background:url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--pdfViewer-padding-bottom:none;--page-margin:1px auto -8px;--page-border:9px solid transparent;--spreadHorizontalWrapped-margin-LR:-3.5px;--zoom-factor:1}@media screen and (forced-colors:active){:host ::ng-deep{--pdfViewer-padding-bottom:9px;--page-margin:9px auto 0;--page-border:none;--spreadHorizontalWrapped-margin-LR:4.5px}}:host ::ng-deep .textLayer{position:absolute;text-align:initial;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1}:host ::ng-deep .textLayer br,:host ::ng-deep .textLayer span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}:host ::ng-deep .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}:host ::ng-deep .textLayer .highlight.appended{position:static}:host ::ng-deep .textLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .textLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .textLayer .highlight.middle{border-radius:0}:host ::ng-deep .textLayer .highlight.selected{background-color:#006400}:host ::ng-deep .textLayer ::-moz-selection{background:#00f}:host ::ng-deep .textLayer ::-moz-selection,:host ::ng-deep .textLayer ::selection{background:#00f}:host ::ng-deep .textLayer br::-moz-selection{background:transparent}:host ::ng-deep .textLayer br::-moz-selection,:host ::ng-deep .textLayer br::selection{background:transparent}:host ::ng-deep .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host ::ng-deep .textLayer .endOfContent.active{top:0}:host ::ng-deep .annotationLayer section{position:absolute;text-align:initial}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a,:host ::ng-deep .annotationLayer .linkAnnotation>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,:host ::ng-deep .annotationLayer .linkAnnotation>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}:host ::ng-deep .annotationLayer .textAnnotation img{position:absolute;cursor:pointer}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select,:host ::ng-deep .annotationLayer .textWidgetAnnotation input,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select option{padding:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation input[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:hover,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation input:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation input:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton :focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation input :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea :focus{background-image:none;background-color:transparent;outline:auto}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:\\\"\\\";display:block;position:absolute}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}:host ::ng-deep .annotationLayer .popupWrapper{position:absolute;width:20em}:host ::ng-deep .annotationLayer .popup{position:absolute;z-index:200;max-width:20em;background-color:#ff9;box-shadow:0 2px 5px #888;border-radius:2px;padding:6px;margin-left:5px;cursor:pointer;font:message-box;font-size:9px;white-space:normal;word-wrap:break-word}:host ::ng-deep .annotationLayer .popup>*{font-size:9px}:host ::ng-deep .annotationLayer .popup h1{display:inline-block}:host ::ng-deep .annotationLayer .popup span{display:inline-block;margin-left:5px}:host ::ng-deep .annotationLayer .popup p{border-top:1px solid #333;margin-top:2px;padding-top:2px}:host ::ng-deep .annotationLayer .caretAnnotation,:host ::ng-deep .annotationLayer .circleAnnotation svg ellipse,:host ::ng-deep .annotationLayer .fileAttachmentAnnotation,:host ::ng-deep .annotationLayer .freeTextAnnotation,:host ::ng-deep .annotationLayer .highlightAnnotation,:host ::ng-deep .annotationLayer .inkAnnotation svg polyline,:host ::ng-deep .annotationLayer .lineAnnotation svg line,:host ::ng-deep .annotationLayer .polygonAnnotation svg polygon,:host ::ng-deep .annotationLayer .polylineAnnotation svg polyline,:host ::ng-deep .annotationLayer .squareAnnotation svg rect,:host ::ng-deep .annotationLayer .squigglyAnnotation,:host ::ng-deep .annotationLayer .stampAnnotation,:host ::ng-deep .annotationLayer .strikeoutAnnotation,:host ::ng-deep .annotationLayer .underlineAnnotation{cursor:pointer}:host ::ng-deep .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}:host ::ng-deep .xfaLayer .highlight.appended{position:static}:host ::ng-deep .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .xfaLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .xfaLayer .highlight.middle{border-radius:0}:host ::ng-deep .xfaLayer .highlight.selected{background-color:#cbdfcb}:host ::ng-deep .xfaLayer ::-moz-selection{background:#00f}:host ::ng-deep .xfaLayer ::-moz-selection,:host ::ng-deep .xfaLayer ::selection{background:#00f}:host ::ng-deep .xfaPage{overflow:hidden;position:relative}:host ::ng-deep .xfaContentarea{position:absolute}:host ::ng-deep .xfaPrintOnly{display:none}:host ::ng-deep .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}:host ::ng-deep .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;-webkit-font-kerning:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}:host ::ng-deep .xfaLayer div,:host ::ng-deep .xfaLayer svg,:host ::ng-deep .xfaLayer svg *{pointer-events:none}:host ::ng-deep .xfaLayer a{color:#00f}:host ::ng-deep .xfaRich li{margin-left:3em}:host ::ng-deep .xfaFont{color:#000;font-weight:400;-webkit-font-kerning:none;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}:host ::ng-deep .xfaCaption{overflow:hidden;flex:0 0 auto}:host ::ng-deep .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}:host ::ng-deep .xfaLabel{height:100%;width:100%}:host ::ng-deep .xfaLeft{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}:host ::ng-deep .xfaLeft>.xfaCaption,:host ::ng-deep .xfaLeft>.xfaCaptionForCheckButton,:host ::ng-deep .xfaRight>.xfaCaption,:host ::ng-deep .xfaRight>.xfaCaptionForCheckButton{max-height:100%}:host ::ng-deep .xfaTop{display:flex;flex-direction:column;align-items:flex-start}:host ::ng-deep .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}:host ::ng-deep .xfaBottom>.xfaCaption,:host ::ng-deep .xfaBottom>.xfaCaptionForCheckButton,:host ::ng-deep .xfaTop>.xfaCaption,:host ::ng-deep .xfaTop>.xfaCaptionForCheckButton{width:100%}:host ::ng-deep .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}:host ::ng-deep .xfaWrapped{width:100%;height:100%}:host ::ng-deep .xfaSelect:focus,:host ::ng-deep .xfaTextfield:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}:host ::ng-deep .xfaCheckbox:focus,:host ::ng-deep .xfaRadio:focus{outline:auto}:host ::ng-deep .xfaSelect,:host ::ng-deep .xfaTextfield{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}:host ::ng-deep .xfaBottom>.xfaSelect,:host ::ng-deep .xfaBottom>.xfaTextfield,:host ::ng-deep .xfaTop>.xfaSelect,:host ::ng-deep .xfaTop>.xfaTextfield{flex:0 1 auto}:host ::ng-deep .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}:host ::ng-deep .xfaLink{width:100%;height:100%}:host ::ng-deep .xfaCheckbox,:host ::ng-deep .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}:host ::ng-deep .xfaRich{white-space:pre-wrap;width:100%;height:100%}:host ::ng-deep .xfaImage{-o-object-position:left top;object-position:left top;-o-object-fit:contain;object-fit:contain;width:100%;height:100%}:host ::ng-deep .xfaLrTb,:host ::ng-deep .xfaRlTb,:host ::ng-deep .xfaTb{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaLr{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}:host ::ng-deep .xfaTb>div{justify-content:left}:host ::ng-deep .xfaArea,:host ::ng-deep .xfaPosition{position:relative}:host ::ng-deep .xfaValignMiddle{display:flex;align-items:center}:host ::ng-deep .xfaTable{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}:host ::ng-deep .xfaTable .xfaRlRow>div{flex:1}:host ::ng-deep .xfaDisabled input,:host ::ng-deep .xfaDisabled textarea,:host ::ng-deep .xfaNonInteractive input,:host ::ng-deep .xfaNonInteractive textarea,:host ::ng-deep .xfaReadOnly input,:host ::ng-deep .xfaReadOnly textarea{background:initial}@media print{:host ::ng-deep .xfaTextfield{background:transparent}:host ::ng-deep .xfaSelect{background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}:host ::ng-deep .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}:host ::ng-deep .pdfViewer .canvasWrapper{overflow:hidden}:host ::ng-deep .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);background-clip:content-box;-o-border-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\\\") 9 9 repeat;border-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\\\") 9 9 repeat;background-color:#fff}:host ::ng-deep .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}:host ::ng-deep .pdfViewer.singlePageView{display:inline-block}:host ::ng-deep .pdfViewer.singlePageView .page{margin:0;border:none}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .pdfViewer.scrollWrapped,:host ::ng-deep .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .spread{white-space:nowrap}:host ::ng-deep .pdfViewer.removePageBorders,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .pdfViewer.scrollWrapped .spread,:host ::ng-deep .spread .page{display:inline-block;vertical-align:middle}:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .spread .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}:host ::ng-deep .pdfViewer.removePageBorders.scrollHorizontal .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollWrapped .page,:host ::ng-deep .pdfViewer.removePageBorders .spread .page{margin-left:5px;margin-right:5px}:host ::ng-deep .pdfViewer .page canvas{margin:0;display:block}:host ::ng-deep .pdfViewer .page canvas[hidden]{display:none}:host ::ng-deep .pdfViewer .page .loadingIcon{position:absolute;display:block;left:0;top:0;right:0;bottom:0;background:url(\\\"data:image/gif;base64,R0lGODlhGAAYAPQAAP///wAAAM7Ozvr6+uDg4LCwsOjo6I6OjsjIyJycnNjY2KioqMDAwPLy8nZ2doaGhri4uGhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJBwAAACwAAAAAGAAYAAAFriAgjiQAQWVaDgr5POSgkoTDjFE0NoQ8iw8HQZQTDQjDn4jhSABhAAOhoTqSDg7qSUQwxEaEwwFhXHhHgzOA1xshxAnfTzotGRaHglJqkJcaVEqCgyoCBQkJBQKDDXQGDYaIioyOgYSXA36XIgYMBWRzXZoKBQUMmil0lgalLSIClgBpO0g+s26nUWddXyoEDIsACq5SsTMMDIECwUdJPw0Mzsu0qHYkw72bBmozIQAh+QQJBwAAACwAAAAAGAAYAAAFsCAgjiTAMGVaDgR5HKQwqKNxIKPjjFCk0KNXC6ATKSI7oAhxWIhezwhENTCQEoeGCdWIPEgzESGxEIgGBWstEW4QCGGAIJEoxGmGt5ZkgCRQQHkGd2CESoeIIwoMBQUMP4cNeQQGDYuNj4iSb5WJnmeGng0CDGaBlIQEJziHk3sABidDAHBgagButSKvAAoyuHuUYHgCkAZqebw0AgLBQyyzNKO3byNuoSS8x8OfwIchACH5BAkHAAAALAAAAAAYABgAAAW4ICCOJIAgZVoOBJkkpDKoo5EI43GMjNPSokXCINKJCI4HcCRIQEQvqIOhGhBHhUTDhGo4diOZyFAoKEQDxra2mAEgjghOpCgz3LTBIxJ5kgwMBShACREHZ1V4Kg1rS44pBAgMDAg/Sw0GBAQGDZGTlY+YmpyPpSQDiqYiDQoCliqZBqkGAgKIS5kEjQ21VwCyp76dBHiNvz+MR74AqSOdVwbQuo+abppo10ssjdkAnc0rf8vgl8YqIQAh+QQJBwAAACwAAAAAGAAYAAAFrCAgjiQgCGVaDgZZFCQxqKNRKGOSjMjR0qLXTyciHA7AkaLACMIAiwOC1iAxCrMToHHYjWQiA4NBEA0Q1RpWxHg4cMXxNDk4OBxNUkPAQAEXDgllKgMzQA1pSYopBgonCj9JEA8REQ8QjY+RQJOVl4ugoYssBJuMpYYjDQSliwasiQOwNakALKqsqbWvIohFm7V6rQAGP6+JQLlFg7KDQLKJrLjBKbvAor3IKiEAIfkECQcAAAAsAAAAABgAGAAABbUgII4koChlmhokw5DEoI4NQ4xFMQoJO4uuhignMiQWvxGBIQC+AJBEUyUcIRiyE6CR0CllW4HABxBURTUw4nC4FcWo5CDBRpQaCoF7VjgsyCUDYDMNZ0mHdwYEBAaGMwwHDg4HDA2KjI4qkJKUiJ6faJkiA4qAKQkRB3E0i6YpAw8RERAjA4tnBoMApCMQDhFTuySKoSKMJAq6rD4GzASiJYtgi6PUcs9Kew0xh7rNJMqIhYchACH5BAkHAAAALAAAAAAYABgAAAW0ICCOJEAQZZo2JIKQxqCOjWCMDDMqxT2LAgELkBMZCoXfyCBQiFwiRsGpku0EshNgUNAtrYPT0GQVNRBWwSKBMp98P24iISgNDAS4ipGA6JUpA2WAhDR4eWM/CAkHBwkIDYcGiTOLjY+FmZkNlCN3eUoLDmwlDW+AAwcODl5bYl8wCVYMDw5UWzBtnAANEQ8kBIM0oAAGPgcREIQnVloAChEOqARjzgAQEbczg8YkWJq8nSUhACH5BAkHAAAALAAAAAAYABgAAAWtICCOJGAYZZoOpKKQqDoORDMKwkgwtiwSBBYAJ2owGL5RgxBziQQMgkwoMkhNqAEDARPSaiMDFdDIiRSFQowMXE8Z6RdpYHWnEAWGPVkajPmARVZMPUkCBQkJBQINgwaFPoeJi4GVlQ2Qc3VJBQcLV0ptfAMJBwdcIl+FYjALQgimoGNWIhAQZA4HXSpLMQ8PIgkOSHxAQhERPw7ASTSFyCMMDqBTJL8tf3y2fCEAIfkECQcAAAAsAAAAABgAGAAABa8gII4k0DRlmg6kYZCoOg5EDBDEaAi2jLO3nEkgkMEIL4BLpBAkVy3hCTAQKGAznM0AFNFGBAbj2cA9jQixcGZAGgECBu/9HnTp+FGjjezJFAwFBQwKe2Z+KoCChHmNjVMqA21nKQwJEJRlbnUFCQlFXlpeCWcGBUACCwlrdw8RKGImBwktdyMQEQciB7oACwcIeA4RVwAODiIGvHQKERAjxyMIB5QlVSTLYLZ0sW8hACH5BAkHAAAALAAAAAAYABgAAAW0ICCOJNA0ZZoOpGGQrDoOBCoSxNgQsQzgMZyIlvOJdi+AS2SoyXrK4umWPM5wNiV0UDUIBNkdoepTfMkA7thIECiyRtUAGq8fm2O4jIBgMBA1eAZ6Knx+gHaJR4QwdCMKBxEJRggFDGgQEREPjjAMBQUKIwIRDhBDC2QNDDEKoEkDoiMHDigICGkJBS2dDA6TAAnAEAkCdQ8ORQcHTAkLcQQODLPMIgIJaCWxJMIkPIoAt3EhACH5BAkHAAAALAAAAAAYABgAAAWtICCOJNA0ZZoOpGGQrDoOBCoSxNgQsQzgMZyIlvOJdi+AS2SoyXrK4umWHM5wNiV0UN3xdLiqr+mENcWpM9TIbrsBkEck8oC0DQqBQGGIz+t3eXtob0ZTPgNrIwQJDgtGAgwCWSIMDg4HiiUIDAxFAAoODwxDBWINCEGdSTQkCQcoegADBaQ6MggHjwAFBZUFCm0HB0kJCUy9bAYHCCPGIwqmRq0jySMGmj6yRiEAIfkECQcAAAAsAAAAABgAGAAABbIgII4k0DRlmg6kYZCsOg4EKhLE2BCxDOAxnIiW84l2L4BLZKipBopW8XRLDkeCiAMyMvQAA+uON4JEIo+vqukkKQ6RhLHplVGN+LyKcXA4Dgx5DWwGDXx+gIKENnqNdzIDaiMECwcFRgQCCowiCAcHCZIlCgICVgSfCEMMnA0CXaU2YSQFoQAKUQMMqjoyAglcAAyBAAIMRUYLCUkFlybDeAYJryLNk6xGNCTQXY0juHghACH5BAkHAAAALAAAAAAYABgAAAWzICCOJNA0ZVoOAmkY5KCSSgSNBDE2hDyLjohClBMNij8RJHIQvZwEVOpIekRQJyJs5AMoHA+GMbE1lnm9EcPhOHRnhpwUl3AsknHDm5RN+v8qCAkHBwkIfw1xBAYNgoSGiIqMgJQifZUjBhAJYj95ewIJCQV7KYpzBAkLLQADCHOtOpY5PgNlAAykAEUsQ1wzCgWdCIdeArczBQVbDJ0NAqyeBb64nQAGArBTt8R8mLuyPyEAOwAAAAAAAAAAAA==\\\") 50% no-repeat}:host ::ng-deep .pdfPresentationMode .pdfViewer{margin-left:0;margin-right:0}:host ::ng-deep .pdfPresentationMode .pdfViewer .page,:host ::ng-deep .pdfPresentationMode .pdfViewer .spread{display:block}:host ::ng-deep .pdfPresentationMode .pdfViewer .page,:host ::ng-deep .pdfPresentationMode .pdfViewer.removePageBorders .page{margin-left:auto;margin-right:auto}:host ::ng-deep .pdfPresentationMode:-webkit-full-screen .pdfViewer .page{margin-bottom:100%;border:0}:host ::ng-deep .pdfPresentationMode:-webkit-full-screen .pdfViewer .page,:host ::ng-deep .pdfPresentationMode:fullscreen .pdfViewer .page{margin-bottom:100%;border:0}\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { afterLoadComplete: [{\n type: Output,\n args: ['after-load-complete']\n }], pageRendered: [{\n type: Output,\n args: ['page-rendered']\n }], pageInitialized: [{\n type: Output,\n args: ['pages-initialized']\n }], textLayerRendered: [{\n type: Output,\n args: ['text-layer-rendered']\n }], onError: [{\n type: Output,\n args: ['error']\n }], onProgress: [{\n type: Output,\n args: ['on-progress']\n }], pageChange: [{\n type: Output\n }], cMapsUrl: [{\n type: Input,\n args: ['c-maps-url']\n }], page: [{\n type: Input,\n args: ['page']\n }], renderText: [{\n type: Input,\n args: ['render-text']\n }], renderTextMode: [{\n type: Input,\n args: ['render-text-mode']\n }], originalSize: [{\n type: Input,\n args: ['original-size']\n }], showAll: [{\n type: Input,\n args: ['show-all']\n }], stickToPage: [{\n type: Input,\n args: ['stick-to-page']\n }], zoom: [{\n type: Input,\n args: ['zoom']\n }], zoomScale: [{\n type: Input,\n args: ['zoom-scale']\n }], rotation: [{\n type: Input,\n args: ['rotation']\n }], externalLinkTarget: [{\n type: Input,\n args: ['external-link-target']\n }], autoresize: [{\n type: Input,\n args: ['autoresize']\n }], fitToPage: [{\n type: Input,\n args: ['fit-to-page']\n }], showBorders: [{\n type: Input,\n args: ['show-borders']\n }], pdfViewerContainer: [{\n type: ViewChild,\n args: ['pdfViewerContainer']\n }], src: [{\n type: Input\n }] }); })();\n\n/**\n * Created by vadimdez on 01/11/2016.\n */\nclass PdfViewerModule {\n}\nPdfViewerModule.ɵfac = function PdfViewerModule_Factory(t) { return new (t || PdfViewerModule)(); };\nPdfViewerModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PdfViewerModule });\nPdfViewerModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PdfViewerModule, [{\n type: NgModule,\n args: [{\n declarations: [PdfViewerComponent],\n exports: [PdfViewerComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PdfViewerModule, { declarations: [PdfViewerComponent], exports: [PdfViewerComponent] }); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PdfViewerComponent, PdfViewerModule, RenderTextMode };\n\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addLinkAttributes = addLinkAttributes;\nexports.deprecated = deprecated;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PDFDateString = exports.PageViewport = exports.LinkTarget = exports.DOMSVGFactory = exports.DOMStandardFontDataFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _base_factory = __w_pdfjs_require__(118);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar PixelsPerInch = {\n CSS: 96.0,\n PDF: 72.0,\n\n get PDF_TO_CSS_UNITS() {\n return (0, _util.shadow)(this, \"PDF_TO_CSS_UNITS\", this.CSS / this.PDF);\n }\n\n};\nexports.PixelsPerInch = PixelsPerInch;\n\nvar DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"_createCanvas\",\n value: function _createCanvas(width, height) {\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n }]);\n\n return DOMCanvasFactory;\n}(_base_factory.BaseCanvasFactory);\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nfunction fetchData(_x) {\n return _fetchData.apply(this, arguments);\n}\n\nfunction _fetchData() {\n _fetchData = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(url) {\n var asTypedArray,\n response,\n _args = arguments;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n asTypedArray = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;\n\n if (!isValidFetchUrl(url, document.baseURI)) {\n _context.next = 21;\n break;\n }\n\n _context.next = 4;\n return fetch(url);\n\n case 4:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 7;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 7:\n if (!asTypedArray) {\n _context.next = 15;\n break;\n }\n\n _context.t1 = Uint8Array;\n _context.next = 11;\n return response.arrayBuffer();\n\n case 11:\n _context.t2 = _context.sent;\n _context.t0 = new _context.t1(_context.t2);\n _context.next = 20;\n break;\n\n case 15:\n _context.t3 = _util.stringToBytes;\n _context.next = 18;\n return response.text();\n\n case 18:\n _context.t4 = _context.sent;\n _context.t0 = (0, _context.t3)(_context.t4);\n\n case 20:\n return _context.abrupt(\"return\", _context.t0);\n\n case 21:\n return _context.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var data;\n\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve(data);\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }));\n\n case 22:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetchData.apply(this, arguments);\n}\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(function (data) {\n return {\n cMapData: data,\n compressionType: compressionType\n };\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}(_base_factory.BaseCMapReaderFactory);\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) {\n _inherits(DOMStandardFontDataFactory, _BaseStandardFontData);\n\n var _super3 = _createSuper(DOMStandardFontDataFactory);\n\n function DOMStandardFontDataFactory() {\n _classCallCheck(this, DOMStandardFontDataFactory);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(DOMStandardFontDataFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url) {\n return fetchData(url, true);\n }\n }]);\n\n return DOMStandardFontDataFactory;\n}(_base_factory.BaseStandardFontDataFactory);\n\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\n\nvar DOMSVGFactory = /*#__PURE__*/function (_BaseSVGFactory) {\n _inherits(DOMSVGFactory, _BaseSVGFactory);\n\n var _super4 = _createSuper(DOMSVGFactory);\n\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n\n return _super4.apply(this, arguments);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"_createSVG\",\n value: function _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}(_base_factory.BaseSVGFactory);\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref2) {\n var viewBox = _ref2.viewBox,\n scale = _ref2.scale,\n rotation = _ref2.rotation,\n _ref2$offsetX = _ref2.offsetX,\n offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX,\n _ref2$offsetY = _ref2.offsetY,\n offsetY = _ref2$offsetY === void 0 ? 0 : _ref2$offsetY,\n _ref2$dontFlip = _ref2.dontFlip,\n dontFlip = _ref2$dontFlip === void 0 ? false : _ref2$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$scale = _ref3.scale,\n scale = _ref3$scale === void 0 ? this.scale : _ref3$scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotation : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? this.offsetX : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? this.offsetY : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super5 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super5.call(this, msg, \"RenderingCancelledException\");\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref4.url,\n target = _ref4.target,\n rel = _ref4.rel,\n _ref4$enabled = _ref4.enabled,\n enabled = _ref4$enabled === void 0 ? true : _ref4$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction isDataScheme(url) {\n var ii = url.length;\n var i = 0;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nfunction getPdfFilenameFromUrl(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nvar StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref5 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref5.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\nfunction getXfaPageViewport(xfaPage, _ref6) {\n var _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? 1 : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? 0 : _ref6$rotation;\n var _xfaPage$attributes$s = xfaPage.attributes.style,\n width = _xfaPage$attributes$s.width,\n height = _xfaPage$attributes$s.height;\n var viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox: viewBox,\n scale: scale,\n rotation: rotation\n });\n}\n\n/***/ }),\n/* 2 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n/* module decorator */ module = __w_pdfjs_require__.nmd(module);\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? 0 : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if ((typeof globalThis === \"undefined\" ? \"undefined\" : _typeof(globalThis)) === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createObjectURL = createObjectURL;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isSameOrigin = isSameOrigin;\nexports.isString = isString;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\n\n__w_pdfjs_require__(5);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nvar AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nvar DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nvar PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nvar StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!url) {\n return null;\n }\n\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n var dots = url.match(/\\./g);\n\n if (dots && dots.length >= 2) {\n url = \"http://\".concat(url);\n }\n }\n\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg, \"PasswordException\");\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg, \"UnknownErrorException\");\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException(msg) {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.call(this, msg, \"InvalidPDFException\");\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException(msg) {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.call(this, msg, \"MissingPDFException\");\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg, \"UnexpectedResponseException\");\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError(msg) {\n _classCallCheck(this, FormatError);\n\n return _super6.call(this, msg, \"FormatError\");\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException(msg) {\n _classCallCheck(this, AbortException);\n\n return _super7.call(this, msg, \"AbortException\");\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromMap(map) {\n var obj = Object.create(null);\n\n var _iterator = _createForOfIteratorHelper(map),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return obj;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\n\nvar hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {\n return n.toString(16).padStart(2, \"0\");\n});\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeHexColor\",\n value: function makeHexColor(r, g, b) {\n return \"#\".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt(Math.pow(a + d, 2) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, function (match) {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return \"\\\\\".concat(match);\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n var buf = [\"\\xFE\\xFF\"];\n\n for (var i = 0, ii = str.length; i < ii; i++) {\n var _char = str.charCodeAt(i);\n\n buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff));\n }\n\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n for (var i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nfunction createObjectURL(data) {\n var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (URL.createObjectURL && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(6);\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(7);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.DOMMatrix = __w_pdfjs_require__(60);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(61);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(89);\n })();\n\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(117).ReadableStream;\n })();\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 7 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(8);\nmodule.exports = __w_pdfjs_require__(10);\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(10);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 9 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar redefine = __w_pdfjs_require__(43);\nvar setGlobal = __w_pdfjs_require__(34);\nvar copyConstructorProperties = __w_pdfjs_require__(49);\nvar isForced = __w_pdfjs_require__(59);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 10 */\n/***/ ((module) => {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || function () {\n return this;\n}() || Function('return this')();\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(14);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar has = __w_pdfjs_require__(35);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(38);\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE)\n try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 12 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 13 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\n/***/ }),\n/* 15 */\n/***/ ((module) => {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 16 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IndexedObject = __w_pdfjs_require__(17);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 17 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar classof = __w_pdfjs_require__(18);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 18 */\n/***/ ((module) => {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 19 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 20 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar isSymbol = __w_pdfjs_require__(23);\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n\n/***/ }),\n/* 21 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isSymbol = __w_pdfjs_require__(23);\nvar ordinaryToPrimitive = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input))\n return input;\n var exoticToPrim = input[TO_PRIMITIVE];\n var result;\n if (exoticToPrim !== undefined) {\n if (pref === undefined)\n pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result))\n return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined)\n pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n\n/***/ }),\n/* 22 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(25);\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;\n};\n\n/***/ }),\n/* 24 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 25 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(26);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 26 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar V8_VERSION = __w_pdfjs_require__(27);\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n/***/ }),\n/* 27 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar userAgent = __w_pdfjs_require__(28);\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 28 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(24);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 29 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 30 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar shared = __w_pdfjs_require__(31);\nvar has = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(37);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(26);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(25);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 31 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_PURE = __w_pdfjs_require__(32);\nvar store = __w_pdfjs_require__(33);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.17.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 32 */\n/***/ ((module) => {\n\nmodule.exports = false;\n\n/***/ }),\n/* 33 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar setGlobal = __w_pdfjs_require__(34);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 34 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = function (key, value) {\n try {\n Object.defineProperty(global, key, {\n value: value,\n configurable: true,\n writable: true\n });\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 35 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toObject = __w_pdfjs_require__(36);\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n\n/***/ }),\n/* 36 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 37 */\n/***/ ((module) => {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 38 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(13);\nvar createElement = __w_pdfjs_require__(39);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 39 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 40 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(41);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 41 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(38);\nvar anObject = __w_pdfjs_require__(42);\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar $defineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return $defineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 42 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 43 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar has = __w_pdfjs_require__(35);\nvar setGlobal = __w_pdfjs_require__(34);\nvar inspectSource = __w_pdfjs_require__(44);\nvar InternalStateModule = __w_pdfjs_require__(45);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 44 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar store = __w_pdfjs_require__(33);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 45 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(46);\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar objectHas = __w_pdfjs_require__(35);\nvar shared = __w_pdfjs_require__(33);\nvar sharedKey = __w_pdfjs_require__(47);\nvar hiddenKeys = __w_pdfjs_require__(48);\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it))\n throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE))\n throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 46 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar inspectSource = __w_pdfjs_require__(44);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 47 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar shared = __w_pdfjs_require__(31);\nvar uid = __w_pdfjs_require__(37);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 48 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 49 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(35);\nvar ownKeys = __w_pdfjs_require__(50);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);\nvar definePropertyModule = __w_pdfjs_require__(41);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 50 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(51);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(58);\nvar anObject = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 51 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(52);\nvar enumBugKeys = __w_pdfjs_require__(57);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 52 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(35);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar indexOf = __w_pdfjs_require__(53).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(48);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 53 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toLength = __w_pdfjs_require__(54);\nvar toAbsoluteIndex = __w_pdfjs_require__(56);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 54 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(55);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 55 */\n/***/ ((module) => {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 56 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(55);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 57 */\n/***/ ((module) => {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 58 */\n/***/ ((__unused_webpack_module, exports) => {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 59 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 60 */\n/***/ ((module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n(function (global, factory) {\n ( false ? 0 : _typeof(exports)) === 'object' && \"object\" !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __w_pdfjs_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (0);\n})(void 0, function () {\n 'use strict';\n\n var CSSMatrix = function CSSMatrix() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n this.setIdentity();\n return args && args.length && this.setMatrixValue(args);\n };\n\n var prototypeAccessors = {\n isIdentity: {\n configurable: true\n },\n is2D: {\n configurable: true\n }\n };\n\n prototypeAccessors.isIdentity.get = function () {\n var m = this;\n return m.m11 === 1 && m.m12 === 0 && m.m13 === 0 && m.m14 === 0 && m.m21 === 0 && m.m22 === 1 && m.m23 === 0 && m.m24 === 0 && m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0 && m.m41 === 0 && m.m42 === 0 && m.m43 === 0 && m.m44 === 1;\n };\n\n prototypeAccessors.isIdentity.set = function (value) {\n this.isIdentity = value;\n };\n\n prototypeAccessors.is2D.get = function () {\n var m = this;\n return m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0 && m.m43 === 0 && m.m44 === 1;\n };\n\n prototypeAccessors.is2D.set = function (value) {\n this.is2D = value;\n };\n\n Object.defineProperties(CSSMatrix.prototype, prototypeAccessors);\n var CSSMatrixProto = CSSMatrix.prototype;\n\n function Translate(x, y, z) {\n var m = new CSSMatrix();\n m.m41 = x;\n m.e = x;\n m.m42 = y;\n m.f = y;\n m.m43 = z;\n return m;\n }\n\n function Rotate(rx, ry, rz) {\n var m = new CSSMatrix();\n var radX = rx * Math.PI / 180;\n var radY = ry * Math.PI / 180;\n var radZ = rz * Math.PI / 180;\n var cosx = Math.cos(radX);\n var sinx = -Math.sin(radX);\n var cosy = Math.cos(radY);\n var siny = -Math.sin(radY);\n var cosz = Math.cos(radZ);\n var sinz = -Math.sin(radZ);\n var cycz = cosy * cosz;\n var cysz = -cosy * sinz;\n m.m11 = cycz;\n m.a = cycz;\n m.m12 = cysz;\n m.b = cysz;\n m.m13 = siny;\n var sxsy = sinx * siny * cosz + cosx * sinz;\n m.m21 = sxsy;\n m.c = sxsy;\n var cxcz = cosx * cosz - sinx * siny * sinz;\n m.m22 = cxcz;\n m.d = cxcz;\n m.m23 = -sinx * cosy;\n m.m31 = sinx * sinz - cosx * siny * cosz;\n m.m32 = sinx * cosz + cosx * siny * sinz;\n m.m33 = cosx * cosy;\n return m;\n }\n\n function RotateAxisAngle(x, y, z, angle) {\n var m = new CSSMatrix();\n var radA = angle * Math.PI / 360;\n var sinA = Math.sin(radA);\n var cosA = Math.cos(radA);\n var sinA2 = sinA * sinA;\n var length = Math.sqrt(x * x + y * y + z * z);\n var X = 0;\n var Y = 0;\n var Z = 1;\n\n if (length !== 0) {\n X = x / length;\n Y = y / length;\n Z = z / length;\n }\n\n var x2 = X * X;\n var y2 = Y * Y;\n var z2 = Z * Z;\n var m11 = 1 - 2 * (y2 + z2) * sinA2;\n m.m11 = m11;\n m.a = m11;\n var m12 = 2 * (x * y * sinA2 + z * sinA * cosA);\n m.m12 = m12;\n m.b = m12;\n m.m13 = 2 * (x * z * sinA2 - y * sinA * cosA);\n var m21 = 2 * (y * x * sinA2 - z * sinA * cosA);\n m.m21 = m21;\n m.c = m21;\n var m22 = 1 - 2 * (z2 + x2) * sinA2;\n m.m22 = m22;\n m.d = m22;\n m.m23 = 2 * (y * z * sinA2 + x * sinA * cosA);\n m.m31 = 2 * (z * x * sinA2 + y * sinA * cosA);\n m.m32 = 2 * (z * y * sinA2 - x * sinA * cosA);\n m.m33 = 1 - 2 * (x2 + y2) * sinA2;\n m.m14 = 0;\n m.m24 = 0;\n m.m34 = 0;\n m.m41 = 0;\n m.e = 0;\n m.m42 = 0;\n m.f = 0;\n m.m43 = 0;\n m.m44 = 1;\n return m;\n }\n\n function Scale(x, y, z) {\n var m = new CSSMatrix();\n m.m11 = x;\n m.a = x;\n m.m22 = y;\n m.d = y;\n m.m33 = z;\n return m;\n }\n\n function SkewX(angle) {\n var radA = angle * Math.PI / 180;\n var m = new CSSMatrix();\n var t = Math.tan(radA);\n m.m21 = t;\n m.c = t;\n return m;\n }\n\n function SkewY(angle) {\n var radA = angle * Math.PI / 180;\n var m = new CSSMatrix();\n var t = Math.tan(radA);\n m.m12 = t;\n m.b = t;\n return m;\n }\n\n function Multiply(m1, m2) {\n var m11 = m2.m11 * m1.m11 + m2.m12 * m1.m21 + m2.m13 * m1.m31 + m2.m14 * m1.m41;\n var m12 = m2.m11 * m1.m12 + m2.m12 * m1.m22 + m2.m13 * m1.m32 + m2.m14 * m1.m42;\n var m13 = m2.m11 * m1.m13 + m2.m12 * m1.m23 + m2.m13 * m1.m33 + m2.m14 * m1.m43;\n var m14 = m2.m11 * m1.m14 + m2.m12 * m1.m24 + m2.m13 * m1.m34 + m2.m14 * m1.m44;\n var m21 = m2.m21 * m1.m11 + m2.m22 * m1.m21 + m2.m23 * m1.m31 + m2.m24 * m1.m41;\n var m22 = m2.m21 * m1.m12 + m2.m22 * m1.m22 + m2.m23 * m1.m32 + m2.m24 * m1.m42;\n var m23 = m2.m21 * m1.m13 + m2.m22 * m1.m23 + m2.m23 * m1.m33 + m2.m24 * m1.m43;\n var m24 = m2.m21 * m1.m14 + m2.m22 * m1.m24 + m2.m23 * m1.m34 + m2.m24 * m1.m44;\n var m31 = m2.m31 * m1.m11 + m2.m32 * m1.m21 + m2.m33 * m1.m31 + m2.m34 * m1.m41;\n var m32 = m2.m31 * m1.m12 + m2.m32 * m1.m22 + m2.m33 * m1.m32 + m2.m34 * m1.m42;\n var m33 = m2.m31 * m1.m13 + m2.m32 * m1.m23 + m2.m33 * m1.m33 + m2.m34 * m1.m43;\n var m34 = m2.m31 * m1.m14 + m2.m32 * m1.m24 + m2.m33 * m1.m34 + m2.m34 * m1.m44;\n var m41 = m2.m41 * m1.m11 + m2.m42 * m1.m21 + m2.m43 * m1.m31 + m2.m44 * m1.m41;\n var m42 = m2.m41 * m1.m12 + m2.m42 * m1.m22 + m2.m43 * m1.m32 + m2.m44 * m1.m42;\n var m43 = m2.m41 * m1.m13 + m2.m42 * m1.m23 + m2.m43 * m1.m33 + m2.m44 * m1.m43;\n var m44 = m2.m41 * m1.m14 + m2.m42 * m1.m24 + m2.m43 * m1.m34 + m2.m44 * m1.m44;\n return new CSSMatrix([m11, m21, m31, m41, m12, m22, m32, m42, m13, m23, m33, m43, m14, m24, m34, m44]);\n }\n\n function fromMatrix(m) {\n return new CSSMatrix([m.m11, m.m21, m.m31, m.m41, m.m12, m.m22, m.m32, m.m42, m.m13, m.m23, m.m33, m.m43, m.m14, m.m24, m.m34, m.m44]);\n }\n\n function feedFromArray(m, array) {\n var a = Array.from(array);\n\n if (a.length === 16) {\n var m11 = a[0];\n var m21 = a[1];\n var m31 = a[2];\n var m41 = a[3];\n var m12 = a[4];\n var m22 = a[5];\n var m32 = a[6];\n var m42 = a[7];\n var m13 = a[8];\n var m23 = a[9];\n var m33 = a[10];\n var m43 = a[11];\n var m14 = a[12];\n var m24 = a[13];\n var m34 = a[14];\n var m44 = a[15];\n m.m11 = m11;\n m.a = m11;\n m.m21 = m21;\n m.c = m21;\n m.m31 = m31;\n m.m41 = m41;\n m.e = m41;\n m.m12 = m12;\n m.b = m12;\n m.m22 = m22;\n m.d = m22;\n m.m32 = m32;\n m.m42 = m42;\n m.f = m42;\n m.m13 = m13;\n m.m23 = m23;\n m.m33 = m33;\n m.m43 = m43;\n m.m14 = m14;\n m.m24 = m24;\n m.m34 = m34;\n m.m44 = m44;\n } else if (a.length === 6) {\n var m11$1 = a[0];\n var m12$1 = a[1];\n var m21$1 = a[2];\n var m22$1 = a[3];\n var m14$1 = a[4];\n var m24$1 = a[5];\n m.m11 = m11$1;\n m.a = m11$1;\n m.m12 = m12$1;\n m.b = m12$1;\n m.m21 = m21$1;\n m.c = m21$1;\n m.m22 = m22$1;\n m.d = m22$1;\n m.m14 = m14$1;\n m.e = m14$1;\n m.m24 = m24$1;\n m.f = m24$1;\n } else {\n throw new TypeError('CSSMatrix: expecting a 6/16 values Array');\n }\n\n return m;\n }\n\n function fromArray(a) {\n return feedFromArray(new CSSMatrix(), a);\n }\n\n CSSMatrixProto.setMatrixValue = function setMatrixValue(source) {\n var m = this;\n\n if (!source || !source.length) {\n return m;\n }\n\n if (source.length && typeof source[0] === 'string' && source[0].length) {\n var string = String(source[0]).trim();\n var type = '';\n var values = [];\n\n if (string === 'none') {\n return m;\n }\n\n type = string.slice(0, string.indexOf('('));\n values = string.slice(type === 'matrix' ? 7 : 9, -1).split(',').map(function (n) {\n return Math.abs(n) < 1e-6 ? 0 : +n;\n });\n\n if ([6, 16].indexOf(values.length) > -1) {\n feedFromArray(m, values);\n } else {\n throw new TypeError('CSSMatrix: expecting valid CSS matrix() / matrix3d() syntax');\n }\n } else if (source[0] instanceof CSSMatrix) {\n feedFromArray(m, source[0].toArray());\n } else if (Array.isArray(source[0])) {\n feedFromArray(m, source[0]);\n } else if (Array.isArray(source)) {\n feedFromArray(m, source);\n }\n\n return m;\n };\n\n CSSMatrixProto.toString = function toString() {\n var m = this;\n var type = m.is2D ? 'matrix' : 'matrix3d';\n return type + \"(\" + m.toArray(1).join(',') + \")\";\n };\n\n CSSMatrixProto.toArray = function toArray(transposed) {\n var m = this;\n var result;\n\n if (m.is2D) {\n result = [m.a, m.b, m.c, m.d, m.e, m.f];\n } else if (transposed) {\n result = [m.m11, m.m12, m.m13, m.m14, m.m21, m.m22, m.m23, m.m24, m.m31, m.m32, m.m33, m.m34, m.m41, m.m42, m.m43, m.m44];\n } else {\n result = [m.m11, m.m21, m.m31, m.m41, m.m12, m.m22, m.m32, m.m42, m.m13, m.m23, m.m33, m.m43, m.m14, m.m24, m.m34, m.m44];\n }\n\n return result;\n };\n\n CSSMatrixProto.multiply = function multiply(m2) {\n return Multiply(this, m2);\n };\n\n CSSMatrixProto.translate = function translate(x, y, z) {\n var X = x;\n var Y = y;\n var Z = z;\n\n if (Z == null) {\n Z = 0;\n }\n\n if (Y == null) {\n Y = 0;\n }\n\n return Multiply(this, Translate(X, Y, Z));\n };\n\n CSSMatrixProto.scale = function scale(x, y, z) {\n var X = x;\n var Y = y;\n var Z = z;\n\n if (Y == null) {\n Y = x;\n }\n\n if (Z == null) {\n Z = x;\n }\n\n return Multiply(this, Scale(X, Y, Z));\n };\n\n CSSMatrixProto.rotate = function rotate(rx, ry, rz) {\n var RX = rx;\n var RY = ry;\n var RZ = rz;\n\n if (RY == null) {\n RY = 0;\n }\n\n if (RZ == null) {\n RZ = RX;\n RX = 0;\n }\n\n return Multiply(this, Rotate(RX, RY, RZ));\n };\n\n CSSMatrixProto.rotateAxisAngle = function rotateAxisAngle(x, y, z, angle) {\n if (arguments.length !== 4) {\n throw new TypeError('CSSMatrix: expecting 4 values');\n }\n\n return Multiply(this, RotateAxisAngle(x, y, z, angle));\n };\n\n CSSMatrixProto.skewX = function skewX(angle) {\n return Multiply(this, SkewX(angle));\n };\n\n CSSMatrixProto.skewY = function skewY(angle) {\n return Multiply(this, SkewY(angle));\n };\n\n CSSMatrixProto.setIdentity = function setIdentity() {\n var identity = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n return feedFromArray(this, identity);\n };\n\n CSSMatrixProto.transformPoint = function transformPoint(v) {\n var M = this;\n var m = Translate(v.x, v.y, v.z);\n m.m44 = v.w || 1;\n m = M.multiply(m);\n return {\n x: m.m41,\n y: m.m42,\n z: m.m43,\n w: m.m44\n };\n };\n\n CSSMatrixProto.transform = function transform(t) {\n var m = this;\n var x = m.m11 * t.x + m.m12 * t.y + m.m13 * t.z + m.m14 * t.w;\n var y = m.m21 * t.x + m.m22 * t.y + m.m23 * t.z + m.m24 * t.w;\n var z = m.m31 * t.x + m.m32 * t.y + m.m33 * t.z + m.m34 * t.w;\n var w = m.m41 * t.x + m.m42 * t.y + m.m43 * t.z + m.m44 * t.w;\n return {\n x: x / w,\n y: y / w,\n z: z / w,\n w: w\n };\n };\n\n CSSMatrix.Translate = Translate;\n CSSMatrix.Rotate = Rotate;\n CSSMatrix.RotateAxisAngle = RotateAxisAngle;\n CSSMatrix.Scale = Scale;\n CSSMatrix.SkewX = SkewX;\n CSSMatrix.SkewY = SkewY;\n CSSMatrix.Multiply = Multiply;\n CSSMatrix.fromMatrix = fromMatrix;\n CSSMatrix.fromArray = fromArray;\n CSSMatrix.feedFromArray = feedFromArray;\n return CSSMatrix;\n});\n\n/***/ }),\n/* 61 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(62);\n__w_pdfjs_require__(77);\nvar path = __w_pdfjs_require__(88);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 62 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar addToUnscopables = __w_pdfjs_require__(63);\nvar Iterators = __w_pdfjs_require__(68);\nvar InternalStateModule = __w_pdfjs_require__(45);\nvar defineIterator = __w_pdfjs_require__(69);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 63 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar create = __w_pdfjs_require__(64);\nvar definePropertyModule = __w_pdfjs_require__(41);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 64 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar defineProperties = __w_pdfjs_require__(65);\nvar enumBugKeys = __w_pdfjs_require__(57);\nvar hiddenKeys = __w_pdfjs_require__(48);\nvar html = __w_pdfjs_require__(67);\nvar documentCreateElement = __w_pdfjs_require__(39);\nvar sharedKey = __w_pdfjs_require__(47);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 65 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(41);\nvar anObject = __w_pdfjs_require__(42);\nvar objectKeys = __w_pdfjs_require__(66);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 66 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(52);\nvar enumBugKeys = __w_pdfjs_require__(57);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 67 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(24);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 68 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 69 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar createIteratorConstructor = __w_pdfjs_require__(70);\nvar getPrototypeOf = __w_pdfjs_require__(72);\nvar setPrototypeOf = __w_pdfjs_require__(75);\nvar setToStringTag = __w_pdfjs_require__(74);\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar redefine = __w_pdfjs_require__(43);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar IS_PURE = __w_pdfjs_require__(32);\nvar Iterators = __w_pdfjs_require__(68);\nvar IteratorsCore = __w_pdfjs_require__(71);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 70 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(71).IteratorPrototype;\nvar create = __w_pdfjs_require__(64);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar setToStringTag = __w_pdfjs_require__(74);\nvar Iterators = __w_pdfjs_require__(68);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 71 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar fails = __w_pdfjs_require__(13);\nvar create = __w_pdfjs_require__(64);\nvar getPrototypeOf = __w_pdfjs_require__(72);\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar IS_PURE = __w_pdfjs_require__(32);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\nif (NEW_ITERATOR_PROTOTYPE)\n IteratorPrototype = {};\nelse if (IS_PURE)\n IteratorPrototype = create(IteratorPrototype);\nif (typeof IteratorPrototype[ITERATOR] !== 'function') {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 72 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(35);\nvar toObject = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(47);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(73);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 73 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 74 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar defineProperty = __w_pdfjs_require__(41).f;\nvar has = __w_pdfjs_require__(35);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 75 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar aPossiblePrototype = __w_pdfjs_require__(76);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 76 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 77 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar iterate = __w_pdfjs_require__(78);\nvar createProperty = __w_pdfjs_require__(87);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n\n/***/ }),\n/* 78 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar isArrayIteratorMethod = __w_pdfjs_require__(79);\nvar toLength = __w_pdfjs_require__(54);\nvar bind = __w_pdfjs_require__(80);\nvar getIterator = __w_pdfjs_require__(82);\nvar getIteratorMethod = __w_pdfjs_require__(83);\nvar iteratorClose = __w_pdfjs_require__(86);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n var stop = function (condition) {\n if (iterator)\n iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n }\n return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\n\n/***/ }),\n/* 79 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar Iterators = __w_pdfjs_require__(68);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 80 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar aFunction = __w_pdfjs_require__(81);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 81 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 82 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar getIteratorMethod = __w_pdfjs_require__(83);\nmodule.exports = function (it, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 83 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(84);\nvar Iterators = __w_pdfjs_require__(68);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 84 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85);\nvar classofRaw = __w_pdfjs_require__(18);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 85 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 86 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = iterator['return'];\n if (innerResult === undefined) {\n if (kind === 'throw')\n throw value;\n return value;\n }\n innerResult = innerResult.call(iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw')\n throw value;\n if (innerError)\n throw innerResult;\n anObject(innerResult);\n return value;\n};\n\n/***/ }),\n/* 87 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar definePropertyModule = __w_pdfjs_require__(41);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 88 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global;\n\n/***/ }),\n/* 89 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(90);\n__w_pdfjs_require__(62);\n__w_pdfjs_require__(92);\n__w_pdfjs_require__(94);\n__w_pdfjs_require__(112);\n__w_pdfjs_require__(113);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(115);\nvar path = __w_pdfjs_require__(88);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 90 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar getPrototypeOf = __w_pdfjs_require__(72);\nvar setPrototypeOf = __w_pdfjs_require__(75);\nvar create = __w_pdfjs_require__(64);\nvar createNonEnumerableProperty = __w_pdfjs_require__(40);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar iterate = __w_pdfjs_require__(78);\nvar toString = __w_pdfjs_require__(91);\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError))\n return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined)\n createNonEnumerableProperty(that, 'message', toString(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n$({ global: true }, { AggregateError: $AggregateError });\n\n/***/ }),\n/* 91 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isSymbol = __w_pdfjs_require__(23);\nmodule.exports = function (argument) {\n if (isSymbol(argument))\n throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n\n/***/ }),\n/* 92 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85);\nvar redefine = __w_pdfjs_require__(43);\nvar toString = __w_pdfjs_require__(93);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 93 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85);\nvar classof = __w_pdfjs_require__(84);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 94 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(32);\nvar global = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar NativePromise = __w_pdfjs_require__(95);\nvar redefine = __w_pdfjs_require__(43);\nvar redefineAll = __w_pdfjs_require__(96);\nvar setPrototypeOf = __w_pdfjs_require__(75);\nvar setToStringTag = __w_pdfjs_require__(74);\nvar setSpecies = __w_pdfjs_require__(97);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(81);\nvar anInstance = __w_pdfjs_require__(98);\nvar inspectSource = __w_pdfjs_require__(44);\nvar iterate = __w_pdfjs_require__(78);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(99);\nvar speciesConstructor = __w_pdfjs_require__(100);\nvar task = __w_pdfjs_require__(101).set;\nvar microtask = __w_pdfjs_require__(104);\nvar promiseResolve = __w_pdfjs_require__(107);\nvar hostReportErrors = __w_pdfjs_require__(109);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(108);\nvar perform = __w_pdfjs_require__(110);\nvar InternalStateModule = __w_pdfjs_require__(45);\nvar isForced = __w_pdfjs_require__(59);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar IS_BROWSER = __w_pdfjs_require__(111);\nvar IS_NODE = __w_pdfjs_require__(103);\nvar V8_VERSION = __w_pdfjs_require__(27);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66)\n return true;\n if (IS_PURE && !PromiseConstructorPrototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE))\n return false;\n var promise = new PromiseConstructor(function (resolve) {\n resolve(1);\n });\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () {\n }) instanceof FakePromise;\n if (!SUBCLASSING)\n return true;\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name]))\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\nvar internalReject = function (state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\nvar internalResolve = function (state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (state.facade === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state));\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n if (!SUBCLASSING) {\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) {\n }\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 95 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 96 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar redefine = __w_pdfjs_require__(43);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 97 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar definePropertyModule = __w_pdfjs_require__(41);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 98 */\n/***/ ((module) => {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 99 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 100 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar aFunction = __w_pdfjs_require__(81);\nvar wellKnownSymbol = __w_pdfjs_require__(30);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 101 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(13);\nvar bind = __w_pdfjs_require__(80);\nvar html = __w_pdfjs_require__(67);\nvar createElement = __w_pdfjs_require__(39);\nvar IS_IOS = __w_pdfjs_require__(102);\nvar IS_NODE = __w_pdfjs_require__(103);\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\ntry {\n location = global.location;\n} catch (error) {\n}\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var argumentsLength = arguments.length;\n var i = 1;\n while (argumentsLength > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 102 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(28);\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 103 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(18);\nvar global = __w_pdfjs_require__(10);\nmodule.exports = classof(global.process) == 'process';\n\n/***/ }),\n/* 104 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar macrotask = __w_pdfjs_require__(101).set;\nvar IS_IOS = __w_pdfjs_require__(102);\nvar IS_IOS_PEBBLE = __w_pdfjs_require__(105);\nvar IS_WEBOS_WEBKIT = __w_pdfjs_require__(106);\nvar IS_NODE = __w_pdfjs_require__(103);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 105 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(28);\nvar global = __w_pdfjs_require__(10);\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n\n/***/ }),\n/* 106 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(28);\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n\n/***/ }),\n/* 107 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(42);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(108);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 108 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(81);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 109 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 110 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 111 */\n/***/ ((module) => {\n\nmodule.exports = typeof window == 'object';\n\n/***/ }),\n/* 112 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(81);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(108);\nvar perform = __w_pdfjs_require__(110);\nvar iterate = __w_pdfjs_require__(78);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: error\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 113 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(81);\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(108);\nvar perform = __w_pdfjs_require__(110);\nvar iterate = __w_pdfjs_require__(78);\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n$({\n target: 'Promise',\n stat: true\n}, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved)\n return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved)\n return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 114 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(32);\nvar NativePromise = __w_pdfjs_require__(95);\nvar fails = __w_pdfjs_require__(13);\nvar getBuiltIn = __w_pdfjs_require__(24);\nvar speciesConstructor = __w_pdfjs_require__(100);\nvar promiseResolve = __w_pdfjs_require__(107);\nvar redefine = __w_pdfjs_require__(43);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n\n/***/ }),\n/* 115 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(116).charAt;\nvar toString = __w_pdfjs_require__(91);\nvar InternalStateModule = __w_pdfjs_require__(45);\nvar defineIterator = __w_pdfjs_require__(69);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 116 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(55);\nvar toString = __w_pdfjs_require__(91);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(__unused_webpack_module, exports) {\n\n(function (global, factory) {\n true ? factory(exports) : 0;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n return undefined;\n }\n function getGlobals() {\n if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n }\n var globals = getGlobals();\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n var rethrowAssertionErrorRejection = noop;\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var queueMicrotask = function () {\n var globalQueueMicrotask = globals && globals.queueMicrotask;\n if (typeof globalQueueMicrotask === 'function') {\n return globalQueueMicrotask;\n }\n var resolvedPromise = promiseResolvedWith(undefined);\n return function (fn) {\n return PerformPromiseThen(resolvedPromise, fn);\n };\n }();\n function reflectCall(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function promiseCall(F, V, args) {\n try {\n return promiseResolvedWith(reflectCall(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n if (reader._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n if (reader._closedPromise_resolve === undefined) {\n return;\n }\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n var NumberIsFinite = Number.isFinite || function (x) {\n return typeof x === 'number' && isFinite(x);\n };\n var MathTrunc = Math.trunc || function (v) {\n return v < 0 ? Math.ceil(v) : Math.floor(v);\n };\n function isDictionary(x) {\n return typeof x === 'object' || typeof x === 'function';\n }\n function assertDictionary(obj, context) {\n if (obj !== undefined && !isDictionary(obj)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertFunction(x, context) {\n if (typeof x !== 'function') {\n throw new TypeError(context + \" is not a function.\");\n }\n }\n function isObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function assertObject(x, context) {\n if (!isObject(x)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertRequiredArgument(x, position, context) {\n if (x === undefined) {\n throw new TypeError(\"Parameter \" + position + \" is required in '\" + context + \"'.\");\n }\n }\n function assertRequiredField(x, field, context) {\n if (x === undefined) {\n throw new TypeError(field + \" is required in '\" + context + \"'.\");\n }\n }\n function convertUnrestrictedDouble(value) {\n return Number(value);\n }\n function censorNegativeZero(x) {\n return x === 0 ? 0 : x;\n }\n function integerPart(x) {\n return censorNegativeZero(MathTrunc(x));\n }\n function convertUnsignedLongLongWithEnforceRange(value, context) {\n var lowerBound = 0;\n var upperBound = Number.MAX_SAFE_INTEGER;\n var x = Number(value);\n x = censorNegativeZero(x);\n if (!NumberIsFinite(x)) {\n throw new TypeError(context + \" is not a finite number\");\n }\n x = integerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(context + \" is outside the accepted range of \" + lowerBound + \" to \" + upperBound + \", inclusive\");\n }\n if (!NumberIsFinite(x) || x === 0) {\n return 0;\n }\n return x;\n }\n function assertReadableStream(x, context) {\n if (!IsReadableStream(x)) {\n throw new TypeError(context + \" is not a ReadableStream.\");\n }\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function ReadableStreamAddReadRequest(stream, readRequest) {\n stream._reader._readRequests.push(readRequest);\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n if (done) {\n readRequest._closeSteps();\n } else {\n readRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: false\n });\n },\n _closeSteps: function () {\n return resolvePromise({\n value: undefined,\n done: true\n });\n },\n _errorSteps: function (e) {\n return rejectPromise(e);\n }\n };\n ReadableStreamDefaultReaderRead(this, readRequest);\n return promise;\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n Object.defineProperties(ReadableStreamDefaultReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultReader',\n configurable: true\n });\n }\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return x instanceof ReadableStreamDefaultReader;\n }\n function ReadableStreamDefaultReaderRead(reader, readRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n readRequest._closeSteps();\n } else if (stream._state === 'errored') {\n readRequest._errorSteps(stream._storedError);\n } else {\n stream._readableStreamController[PullSteps](readRequest);\n }\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorImpl = function () {\n function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {\n this._ongoingPromise = undefined;\n this._isFinished = false;\n this._reader = reader;\n this._preventCancel = preventCancel;\n }\n ReadableStreamAsyncIteratorImpl.prototype.next = function () {\n var _this = this;\n var nextSteps = function () {\n return _this._nextSteps();\n };\n this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();\n return this._ongoingPromise;\n };\n ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {\n var _this = this;\n var returnSteps = function () {\n return _this._returnSteps(value);\n };\n return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();\n };\n ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {\n var _this = this;\n if (this._isFinished) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n _this._ongoingPromise = undefined;\n queueMicrotask(function () {\n return resolvePromise({\n value: chunk,\n done: false\n });\n });\n },\n _closeSteps: function () {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n resolvePromise({\n value: undefined,\n done: true\n });\n },\n _errorSteps: function (reason) {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n rejectPromise(reason);\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promise;\n };\n ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {\n if (this._isFinished) {\n return Promise.resolve({\n value: value,\n done: true\n });\n }\n this._isFinished = true;\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (!this._preventCancel) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return {\n value: value,\n done: true\n };\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith({\n value: value,\n done: true\n });\n };\n return ReadableStreamAsyncIteratorImpl;\n }();\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n return this._asyncIteratorImpl.next();\n },\n return: function (value) {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n }\n return this._asyncIteratorImpl.return(value);\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorImpl = impl;\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n return false;\n }\n try {\n return x._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl;\n } catch (_a) {\n return false;\n }\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n function CreateArrayFromList(elements) {\n return elements.slice();\n }\n function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ArrayBufferSlice(buffer, begin, end) {\n if (buffer.slice) {\n return buffer.slice(begin, end);\n }\n var length = end - begin;\n var slice = new ArrayBuffer(length);\n CopyDataBlockBytes(slice, 0, buffer, begin, length);\n return slice;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function CloneAsUint8Array(O) {\n var buffer = ArrayBufferSlice(O.buffer, O.byteOffset, O.byteOffset + O.byteLength);\n return new Uint8Array(buffer);\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n if (!IsNonNegativeNumber(size) || size === Infinity) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respond');\n }\n assertRequiredArgument(bytesWritten, 1, 'respond');\n bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer));\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respondWithNewView');\n }\n assertRequiredArgument(view, 1, 'respondWithNewView');\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(view.buffer));\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n Object.defineProperties(ReadableStreamBYOBRequest.prototype, {\n respond: { enumerable: true },\n respondWithNewView: { enumerable: true },\n view: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBRequest',\n configurable: true\n });\n }\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n return ReadableByteStreamControllerGetBYOBRequest(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n assertRequiredArgument(chunk, 1, 'enqueue');\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('chunk must be an array buffer view');\n }\n if (chunk.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (chunk.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._closeRequested) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (e === void 0) {\n e = undefined;\n }\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n ReadableByteStreamControllerClearPendingPullIntos(this);\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n readRequest._chunkSteps(view);\n return;\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n readRequest._errorSteps(bufferE);\n return;\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n bufferByteLength: autoAllocateChunkSize,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n };\n return ReadableByteStreamController;\n }();\n Object.defineProperties(ReadableByteStreamController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n byobRequest: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableByteStreamController',\n configurable: true\n });\n }\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return x instanceof ReadableByteStreamController;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return x instanceof ReadableStreamBYOBRequest;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === null) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = null;\n controller._byobRequest = null;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n bufferByteLength: buffer.byteLength,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n viewConstructor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n return;\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n readIntoRequest._closeSteps(emptyView);\n return;\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n readIntoRequest._chunkSteps(filledView);\n return;\n }\n if (controller._closeRequested) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n readIntoRequest._errorSteps(e);\n return;\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream)) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = ArrayBufferSlice(pullIntoDescriptor.buffer, end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n ReadableByteStreamControllerRespondInClosedState(controller);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (IsDetachedBuffer(firstPendingPullInto.buffer));\n firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);\n }\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n if (ReadableStreamHasDefaultReader(stream)) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream)) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetBYOBRequest(controller) {\n if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, controller, view);\n controller._byobRequest = byobRequest;\n }\n return controller._byobRequest;\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableByteStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n } else {\n if (bytesWritten === 0) {\n throw new TypeError('bytesWritten must be greater than 0 when calling respond() on a readable stream');\n }\n if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n }\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n if (view.byteLength !== 0) {\n throw new TypeError('The view\\'s length must be 0 when calling respondWithNewView() on a closed stream');\n }\n } else {\n if (view.byteLength === 0) {\n throw new TypeError('The view\\'s length must be greater than 0 when calling respondWithNewView() on a readable stream');\n }\n }\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {\n throw new RangeError('The region specified by view is larger than byobRequest');\n }\n firstDescriptor.buffer = TransferArrayBuffer(view.buffer);\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = null;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n var startAlgorithm = function () {\n return undefined;\n };\n var pullAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var cancelAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingByteSource.start !== undefined) {\n startAlgorithm = function () {\n return underlyingByteSource.start(controller);\n };\n }\n if (underlyingByteSource.pull !== undefined) {\n pullAlgorithm = function () {\n return underlyingByteSource.pull(controller);\n };\n }\n if (underlyingByteSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) {\n return underlyingByteSource.cancel(reason);\n };\n }\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize === 0) {\n throw new TypeError('autoAllocateChunkSize must be greater than 0');\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {\n stream._reader._readIntoRequests.push(readIntoRequest);\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n if (done) {\n readIntoRequest._closeSteps(chunk);\n } else {\n readIntoRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n if (!IsReadableByteStreamController(stream._readableStreamController)) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n if (view.buffer.byteLength === 0) {\n return promiseRejectedWith(new TypeError(\"view's buffer must have non-zero byteLength\"));\n }\n if (IsDetachedBuffer(view.buffer));\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readIntoRequest = {\n _chunkSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: false\n });\n },\n _closeSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: true\n });\n },\n _errorSteps: function (e) {\n return rejectPromise(e);\n }\n };\n ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n return promise;\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n Object.defineProperties(ReadableStreamBYOBReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBReader',\n configurable: true\n });\n }\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return x instanceof ReadableStreamBYOBReader;\n }\n function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n readIntoRequest._errorSteps(stream._storedError);\n } else {\n ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);\n }\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n function ExtractHighWaterMark(strategy, defaultHWM) {\n var highWaterMark = strategy.highWaterMark;\n if (highWaterMark === undefined) {\n return defaultHWM;\n }\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('Invalid highWaterMark');\n }\n return highWaterMark;\n }\n function ExtractSizeAlgorithm(strategy) {\n var size = strategy.size;\n if (!size) {\n return function () {\n return 1;\n };\n }\n return size;\n }\n function convertQueuingStrategy(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n var size = init === null || init === void 0 ? void 0 : init.size;\n return {\n highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n size: size === undefined ? undefined : convertQueuingStrategySize(size, context + \" has member 'size' that\")\n };\n }\n function convertQueuingStrategySize(fn, context) {\n assertFunction(fn, context);\n return function (chunk) {\n return convertUnrestrictedDouble(fn(chunk));\n };\n }\n function convertUnderlyingSink(original, context) {\n assertDictionary(original, context);\n var abort = original === null || original === void 0 ? void 0 : original.abort;\n var close = original === null || original === void 0 ? void 0 : original.close;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n var write = original === null || original === void 0 ? void 0 : original.write;\n return {\n abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + \" has member 'abort' that\"),\n close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + \" has member 'close' that\"),\n start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + \" has member 'start' that\"),\n write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + \" has member 'write' that\"),\n type: type\n };\n }\n function convertUnderlyingSinkAbortCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) {\n return promiseCall(fn, original, [reason]);\n };\n }\n function convertUnderlyingSinkCloseCallback(fn, original, context) {\n assertFunction(fn, context);\n return function () {\n return promiseCall(fn, original, []);\n };\n }\n function convertUnderlyingSinkStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertUnderlyingSinkWriteCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) {\n return promiseCall(fn, original, [\n chunk,\n controller\n ]);\n };\n }\n function assertWritableStream(x, context) {\n if (!IsWritableStream(x)) {\n throw new TypeError(context + \" is not a WritableStream.\");\n }\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var supportsAbortController = typeof AbortController === 'function';\n function createAbortController() {\n if (supportsAbortController) {\n return new AbortController();\n }\n return undefined;\n }\n var WritableStream = function () {\n function WritableStream(rawUnderlyingSink, rawStrategy) {\n if (rawUnderlyingSink === void 0) {\n rawUnderlyingSink = {};\n }\n if (rawStrategy === void 0) {\n rawStrategy = {};\n }\n if (rawUnderlyingSink === undefined) {\n rawUnderlyingSink = null;\n } else {\n assertObject(rawUnderlyingSink, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n InitializeWritableStream(this);\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('abort'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('close'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n Object.defineProperties(WritableStream.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n getWriter: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStream',\n configurable: true\n });\n }\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return x instanceof WritableStream;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var _a;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n stream._writableStreamController._abortReason = reason;\n (_a = stream._writableStreamController._abortController) === null || _a === void 0 ? void 0 : _a.abort();\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (!wasAlreadyErroring) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n assertWritableStream(stream, 'First parameter');\n if (IsWritableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: false,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n Object.defineProperties(WritableStreamDefaultWriter.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n releaseLock: { enumerable: true },\n write: { enumerable: true },\n closed: { enumerable: true },\n desiredSize: { enumerable: true },\n ready: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultWriter',\n configurable: true\n });\n }\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return x instanceof WritableStreamDefaultWriter;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var closeSentinel = {};\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(WritableStreamDefaultController.prototype, \"abortReason\", {\n get: function () {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('abortReason');\n }\n return this._abortReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultController.prototype, \"signal\", {\n get: function () {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('signal');\n }\n if (this._abortController === undefined) {\n throw new TypeError('WritableStreamDefaultController.prototype.signal is not supported');\n }\n return this._abortController.signal;\n },\n enumerable: false,\n configurable: true\n });\n WritableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) {\n e = undefined;\n }\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('error');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n Object.defineProperties(WritableStreamDefaultController.prototype, { error: { enumerable: true } });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultController',\n configurable: true\n });\n }\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return x instanceof WritableStreamDefaultController;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._abortReason = undefined;\n controller._abortController = createAbortController();\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n var startAlgorithm = function () {\n return undefined;\n };\n var writeAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var closeAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var abortAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingSink.start !== undefined) {\n startAlgorithm = function () {\n return underlyingSink.start(controller);\n };\n }\n if (underlyingSink.write !== undefined) {\n writeAlgorithm = function (chunk) {\n return underlyingSink.write(chunk, controller);\n };\n }\n if (underlyingSink.close !== undefined) {\n closeAlgorithm = function () {\n return underlyingSink.close();\n };\n }\n if (underlyingSink.abort !== undefined) {\n abortAlgorithm = function (reason) {\n return underlyingSink.abort(reason);\n };\n }\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, closeSentinel, 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (!controller._started) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var value = PeekQueueValue(controller);\n if (value === closeSentinel) {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, value);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultControllerBrandCheckException$2(name) {\n return new TypeError(\"WritableStreamDefaultController.prototype.\" + name + \" can only be used on a WritableStreamDefaultController\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n if (writer._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n if (writer._closedPromise_resolve === undefined) {\n return;\n }\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n if (writer._readyPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n if (writer._readyPromise_resolve === undefined) {\n return;\n }\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (!preventAbort) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (!preventCancel) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return newPromise(function (resolveRead, rejectRead) {\n ReadableStreamDefaultReaderRead(reader, {\n _chunkSteps: function (chunk) {\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n resolveRead(false);\n },\n _closeSteps: function () {\n return resolveRead(true);\n },\n _errorSteps: rejectRead\n });\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (!preventAbort) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (!preventCancel) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (!preventClose) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (!preventCancel) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('close');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) {\n e = undefined;\n }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n readRequest._chunkSteps(chunk);\n } else {\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n };\n return ReadableStreamDefaultController;\n }();\n Object.defineProperties(ReadableStreamDefaultController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultController',\n configurable: true\n });\n }\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return x instanceof ReadableStreamDefaultController;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (!controller._closeRequested && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n var startAlgorithm = function () {\n return undefined;\n };\n var pullAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var cancelAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingSource.start !== undefined) {\n startAlgorithm = function () {\n return underlyingSource.start(controller);\n };\n }\n if (underlyingSource.pull !== undefined) {\n pullAlgorithm = function () {\n return underlyingSource.pull(controller);\n };\n }\n if (underlyingSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) {\n return underlyingSource.cancel(reason);\n };\n }\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n if (IsReadableByteStreamController(stream._readableStreamController)) {\n return ReadableByteStreamTee(stream);\n }\n return ReadableStreamDefaultTee(stream);\n }\n function ReadableStreamDefaultTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readRequest = {\n _chunkSteps: function (chunk) {\n queueMicrotask(function () {\n reading = false;\n var chunk1 = chunk;\n var chunk2 = chunk;\n if (!canceled1) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2);\n }\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n var compositeReason = CreateArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n var compositeReason = CreateArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n return [\n branch1,\n branch2\n ];\n }\n function ReadableByteStreamTee(stream) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function forwardReaderError(thisReader) {\n uponRejection(thisReader._closedPromise, function (r) {\n if (thisReader !== reader) {\n return;\n }\n ReadableByteStreamControllerError(branch1._readableStreamController, r);\n ReadableByteStreamControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n }\n function pullWithDefaultReader() {\n if (IsReadableStreamBYOBReader(reader)) {\n ReadableStreamReaderGenericRelease(reader);\n reader = AcquireReadableStreamDefaultReader(stream);\n forwardReaderError(reader);\n }\n var readRequest = {\n _chunkSteps: function (chunk) {\n queueMicrotask(function () {\n reading = false;\n var chunk1 = chunk;\n var chunk2 = chunk;\n if (!canceled1 && !canceled2) {\n try {\n chunk2 = CloneAsUint8Array(chunk);\n } catch (cloneE) {\n ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);\n ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n }\n if (!canceled1) {\n ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);\n }\n if (!canceled2) {\n ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);\n }\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableByteStreamControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableByteStreamControllerClose(branch2._readableStreamController);\n }\n if (branch1._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);\n }\n if (branch2._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n }\n function pullWithBYOBReader(view, forBranch2) {\n if (IsReadableStreamDefaultReader(reader)) {\n ReadableStreamReaderGenericRelease(reader);\n reader = AcquireReadableStreamBYOBReader(stream);\n forwardReaderError(reader);\n }\n var byobBranch = forBranch2 ? branch2 : branch1;\n var otherBranch = forBranch2 ? branch1 : branch2;\n var readIntoRequest = {\n _chunkSteps: function (chunk) {\n queueMicrotask(function () {\n reading = false;\n var byobCanceled = forBranch2 ? canceled2 : canceled1;\n var otherCanceled = forBranch2 ? canceled1 : canceled2;\n if (!otherCanceled) {\n var clonedChunk = void 0;\n try {\n clonedChunk = CloneAsUint8Array(chunk);\n } catch (cloneE) {\n ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);\n ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);\n } else if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n });\n },\n _closeSteps: function (chunk) {\n reading = false;\n var byobCanceled = forBranch2 ? canceled2 : canceled1;\n var otherCanceled = forBranch2 ? canceled1 : canceled2;\n if (!byobCanceled) {\n ReadableByteStreamControllerClose(byobBranch._readableStreamController);\n }\n if (!otherCanceled) {\n ReadableByteStreamControllerClose(otherBranch._readableStreamController);\n }\n if (chunk !== undefined) {\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);\n }\n }\n if (!byobCanceled || !otherCanceled) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamBYOBReaderRead(reader, view, readIntoRequest);\n }\n function pull1Algorithm() {\n if (reading) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n } else {\n pullWithBYOBReader(byobRequest._view, false);\n }\n return promiseResolvedWith(undefined);\n }\n function pull2Algorithm() {\n if (reading) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n } else {\n pullWithBYOBReader(byobRequest._view, true);\n }\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n var compositeReason = CreateArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n var compositeReason = CreateArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);\n branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);\n forwardReaderError(reader);\n return [\n branch1,\n branch2\n ];\n }\n function convertUnderlyingDefaultOrByteSource(source, context) {\n assertDictionary(source, context);\n var original = source;\n var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;\n var cancel = original === null || original === void 0 ? void 0 : original.cancel;\n var pull = original === null || original === void 0 ? void 0 : original.pull;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n return {\n autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + \" has member 'autoAllocateChunkSize' that\"),\n cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + \" has member 'cancel' that\"),\n pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + \" has member 'pull' that\"),\n start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + \" has member 'start' that\"),\n type: type === undefined ? undefined : convertReadableStreamType(type, context + \" has member 'type' that\")\n };\n }\n function convertUnderlyingSourceCancelCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) {\n return promiseCall(fn, original, [reason]);\n };\n }\n function convertUnderlyingSourcePullCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return promiseCall(fn, original, [controller]);\n };\n }\n function convertUnderlyingSourceStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertReadableStreamType(type, context) {\n type = \"\" + type;\n if (type !== 'bytes') {\n throw new TypeError(context + \" '\" + type + \"' is not a valid enumeration value for ReadableStreamType\");\n }\n return type;\n }\n function convertReaderOptions(options, context) {\n assertDictionary(options, context);\n var mode = options === null || options === void 0 ? void 0 : options.mode;\n return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + \" has member 'mode' that\") };\n }\n function convertReadableStreamReaderMode(mode, context) {\n mode = \"\" + mode;\n if (mode !== 'byob') {\n throw new TypeError(context + \" '\" + mode + \"' is not a valid enumeration value for ReadableStreamReaderMode\");\n }\n return mode;\n }\n function convertIteratorOptions(options, context) {\n assertDictionary(options, context);\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n return { preventCancel: Boolean(preventCancel) };\n }\n function convertPipeOptions(options, context) {\n assertDictionary(options, context);\n var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;\n var signal = options === null || options === void 0 ? void 0 : options.signal;\n if (signal !== undefined) {\n assertAbortSignal(signal, context + \" has member 'signal' that\");\n }\n return {\n preventAbort: Boolean(preventAbort),\n preventCancel: Boolean(preventCancel),\n preventClose: Boolean(preventClose),\n signal: signal\n };\n }\n function assertAbortSignal(signal, context) {\n if (!isAbortSignal(signal)) {\n throw new TypeError(context + \" is not an AbortSignal.\");\n }\n }\n function convertReadableWritablePair(pair, context) {\n assertDictionary(pair, context);\n var readable = pair === null || pair === void 0 ? void 0 : pair.readable;\n assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n assertReadableStream(readable, context + \" has member 'readable' that\");\n var writable = pair === null || pair === void 0 ? void 0 : pair.writable;\n assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n assertWritableStream(writable, context + \" has member 'writable' that\");\n return {\n readable: readable,\n writable: writable\n };\n }\n var ReadableStream = function () {\n function ReadableStream(rawUnderlyingSource, rawStrategy) {\n if (rawUnderlyingSource === void 0) {\n rawUnderlyingSource = {};\n }\n if (rawStrategy === void 0) {\n rawStrategy = {};\n }\n if (rawUnderlyingSource === undefined) {\n rawUnderlyingSource = null;\n } else {\n assertObject(rawUnderlyingSource, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n InitializeReadableStream(this);\n if (underlyingSource.type === 'bytes') {\n if (strategy.size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n var highWaterMark = ExtractHighWaterMark(strategy, 0);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else {\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = undefined;\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('getReader');\n }\n var options = convertReaderOptions(rawOptions, 'First parameter');\n if (options.mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n return AcquireReadableStreamBYOBReader(this);\n };\n ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = {};\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n var transform = convertReadableWritablePair(rawTransform, 'First parameter');\n var options = convertPipeOptions(rawOptions, 'Second parameter');\n if (IsReadableStreamLocked(this)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(transform.writable)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n setPromiseIsHandledToTrue(promise);\n return transform.readable;\n };\n ReadableStream.prototype.pipeTo = function (destination, rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = {};\n }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (destination === undefined) {\n return promiseRejectedWith(\"Parameter 1 is required in 'pipeTo'.\");\n }\n if (!IsWritableStream(destination)) {\n return promiseRejectedWith(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n }\n var options;\n try {\n options = convertPipeOptions(rawOptions, 'Second parameter');\n } catch (e) {\n return promiseRejectedWith(e);\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(destination)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n };\n ReadableStream.prototype.tee = function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return CreateArrayFromList(branches);\n };\n ReadableStream.prototype.values = function (rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = undefined;\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('values');\n }\n var options = convertIteratorOptions(rawOptions, 'First parameter');\n return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n };\n return ReadableStream;\n }();\n Object.defineProperties(ReadableStream.prototype, {\n cancel: { enumerable: true },\n getReader: { enumerable: true },\n pipeThrough: { enumerable: true },\n pipeTo: { enumerable: true },\n tee: { enumerable: true },\n values: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStream',\n configurable: true\n });\n }\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.values,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) {\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableByteStreamController.prototype);\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return x instanceof ReadableStream;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var reader = stream._reader;\n if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._closeSteps(undefined);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseResolve(reader);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._closeSteps();\n });\n reader._readRequests = new SimpleQueue();\n }\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseReject(reader, e);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._errorSteps(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._errorSteps(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n function convertQueuingStrategyInit(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n return { highWaterMark: convertUnrestrictedDouble(highWaterMark) };\n }\n var byteLengthSizeFunction = function (chunk) {\n return chunk.byteLength;\n };\n Object.defineProperty(byteLengthSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"highWaterMark\", {\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('highWaterMark');\n }\n return this._byteLengthQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"size\", {\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('size');\n }\n return byteLengthSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return ByteLengthQueuingStrategy;\n }();\n Object.defineProperties(ByteLengthQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'ByteLengthQueuingStrategy',\n configurable: true\n });\n }\n function byteLengthBrandCheckException(name) {\n return new TypeError(\"ByteLengthQueuingStrategy.prototype.\" + name + \" can only be used on a ByteLengthQueuingStrategy\");\n }\n function IsByteLengthQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n return false;\n }\n return x instanceof ByteLengthQueuingStrategy;\n }\n var countSizeFunction = function () {\n return 1;\n };\n Object.defineProperty(countSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(CountQueuingStrategy.prototype, \"highWaterMark\", {\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('highWaterMark');\n }\n return this._countQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CountQueuingStrategy.prototype, \"size\", {\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('size');\n }\n return countSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return CountQueuingStrategy;\n }();\n Object.defineProperties(CountQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'CountQueuingStrategy',\n configurable: true\n });\n }\n function countBrandCheckException(name) {\n return new TypeError(\"CountQueuingStrategy.prototype.\" + name + \" can only be used on a CountQueuingStrategy\");\n }\n function IsCountQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n return false;\n }\n return x instanceof CountQueuingStrategy;\n }\n function convertTransformer(original, context) {\n assertDictionary(original, context);\n var flush = original === null || original === void 0 ? void 0 : original.flush;\n var readableType = original === null || original === void 0 ? void 0 : original.readableType;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var transform = original === null || original === void 0 ? void 0 : original.transform;\n var writableType = original === null || original === void 0 ? void 0 : original.writableType;\n return {\n flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + \" has member 'flush' that\"),\n readableType: readableType,\n start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + \" has member 'start' that\"),\n transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + \" has member 'transform' that\"),\n writableType: writableType\n };\n }\n function convertTransformerFlushCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return promiseCall(fn, original, [controller]);\n };\n }\n function convertTransformerStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertTransformerTransformCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) {\n return promiseCall(fn, original, [\n chunk,\n controller\n ]);\n };\n }\n var TransformStream = function () {\n function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {\n if (rawTransformer === void 0) {\n rawTransformer = {};\n }\n if (rawWritableStrategy === void 0) {\n rawWritableStrategy = {};\n }\n if (rawReadableStrategy === void 0) {\n rawReadableStrategy = {};\n }\n if (rawTransformer === undefined) {\n rawTransformer = null;\n }\n var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n var transformer = convertTransformer(rawTransformer, 'First parameter');\n if (transformer.readableType !== undefined) {\n throw new RangeError('Invalid readableType specified');\n }\n if (transformer.writableType !== undefined) {\n throw new RangeError('Invalid writableType specified');\n }\n var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n if (transformer.start !== undefined) {\n startPromise_resolve(transformer.start(this._transformStreamController));\n } else {\n startPromise_resolve(undefined);\n }\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n },\n enumerable: false,\n configurable: true\n });\n return TransformStream;\n }();\n Object.defineProperties(TransformStream.prototype, {\n readable: { enumerable: true },\n writable: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStream',\n configurable: true\n });\n }\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return x instanceof TransformStream;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: false,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n Object.defineProperties(TransformStreamDefaultController.prototype, {\n enqueue: { enumerable: true },\n error: { enumerable: true },\n terminate: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStreamDefaultController',\n configurable: true\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return x instanceof TransformStreamDefaultController;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var flushAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (transformer.transform !== undefined) {\n transformAlgorithm = function (chunk) {\n return transformer.transform(chunk, controller);\n };\n }\n if (transformer.flush !== undefined) {\n flushAlgorithm = function () {\n return transformer.flush(controller);\n };\n }\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n ReadableStreamDefaultControllerClose(readableController);\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n ReadableStreamDefaultControllerClose(readable._readableStreamController);\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableByteStreamController = ReadableByteStreamController;\n exports.ReadableStream = ReadableStream;\n exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;\n exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;\n exports.ReadableStreamDefaultController = ReadableStreamDefaultController;\n exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;\n exports.TransformStream = TransformStream;\n exports.TransformStreamDefaultController = TransformStreamDefaultController;\n exports.WritableStream = WritableStream;\n exports.WritableStreamDefaultController = WritableStreamDefaultController;\n exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 118 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseSVGFactory = exports.BaseStandardFontDataFactory = exports.BaseCMapReaderFactory = exports.BaseCanvasFactory = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = this._createCanvas(width, height);\n\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }, {\n key: \"_createCanvas\",\n value: function _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n }]);\n\n return BaseCanvasFactory;\n}();\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nvar BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return _context.abrupt(\"return\", this._fetchData(url, compressionType)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n}();\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nvar BaseStandardFontDataFactory = /*#__PURE__*/function () {\n function BaseStandardFontDataFactory(_ref3) {\n var _ref3$baseUrl = _ref3.baseUrl,\n baseUrl = _ref3$baseUrl === void 0 ? null : _ref3$baseUrl;\n\n _classCallCheck(this, BaseStandardFontDataFactory);\n\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n\n this.baseUrl = baseUrl;\n }\n\n _createClass(BaseStandardFontDataFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(_ref4) {\n var filename, url;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n filename = _ref4.filename;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n\n case 3:\n if (filename) {\n _context2.next = 5;\n break;\n }\n\n throw new Error(\"Font filename must be specified.\");\n\n case 5:\n url = \"\".concat(this.baseUrl).concat(filename);\n return _context2.abrupt(\"return\", this._fetchData(url)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load font data at: \".concat(url));\n }));\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function fetch(_x2) {\n return _fetch2.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseStandardFontDataFactory;\n}();\n\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\n\nvar BaseSVGFactory = /*#__PURE__*/function () {\n function BaseSVGFactory() {\n _classCallCheck(this, BaseSVGFactory);\n\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n _createClass(BaseSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n\n var svg = this._createSVG(\"svg:svg\");\n\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", \"\".concat(width, \"px\"));\n svg.setAttribute(\"height\", \"\".concat(height, \"px\"));\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \".concat(width, \" \").concat(height));\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n\n return this._createSVG(type);\n }\n }, {\n key: \"_createSVG\",\n value: function _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n }]);\n\n return BaseSVGFactory;\n}();\n\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 119 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = exports.RenderTask = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCMapReaderFactory = exports.DefaultCanvasFactory = exports.build = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(120);\n\nvar _node_utils = __w_pdfjs_require__(121);\n\nvar _annotation_storage = __w_pdfjs_require__(122);\n\nvar _canvas = __w_pdfjs_require__(123);\n\nvar _worker_options = __w_pdfjs_require__(125);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _message_handler = __w_pdfjs_require__(126);\n\nvar _metadata = __w_pdfjs_require__(127);\n\nvar _optional_content_config = __w_pdfjs_require__(128);\n\nvar _transport_stream = __w_pdfjs_require__(129);\n\nvar _xfa_text = __w_pdfjs_require__(130);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nvar DefaultStandardFontDataFactory = _is_node.isNodeJS ? _node_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\" || src instanceof URL) {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either string, URL, Uint8Array, or parameter object.\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n var value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n (0, _util.warn)(\"Cannot create valid URL: \\\"\".concat(ex, \"\\\".\"));\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString();\n continue;\n }\n\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n\n case \"range\":\n rangeTransport = value;\n continue;\n\n case \"worker\":\n worker = value;\n continue;\n\n case \"data\":\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && value instanceof Buffer) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break;\n } else if (typeof value === \"string\") {\n params[key] = (0, _util.stringToBytes)(value);\n } else if (_typeof(value) === \"object\" && value !== null && !isNaN(value.length)) {\n params[key] = new Uint8Array(value);\n } else if ((0, _util.isArrayBuffer)(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string, or array-like object is expected in the data property.\");\n }\n\n continue;\n }\n\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (typeof params.docBaseUrl !== \"string\" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {\n params.docBaseUrl = null;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _is_node.isNodeJS;\n }\n\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;\n }\n\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(_x, _x2, _x3, _x4) {\n return _fetchDocument2.apply(this, arguments);\n}\n\nfunction _fetchDocument2() {\n _fetchDocument2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(worker, source, pdfDataRangeTransport, docId) {\n var workerId;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!worker.destroyed) {\n _context6.next = 2;\n break;\n }\n\n throw new Error(\"Worker was destroyed\");\n\n case 2:\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;\n }\n\n _context6.next = 5;\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.11.338',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null\n });\n\n case 5:\n workerId = _context6.sent;\n\n if (!worker.destroyed) {\n _context6.next = 8;\n break;\n }\n\n throw new Error(\"Worker was destroyed\");\n\n case 8:\n return _context6.abrupt(\"return\", workerId);\n\n case 9:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _fetchDocument2.apply(this, arguments);\n}\n\nvar PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\".concat(PDFDocumentLoadingTask.idCounters.doc++);\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"destroy\",\n value: function () {\n var _destroy = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _this$_transport;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.destroyed = true;\n _context.next = 3;\n return (_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy();\n\n case 3:\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function destroy() {\n return _destroy.apply(this, arguments);\n }\n\n return destroy;\n }()\n }], [{\n key: \"idCounters\",\n get: function get() {\n return (0, _util.shadow)(this, \"idCounters\", {\n doc: 0\n });\n }\n }]);\n\n return PDFDocumentLoadingTask;\n}();\n\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\n\nvar PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"fingerprint\", {\n get: function get() {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.fingerprint`, \" + \"please use `PDFDocumentProxy.fingerprints` instead.\");\n return this.fingerprints[0];\n }\n });\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"annotationStorage\",\n get: function get() {\n return this._transport.annotationStorage;\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprints\",\n get: function get() {\n return this._pdfInfo.fingerprints;\n }\n }, {\n key: \"isPureXfa\",\n get: function get() {\n return !!this._transport._htmlForXfa;\n }\n }, {\n key: \"allXfaHtml\",\n get: function get() {\n return this._transport._htmlForXfa;\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getJSActions\",\n value: function getJSActions() {\n return this._transport.getDocJSActions();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument() {\n if (this._transport.annotationStorage.size <= 0) {\n (0, _display_utils.deprecated)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n\n return this._transport.saveDocument();\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._transport.hasJSActions();\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"getViewport\",\n value: function getViewport() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? \"display\" : _ref4$intent;\n\n var intentArgs = this._transport.getRenderingIntent(intent);\n\n var promise = this._annotationPromises.get(intentArgs.cacheKey);\n\n if (!promise) {\n promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n promise = promise.then(function (annotations) {\n var _iterator5 = _createForOfIteratorHelper(annotations),\n _step5;\n\n try {\n var _loop = function _loop() {\n var annotation = _step5.value;\n\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get: function get() {\n (0, _display_utils.deprecated)(\"`title`-property on annotation, please use `titleObj` instead.\");\n return annotation.titleObj.str;\n }\n });\n }\n\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get: function get() {\n (0, _display_utils.deprecated)(\"`contents`-property on annotation, please use `contentsObj` instead.\");\n return annotation.contentsObj.str;\n }\n });\n }\n };\n\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return annotations;\n });\n }\n\n return promise;\n }\n }, {\n key: \"getJSActions\",\n value: function getJSActions() {\n return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));\n }\n }, {\n key: \"getXfa\",\n value: function () {\n var _getXfa = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _this$_transport$_htm;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null);\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getXfa() {\n return _getXfa.apply(this, arguments);\n }\n\n return getXfa;\n }()\n }, {\n key: \"render\",\n value: function render(_ref5) {\n var _arguments$,\n _arguments$2,\n _this4 = this,\n _intentState;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$annotationMode = _ref5.annotationMode,\n annotationMode = _ref5$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref5$annotationMode,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background,\n _ref5$optionalContent = _ref5.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;\n\n if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `renderInteractiveForms`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_FORMS;\n }\n }\n\n if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `includeAnnotationStorage`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_STORAGE;\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var intentArgs = this._transport.getRenderingIntent(intent, annotationMode);\n\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n var intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n var complete = function complete(error) {\n intentState.renderTasks[\"delete\"](internalRenderTask);\n\n if (_this4.cleanupAfterRender || intentPrint) {\n _this4.pendingCleanup = true;\n }\n\n _this4._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this4._abortOperatorList({\n intentState: intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this4._stats) {\n _this4._stats.timeEnd(\"Rendering\");\n\n _this4._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug\n });\n ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask);\n var renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n transparency = _ref7[0],\n optionalContentConfig = _ref7[1];\n\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this4._stats) {\n _this4._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$intent = _ref8.intent,\n intent = _ref8$intent === void 0 ? \"display\" : _ref8$intent,\n _ref8$annotationMode = _ref8.annotationMode,\n annotationMode = _ref8$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref8$annotationMode;\n\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks[\"delete\"](opListTask);\n }\n }\n\n var intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true);\n\n var intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n var _intentState2;\n\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$normalizeWhites = _ref9.normalizeWhitespace,\n normalizeWhitespace = _ref9$normalizeWhites === void 0 ? false : _ref9$normalizeWhites,\n _ref9$disableCombineT = _ref9.disableCombineTextItems,\n disableCombineTextItems = _ref9$disableCombineT === void 0 ? false : _ref9$disableCombineT,\n _ref9$includeMarkedCo = _ref9.includeMarkedContent,\n includeMarkedContent = _ref9$includeMarkedCo === void 0 ? false : _ref9$includeMarkedCo;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(function (xfa) {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref10) {\n var _textContent$items;\n\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"getStructTree\",\n value: function getStructTree() {\n return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex));\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator6 = _createForOfIteratorHelper(this._intentStates.values()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var intentState = _step6.value;\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intentState.opListReadCapability) {\n continue;\n }\n\n var _iterator7 = _createForOfIteratorHelper(intentState.renderTasks),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var internalRenderTask = _step7.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator8 = _createForOfIteratorHelper(this._intentStates.values()),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _step8.value,\n renderTasks = _step8$value.renderTasks,\n operatorList = _step8$value.operatorList;\n\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, cacheKey) {\n var intentState = this._intentStates.get(cacheKey);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n var _iterator9 = _createForOfIteratorHelper(intentState.renderTasks),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var internalRenderTask = _step9.value;\n internalRenderTask.operatorListChanged();\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(_ref11) {\n var _this5 = this;\n\n var renderingIntent = _ref11.renderingIntent,\n cacheKey = _ref11.cacheKey;\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey: cacheKey,\n annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null\n });\n\n var reader = readableStream.getReader();\n\n var intentState = this._intentStates.get(cacheKey);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref12) {\n var value = _ref12.value,\n done = _ref12.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this5._transport.destroyed) {\n return;\n }\n\n _this5._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this5._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n var _iterator10 = _createForOfIteratorHelper(intentState.renderTasks),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var internalRenderTask = _step10.value;\n internalRenderTask.operatorListChanged();\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n _this5._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref13) {\n var _this6 = this;\n\n var intentState = _ref13.intentState,\n reason = _ref13.reason,\n _ref13$force = _ref13.force,\n force = _ref13$force === void 0 ? false : _ref13$force;\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this6._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason.message))[\"catch\"](function () {});\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n var _iterator11 = _createForOfIteratorHelper(this._intentStates),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var _step11$value = _slicedToArray(_step11.value, 2),\n curCacheKey = _step11$value[0],\n curIntentState = _step11$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates[\"delete\"](curCacheKey);\n\n break;\n }\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n this.cleanup();\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this7 = this;\n\n function cloneValue(value) {\n if (typeof value === \"function\" || _typeof(value) === \"symbol\" || value instanceof URL) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value === null || value === void 0 ? void 0 : value.toString()));\n }\n\n if (_typeof(value) !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n if (value instanceof Map) {\n result = new Map();\n cloned.set(value, result);\n\n var _iterator12 = _createForOfIteratorHelper(value),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var _step12$value = _slicedToArray(_step12.value, 2),\n key = _step12$value[0],\n val = _step12$value[1];\n\n result.set(key, cloneValue(val));\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n return result;\n }\n\n if (value instanceof Set) {\n result = new Set();\n cloned.set(value, result);\n\n var _iterator13 = _createForOfIteratorHelper(value),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var _val = _step13.value;\n result.add(cloneValue(_val));\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n return result;\n }\n\n result = Array.isArray(value) ? [] : Object.create(null);\n cloned.set(value, result);\n\n for (var i in value) {\n var _value$hasOwnProperty;\n\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\" && !((_value$hasOwnProperty = value.hasOwnProperty) !== null && _value$hasOwnProperty !== void 0 && _value$hasOwnProperty.call(value, i))) {\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n var cloned = new WeakMap();\n var event = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n var _iterator14 = _createForOfIteratorHelper(_this7._listeners),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var listener = _step14.value;\n listener.call(_this7, event);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\nvar PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\") {\n var _document, _document$currentScri;\n\n var pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src;\n\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n var wrapper = \"importScripts(\\\"\".concat(url, \"\\\");\");\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\nvar PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$name = _ref14.name,\n name = _ref14$name === void 0 ? null : _ref14$name,\n _ref14$port = _ref14.port,\n port = _ref14$port === void 0 ? null : _ref14$port,\n _ref14$verbosity = _ref14.verbosity,\n verbosity = _ref14$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref14$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && PDFWorker._workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker._workerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }, {\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this8 = this;\n\n if (typeof Worker !== \"undefined\" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n var workerSrc = PDFWorker.workerSrc;\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this8.destroyed) {\n _this8._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this8._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this8._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this8.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this8._messageHandler = messageHandler;\n _this8._port = worker;\n _this8._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this8.postMessageTransfers = false;\n }\n\n _this8._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this8.verbosity\n });\n } else {\n _this8._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this8.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this8._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this8.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this9 = this;\n\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal.then(function (WorkerMessageHandler) {\n if (_this9.destroyed) {\n _this9._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this9._port = port;\n var id = \"fake\".concat(PDFWorkerUtil.fakeWorkerId++);\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this9._messageHandler = messageHandler;\n\n _this9._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this9.verbosity\n });\n })[\"catch\"](function (reason) {\n _this9._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n PDFWorker._workerPorts[\"delete\"](this._port);\n\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }], [{\n key: \"_workerPorts\",\n get: function get() {\n return (0, _util.shadow)(this, \"_workerPorts\", new WeakMap());\n }\n }, {\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!(params !== null && params !== void 0 && params.port)) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"workerSrc\",\n get: function get() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n }, {\n key: \"_mainThreadWorkerMessageHandler\",\n get: function get() {\n try {\n var _globalThis$pdfjsWork;\n\n return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null;\n } catch (ex) {\n return null;\n }\n }\n }, {\n key: \"_setupFakeWorkerGlobal\",\n get: function get() {\n var _this10 = this;\n\n var loader = /*#__PURE__*/function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n mainWorkerMessageHandler = _this10._mainThreadWorkerMessageHandler;\n\n if (!mainWorkerMessageHandler) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context3.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_this10.workerSrc);\n return _context3.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context3.next = 8;\n return (0, _display_utils.loadScript)(_this10.workerSrc);\n\n case 8:\n return _context3.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function loader() {\n return _ref15.apply(this, arguments);\n };\n }();\n\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n }]);\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n{\n PDFWorker.getWorkerSrc = function () {\n (0, _display_utils.deprecated)(\"`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.\");\n return this.workerSrc;\n };\n}\n\nvar WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n\n if (!params.useWorkerFetch) {\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.StandardFontDataFactory = new params.StandardFontDataFactory({\n baseUrl: params.standardFontDataUrl\n });\n }\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n }, {\n key: \"getRenderingIntent\",\n value: function getRenderingIntent(intent) {\n var annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE;\n var isOpList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n var lastModified = \"\";\n\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n\n case \"display\":\n break;\n\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n\n default:\n (0, _util.warn)(\"getRenderingIntent - invalid intent: \".concat(intent));\n }\n\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n\n case _util.AnnotationMode.ENABLE:\n break;\n\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n lastModified = this.annotationStorage.lastModified;\n break;\n\n default:\n (0, _util.warn)(\"getRenderingIntent - invalid annotationMode: \".concat(annotationMode));\n }\n\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n\n return {\n renderingIntent: renderingIntent,\n cacheKey: \"\".concat(renderingIntent, \"_\").concat(lastModified)\n };\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this11 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n\n var _iterator15 = _createForOfIteratorHelper(this.pageCache),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var page = _step15.value;\n\n if (page) {\n waitOn.push(page._destroy());\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this11.commonObjs.clear();\n\n _this11.fontLoader.clear();\n\n _this11._getFieldObjectsPromise = null;\n _this11._hasJSActionsPromise = null;\n\n if (_this11._networkStream) {\n _this11._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this11.messageHandler) {\n _this11.messageHandler.destroy();\n\n _this11.messageHandler = null;\n }\n\n _this11.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this12 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this12._fullReader = _this12._networkStream.getFullReader();\n\n _this12._fullReader.onProgress = function (evt) {\n _this12._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this12._fullReader.read().then(function (_ref16) {\n var value = _ref16.value,\n done = _ref16.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this12._fullReader.cancel(reason);\n\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this12._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this12._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this12._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref17) {\n var value = _ref17.value,\n done = _ref17.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref18) {\n var pdfInfo = _ref18.pdfInfo;\n _this12._numPages = pdfInfo.numPages;\n _this12._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this12._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this12._passwordCapability.reject(ex);\n }\n } else {\n _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this12._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this12.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var page = _this12.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", function (data) {\n var _globalThis$FontInspe;\n\n if (_this12.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this12.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this12._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this12.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12),\n fontRegistry: fontRegistry\n });\n\n _this12.fontLoader.bind(font)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this12.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this12.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n var _imageData$data;\n\n if (_this12.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this12.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", function (data) {\n if (_this12.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!_this12.CMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return _this12.CMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", function (data) {\n if (_this12.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!_this12.StandardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return _this12.StandardFontDataFactory.fetch(data);\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref19) {\n var featureId = _ref19.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument() {\n var _this$_fullReader$fil,\n _this$_fullReader,\n _this14 = this;\n\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null\n })[\"finally\"](function () {\n _this14.annotationStorage.resetModified();\n });\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise(\"GetFieldObjects\", null));\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise(\"HasJSActions\", null));\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getDocJSActions\",\n value: function getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n }, {\n key: \"getPageJSActions\",\n value: function getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex: pageIndex\n });\n }\n }, {\n key: \"getStructTree\",\n value: function getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex: pageIndex\n });\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n var _this15$_fullReader$f, _this15$_fullReader, _this15$_fullReader$c, _this15$_fullReader2;\n\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: (_this15$_fullReader$f = (_this15$_fullReader = _this15._fullReader) === null || _this15$_fullReader === void 0 ? void 0 : _this15$_fullReader.filename) !== null && _this15$_fullReader$f !== void 0 ? _this15$_fullReader$f : null,\n contentLength: (_this15$_fullReader$c = (_this15$_fullReader2 = _this15._fullReader) === null || _this15$_fullReader2 === void 0 ? void 0 : _this15$_fullReader2.contentLength) !== null && _this15$_fullReader$c !== void 0 ? _this15$_fullReader$c : null\n };\n });\n }\n }, {\n key: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function () {\n var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n var keepLoadedFonts,\n i,\n ii,\n page,\n cleanupSuccessful,\n _args4 = arguments;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n keepLoadedFonts = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : false;\n _context4.next = 3;\n return this.messageHandler.sendWithPromise(\"Cleanup\", null);\n\n case 3:\n if (!this.destroyed) {\n _context4.next = 5;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 5:\n i = 0, ii = this.pageCache.length;\n\n case 6:\n if (!(i < ii)) {\n _context4.next = 16;\n break;\n }\n\n page = this.pageCache[i];\n\n if (page) {\n _context4.next = 10;\n break;\n }\n\n return _context4.abrupt(\"continue\", 13);\n\n case 10:\n cleanupSuccessful = page.cleanup();\n\n if (cleanupSuccessful) {\n _context4.next = 13;\n break;\n }\n\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n\n case 13:\n i++;\n _context4.next = 6;\n break;\n\n case 16:\n this.commonObjs.clear();\n\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n\n case 20:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function startCleanup() {\n return _startCleanup.apply(this, arguments);\n }\n\n return startCleanup;\n }()\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n enableXfa: params.enableXfa\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return (obj === null || obj === void 0 ? void 0 : obj.resolved) || false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }]);\n\n return RenderTask;\n}();\n\nexports.RenderTask = RenderTask;\n\nvar InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref20) {\n var callback = _ref20.callback,\n params = _ref20.params,\n objs = _ref20.objs,\n commonObjs = _ref20.commonObjs,\n operatorList = _ref20.operatorList,\n pageIndex = _ref20.pageIndex,\n canvasFactory = _ref20.canvasFactory,\n _ref20$useRequestAnim = _ref20.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref20$useRequestAnim === void 0 ? false : _ref20$useRequestAnim,\n _ref20$pdfBug = _ref20.pdfBug,\n pdfBug = _ref20$pdfBug === void 0 ? false : _ref20$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"completed\",\n get: function get() {\n return this.capability.promise[\"catch\"](function () {});\n }\n }, {\n key: \"initializeGraphics\",\n value: function initializeGraphics(_ref21) {\n var _globalThis$StepperMa;\n\n var _ref21$transparency = _ref21.transparency,\n transparency = _ref21$transparency === void 0 ? false : _ref21$transparency,\n optionalContentConfig = _ref21.optionalContentConfig;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (InternalRenderTask.canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n InternalRenderTask.canvasInUse.add(this._canvas);\n }\n\n if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n InternalRenderTask.canvasInUse[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound()[\"catch\"](_this16._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this._cancelBound);\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5() {\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this.cancelled) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n InternalRenderTask.canvasInUse[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }], [{\n key: \"canvasInUse\",\n get: function get() {\n return (0, _util.shadow)(this, \"canvasInUse\", new WeakSet());\n }\n }]);\n\n return InternalRenderTask;\n}();\n\nvar version = '2.11.338';\nexports.version = version;\nvar build = 'dedff3c98';\nexports.build = build;\n\n/***/ }),\n/* 120 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature,\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument,\n _ref$styleElement = _ref.styleElement,\n styleElement = _ref$styleElement === void 0 ? null : _ref$styleElement;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _iterator = _createForOfIteratorHelper(this.nativeFontFaces),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var nativeFontFace = _step.value;\n\n this._document.fonts[\"delete\"](nativeFontFace);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var _this$_document;\n\n var hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts);\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(params) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _super.call(this, params);\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n var _this3 = this;\n\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n var _iterator2 = _createForOfIteratorHelper(fonts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var font = _step2.value;\n names.push(font.loadedName);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n names.push(loadTestFontId);\n\n var div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (var _i = 0, _names = names; _i < _names.length; _i++) {\n var name = _names[_i];\n\n var span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this3._document.body.removeChild(div);\n\n request.complete();\n });\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n onUnsupportedFeature = _ref2.onUnsupportedFeature,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace;\n\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n var css = {\n weight: this.cssFontInfo.fontWeight\n };\n\n if (this.cssFontInfo.italicAngle) {\n css.style = \"oblique \".concat(this.cssFontInfo.italicAngle, \"deg\");\n }\n\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(this.data);\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule;\n\n if (!this.cssFontInfo) {\n rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n } else {\n var css = \"font-weight: \".concat(this.cssFontInfo.fontWeight, \";\");\n\n if (this.cssFontInfo.italicAngle) {\n css += \"font-style: oblique \".concat(this.cssFontInfo.italicAngle, \"deg;\");\n }\n\n rule = \"@font-face {font-family:\\\"\".concat(this.cssFontInfo.fontFamily, \"\\\";\").concat(css, \"src:\").concat(url, \"}\");\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var jsBuf = [];\n\n var _iterator3 = _createForOfIteratorHelper(cmds),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var current = _step3.value;\n var args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n var _iterator4 = _createForOfIteratorHelper(cmds),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _current = _step4.value;\n\n if (_current.cmd === \"scale\") {\n _current.args = [size, -size];\n }\n\n c[_current.cmd].apply(c, _current.args);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 121 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\nvar _base_factory = __w_pdfjs_require__(118);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar NodeCanvasFactory = function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n};\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nvar NodeCMapReaderFactory = function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n};\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nvar NodeStandardFontDataFactory = function NodeStandardFontDataFactory() {\n _classCallCheck(this, NodeStandardFontDataFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeStandardFontDataFactory\");\n};\n\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\nif (_is_node.isNodeJS) {\n var fetchData = function fetchData(url) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve(new Uint8Array(data));\n });\n });\n };\n\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(NodeCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\n key: \"_createCanvas\",\n value: function _createCanvas(width, height) {\n var Canvas = require(\"canvas\");\n\n return Canvas.createCanvas(width, height);\n }\n }]);\n\n return NodeCanvasFactory;\n }(_base_factory.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return fetchData(url).then(function (data) {\n return {\n cMapData: data,\n compressionType: compressionType\n };\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_base_factory.BaseCMapReaderFactory);\n\n exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) {\n _inherits(NodeStandardFontDataFactory, _BaseStandardFontData);\n\n var _super3 = _createSuper(NodeStandardFontDataFactory);\n\n function NodeStandardFontDataFactory() {\n _classCallCheck(this, NodeStandardFontDataFactory);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(NodeStandardFontDataFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url) {\n return fetchData(url);\n }\n }]);\n\n return NodeStandardFontDataFactory;\n }(_base_factory.BaseStandardFontDataFactory);\n}\n\n/***/ }),\n/* 122 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationStorage = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._timeStamp = Date.now();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getValue\",\n value: function getValue(key, defaultValue) {\n var value = this._storage.get(key);\n\n if (value === undefined) {\n return defaultValue;\n }\n\n return Object.assign(defaultValue, value);\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n var obj = this._storage.get(key);\n\n var modified = false;\n\n if (obj !== undefined) {\n for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n entry = _Object$entries$_i[0],\n val = _Object$entries$_i[1];\n\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n\n this._storage.set(key, value);\n }\n\n if (modified) {\n this._timeStamp = Date.now();\n\n this._setModified();\n }\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }, {\n key: \"serializable\",\n get: function get() {\n return this._storage.size > 0 ? this._storage : null;\n }\n }, {\n key: \"lastModified\",\n get: function get() {\n return this._timeStamp.toString();\n }\n }]);\n\n return AnnotationStorage;\n}();\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 123 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _pattern_helper = __w_pdfjs_require__(124);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MAX_CACHED_CANVAS_PATTERNS = 2;\nvar EXECUTION_TIME = 15;\nvar EXECUTION_STEPS = 10;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar LINEWIDTH_SCALE_FACTOR = 1.000001;\n\nfunction addContextCurrentTransform(ctx) {\n if (ctx.mozCurrentTransform) {\n return;\n }\n\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._originalResetTransform = ctx.resetTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n try {\n var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), \"lineWidth\");\n ctx._setLineWidth = desc.set;\n ctx._getLineWidth = desc.get;\n Object.defineProperty(ctx, \"lineWidth\", {\n set: function setLineWidth(width) {\n this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);\n },\n get: function getLineWidth() {\n return this._getLineWidth();\n }\n });\n } catch (_) {}\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6),\n a = _this$_transformMatri[0],\n b = _this$_transformMatri[1],\n c = _this$_transformMatri[2],\n d = _this$_transformMatri[3],\n e = _this$_transformMatri[4],\n f = _this$_transformMatri[5];\n\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] *= x;\n m[1] *= x;\n m[2] *= y;\n m[3] *= y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n this._transformMatrix = [1, 0, 0, 1, 0, 0];\n\n ctx._originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n}\n\nvar CachedCanvases = /*#__PURE__*/function () {\n function CachedCanvases(canvasFactory) {\n _classCallCheck(this, CachedCanvases);\n\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n _createClass(CachedCanvases, [{\n key: \"getCanvas\",\n value: function getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n }]);\n\n return CachedCanvases;\n}();\n\nvar LRUCache = /*#__PURE__*/function () {\n function LRUCache() {\n var maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n _classCallCheck(this, LRUCache);\n\n this._cache = new Map();\n this._maxSize = maxSize;\n }\n\n _createClass(LRUCache, [{\n key: \"has\",\n value: function has(key) {\n return this._cache.has(key);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (this._cache.has(key)) {\n var value = this._cache.get(key);\n\n this._cache[\"delete\"](key);\n\n this._cache.set(key, value);\n }\n\n return this._cache.get(key);\n }\n }, {\n key: \"set\",\n value: function set(key, value) {\n if (this._maxSize <= 0) {\n return;\n }\n\n if (this._cache.size + 1 > this._maxSize) {\n this._cache[\"delete\"](this._cache.keys().next().value);\n }\n\n this._cache.set(key, value);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._cache.clear();\n }\n }]);\n\n return LRUCache;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var width = imgData.width,\n height = imgData.height,\n width1 = width + 1;\n var i, ii, j, j0;\n var points = new Uint8Array(width1 * (height + 1));\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height);\n var pos = 0;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var elem = data0[i];\n var mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var p0 = p;\n var type = points[p];\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n var pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1, p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = /*#__PURE__*/function () {\n function CanvasExtraState() {\n _classCallCheck(this, CanvasExtraState);\n\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n this.transferMaps = null;\n }\n\n _createClass(CanvasExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return CanvasExtraState;\n}();\n\nfunction putBinaryImageData(ctx, imgData) {\n var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref = [black, white];\n white = _ref[0];\n black = _ref[1];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (var _k = 0; _k < elemsInThisChunk; _k += 4) {\n if (transferMapRed) {\n dest[_k + 0] = transferMapRed[dest[_k + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k + 1] = transferMapGreen[dest[_k + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k + 2] = transferMapBlue[dest[_k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (_hasTransferMaps) {\n for (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n}\n\nfunction putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var elem = void 0,\n mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\n\nfunction copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\n\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n}\n\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\n\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\n\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\n\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n}\n\nfunction composeSMask(ctx, smask, layerCtx) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, smask.backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n}\n\nfunction getImageSmoothingEnabled(transform, interpolate) {\n var scale = _util.Util.singularValueDecompose2dScale(transform);\n\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n var actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n\n return false;\n}\n\nvar LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nvar LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nvar NORMAL_CLIP = {};\nvar EO_CLIP = {};\n\nvar CanvasGraphics = /*#__PURE__*/function () {\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig) {\n _classCallCheck(this, CanvasGraphics);\n\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedCanvasPatterns = new LRUCache(MAX_CACHED_CANVAS_PATTERNS);\n this.cachedPatterns = new Map();\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n _createClass(CanvasGraphics, [{\n key: \"beginDrawing\",\n value: function beginDrawing(_ref2) {\n var transform = _ref2.transform,\n viewport = _ref2.viewport,\n _ref2$transparency = _ref2.transparency,\n transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n }\n }, {\n key: \"executeOperatorList\",\n value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n }\n }, {\n key: \"endDrawing\",\n value: function endDrawing() {\n while (this.stateStack.length || this.current.activeSMask !== null) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.cachedCanvasPatterns.clear();\n this.cachedPatterns.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n }\n }, {\n key: \"_scaleImage\",\n value: function _scaleImage(img, inverseTransform) {\n var width = img.width;\n var height = img.height;\n var widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n var heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n var tmpCanvas, tmpCtx;\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n return {\n img: img,\n paintWidth: paintWidth,\n paintHeight: paintHeight\n };\n }\n }, {\n key: \"_createMaskCanvas\",\n value: function _createMaskCanvas(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n putBinaryImageMask(maskCtx, img);\n var objToCanvas = ctx.mozCurrentTransform;\n\n var maskToCanvas = _util.Util.transform(objToCanvas, [1 / width, 0, 0, -1 / height, 0, 0]);\n\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n\n var cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n\n var cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n\n var rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n\n var drawnWidth = Math.ceil(rect[2] - rect[0]);\n var drawnHeight = Math.ceil(rect[3] - rect[1]);\n var fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight, true);\n var fillCtx = fillCanvas.context;\n var offsetX = Math.min(cord1[0], cord2[0]);\n var offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform.apply(fillCtx, maskToCanvas);\n\n var scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse);\n\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate);\n fillCtx.drawImage(scaled.img, 0, 0, scaled.img.width, scaled.img.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n\n var inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]);\n\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, false) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n }\n }, {\n key: \"beginSMaskGroup\",\n value: function beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n }, {\n key: \"suspendSMaskGroup\",\n value: function suspendSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n }\n }, {\n key: \"resumeSMaskGroup\",\n value: function resumeSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n }, {\n key: \"endSMaskGroup\",\n value: function endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n }\n }, {\n key: \"save\",\n value: function save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n }\n }, {\n key: \"restore\",\n value: function restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n } else {\n this.current.activeSMask = null;\n }\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n this.ctx.closePath();\n }\n }, {\n key: \"stroke\",\n value: function stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (_typeof(strokeColor) === \"object\" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {\n var lineWidth = this.getSinglePixelWidth();\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse);\n ctx.lineWidth = Math.max(lineWidth, this.current.lineWidth);\n ctx.stroke();\n ctx.restore();\n } else {\n var _lineWidth = this.getSinglePixelWidth();\n\n if (_lineWidth < 0 && -_lineWidth >= this.current.lineWidth) {\n ctx.save();\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(_lineWidth, this.current.lineWidth);\n ctx.stroke();\n }\n }\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"fill\",\n value: function fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse);\n needRestore = true;\n }\n\n if (this.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n this.consumePath();\n }\n }, {\n key: \"clip\",\n value: function clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n }, {\n key: \"eoClip\",\n value: function eoClip() {\n this.pendingClip = EO_CLIP;\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setFont\",\n value: function setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(rise) {\n this.current.textRise = rise;\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"paintChar\",\n value: function paintChar(character, x, y, patternTransform, resetLineWidthToOne) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (resetLineWidthToOne) {\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n }\n\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (resetLineWidthToOne) {\n ctx.save();\n ctx.moveTo(x, y);\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.strokeText(character, 0, 0);\n ctx.restore();\n } else {\n ctx.strokeText(character, x, y);\n }\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n }\n }, {\n key: \"isFontSubpixelAAEnabled\",\n get: function get() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var resetLineWidthToOne = false;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth();\n resetLineWidthToOne = lineWidth < 0;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric = glyph.vmetric || defaultVMetrics;\n var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);\n\n if (accent) {\n var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);\n }\n }\n }\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n return undefined;\n }\n }, {\n key: \"showType3Text\",\n value: function showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n }\n }, {\n key: \"setCharWidth\",\n value: function setCharWidth(xWidth, yWidth) {}\n }, {\n key: \"setCharWidthAndBounds\",\n value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n }\n }, {\n key: \"getColorN_Pattern\",\n value: function getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n\n return pattern;\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n var color = _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n }, {\n key: \"_getPattern\",\n value: function _getPattern(objId) {\n var matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var pattern;\n\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId), this.cachedCanvasPatterns);\n this.cachedPatterns.set(objId, pattern);\n }\n\n if (matrix) {\n pattern.matrix = matrix;\n }\n\n return pattern;\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n this.save();\n\n var pattern = this._getPattern(objId);\n\n ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n }\n }, {\n key: \"beginInlineImage\",\n value: function beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n }, {\n key: \"beginImageData\",\n value: function beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n }, {\n key: \"beginGroup\",\n value: function beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n }\n }, {\n key: \"endGroup\",\n value: function endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n this.ctx.imageSmoothingEnabled = false;\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n }\n }, {\n key: \"beginAnnotations\",\n value: function beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n }\n }, {\n key: \"endAnnotations\",\n value: function endAnnotations() {\n this.restore();\n }\n }, {\n key: \"beginAnnotation\",\n value: function beginAnnotation(id, rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n }\n }, {\n key: \"endAnnotation\",\n value: function endAnnotation() {\n this.restore();\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph !== null && glyph !== void 0 && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var mask = this._createMaskCanvas(img);\n\n var maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n }\n }, {\n key: \"paintImageMaskXObjectRepeat\",\n value: function paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n ctx.save();\n var currentTransform = ctx.mozCurrentTransform;\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n\n var mask = this._createMaskCanvas(imgData);\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n var trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n\n var _Util$applyTransform = _util.Util.applyTransform([0, 0], trans),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n x = _Util$applyTransform2[0],\n y = _Util$applyTransform2[1];\n\n ctx.drawImage(mask.canvas, x, y);\n }\n\n ctx.restore();\n }\n }, {\n key: \"paintImageMaskXObjectGroup\",\n value: function paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, false) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintImageXObjectRepeat\",\n value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var imgToPaint;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse);\n\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate);\n ctx.drawImage(scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / ctx.mozCurrentTransformInverse[0],\n height: height / ctx.mozCurrentTransformInverse[3]\n });\n }\n\n this.restore();\n }\n }, {\n key: \"paintInlineImageXObjectGroup\",\n value: function paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n }\n }, {\n key: \"markPoint\",\n value: function markPoint(tag) {}\n }, {\n key: \"markPointProps\",\n value: function markPointProps(tag, properties) {}\n }, {\n key: \"beginMarkedContent\",\n value: function beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n }, {\n key: \"beginMarkedContentProps\",\n value: function beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n }\n }, {\n key: \"endMarkedContent\",\n value: function endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n }, {\n key: \"beginCompat\",\n value: function beginCompat() {}\n }, {\n key: \"endCompat\",\n value: function endCompat() {}\n }, {\n key: \"consumePath\",\n value: function consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n }\n }, {\n key: \"getSinglePixelWidth\",\n value: function getSinglePixelWidth() {\n if (this._cachedGetSinglePixelWidth === null) {\n var m = this.ctx.mozCurrentTransform;\n var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2);\n var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2);\n var pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;\n\n if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {\n this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);\n } else if (absDet > Number.EPSILON) {\n this._cachedGetSinglePixelWidth = pixelHeight;\n } else {\n this._cachedGetSinglePixelWidth = 1;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n }\n }, {\n key: \"getCanvasPosition\",\n value: function getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n }, {\n key: \"isContentVisible\",\n value: function isContentVisible() {\n for (var i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\nfor (var op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 124 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getShadingPattern = getShadingPattern;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nvar BaseShadingPattern = /*#__PURE__*/function () {\n function BaseShadingPattern() {\n _classCallCheck(this, BaseShadingPattern);\n\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n\n _createClass(BaseShadingPattern, [{\n key: \"getPattern\",\n value: function getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n }]);\n\n return BaseShadingPattern;\n}();\n\nvar RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) {\n _inherits(RadialAxialShadingPattern, _BaseShadingPattern);\n\n var _super = _createSuper(RadialAxialShadingPattern);\n\n function RadialAxialShadingPattern(IR, cachedCanvasPatterns) {\n var _this;\n\n _classCallCheck(this, RadialAxialShadingPattern);\n\n _this = _super.call(this);\n _this._type = IR[1];\n _this._bbox = IR[2];\n _this._colorStops = IR[3];\n _this._p0 = IR[4];\n _this._p1 = IR[5];\n _this._r0 = IR[6];\n _this._r1 = IR[7];\n _this.matrix = null;\n _this.cachedCanvasPatterns = cachedCanvasPatterns;\n return _this;\n }\n\n _createClass(RadialAxialShadingPattern, [{\n key: \"_createGradient\",\n value: function _createGradient(ctx) {\n var grad;\n\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n\n var _iterator = _createForOfIteratorHelper(this._colorStops),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var colorStop = _step.value;\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return grad;\n }\n }, {\n key: \"getPattern\",\n value: function getPattern(ctx, owner, inverse) {\n var shadingFill = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var pattern;\n\n if (!shadingFill) {\n if (this.cachedCanvasPatterns.has(this)) {\n pattern = this.cachedCanvasPatterns.get(this);\n } else {\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", owner.ctx.canvas.width, owner.ctx.canvas.height, true);\n var tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.setTransform.apply(tmpCtx, owner.baseTransform);\n\n if (this.matrix) {\n tmpCtx.transform.apply(tmpCtx, this.matrix);\n }\n\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"repeat\");\n this.cachedCanvasPatterns.set(this, pattern);\n }\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n\n if (!shadingFill) {\n var domMatrix = new DOMMatrix(inverse);\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(\"RadialAxialShadingPattern.getPattern: \\\"\".concat(ex === null || ex === void 0 ? void 0 : ex.message, \"\\\".\"));\n }\n }\n\n return pattern;\n }\n }]);\n\n return RadialAxialShadingPattern;\n}(BaseShadingPattern);\n\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\n\nfunction drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n}\n\nvar MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) {\n _inherits(MeshShadingPattern, _BaseShadingPattern2);\n\n var _super2 = _createSuper(MeshShadingPattern);\n\n function MeshShadingPattern(IR) {\n var _this2;\n\n _classCallCheck(this, MeshShadingPattern);\n\n _this2 = _super2.call(this);\n _this2._coords = IR[2];\n _this2._colors = IR[3];\n _this2._figures = IR[4];\n _this2._bounds = IR[5];\n _this2._bbox = IR[7];\n _this2._background = IR[8];\n _this2.matrix = null;\n return _this2;\n }\n\n _createClass(MeshShadingPattern, [{\n key: \"_createMeshCanvas\",\n value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(this._bounds[0]);\n var offsetY = Math.floor(this._bounds[1]);\n var boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (var i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(this._figures),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var figure = _step2.value;\n drawFigure(data, figure, context);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n var canvas = tmpCanvas.canvas;\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n }, {\n key: \"getPattern\",\n value: function getPattern(ctx, owner, inverse) {\n var shadingFill = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n applyBoundingBox(ctx, this._bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (this.matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = this._createMeshCanvas(scale, shadingFill ? null : this._background, owner.cachedCanvases);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (this.matrix) {\n ctx.transform.apply(ctx, this.matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n }]);\n\n return MeshShadingPattern;\n}(BaseShadingPattern);\n\nvar DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) {\n _inherits(DummyShadingPattern, _BaseShadingPattern3);\n\n var _super3 = _createSuper(DummyShadingPattern);\n\n function DummyShadingPattern() {\n _classCallCheck(this, DummyShadingPattern);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(DummyShadingPattern, [{\n key: \"getPattern\",\n value: function getPattern() {\n return \"hotpink\";\n }\n }]);\n\n return DummyShadingPattern;\n}(BaseShadingPattern);\n\nfunction getShadingPattern(IR, cachedCanvasPatterns) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR, cachedCanvasPatterns);\n\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n\n throw new Error(\"Unknown IR type: \".concat(IR[0]));\n}\n\nvar PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\n\nvar TilingPattern = /*#__PURE__*/function () {\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n _classCallCheck(this, TilingPattern);\n\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n\n _createClass(TilingPattern, [{\n key: \"createPatternCanvas\",\n value: function createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n var adjustedX0 = x0;\n var adjustedY0 = y0;\n var adjustedX1 = x1;\n var adjustedY1 = y1;\n\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice();\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n }, {\n key: \"getSizeAndScale\",\n value: function getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n }\n }, {\n key: \"clipBbox\",\n value: function clipBbox(graphics, x0, y0, x1, y1) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n }, {\n key: \"setFillAndStrokeStyleToContext\",\n value: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n }\n }, {\n key: \"getPattern\",\n value: function getPattern(ctx, owner, inverse) {\n var shadingFill = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var matrix = inverse;\n\n if (!shadingFill) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n var domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(\"TilingPattern.getPattern: \\\"\".concat(ex === null || ex === void 0 ? void 0 : ex.message, \"\\\".\"));\n }\n\n return pattern;\n }\n }], [{\n key: \"MAX_PATTERN_SIZE\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_PATTERN_SIZE\", 3000);\n }\n }]);\n\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 125 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 126 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null)) {\n (0, _util.warn)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n var self = this,\n action = this.actionHandler[data.action];\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n var streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull && streamSink.onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.isClosed = true;\n streamController.controller.close();\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n\n new Promise(function (resolve) {\n resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamController, streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x, _x2) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 127 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(_ref) {\n var parsedData = _ref.parsedData,\n rawData = _ref.rawData;\n\n _classCallCheck(this, Metadata);\n\n this._metadataMap = parsedData;\n this._data = rawData;\n }\n\n _createClass(Metadata, [{\n key: \"getRaw\",\n value: function getRaw() {\n return this._data;\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var _this$_metadataMap$ge;\n\n return (_this$_metadataMap$ge = this._metadataMap.get(name)) !== null && _this$_metadataMap$ge !== void 0 ? _this$_metadataMap$ge : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return (0, _util.objectFromMap)(this._metadataMap);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 128 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OptionalContentGroup = function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n};\n\nvar OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n var _iterator = _createForOfIteratorHelper(data.groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _group = _step.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator2 = _createForOfIteratorHelper(this._groups),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var group = _step2.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n var _iterator3 = _createForOfIteratorHelper(data.on),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var on = _step3.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(data.off),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var off = _step4.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"_evaluateVisibilityExpression\",\n value: function _evaluateVisibilityExpression(array) {\n var length = array.length;\n\n if (length < 2) {\n return true;\n }\n\n var operator = array[0];\n\n for (var i = 1; i < length; i++) {\n var element = array[i];\n var state = void 0;\n\n if (Array.isArray(element)) {\n state = this._evaluateVisibilityExpression(element);\n } else if (this._groups.has(element)) {\n state = this._groups.get(element).visible;\n } else {\n (0, _util.warn)(\"Optional content group not found: \".concat(element));\n return true;\n }\n\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n\n break;\n\n case \"Or\":\n if (state) {\n return true;\n }\n\n break;\n\n case \"Not\":\n return !state;\n\n default:\n return true;\n }\n }\n\n return operator === \"And\";\n }\n }, {\n key: \"isVisible\",\n value: function isVisible(group) {\n if (this._groups.size === 0) {\n return true;\n }\n\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this._evaluateVisibilityExpression(group.expression);\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator5 = _createForOfIteratorHelper(group.ids),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var id = _step5.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator6 = _createForOfIteratorHelper(group.ids),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _id = _step6.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator7 = _createForOfIteratorHelper(group.ids),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _id2 = _step7.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator8 = _createForOfIteratorHelper(group.ids),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _id3 = _step8.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n }, {\n key: \"getGroups\",\n value: function getGroups() {\n return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null;\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n}();\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 129 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n this._contentDispositionFilename = params.contentDispositionFilename || null;\n var initialData = params.initialData;\n\n if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var reader = _step.value;\n reader.cancel(reason);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this._pdfDataRangeTransport.abort();\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator2 = _createForOfIteratorHelper(this._queuedChunks),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var chunk = _step2.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n var _iterator3 = _createForOfIteratorHelper(this._requests),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var requestCapability = _step3.value;\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this._requests.length = 0;\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n var _iterator4 = _createForOfIteratorHelper(this._requests),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var requestCapability = _step4.value;\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this._requests.length = 0;\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n var _iterator5 = _createForOfIteratorHelper(this._requests),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var requestCapability = _step5.value;\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this._requests.length = 0;\n\n this._stream._removeRangeReader(this);\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 130 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XfaText = /*#__PURE__*/function () {\n function XfaText() {\n _classCallCheck(this, XfaText);\n }\n\n _createClass(XfaText, null, [{\n key: \"textContent\",\n value: function textContent(xfa) {\n var items = [];\n var output = {\n items: items,\n styles: Object.create(null)\n };\n\n function walk(node) {\n var _node$attributes;\n\n if (!node) {\n return;\n }\n\n var str = null;\n var name = node.name;\n\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n\n if (str !== null) {\n items.push({\n str: str\n });\n }\n\n if (!node.children) {\n return;\n }\n\n var _iterator = _createForOfIteratorHelper(node.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n walk(child);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n walk(xfa);\n return output;\n }\n }, {\n key: \"shouldBuildText\",\n value: function shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n }]);\n\n return XfaText;\n}();\n\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 131 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _annotation_storage = __w_pdfjs_require__(122);\n\nvar _scripting_utils = __w_pdfjs_require__(132);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_TAB_INDEX = 1000;\nvar GetElementsByNameSet = new WeakSet();\n\nvar AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$isRenderable = _ref.isRenderable,\n isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable,\n _ref$ignoreBorder = _ref.ignoreBorder,\n ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder,\n _ref$createQuadrilate = _ref.createQuadrilaterals,\n createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"\".concat(-rect[0], \"px \").concat(-rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width -= 2 * data.borderStyle.width;\n height -= 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n var borderColor = data.borderColor || data.color || null;\n\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createQuadrilaterals\",\n value: function _createQuadrilaterals() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.data.quadPoints) {\n return null;\n }\n\n var quadrilaterals = [];\n var savedRect = this.data.rect;\n\n var _iterator = _createForOfIteratorHelper(this.data.quadPoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var quadPoint = _step.value;\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(trigger, data) {\n var container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"_renderQuadrilaterals\",\n value: function _renderQuadrilaterals(className) {\n var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var quadrilateral = _step2.value;\n quadrilateral.className = className;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return this.quadrilaterals;\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }, {\n key: \"_getElementsByName\",\n value: function _getElementsByName(name) {\n var skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var fields = [];\n\n if (this._fieldObjects) {\n var fieldObj = this._fieldObjects[name];\n\n if (fieldObj) {\n var _iterator3 = _createForOfIteratorHelper(fieldObj),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n page = _step3$value.page,\n id = _step3$value.id,\n exportValues = _step3$value.exportValues;\n\n if (page === -1) {\n continue;\n }\n\n if (id === skipId) {\n continue;\n }\n\n var exportValue = typeof exportValues === \"string\" ? exportValues : null;\n var domElement = document.getElementById(id);\n\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(\"_getElementsByName - element not allowed: \".concat(id));\n continue;\n }\n\n fields.push({\n id: id,\n exportValue: exportValue,\n domElement: domElement\n });\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return fields;\n }\n\n var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _domElement = _step4.value;\n var _id = _domElement.id,\n _exportValue = _domElement.exportValue;\n\n if (_id === skipId) {\n continue;\n }\n\n if (!GetElementsByNameSet.has(_domElement)) {\n continue;\n }\n\n fields.push({\n id: _id,\n exportValue: _exportValue,\n domElement: _domElement\n });\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n return fields;\n }\n }], [{\n key: \"platform\",\n get: function get() {\n var platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions[\"Mouse Up\"] || parameters.data.actions[\"Mouse Down\"]));\n return _super.call(this, parameters, {\n isRenderable: isRenderable,\n createQuadrilaterals: true\n });\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n var _linkService$addLinkA;\n\n if (!linkService.addLinkAttributes) {\n (0, _util.warn)(\"LinkAnnotationElement.render - missing `addLinkAttributes`-method on the `linkService`-instance.\");\n }\n\n (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, link, data.url, data.newWindow);\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n } else {\n var hasClickAction = false;\n\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n hasClickAction = true;\n\n this._bindJSAction(link, data);\n }\n\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n } else if (!hasClickAction) {\n this._bindLink(link, \"\");\n }\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map(function (quadrilateral, index) {\n var linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.appendChild(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }, {\n key: \"_bindJSAction\",\n value: function _bindJSAction(link, data) {\n var _this3 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n var map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n var _loop = function _loop() {\n var name = _Object$keys[_i];\n var jsName = map.get(name);\n\n if (!jsName) {\n return \"continue\";\n }\n\n link[jsName] = function () {\n var _this3$linkService$ev;\n\n (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this3,\n detail: {\n id: data.id,\n name: name\n }\n });\n return false;\n };\n };\n\n for (var _i = 0, _Object$keys = Object.keys(data.actions); _i < _Object$keys.length; _i++) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\n }\n\n if (!link.onclick) {\n link.onclick = function () {\n return false;\n };\n }\n\n link.className = \"internalLink\";\n }\n }, {\n key: \"_bindResetFormAction\",\n value: function _bindResetFormAction(link, resetForm) {\n var _this4 = this;\n\n var otherClickAction = link.onclick;\n\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n\n link.className = \"internalLink\";\n\n if (!this._fieldObjects) {\n (0, _util.warn)(\"_bindResetFormAction - \\\"resetForm\\\" action not supported, \" + \"ensure that the `fieldObjects` parameter is provided.\");\n\n if (!otherClickAction) {\n link.onclick = function () {\n return false;\n };\n }\n\n return;\n }\n\n link.onclick = function () {\n if (otherClickAction) {\n otherClickAction();\n }\n\n var resetFormFields = resetForm.fields,\n resetFormRefs = resetForm.refs,\n include = resetForm.include;\n var allFields = [];\n\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n var fieldIds = new Set(resetFormRefs);\n\n var _iterator5 = _createForOfIteratorHelper(resetFormFields),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var fieldName = _step5.value;\n\n var _fields = _this4._fieldObjects[fieldName] || [];\n\n var _iterator7 = _createForOfIteratorHelper(_fields),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var id = _step7.value.id;\n fieldIds.add(id);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n for (var _i2 = 0, _Object$values = Object.values(_this4._fieldObjects); _i2 < _Object$values.length; _i2++) {\n var fields = _Object$values[_i2];\n\n var _iterator6 = _createForOfIteratorHelper(fields),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var field = _step6.value;\n\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n } else {\n for (var _i3 = 0, _Object$values2 = Object.values(_this4._fieldObjects); _i3 < _Object$values2.length; _i3++) {\n var _fields2 = _Object$values2[_i3];\n allFields.push.apply(allFields, _toConsumableArray(_fields2));\n }\n }\n\n var storage = _this4.annotationStorage;\n var allIds = [];\n\n for (var _i4 = 0, _allFields = allFields; _i4 < _allFields.length; _i4++) {\n var _field = _allFields[_i4];\n var _id2 = _field.id;\n allIds.push(_id2);\n\n switch (_field.type) {\n case \"text\":\n {\n var value = _field.defaultValue || \"\";\n storage.setValue(_id2, {\n value: value,\n valueAsString: value\n });\n break;\n }\n\n case \"checkbox\":\n case \"radiobutton\":\n {\n var _value = _field.defaultValue === _field.exportValues;\n\n storage.setValue(_id2, {\n value: _value\n });\n break;\n }\n\n case \"combobox\":\n case \"listbox\":\n {\n var _value2 = _field.defaultValue || \"\";\n\n storage.setValue(_id2, {\n value: _value2\n });\n break;\n }\n\n default:\n continue;\n }\n\n var domElement = document.getElementById(_id2);\n\n if (!domElement || !GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n\n if (_this4.enableScripting) {\n var _this4$linkService$ev;\n\n (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this4,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n\n return false;\n };\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n var _parameters$data$titl, _parameters$data$cont;\n\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str);\n return _super2.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n }, {\n key: \"_getKeyModifier\",\n value: function _getKeyModifier(event) {\n var _AnnotationElement$pl = AnnotationElement.platform,\n isWin = _AnnotationElement$pl.isWin,\n isMac = _AnnotationElement$pl.isMac;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n }, {\n key: \"_setEventListener\",\n value: function _setEventListener(element, baseName, eventName, valueGetter) {\n var _this5 = this;\n\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, function (event) {\n var _this5$linkService$ev;\n\n (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this5,\n detail: {\n id: _this5.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: _this5._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, function (event) {\n var _this5$linkService$ev2;\n\n (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch(\"dispatcheventinsandbox\", {\n source: _this5,\n detail: {\n id: _this5.data.id,\n name: eventName,\n value: event.target.checked\n }\n });\n });\n }\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(element, names, getter) {\n var _iterator8 = _createForOfIteratorHelper(names),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _this$data$actions;\n\n var _step8$value = _slicedToArray(_step8.value, 2),\n baseName = _step8$value[0],\n eventName = _step8$value[1];\n\n if (eventName === \"Action\" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n }, {\n key: \"_setBackgroundColor\",\n value: function _setBackgroundColor(element) {\n var color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n }, {\n key: \"_dispatchEventFromSandbox\",\n value: function _dispatchEventFromSandbox(actions, jsEvent) {\n var _this6 = this;\n\n var setColor = function setColor(jsName, styleName, event) {\n var color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[\"\".concat(color[0], \"_HTML\")](color.slice(1));\n };\n\n var commonActions = {\n display: function display(event) {\n var hidden = event.detail.display % 2 === 1;\n event.target.style.visibility = hidden ? \"hidden\" : \"visible\";\n\n _this6.annotationStorage.setValue(_this6.data.id, {\n hidden: hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: function print(event) {\n _this6.annotationStorage.setValue(_this6.data.id, {\n print: event.detail.print\n });\n },\n hidden: function hidden(event) {\n event.target.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n\n _this6.annotationStorage.setValue(_this6.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: function focus(event) {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n userName: function userName(event) {\n event.target.title = event.detail.userName;\n },\n readonly: function readonly(event) {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: function required(event) {\n if (event.detail.required) {\n event.target.setAttribute(\"required\", \"\");\n } else {\n event.target.removeAttribute(\"required\");\n }\n },\n bgColor: function bgColor(event) {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: function fillColor(event) {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: function fgColor(event) {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: function textColor(event) {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: function borderColor(event) {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: function strokeColor(event) {\n setColor(\"strokeColor\", \"borderColor\", event);\n }\n };\n\n for (var _i5 = 0, _Object$keys2 = Object.keys(jsEvent.detail); _i5 < _Object$keys2.length; _i5++) {\n var name = _Object$keys2[_i5];\n var action = actions[name] || commonActions[name];\n\n if (action) {\n action(jsEvent);\n }\n }\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"setPropertyOnSiblings\",\n value: function setPropertyOnSiblings(base, key, value, keyInStorage) {\n var storage = this.annotationStorage;\n\n var _iterator9 = _createForOfIteratorHelper(this._getElementsByName(base.name, base.id)),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var element = _step9.value;\n\n if (element.domElement) {\n element.domElement[key] = value;\n }\n\n storage.setValue(element.id, _defineProperty({}, keyInStorage, value));\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this7 = this;\n\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderForms) {\n var storedData = storage.getValue(id, {\n value: this.data.fieldValue,\n valueAsString: this.data.fieldValue\n });\n var textContent = storedData.valueAsString || storedData.value || \"\";\n var elementData = {\n userValue: null,\n formattedValue: null,\n beforeInputSelectionRange: null,\n beforeInputValue: null\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n GetElementsByNameSet.add(element);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n elementData.userValue = textContent;\n element.setAttribute(\"id\", id);\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: event.target.value\n });\n\n _this7.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", function (event) {\n var defaultValue = _this7.data.defaultFieldValue || \"\";\n element.value = elementData.userValue = defaultValue;\n delete elementData.formattedValue;\n });\n\n var blurListener = function blurListener(event) {\n if (elementData.formattedValue) {\n event.target.value = elementData.formattedValue;\n }\n\n event.target.scrollLeft = 0;\n elementData.beforeInputSelectionRange = null;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n var _this$data$actions2;\n\n element.addEventListener(\"focus\", function (event) {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n });\n element.addEventListener(\"updatefromsandbox\", function (jsEvent) {\n var actions = {\n value: function value(event) {\n elementData.userValue = event.detail.value || \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n\n if (!elementData.formattedValue) {\n event.target.value = elementData.userValue;\n }\n },\n valueAsString: function valueAsString(event) {\n elementData.formattedValue = event.detail.valueAsString || \"\";\n\n if (event.target !== document.activeElement) {\n event.target.value = elementData.formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue: elementData.formattedValue\n });\n },\n selRange: function selRange(event) {\n var _event$detail$selRang = _slicedToArray(event.detail.selRange, 2),\n selStart = _event$detail$selRang[0],\n selEnd = _event$detail$selRang[1];\n\n if (selStart >= 0 && selEnd < event.target.value.length) {\n event.target.setSelectionRange(selStart, selEnd);\n }\n }\n };\n\n _this7._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", function (event) {\n var _this7$linkService$ev;\n\n elementData.beforeInputValue = event.target.value;\n var commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n elementData.userValue = event.target.value;\n (_this7$linkService$ev = _this7.linkService.eventBus) === null || _this7$linkService$ev === void 0 ? void 0 : _this7$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this7,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n var _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", function (event) {\n if (_this7._mouseState.isDown) {\n var _this7$linkService$ev2;\n\n elementData.userValue = event.target.value;\n (_this7$linkService$ev2 = _this7.linkService.eventBus) === null || _this7$linkService$ev2 === void 0 ? void 0 : _this7$linkService$ev2.dispatch(\"dispatcheventinsandbox\", {\n source: _this7,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n element.addEventListener(\"mousedown\", function (event) {\n elementData.beforeInputValue = event.target.value;\n elementData.beforeInputSelectionRange = null;\n });\n element.addEventListener(\"keyup\", function (event) {\n if (event.target.selectionStart === event.target.selectionEnd) {\n elementData.beforeInputSelectionRange = null;\n }\n });\n element.addEventListener(\"select\", function (event) {\n elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];\n });\n\n if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) {\n element.addEventListener(\"input\", function (event) {\n var _this7$linkService$ev3;\n\n var selStart = -1;\n var selEnd = -1;\n\n if (elementData.beforeInputSelectionRange) {\n var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2);\n\n selStart = _elementData$beforeIn[0];\n selEnd = _elementData$beforeIn[1];\n }\n\n (_this7$linkService$ev3 = _this7.linkService.eventBus) === null || _this7$linkService$ev3 === void 0 ? void 0 : _this7$linkService$ev3.dispatch(\"dispatcheventinsandbox\", {\n source: _this7,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: elementData.beforeInputValue,\n change: event.data,\n willCommit: false,\n selStart: selStart,\n selEnd: selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.value;\n });\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this._setBackgroundColor(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element) {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var _this$data$defaultApp = this.data.defaultAppearanceData,\n fontSize = _this$data$defaultApp.fontSize,\n fontColor = _this$data$defaultApp.fontColor;\n var style = element.style;\n\n if (fontSize) {\n style.fontSize = \"\".concat(fontSize, \"px\");\n }\n\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this8 = this;\n\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value: value\n });\n }\n\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", function (event) {\n var _event$target = event.target,\n name = _event$target.name,\n checked = _event$target.checked;\n\n var _iterator10 = _createForOfIteratorHelper(_this8._getElementsByName(name, id)),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var checkbox = _step10.value;\n var curChecked = checked && checkbox.exportValue === data.exportValue;\n\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", function (event) {\n var defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", function (jsEvent) {\n var actions = {\n value: function value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n\n _this8._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n }\n\n this._setBackgroundColor(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.call(this, parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this9 = this;\n\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value: value\n });\n }\n\n var element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", function (event) {\n var _event$target2 = event.target,\n name = _event$target2.name,\n checked = _event$target2.checked;\n\n var _iterator11 = _createForOfIteratorHelper(_this9._getElementsByName(name, id)),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var radio = _step11.value;\n storage.setValue(radio.id, {\n value: false\n });\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", function (event) {\n var defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n var pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", function (jsEvent) {\n var actions = {\n value: function value(event) {\n var checked = pdfButtonValue === event.detail.value;\n\n var _iterator12 = _createForOfIteratorHelper(_this9._getElementsByName(event.target.name)),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var radio = _step12.value;\n var curChecked = checked && radio.id === id;\n\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n };\n\n _this9._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n }\n\n this._setBackgroundColor(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this10 = this;\n\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getValue(id, {\n value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined\n });\n var fontSize = this.data.defaultAppearanceData.fontSize;\n\n if (!fontSize) {\n fontSize = 9;\n }\n\n var fontSizeStyle = \"calc(\".concat(fontSize, \"px * var(--zoom-factor))\");\n var selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n selectElement.setAttribute(\"id\", id);\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n selectElement.style.fontSize = \"\".concat(fontSize, \"px\");\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n selectElement.addEventListener(\"resetform\", function (event) {\n var defaultValue = _this10.data.defaultFieldValue;\n\n var _iterator13 = _createForOfIteratorHelper(selectElement.options),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var option = _step13.value;\n option.selected = option.value === defaultValue;\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n });\n\n var _iterator14 = _createForOfIteratorHelper(this.data.options),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var option = _step14.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.combo) {\n optionElement.style.fontSize = fontSizeStyle;\n }\n\n if (this.data.fieldValue.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n var getValue = function getValue(event, isExport) {\n var name = isExport ? \"value\" : \"textContent\";\n var options = event.target.options;\n\n if (!event.target.multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n\n return Array.prototype.filter.call(options, function (option) {\n return option.selected;\n }).map(function (option) {\n return option[name];\n });\n };\n\n var getItems = function getItems(event) {\n var options = event.target.options;\n return Array.prototype.map.call(options, function (option) {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", function (jsEvent) {\n var actions = {\n value: function value(event) {\n var value = event.detail.value;\n var values = new Set(Array.isArray(value) ? value : [value]);\n\n var _iterator15 = _createForOfIteratorHelper(selectElement.options),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var option = _step15.value;\n option.selected = values.has(option.value);\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n multipleSelection: function multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove: function remove(event) {\n var options = selectElement.options;\n var index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n\n if (options.length > 0) {\n var i = Array.prototype.findIndex.call(options, function (option) {\n return option.selected;\n });\n\n if (i === -1) {\n options[0].selected = true;\n }\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n clear: function clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n storage.setValue(id, {\n value: null,\n items: []\n });\n },\n insert: function insert(event) {\n var _event$detail$insert = event.detail.insert,\n index = _event$detail$insert.index,\n displayValue = _event$detail$insert.displayValue,\n exportValue = _event$detail$insert.exportValue;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.insertBefore(optionElement, selectElement.children[index]);\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n items: function items(event) {\n var items = event.detail.items;\n\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n var _iterator16 = _createForOfIteratorHelper(items),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var item = _step16.value;\n var displayValue = item.displayValue,\n exportValue = item.exportValue;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n indices: function indices(event) {\n var indices = new Set(event.detail.indices);\n\n var _iterator17 = _createForOfIteratorHelper(event.target.options),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var option = _step17.value;\n option.selected = indices.has(option.index);\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n editable: function editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n\n _this10._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", function (event) {\n var _this10$linkService$e;\n\n var exportValue = getValue(event, true);\n var value = getValue(event, false);\n storage.setValue(id, {\n value: exportValue\n });\n (_this10$linkService$e = _this10.linkService.eventBus) === null || _this10$linkService$e === void 0 ? void 0 : _this10$linkService$e.dispatch(\"dispatcheventinsandbox\", {\n source: _this10,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: value,\n changeEx: exportValue,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"]], function (event) {\n return event.target.checked;\n });\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event)\n });\n });\n }\n\n this._setBackgroundColor(selectElement);\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n var _parameters$data$titl2, _parameters$data$cont2;\n\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str);\n return _super9.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj\n });\n var page = this.page;\n\n var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n var popupTop = rect[1];\n this.container.style.transformOrigin = \"\".concat(-popupLeft, \"px \").concat(-popupTop, \"px\");\n this.container.style.left = \"\".concat(popupLeft, \"px\");\n this.container.style.top = \"\".concat(popupTop, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contentsObj);\n\n popup.appendChild(contents);\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n var _iterator18 = _createForOfIteratorHelper(this.trigger),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var element = _step18.value;\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(_ref2) {\n var str = _ref2.str,\n dir = _ref2.dir;\n var p = document.createElement(\"p\");\n p.dir = dir;\n var lines = str.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n var _parameters$data$titl3, _parameters$data$cont3;\n\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str);\n return _super10.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n var _parameters$data$titl4, _parameters$data$cont4;\n\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str);\n return _super11.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n var _parameters$data$titl5, _parameters$data$cont5;\n\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str);\n return _super12.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n var _parameters$data$titl6, _parameters$data$cont6;\n\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str);\n return _super13.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _parameters$data$titl7, _parameters$data$cont7;\n\n var _this11;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str);\n _this11 = _super14.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this11.containerClassName = \"polylineAnnotation\";\n _this11.svgElementName = \"svg:polyline\";\n return _this11;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator19 = _createForOfIteratorHelper(data.vertices),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var coordinate = _step19.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this12;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this12 = _super15.call(this, parameters);\n _this12.containerClassName = \"polygonAnnotation\";\n _this12.svgElementName = \"svg:polygon\";\n return _this12;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n var _parameters$data$titl8, _parameters$data$cont8;\n\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str);\n return _super16.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _parameters$data$titl9, _parameters$data$cont9;\n\n var _this13;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str);\n _this13 = _super17.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this13.containerClassName = \"inkAnnotation\";\n _this13.svgElementName = \"svg:polyline\";\n return _this13;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator20 = _createForOfIteratorHelper(data.inkLists),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var inkList = _step20.value;\n var points = [];\n\n var _iterator21 = _createForOfIteratorHelper(inkList),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var coordinate = _step21.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n var _parameters$data$titl10, _parameters$data$cont10;\n\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str);\n return _super18.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n var _parameters$data$titl11, _parameters$data$cont11;\n\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str);\n return _super19.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n var _parameters$data$titl12, _parameters$data$cont12;\n\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str);\n return _super20.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n var _parameters$data$titl13, _parameters$data$cont13;\n\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str);\n return _super21.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n var _parameters$data$titl14, _parameters$data$cont14;\n\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str);\n return _super22.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this14$linkService$e;\n\n var _this14;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this14 = _super23.call(this, parameters, {\n isRenderable: true\n });\n var _this14$data$file = _this14.data.file,\n filename = _this14$data$file.filename,\n content = _this14$data$file.content;\n _this14.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this14.content = content;\n (_this14$linkService$e = _this14.linkService.eventBus) === null || _this14$linkService$e === void 0 ? void 0 : _this14$linkService$e.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this14),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n return _this14;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this$data$titleObj, _this$data$contentsOb;\n\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n var _this$downloadManager;\n\n (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename);\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator22 = _createForOfIteratorHelper(parameters.annotations),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _data = _step22.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i6 = 0, _sortedAnnotations = sortedAnnotations; _i6 < _sortedAnnotations.length; _i6++) {\n var data = _sortedAnnotations[_i6];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderForms: parameters.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n fieldObjects: parameters.fieldObjects,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n var rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n var _iterator23 = _createForOfIteratorHelper(rendered),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n var renderedElement = _step23.value;\n parameters.div.appendChild(renderedElement);\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n parameters.div.prepend(rendered);\n } else {\n parameters.div.appendChild(rendered);\n }\n }\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n\n var _iterator24 = _createForOfIteratorHelper(parameters.annotations),\n _step24;\n\n try {\n for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {\n var data = _step24.value;\n var elements = parameters.div.querySelectorAll(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (elements) {\n var _iterator25 = _createForOfIteratorHelper(elements),\n _step25;\n\n try {\n for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {\n var element = _step25.value;\n element.style.transform = transform;\n }\n } catch (err) {\n _iterator25.e(err);\n } finally {\n _iterator25.f();\n }\n }\n }\n } catch (err) {\n _iterator24.e(err);\n } finally {\n _iterator24.f();\n }\n\n parameters.div.hidden = false;\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 132 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nvar ColorConverters = /*#__PURE__*/function () {\n function ColorConverters() {\n _classCallCheck(this, ColorConverters);\n }\n\n _createClass(ColorConverters, null, [{\n key: \"CMYK_G\",\n value: function CMYK_G(_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n c = _ref2[0],\n y = _ref2[1],\n m = _ref2[2],\n k = _ref2[3];\n\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n }, {\n key: \"G_CMYK\",\n value: function G_CMYK(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n g = _ref4[0];\n\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n }, {\n key: \"G_RGB\",\n value: function G_RGB(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n g = _ref6[0];\n\n return [\"RGB\", g, g, g];\n }\n }, {\n key: \"G_HTML\",\n value: function G_HTML(_ref7) {\n var _ref8 = _slicedToArray(_ref7, 1),\n g = _ref8[0];\n\n var G = makeColorComp(g);\n return \"#\".concat(G).concat(G).concat(G);\n }\n }, {\n key: \"RGB_G\",\n value: function RGB_G(_ref9) {\n var _ref10 = _slicedToArray(_ref9, 3),\n r = _ref10[0],\n g = _ref10[1],\n b = _ref10[2];\n\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n }, {\n key: \"RGB_HTML\",\n value: function RGB_HTML(_ref11) {\n var _ref12 = _slicedToArray(_ref11, 3),\n r = _ref12[0],\n g = _ref12[1],\n b = _ref12[2];\n\n var R = makeColorComp(r);\n var G = makeColorComp(g);\n var B = makeColorComp(b);\n return \"#\".concat(R).concat(G).concat(B);\n }\n }, {\n key: \"T_HTML\",\n value: function T_HTML() {\n return \"#00000000\";\n }\n }, {\n key: \"CMYK_RGB\",\n value: function CMYK_RGB(_ref13) {\n var _ref14 = _slicedToArray(_ref13, 4),\n c = _ref14[0],\n y = _ref14[1],\n m = _ref14[2],\n k = _ref14[3];\n\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n }, {\n key: \"CMYK_HTML\",\n value: function CMYK_HTML(components) {\n return this.RGB_HTML(this.CMYK_RGB(components));\n }\n }, {\n key: \"RGB_CMYK\",\n value: function RGB_CMYK(_ref15) {\n var _ref16 = _slicedToArray(_ref15, 3),\n r = _ref16[0],\n g = _ref16[1],\n b = _ref16[2];\n\n var c = 1 - r;\n var m = 1 - g;\n var y = 1 - b;\n var k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n }]);\n\n return ColorConverters;\n}();\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 133 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.renderTextLayer = renderTextLayer;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MAX_TEXT_DIVS_TO_RENDER = 100000;\nvar DEFAULT_FONT_SIZE = 30;\nvar DEFAULT_FONT_ASCENT = 0.8;\nvar ascentCache = new Map();\nvar AllWhitespaceRegexp = /^\\s+$/g;\n\nfunction getAscent(fontFamily, ctx) {\n var cachedAscent = ascentCache.get(fontFamily);\n\n if (cachedAscent) {\n return cachedAscent;\n }\n\n ctx.save();\n ctx.font = \"\".concat(DEFAULT_FONT_SIZE, \"px \").concat(fontFamily);\n var metrics = ctx.measureText(\"\");\n var ascent = metrics.fontBoundingBoxAscent;\n var descent = Math.abs(metrics.fontBoundingBoxDescent);\n\n if (ascent) {\n ctx.restore();\n var ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n\n for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n\n for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) {\n if (pixels[_i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.restore();\n\n if (ascent) {\n var _ratio = ascent / (ascent + descent);\n\n ascentCache.set(fontFamily, _ratio);\n return _ratio;\n }\n\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\n\nfunction appendText(task, geom, styles, ctx) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = task._enhanceTextSelection ? {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n } : {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL\n };\n\n task._textDivs.push(textDiv);\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.hypot(tx[2], tx[3]);\n var fontAscent = fontHeight * getAscent(style.fontFamily, ctx);\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection && textDivProperties.hasText) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n}\n\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n}\n\nfunction findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n}\n\nfunction expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n\n for (var j = 0, jj = points.length; j < jj; j++) {\n var t = _util.Util.applyTransform(points[j], m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n }\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n}\n\nfunction expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n\n var _iterator = _createForOfIteratorHelper(bounds),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var b = _step.value;\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n var _iterator2 = _createForOfIteratorHelper(bounds),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _b = _step2.value;\n var _i2 = _b.index;\n expanded[_i2].top = _b.x1New;\n expanded[_i2].bottom = _b.x2New;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return expanded;\n}\n\nfunction expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n\n var _iterator3 = _createForOfIteratorHelper(bounds),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var boundary = _step3.value;\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var _horizonPart = void 0,\n _affectedBoundary = void 0;\n\n var q = void 0,\n k = void 0,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n _horizonPart = horizon[q];\n _affectedBoundary = _horizonPart.boundary;\n var xNew = void 0;\n\n if (_affectedBoundary.x2 > boundary.x1) {\n xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1;\n } else if (_affectedBoundary.x2New === undefined) {\n xNew = (_affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = _affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n _horizonPart = horizon[q];\n _affectedBoundary = _horizonPart.boundary;\n\n if (_affectedBoundary.x2New === undefined) {\n if (_affectedBoundary.x2 > boundary.x1) {\n if (_affectedBoundary.index > boundary.index) {\n _affectedBoundary.x2New = _affectedBoundary.x2;\n }\n } else {\n _affectedBoundary.x2New = maxXNew;\n }\n } else if (_affectedBoundary.x2New > maxXNew) {\n _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [];\n var lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n _horizonPart = horizon[q];\n _affectedBoundary = _horizonPart.boundary;\n var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = _horizonPart.end;\n } else {\n changedHorizon.push({\n start: _horizonPart.start,\n end: _horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n _horizonPart = horizon[q];\n _affectedBoundary = _horizonPart.boundary;\n\n if (_affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) {\n used = horizon[k].boundary === _affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) {\n used = horizon[k].boundary === _affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === _affectedBoundary;\n }\n\n if (!used) {\n _affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) {\n var horizonPart = _horizon[_i3];\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n }\n}\n\nvar TextLayerRenderTask = /*#__PURE__*/function () {\n function TextLayerRenderTask(_ref) {\n var _globalThis$FontInspe,\n _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n\n _classCallCheck(this, TextLayerRenderTask);\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (!_this._enhanceTextSelection) {\n _this._textDivProperties = null;\n }\n\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n _createClass(TextLayerRenderTask, [{\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"))[\"catch\"](function () {});\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n }\n }, {\n key: \"_processItems\",\n value: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n if (items[i].str === undefined) {\n if (items[i].type === \"beginMarkedContentProps\" || items[i].type === \"beginMarkedContent\") {\n var parent = this._container;\n this._container = document.createElement(\"span\");\n\n this._container.classList.add(\"markedContent\");\n\n if (items[i].id !== null) {\n this._container.setAttribute(\"id\", \"\".concat(items[i].id));\n }\n\n parent.appendChild(this._container);\n } else if (items[i].type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n\n continue;\n }\n\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache, this._layoutTextCtx);\n }\n }\n }, {\n key: \"_layoutText\",\n value: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n var scale = textDivProperties.canvasWidth / width;\n\n if (this._enhanceTextSelection) {\n textDivProperties.scale = scale;\n }\n\n transform = \"scaleX(\".concat(scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n if (textDivProperties.hasText) {\n this._container.appendChild(textDiv);\n }\n\n if (textDivProperties.hasEOL) {\n var br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n\n this._container.appendChild(br);\n }\n }\n }, {\n key: \"_render\",\n value: function _render() {\n var _this2 = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.height = canvas.width = DEFAULT_FONT_SIZE;\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\" parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n }\n }, {\n key: \"expandTextDivs\",\n value: function expandTextDivs() {\n var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (!divProps.hasText) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n }]);\n\n return TextLayerRenderTask;\n}();\n\nfunction renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n}\n\n/***/ }),\n/* 134 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SVGGraphics = function SVGGraphics() {\n _classCallCheck(this, SVGGraphics);\n\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var _current$txtElement;\n\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$normalizeRect = _util.Util.normalizeRect([].concat(_toConsumableArray(_util.Util.applyTransform([x0, y0], matrix)), _toConsumableArray(_util.Util.applyTransform([x1, y1], matrix)))),\n _Util$normalizeRect2 = _slicedToArray(_Util$normalizeRect, 4),\n tx0 = _Util$normalizeRect2[0],\n ty0 = _Util$normalizeRect2[1],\n tx1 = _Util$normalizeRect2[2],\n ty1 = _Util$normalizeRect2[3];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n\n var _iterator7 = _createForOfIteratorHelper(this.extraStack),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var prev = _step7.value;\n prev.clipGroup = null;\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator8 = _createForOfIteratorHelper(states),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n key = _step8$value[0],\n value = _step8$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 135 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _xfa_text = __w_pdfjs_require__(130);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XfaLayer = /*#__PURE__*/function () {\n function XfaLayer() {\n _classCallCheck(this, XfaLayer);\n }\n\n _createClass(XfaLayer, null, [{\n key: \"setupStorage\",\n value: function setupStorage(html, id, element, storage, intent) {\n var storedData = storage.getValue(id, {\n value: null\n });\n\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"change\", function (event) {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n\n break;\n\n case \"select\":\n if (storedData.value !== null) {\n var _iterator = _createForOfIteratorHelper(element.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var option = _step.value;\n\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n html.addEventListener(\"input\", function (event) {\n var options = event.target.options;\n var value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value: value\n });\n });\n break;\n }\n }\n }, {\n key: \"setAttributes\",\n value: function setAttributes(_ref) {\n var html = _ref.html,\n element = _ref.element,\n _ref$storage = _ref.storage,\n storage = _ref$storage === void 0 ? null : _ref$storage,\n intent = _ref.intent,\n linkService = _ref.linkService;\n var attributes = element.attributes;\n var isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n\n if (attributes.type === \"radio\") {\n attributes.name = \"\".concat(attributes.name, \"-\").concat(intent);\n }\n\n for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (value === null || value === undefined || key === \"dataId\") {\n continue;\n }\n\n if (key !== \"style\") {\n if (key === \"textContent\") {\n html.textContent = value;\n } else if (key === \"class\") {\n html.setAttribute(key, value.join(\" \"));\n } else {\n if (isHTMLAnchorElement && (key === \"href\" || key === \"newWindow\")) {\n continue;\n }\n\n html.setAttribute(key, value);\n }\n } else {\n Object.assign(html.style, value);\n }\n }\n\n if (isHTMLAnchorElement) {\n var _linkService$addLinkA;\n\n if (!linkService.addLinkAttributes) {\n (0, _util.warn)(\"XfaLayer.setAttribute - missing `addLinkAttributes`-method on the `linkService`-instance.\");\n }\n\n (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, html, attributes.href, attributes.newWindow);\n }\n\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n }, {\n key: \"render\",\n value: function render(parameters) {\n var storage = parameters.annotationStorage;\n var linkService = parameters.linkService;\n var root = parameters.xfa;\n var intent = parameters.intent || \"display\";\n var rootHtml = document.createElement(root.name);\n\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent: intent,\n linkService: linkService\n });\n }\n\n var stack = [[root, -1, rootHtml]];\n var rootDiv = parameters.div;\n rootDiv.appendChild(rootHtml);\n var transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n rootDiv.style.transform = transform;\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n var textDivs = [];\n\n while (stack.length > 0) {\n var _child$attributes;\n\n var _stack = _slicedToArray(stack[stack.length - 1], 3),\n parent = _stack[0],\n i = _stack[1],\n html = _stack[2];\n\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n\n var child = parent.children[++stack[stack.length - 1][1]];\n\n if (child === null) {\n continue;\n }\n\n var name = child.name;\n\n if (name === \"#text\") {\n var node = document.createTextNode(child.value);\n textDivs.push(node);\n html.appendChild(node);\n continue;\n }\n\n var childHtml = void 0;\n\n if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n\n html.appendChild(childHtml);\n\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage: storage,\n intent: intent,\n linkService: linkService\n });\n }\n\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n var _node = document.createTextNode(child.value);\n\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(_node);\n }\n\n childHtml.appendChild(_node);\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var el = _step2.value;\n el.setAttribute(\"readOnly\", true);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return {\n textDivs: textDivs\n };\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n }]);\n\n return XfaLayer;\n}();\n\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 136 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _network_utils = __w_pdfjs_require__(137);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var reader = _step.value;\n reader.cancel(reason);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 137 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _content_disposition = __w_pdfjs_require__(138);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\".concat(status, \") while retrieving PDF \\\"\").concat(url, \"\\\".\"), status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 138 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n2 === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 139 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _network_utils = __w_pdfjs_require__(137);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var _pendingRequest$onPro;\n\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt);\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n var _pendingRequest$onErr;\n\n (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status);\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n var _pendingRequest$onErr2;\n\n (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status);\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else {\n var _pendingRequest$onErr3;\n\n (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status);\n }\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n var _this$_fullRequestRea;\n\n (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason);\n\n var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var reader = _step.value;\n reader.cancel(reason);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(this._requests),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _requestCapability = _step2.value;\n\n _requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n this._requests.length = 0;\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n this._headersReceivedCapability.reject(this._storedError);\n\n var _iterator3 = _createForOfIteratorHelper(this._requests),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var requestCapability = _step3.value;\n requestCapability.reject(this._storedError);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n var _this$onProgress;\n\n (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, {\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n var _iterator4 = _createForOfIteratorHelper(this._requests),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var requestCapability = _step4.value;\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n var _this$onClosed;\n\n (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this);\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n var _iterator5 = _createForOfIteratorHelper(this._requests),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _requestCapability2 = _step5.value;\n\n _requestCapability2.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this._requests.length = 0;\n\n this._close();\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n var _iterator6 = _createForOfIteratorHelper(this._requests),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var requestCapability = _step6.value;\n requestCapability.reject(this._storedError);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported) {\n var _this$onProgress2;\n\n (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, {\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._storedError) {\n _context2.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 6;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 6:\n if (!this._done) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 8:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n var _iterator7 = _createForOfIteratorHelper(this._requests),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var requestCapability = _step7.value;\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 140 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _network_utils = __w_pdfjs_require__(137);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var reader = _step.value;\n reader.cancel(reason);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n })[\"catch\"](this._readCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLinkAttributes\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"LinkTarget\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function get() {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"createObjectURL\", ({\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n}));\nObject.defineProperty(exports, \"createPromiseCapability\", ({\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"removeNullCharacters\", ({\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", ({\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"LoopbackPort\", ({\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function get() {\n return _xfa_layer.XfaLayer;\n }\n}));\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _api = __w_pdfjs_require__(119);\n\nvar _annotation_layer = __w_pdfjs_require__(131);\n\nvar _worker_options = __w_pdfjs_require__(125);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _text_layer = __w_pdfjs_require__(133);\n\nvar _svg = __w_pdfjs_require__(134);\n\nvar _xfa_layer = __w_pdfjs_require__(135);\n\nvar pdfjsVersion = '2.11.338';\nvar pdfjsBuild = 'dedff3c98';\n{\n if (_is_node.isNodeJS) {\n var _require = __w_pdfjs_require__(136),\n PDFNodeStream = _require.PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var _require2 = __w_pdfjs_require__(139),\n PDFNetworkStream = _require2.PDFNetworkStream;\n\n var _require3 = __w_pdfjs_require__(140),\n PDFFetchStream = _require3.PDFFetchStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if ((0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, function() {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _l10n_utils = __w_pdfjs_require__(5);\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$annotationStorag = _ref.annotationStorage,\n annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderForms = _ref.renderForms,\n renderForms = _ref$renderForms === void 0 ? true : _ref$renderForms,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n,\n _ref$enableScripting = _ref.enableScripting,\n enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,\n _ref$hasJSActionsProm = _ref.hasJSActionsPromise,\n hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm,\n _ref$fieldObjectsProm = _ref.fieldObjectsPromise,\n fieldObjectsPromise = _ref$fieldObjectsProm === void 0 ? null : _ref$fieldObjectsProm,\n _ref$mouseState = _ref.mouseState,\n mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._fieldObjectsPromise = fieldObjectsPromise;\n this._mouseState = mouseState;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function () {\n var _render = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(viewport) {\n var intent,\n _yield$Promise$all,\n _yield$Promise$all2,\n annotations,\n _yield$Promise$all2$,\n hasJSActions,\n _yield$Promise$all2$2,\n fieldObjects,\n parameters,\n _args = arguments;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n intent = _args.length > 1 && _args[1] !== undefined ? _args[1] : \"display\";\n _context.next = 3;\n return Promise.all([this.pdfPage.getAnnotations({\n intent: intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n\n case 3:\n _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);\n annotations = _yield$Promise$all2[0];\n _yield$Promise$all2$ = _yield$Promise$all2[1];\n hasJSActions = _yield$Promise$all2$ === void 0 ? false : _yield$Promise$all2$;\n _yield$Promise$all2$2 = _yield$Promise$all2[2];\n fieldObjects = _yield$Promise$all2$2 === void 0 ? null : _yield$Promise$all2$2;\n\n if (!(this._cancelled || annotations.length === 0)) {\n _context.next = 12;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 12:\n parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations: annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions: hasJSActions,\n fieldObjects: fieldObjects,\n mouseState: this._mouseState\n };\n\n if (this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n this.l10n.translate(this.div);\n }\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function render(_x) {\n return _render.apply(this, arguments);\n }\n\n return render;\n }()\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n;\n var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;\n var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;\n var fieldObjectsPromise = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : null;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderForms: renderForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n,\n annotationStorage: annotationStorage,\n enableScripting: enableScripting,\n hasJSActionsPromise: hasJSActionsPromise,\n fieldObjectsPromise: fieldObjectsPromise,\n mouseState: mouseState\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n/* module decorator */ module = __w_pdfjs_require__.nmd(module);\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? 0 : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if ((typeof globalThis === \"undefined\" ? \"undefined\" : _typeof(globalThis)) === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ ((module) => {\n\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.fixupLangCode = fixupLangCode;\nexports.getL10nFallback = getL10nFallback;\nexports.NullL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n print_progress_percent: \"{{progress}}%\",\n \"toggle_sidebar.title\": \"Toggle Sidebar\",\n \"toggle_sidebar_notification2.title\": \"Toggle Sidebar (document contains outline/attachments/layers)\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n error_version_info: \"PDF.js v{{version}} (build: {{build}})\",\n error_message: \"Message: {{message}}\",\n error_stack: \"Stack: {{stack}}\",\n error_file: \"File: {{file}}\",\n error_line: \"Line: {{line}}\",\n rendering_error: \"An error occurred while rendering the page.\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading: \"Loading…\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\"\n};\n\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = \"find_match_count[\".concat(args.total === 1 ? \"one\" : \"other\", \"]\");\n break;\n\n case \"find_match_count_limit\":\n key = \"find_match_count_limit[\".concat(args.limit === 1 ? \"one\" : \"other\", \"]\");\n break;\n }\n\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\n\nvar PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\"\n};\n\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode === null || langCode === void 0 ? void 0 : langCode.toLowerCase()] || langCode;\n}\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(key) {\n var _arguments = arguments;\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var args, fallback;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null;\n fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args);\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }, {\n key: \"_goToDestinationHelper\",\n value: function _goToDestinationHelper(rawDest) {\n var _this = this;\n\n var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var explicitDest = arguments.length > 2 ? arguments[2] : undefined;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (_typeof(destRef) === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n _this._goToDestinationHelper(rawDest, namedDest, explicitDest);\n })[\"catch\"](function () {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n }, {\n key: \"goToDestination\",\n value: function () {\n var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(dest) {\n var namedDest, explicitDest;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.pdfDocument) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!(typeof dest === \"string\")) {\n _context.next = 9;\n break;\n }\n\n namedDest = dest;\n _context.next = 6;\n return this.pdfDocument.getDestination(dest);\n\n case 6:\n explicitDest = _context.sent;\n _context.next = 13;\n break;\n\n case 9:\n namedDest = null;\n _context.next = 12;\n return dest;\n\n case 12:\n explicitDest = _context.sent;\n\n case 13:\n if (Array.isArray(explicitDest)) {\n _context.next = 16;\n break;\n }\n\n console.error(\"PDFLinkService.goToDestination: \\\"\".concat(explicitDest, \"\\\" is not \") + \"a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return _context.abrupt(\"return\");\n\n case 16:\n this._goToDestinationHelper(dest, namedDest, explicitDest);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function goToDestination(_x) {\n return _goToDestination.apply(this, arguments);\n }\n\n return goToDestination;\n }()\n }, {\n key: \"goToPage\",\n value: function goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"PDFLinkService.goToPage: \\\"\".concat(val, \"\\\" is not a valid page.\"));\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"addLinkAttributes\",\n value: function addLinkAttributes(link, url) {\n var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n (0, _pdfjsLib.addLinkAttributes)(link, {\n url: url,\n target: newWindow ? _pdfjsLib.LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\"\n });\n }\n\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n\n if (params.has(\"zoom\")) {\n var zoomArgs = params.get(\"zoom\").split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.goToDestination(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n var _this$pdfHistory, _this$pdfHistory2;\n\n switch (action) {\n case \"GoBack\":\n (_this$pdfHistory = this.pdfHistory) === null || _this$pdfHistory === void 0 ? void 0 : _this$pdfHistory.back();\n break;\n\n case \"GoForward\":\n (_this$pdfHistory2 = this.pdfHistory) === null || _this$pdfHistory2 === void 0 ? void 0 : _this$pdfHistory2.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var _this$_pagesRefCache;\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"isPageCached\",\n value: function isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkEnabled = true;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"goToDestination\",\n value: function () {\n var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(dest) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function goToDestination(_x2) {\n return _goToDestination2.apply(this, arguments);\n }\n\n return goToDestination;\n }()\n }, {\n key: \"goToPage\",\n value: function goToPage(val) {}\n }, {\n key: \"addLinkAttributes\",\n value: function addLinkAttributes(link, url) {\n var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n (0, _pdfjsLib.addLinkAttributes)(link, {\n url: url,\n enabled: this.externalLinkEnabled\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"isPageCached\",\n value: function isPageCached(pageNumber) {\n return true;\n }\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.apiPageLayoutToSpreadMode = apiPageLayoutToSpreadMode;\nexports.apiPageModeToSidebarView = apiPageModeToSidebarView;\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getOutputScale = getOutputScale;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.watchScroll = watchScroll;\nexports.WaitOnType = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.EventBus = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = exports.AutomationEventBus = exports.animationStarted = void 0;\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar DEFAULT_SCALE_DELTA = 1.1;\nexports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar LOADINGBAR_END_OFFSET_VAR = \"--loadingBar-end-offset\";\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var params = new Map();\n\n var _iterator = _createForOfIteratorHelper(query.split(\"&\")),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var part = _step.value;\n var param = part.split(\"=\"),\n key = param[0].toLowerCase(),\n value = param.length > 1 ? param[1] : \"\";\n params.set(decodeURIComponent(key), decodeURIComponent(value));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(_ref2) {\n var scrollEl = _ref2.scrollEl,\n views = _ref2.views,\n _ref2$sortByVisibilit = _ref2.sortByVisibility,\n sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit,\n _ref2$horizontal = _ref2.horizontal,\n horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal,\n _ref2$rtl = _ref2.rtl,\n rtl = _ref2$rtl === void 0 ? false : _ref2$rtl;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementNextAfterViewHorizontally(view) {\n var element = view.div;\n var elementLeft = element.offsetLeft + element.clientLeft;\n var elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n var percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent,\n widthPercent: fractionWidth * 100 | 0\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n var delta = Math.hypot(evt.deltaX, evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = normalizeWheelEventDirection(evt);\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref3) {\n var target = _ref3.target,\n name = _ref3.name,\n _ref3$delay = _ref3.delay,\n delay = _ref3$delay === void 0 ? 0 : _ref3$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus() {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n this._on(eventName, listener, {\n external: true,\n once: options === null || options === void 0 ? void 0 : options.once\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n this._off(eventName, listener, {\n external: true,\n once: options === null || options === void 0 ? void 0 : options.once\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName, data) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var externalListeners;\n\n var _iterator2 = _createForOfIteratorHelper(eventListeners.slice(0)),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _step2.value,\n _listener = _step2$value.listener,\n external = _step2$value.external,\n once = _step2$value.once;\n\n if (once) {\n this._off(eventName, _listener);\n }\n\n if (external) {\n (externalListeners || (externalListeners = [])).push(_listener);\n continue;\n }\n\n _listener(data);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (externalListeners) {\n var _iterator3 = _createForOfIteratorHelper(externalListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(data);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var _this$_listeners;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);\n eventListeners.push({\n listener: listener,\n external: (options === null || options === void 0 ? void 0 : options.external) === true,\n once: (options === null || options === void 0 ? void 0 : options.once) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nvar AutomationEventBus = /*#__PURE__*/function (_EventBus) {\n _inherits(AutomationEventBus, _EventBus);\n\n var _super = _createSuper(AutomationEventBus);\n\n function AutomationEventBus() {\n _classCallCheck(this, AutomationEventBus);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(AutomationEventBus, [{\n key: \"dispatch\",\n value: function dispatch(eventName, data) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n }]);\n\n return AutomationEventBus;\n}(EventBus);\n\nexports.AutomationEventBus = AutomationEventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n var doc = document.documentElement;\n doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, \"\".concat(scrollbarWidth, \"px\"));\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n this.bar.classList.remove(\"hidden\");\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\nfunction getActiveOrFocusedElement() {\n var curRoot = document;\n var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) {\n var _curActiveOrFocused;\n\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\nfunction apiPageLayoutToSpreadMode(layout) {\n switch (layout) {\n case \"SinglePage\":\n case \"OneColumn\":\n return SpreadMode.NONE;\n\n case \"TwoColumnLeft\":\n case \"TwoPageLeft\":\n return SpreadMode.ODD;\n\n case \"TwoColumnRight\":\n case \"TwoPageRight\":\n return SpreadMode.EVEN;\n }\n\n return SpreadMode.NONE;\n}\n\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n\n return SidebarView.NONE;\n}\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeLayerBuilder = exports.DefaultStructTreeLayerFactory = void 0;\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nvar HEADING_PATTERN = /^H(\\d+)$/;\n\nvar StructTreeLayerBuilder = /*#__PURE__*/function () {\n function StructTreeLayerBuilder(_ref) {\n var pdfPage = _ref.pdfPage;\n\n _classCallCheck(this, StructTreeLayerBuilder);\n\n this.pdfPage = pdfPage;\n }\n\n _createClass(StructTreeLayerBuilder, [{\n key: \"render\",\n value: function render(structTree) {\n return this._walk(structTree);\n }\n }, {\n key: \"_setAttributes\",\n value: function _setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n }\n }, {\n key: \"_walk\",\n value: function _walk(node) {\n if (!node) {\n return null;\n }\n\n var element = document.createElement(\"span\");\n\n if (\"role\" in node) {\n var role = node.role;\n var match = role.match(HEADING_PATTERN);\n\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n\n this._setAttributes(node, element);\n\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this._setAttributes(node.children[0], element);\n } else {\n var _iterator = _createForOfIteratorHelper(node.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var kid = _step.value;\n element.appendChild(this._walk(kid));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }\n\n return element;\n }\n }]);\n\n return StructTreeLayerBuilder;\n}();\n\nexports.StructTreeLayerBuilder = StructTreeLayerBuilder;\n\nvar DefaultStructTreeLayerFactory = /*#__PURE__*/function () {\n function DefaultStructTreeLayerFactory() {\n _classCallCheck(this, DefaultStructTreeLayerFactory);\n }\n\n _createClass(DefaultStructTreeLayerFactory, [{\n key: \"createStructTreeLayerBuilder\",\n value: function createStructTreeLayerBuilder(pdfPage) {\n return new StructTreeLayerBuilder({\n pdfPage: pdfPage\n });\n }\n }]);\n\n return DefaultStructTreeLayerFactory;\n}();\n\nexports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = exports.DefaultTextLayerFactory = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$highlighter = _ref.highlighter,\n highlighter = _ref$highlighter === void 0 ? null : _ref$highlighter,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageNumber = pageIndex + 1;\n this.viewport = viewport;\n this.textDivs = [];\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.enhanceTextSelection = enhanceTextSelection;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$highlighter,\n _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs.length = 0;\n (_this$highlighter = this.highlighter) === null || _this$highlighter === void 0 ? void 0 : _this$highlighter.setTextMapping(this.textDivs, this.textContentItemsStr);\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n var _this$highlighter2;\n\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n (_this$highlighter2 = _this.highlighter) === null || _this$highlighter2 === void 0 ? void 0 : _this$highlighter2.enable();\n }, function (reason) {});\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var _this$highlighter3;\n\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n (_this$highlighter3 = this.highlighter) === null || _this$highlighter3 === void 0 ? void 0 : _this$highlighter3.disable();\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n var highlighter = arguments.length > 5 ? arguments[5] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus,\n highlighter: highlighter\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayerBuilder = exports.DefaultXfaLayerFactory = void 0;\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XfaLayerBuilder = /*#__PURE__*/function () {\n function XfaLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n annotationStorage = _ref.annotationStorage,\n linkService = _ref.linkService,\n xfaHtml = _ref.xfaHtml;\n\n _classCallCheck(this, XfaLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(XfaLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n\n if (intent === \"print\") {\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfa: this.xfaHtml,\n page: null,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent: intent\n };\n var div = document.createElement(\"div\");\n this.pageDiv.appendChild(div);\n parameters.div = div;\n\n var result = _pdfjsLib.XfaLayer.render(parameters);\n\n return Promise.resolve(result);\n }\n\n return this.pdfPage.getXfa().then(function (xfa) {\n if (_this._cancelled || !xfa) {\n return {\n textDivs: []\n };\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n xfa: xfa,\n page: _this.pdfPage,\n annotationStorage: _this.annotationStorage,\n linkService: _this.linkService,\n intent: intent\n };\n\n if (_this.div) {\n return _pdfjsLib.XfaLayer.update(parameters);\n }\n\n _this.div = document.createElement(\"div\");\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n return _pdfjsLib.XfaLayer.render(parameters);\n })[\"catch\"](function (error) {\n console.error(error);\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n }]);\n\n return XfaLayerBuilder;\n}();\n\nexports.XfaLayerBuilder = XfaLayerBuilder;\n\nvar DefaultXfaLayerFactory = /*#__PURE__*/function () {\n function DefaultXfaLayerFactory() {\n _classCallCheck(this, DefaultXfaLayerFactory);\n }\n\n _createClass(DefaultXfaLayerFactory, [{\n key: \"createXfaLayerBuilder\",\n value: function createXfaLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var xfaHtml = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n return new XfaLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage,\n linkService: new _pdf_link_service.SimpleLinkService(),\n xfaHtml: xfaHtml\n });\n }\n }]);\n\n return DefaultXfaLayerFactory;\n}();\n\nexports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _app_options = __w_pdfjs_require__(12);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n\n this._openBlobUrls = new WeakMap();\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n console.error(\"downloadUrl - not a valid URL: \".concat(url));\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _app_options.compatibilityParams.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"openOrDownloadData\",\n value: function openOrDownloadData(element, data, filename) {\n var isPdfData = (0, _pdfjsLib.isPdfFile)(filename);\n var contentType = isPdfData ? \"application/pdf\" : \"\";\n\n if (isPdfData && !_app_options.compatibilityParams.disableCreateObjectURL) {\n var blobUrl = this._openBlobUrls.get(element);\n\n if (!blobUrl) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n\n this._openBlobUrls.set(element, blobUrl);\n }\n\n var viewerUrl;\n viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n\n try {\n window.open(viewerUrl);\n return true;\n } catch (ex) {\n console.error(\"openOrDownloadData: \".concat(ex));\n URL.revokeObjectURL(blobUrl);\n\n this._openBlobUrls[\"delete\"](element);\n }\n }\n\n this.downloadData(data, filename, contentType);\n return false;\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"download\";\n\n if (_app_options.compatibilityParams.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionKind = exports.compatibilityParams = exports.AppOptions = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar compatibilityParams = Object.create(null);\nexports.compatibilityParams = compatibilityParams;\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nvar defaultOptions = {\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultUrl: {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 16777216,\n compatibility: compatibilityParams.maxCanvasPixels,\n kind: OptionKind.VIEWER\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n renderer: {\n value: \"canvas\",\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n useOnlyCssZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n defaultOptions.locale = {\n value: typeof navigator !== \"undefined\" ? navigator.language : \"en-US\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.renderer.kind += OptionKind.PREFERENCE;\n}\nvar userOptions = Object.create(null);\n\nvar AppOptions = /*#__PURE__*/function () {\n function AppOptions() {\n _classCallCheck(this, AppOptions);\n\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n _createClass(AppOptions, null, [{\n key: \"get\",\n value: function get(name) {\n var userOption = userOptions[name];\n\n if (userOption !== undefined) {\n return userOption;\n }\n\n var defaultOption = defaultOptions[name];\n\n if (defaultOption !== undefined) {\n var _defaultOption$compat;\n\n return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value;\n }\n\n return undefined;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var options = Object.create(null);\n\n for (var name in defaultOptions) {\n var _defaultOption$compat2;\n\n var defaultOption = defaultOptions[name];\n\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n\n if (kind === OptionKind.PREFERENCE) {\n var value = defaultOption.value,\n valueType = _typeof(value);\n\n if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n options[name] = value;\n continue;\n }\n\n throw new Error(\"Invalid type for preference: \".concat(name));\n }\n }\n\n var userOption = userOptions[name];\n options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value;\n }\n\n return options;\n }\n }, {\n key: \"set\",\n value: function set(name, value) {\n userOptions[name] = value;\n }\n }, {\n key: \"setAll\",\n value: function setAll(options) {\n for (var name in options) {\n userOptions[name] = options[name];\n }\n }\n }, {\n key: \"remove\",\n value: function remove(name) {\n delete userOptions[name];\n }\n }, {\n key: \"_hasUserOptions\",\n value: function _hasUserOptions() {\n return Object.keys(userOptions).length > 0;\n }\n }]);\n\n return AppOptions;\n}();\n\nexports.AppOptions = AppOptions;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n__w_pdfjs_require__(14);\n\nvar _l10n_utils = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(key) {\n var args,\n fallback,\n l10n,\n _args3 = arguments;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;\n fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args);\n _context3.next = 4;\n return this._ready;\n\n case 4:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(key, args, fallback));\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x2) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 14 */\n/***/ (() => {\n\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _pdf_find_utils = __w_pdfjs_require__(16);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n var diffs = null;\n var normalizedText = text.replace(normalizationRegex, function (ch, index) {\n var normalizedCh = CHARACTERS_TO_NORMALIZE[ch],\n diff = normalizedCh.length - ch.length;\n\n if (diff !== 0) {\n (diffs || (diffs = [])).push([index, diff]);\n }\n\n return normalizedCh;\n });\n return [normalizedText, diffs];\n}\n\nfunction getOriginalIndex(matchIndex) {\n var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!diffs) {\n return matchIndex;\n }\n\n var totalDiff = 0;\n\n var _iterator = _createForOfIteratorHelper(diffs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n index = _step$value[0],\n diff = _step$value[1];\n\n var currentIndex = index + totalDiff;\n\n if (currentIndex >= matchIndex) {\n break;\n }\n\n if (currentIndex + diff > matchIndex) {\n totalDiff += matchIndex - currentIndex;\n break;\n }\n\n totalDiff += diff;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return matchIndex - totalDiff;\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$selectedLeft = _ref2.selectedLeft,\n selectedLeft = _ref2$selectedLeft === void 0 ? 0 : _ref2$selectedLeft,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n\n var _normalize = normalize(this._state.query);\n\n var _normalize2 = _slicedToArray(_normalize, 1);\n\n this._normalizedQuery = _normalize2[0];\n }\n\n return this._normalizedQuery;\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {\n var matches = [],\n matchesLength = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),\n matchEnd = matchIdx + queryLen - 1,\n originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;\n matches.push(originalMatchIdx);\n matchesLength.push(originalQueryLen);\n }\n\n this._pageMatches[pageIndex] = matches;\n this._pageMatchesLength[pageIndex] = matchesLength;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),\n matchEnd = matchIdx + subqueryLen - 1,\n originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;\n matchesWithLength.push({\n match: originalMatchIdx,\n matchLength: originalQueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var pageDiffs = this._pageDiffs[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n var _normalize3 = normalize(strBuf.join(\"\"));\n\n var _normalize4 = _slicedToArray(_normalize3, 2);\n\n _this2._pageContents[i] = _normalize4[0];\n _this2._pageDiffs[i] = _normalize4[1];\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n _this2._pageDiffs[i] = null;\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n\n this._pendingFindMatches.add(i);\n\n this._extractTextPromises[i].then(function (pageIdx) {\n _this3._pendingFindMatches[\"delete\"](pageIdx);\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n var _this$_pageMatches$i;\n\n current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n var _this$_state$query, _this$_state2;\n\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount(),\n rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null\n });\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n _this.eventBus._on(\"pagesloaded\", function (evt) {\n _this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!this._isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushPage\",\n value: function pushPage(pageNumber) {\n var _this$_destination,\n _this3 = this;\n\n if (!this._initialized) {\n return;\n }\n\n if (!this._isValidPage(pageNumber)) {\n console.error(\"PDFHistory.pushPage: \\\"\".concat(pageNumber, \"\\\" is not a valid page number.\"));\n return;\n }\n\n if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) {\n return;\n }\n\n if (this._popStateInProgress) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: null,\n hash: \"page=\".concat(pageNumber),\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this3._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidPage\",\n value: function _isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.get(\"nameddest\") || \"\";\n var page = params.get(\"page\") | 0;\n\n if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this4 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this4._popStateInProgress) {\n _this4._tryPushCurrentPosition(true);\n }\n\n _this4._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this5 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this5._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this5._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var nameddest = (0, _ui_utils.parseQueryString)(destHash).get(\"nameddest\");\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nvar _app_options = __w_pdfjs_require__(12);\n\nvar _l10n_utils = __w_pdfjs_require__(5);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(19);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n var _options$textLayerMod, _options$annotationMo, _options$textHighligh, _this$renderingQueue;\n\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE;\n this._annotationMode = (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.xfaLayerFactory = options.xfaLayerFactory;\n this.textHighlighter = (_options$textHighligh = options.textHighlighterFactory) === null || _options$textHighligh === void 0 ? void 0 : _options$textHighligh.createTextHighlighter(this.id - 1, this.eventBus);\n this.structTreeLayerFactory = options.structTreeLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this._renderError = null;\n this._isStandalone = !((_this$renderingQueue = this.renderingQueue) !== null && _this$renderingQueue !== void 0 && _this$renderingQueue.hasViewer());\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n this.l10n.get(\"page_landmark\", {\n page: this.id\n }).then(function (msg) {\n div.setAttribute(\"aria-label\", msg);\n });\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_renderAnnotationLayer\",\n value: function () {\n var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var error;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n error = null;\n _context.prev = 1;\n _context.next = 4;\n return this.annotationLayer.render(this.viewport, \"display\");\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n error = _context.t0;\n\n case 9:\n _context.prev = 9;\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context.finish(9);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6, 9, 12]]);\n }));\n\n function _renderAnnotationLayer() {\n return _renderAnnotationLayer2.apply(this, arguments);\n }\n\n return _renderAnnotationLayer;\n }()\n }, {\n key: \"_renderXfaLayer\",\n value: function () {\n var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var error, result;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n error = null;\n _context2.prev = 1;\n _context2.next = 4;\n return this.xfaLayer.render(this.viewport, \"display\");\n\n case 4:\n result = _context2.sent;\n\n if (this.textHighlighter) {\n this._buildXfaTextContentItems(result.textDivs);\n }\n\n _context2.next = 11;\n break;\n\n case 8:\n _context2.prev = 8;\n _context2.t0 = _context2[\"catch\"](1);\n error = _context2.t0;\n\n case 11:\n _context2.prev = 11;\n this.eventBus.dispatch(\"xfalayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context2.finish(11);\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[1, 8, 11, 14]]);\n }));\n\n function _renderXfaLayer() {\n return _renderXfaLayer2.apply(this, arguments);\n }\n\n return _renderXfaLayer;\n }()\n }, {\n key: \"_buildXfaTextContentItems\",\n value: function () {\n var _buildXfaTextContentItems2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(textDivs) {\n var text, items, _iterator, _step, item;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.pdfPage.getTextContent();\n\n case 2:\n text = _context3.sent;\n items = [];\n _iterator = _createForOfIteratorHelper(text.items);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n item = _step.value;\n items.push(item.str);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.textHighlighter.setTextMapping(textDivs, items);\n this.textHighlighter.enable();\n\n case 8:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _buildXfaTextContentItems(_x) {\n return _buildXfaTextContentItems2.apply(this, arguments);\n }\n\n return _buildXfaTextContentItems;\n }()\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this$annotationLayer,\n _this$xfaLayer,\n _this = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$keepZoomLayer = _ref.keepZoomLayer,\n keepZoomLayer = _ref$keepZoomLayer === void 0 ? false : _ref$keepZoomLayer,\n _ref$keepAnnotationLa = _ref.keepAnnotationLayer,\n keepAnnotationLayer = _ref$keepAnnotationLa === void 0 ? false : _ref$keepAnnotationLa,\n _ref$keepXfaLayer = _ref.keepXfaLayer,\n keepXfaLayer = _ref$keepXfaLayer === void 0 ? false : _ref$keepXfaLayer;\n\n this.cancelRendering({\n keepAnnotationLayer: keepAnnotationLayer,\n keepXfaLayer: keepXfaLayer\n });\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null,\n xfaLayerNode = keepXfaLayer && ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case xfaLayerNode:\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n this.loadingIconDiv.setAttribute(\"role\", \"img\");\n this.l10n.get(\"loading\").then(function (msg) {\n var _this$loadingIconDiv;\n\n (_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute(\"aria-label\", msg);\n });\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(_ref2) {\n var _ref2$scale = _ref2.scale,\n scale = _ref2$scale === void 0 ? 0 : _ref2$scale,\n _ref2$rotation = _ref2.rotation,\n rotation = _ref2$rotation === void 0 ? null : _ref2$rotation,\n _ref2$optionalContent = _ref2.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref2$optionalContent === void 0 ? null : _ref2$optionalContent;\n\n if (_typeof(arguments[0]) !== \"object\") {\n console.error(\"PDFPageView.update called with separate parameters, please use an object instead.\");\n this.update({\n scale: arguments[0],\n rotation: arguments[1],\n optionalContentConfigPromise: arguments[2]\n });\n return;\n }\n\n this.scale = scale || this.scale;\n\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n if (this._isStandalone) {\n var doc = document.documentElement;\n doc.style.setProperty(\"--zoom-factor\", this.scale);\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform({\n target: this.svg,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepXfaLayer: true\n });\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$keepAnnotationL = _ref3.keepAnnotationLayer,\n keepAnnotationLayer = _ref3$keepAnnotationL === void 0 ? false : _ref3$keepAnnotationL,\n _ref3$keepXfaLayer = _ref3.keepXfaLayer,\n keepXfaLayer = _ref3$keepXfaLayer === void 0 ? false : _ref3$keepXfaLayer;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n var _this$textHighlighter;\n\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n (_this$textHighlighter = this.textHighlighter) === null || _this$textHighlighter === void 0 ? void 0 : _this$textHighlighter.disable();\n }\n\n if (this._onTextLayerRendered) {\n this.eventBus._off(\"textlayerrendered\", this._onTextLayerRendered);\n\n this._onTextLayerRendered = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(_ref4) {\n var target = _ref4.target,\n _ref4$redrawAnnotatio = _ref4.redrawAnnotationLayer,\n redrawAnnotationLayer = _ref4$redrawAnnotatio === void 0 ? false : _ref4$redrawAnnotatio,\n _ref4$redrawXfaLayer = _ref4.redrawXfaLayer,\n redrawXfaLayer = _ref4$redrawXfaLayer === void 0 ? false : _ref4$redrawXfaLayer;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n target.style.transform = \"rotate(\".concat(relativeRotation, \"deg) scale(\").concat(scaleX, \", \").concat(scaleY, \")\");\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\".concat(textAbsRotation, \"deg) \") + \"scale(\".concat(scale, \") \") + \"translate(\".concat(transX, \", \").concat(transY, \")\");\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotationLayer && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n\n if (redrawXfaLayer && this.xfaLayer) {\n this._renderXfaLayer();\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this$annotationLayer2,\n _this$xfaLayer2,\n _this2 = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var _this$annotationLayer3;\n\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus, this.textHighlighter);\n }\n\n this.textLayer = textLayer;\n\n if ((_this$xfaLayer2 = this.xfaLayer) !== null && _this$xfaLayer2 !== void 0 && _this$xfaLayer2.div) {\n div.appendChild(this.xfaLayer.div);\n }\n\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this2.renderingQueue.isHighestPriority(_this2)) {\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this2.resume = function () {\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n var error,\n _args4 = arguments;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n error = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : null;\n\n if (paintTask === _this2.paintTask) {\n _this2.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context4.next = 5;\n break;\n }\n\n _this2._renderError = null;\n return _context4.abrupt(\"return\");\n\n case 5:\n _this2._renderError = error;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this2.loadingIconDiv) {\n div.removeChild(_this2.loadingIconDiv);\n delete _this2.loadingIconDiv;\n }\n\n _this2._resetZoomLayer(true);\n\n _this2.eventBus.dispatch(\"pagerendered\", {\n source: _this2,\n pageNumber: _this2.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: _this2._renderError\n });\n\n if (!error) {\n _context4.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function finishPaintTask() {\n return _ref5.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true,\n includeMarkedContent: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this._annotationMode !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this._annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS, this.l10n, null, null, null, null);\n }\n\n this._renderAnnotationLayer();\n }\n\n if (this.xfaLayerFactory) {\n if (!this.xfaLayer) {\n this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null);\n }\n\n this._renderXfaLayer();\n }\n\n if (this.structTreeLayerFactory && this.textLayer && this.canvas) {\n this._onTextLayerRendered = function (event) {\n if (event.pageNumber !== _this2.id) {\n return;\n }\n\n _this2.eventBus._off(\"textlayerrendered\", _this2._onTextLayerRendered);\n\n _this2._onTextLayerRendered = null;\n\n if (!_this2.canvas) {\n return;\n }\n\n _this2.pdfPage.getStructTree().then(function (tree) {\n if (!tree) {\n return;\n }\n\n if (!_this2.canvas) {\n return;\n }\n\n var treeDom = _this2.structTreeLayer.render(tree);\n\n treeDom.classList.add(\"structTree\");\n\n _this2.canvas.appendChild(treeDom);\n });\n };\n\n this.eventBus._on(\"textlayerrendered\", this._onTextLayerRendered);\n\n this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage);\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n canvas.hidden = true;\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.hidden = false;\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n annotationMode: this._annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this3 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this3.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n var promise = pdfPage.getOperatorList({\n annotationMode: this._annotationMode\n }).then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs, _app_options.compatibilityParams.disableCreateObjectURL);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this3.svg = svg;\n\n _this3.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this3.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RenderingStates = exports.PDFRenderingQueue = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"hasViewer\",\n value: function hasViewer() {\n return !!this.pdfViewer;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var preRenderExtra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n var preRenderIndex = scrolledDown ? visible.last.id : visible.first.id - 2;\n var preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFScriptingManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(19);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFScriptingManager = /*#__PURE__*/function () {\n function PDFScriptingManager(_ref) {\n var _this = this;\n\n var eventBus = _ref.eventBus,\n _ref$sandboxBundleSrc = _ref.sandboxBundleSrc,\n sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc,\n _ref$scriptingFactory = _ref.scriptingFactory,\n scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory,\n _ref$docPropertiesLoo = _ref.docPropertiesLookup,\n docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo;\n\n _classCallCheck(this, PDFScriptingManager);\n\n this._pdfDocument = null;\n this._pdfViewer = null;\n this._closeCapability = null;\n this._destroyCapability = null;\n this._scripting = null;\n this._mouseState = Object.create(null);\n this._ready = false;\n this._eventBus = eventBus;\n this._sandboxBundleSrc = sandboxBundleSrc;\n this._scriptingFactory = scriptingFactory;\n this._docPropertiesLookup = docPropertiesLookup;\n\n if (!this._scriptingFactory) {\n window.addEventListener(\"updatefromsandbox\", function (event) {\n _this._eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n }\n\n _createClass(PDFScriptingManager, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this._pdfViewer = pdfViewer;\n }\n }, {\n key: \"setDocument\",\n value: function () {\n var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(pdfDocument) {\n var _this2 = this,\n _this$_scripting;\n\n var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._pdfDocument) {\n _context2.next = 3;\n break;\n }\n\n _context2.next = 3;\n return this._destroyScripting();\n\n case 3:\n this._pdfDocument = pdfDocument;\n\n if (pdfDocument) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 6:\n _context2.next = 8;\n return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n\n case 8:\n _yield$Promise$all = _context2.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);\n objects = _yield$Promise$all2[0];\n calculationOrder = _yield$Promise$all2[1];\n docActions = _yield$Promise$all2[2];\n\n if (!(!objects && !docActions)) {\n _context2.next = 17;\n break;\n }\n\n _context2.next = 16;\n return this._destroyScripting();\n\n case 16:\n return _context2.abrupt(\"return\");\n\n case 17:\n if (!(pdfDocument !== this._pdfDocument)) {\n _context2.next = 19;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 19:\n _context2.prev = 19;\n this._scripting = this._createScripting();\n _context2.next = 29;\n break;\n\n case 23:\n _context2.prev = 23;\n _context2.t0 = _context2[\"catch\"](19);\n console.error(\"PDFScriptingManager.setDocument: \\\"\".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, \"\\\".\"));\n _context2.next = 28;\n return this._destroyScripting();\n\n case 28:\n return _context2.abrupt(\"return\");\n\n case 29:\n this._internalEvents.set(\"updatefromsandbox\", function (event) {\n if ((event === null || event === void 0 ? void 0 : event.source) !== window) {\n return;\n }\n\n _this2._updateFromSandbox(event.detail);\n });\n\n this._internalEvents.set(\"dispatcheventinsandbox\", function (event) {\n var _this2$_scripting;\n\n (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox(event.detail);\n });\n\n this._internalEvents.set(\"pagechanging\", function (_ref2) {\n var pageNumber = _ref2.pageNumber,\n previous = _ref2.previous;\n\n if (pageNumber === previous) {\n return;\n }\n\n _this2._dispatchPageClose(previous);\n\n _this2._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagerendered\", function (_ref3) {\n var pageNumber = _ref3.pageNumber;\n\n if (!_this2._pageOpenPending.has(pageNumber)) {\n return;\n }\n\n if (pageNumber !== _this2._pdfViewer.currentPageNumber) {\n return;\n }\n\n _this2._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagesdestroy\", /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(event) {\n var _this2$_scripting2, _this2$_closeCapabili;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this2._dispatchPageClose(_this2._pdfViewer.currentPageNumber);\n\n case 2:\n _context.next = 4;\n return (_this2$_scripting2 = _this2._scripting) === null || _this2$_scripting2 === void 0 ? void 0 : _this2$_scripting2.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n\n case 4:\n (_this2$_closeCapabili = _this2._closeCapability) === null || _this2$_closeCapabili === void 0 ? void 0 : _this2$_closeCapabili.resolve();\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this._domEvents.set(\"mousedown\", function (event) {\n _this2._mouseState.isDown = true;\n });\n\n this._domEvents.set(\"mouseup\", function (event) {\n _this2._mouseState.isDown = false;\n });\n\n _iterator = _createForOfIteratorHelper(this._internalEvents);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1];\n\n this._eventBus._on(name, listener);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n _iterator2 = _createForOfIteratorHelper(this._domEvents);\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1];\n window.addEventListener(_name, _listener);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n _context2.prev = 40;\n _context2.next = 43;\n return this._getDocProperties();\n\n case 43:\n docProperties = _context2.sent;\n\n if (!(pdfDocument !== this._pdfDocument)) {\n _context2.next = 46;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 46:\n _context2.next = 48;\n return this._scripting.createSandbox({\n objects: objects,\n calculationOrder: calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: _objectSpread(_objectSpread({}, docProperties), {}, {\n actions: docActions\n })\n });\n\n case 48:\n this._eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n\n _context2.next = 57;\n break;\n\n case 51:\n _context2.prev = 51;\n _context2.t1 = _context2[\"catch\"](40);\n console.error(\"PDFScriptingManager.setDocument: \\\"\".concat(_context2.t1 === null || _context2.t1 === void 0 ? void 0 : _context2.t1.message, \"\\\".\"));\n _context2.next = 56;\n return this._destroyScripting();\n\n case 56:\n return _context2.abrupt(\"return\");\n\n case 57:\n _context2.next = 59;\n return (_this$_scripting = this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n\n case 59:\n _context2.next = 61;\n return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);\n\n case 61:\n Promise.resolve().then(function () {\n if (pdfDocument === _this2._pdfDocument) {\n _this2._ready = true;\n }\n });\n\n case 62:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[19, 23], [40, 51]]);\n }));\n\n function setDocument(_x) {\n return _setDocument.apply(this, arguments);\n }\n\n return setDocument;\n }()\n }, {\n key: \"dispatchWillSave\",\n value: function () {\n var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(detail) {\n var _this$_scripting2;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", (_this$_scripting2 = this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n }));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function dispatchWillSave(_x3) {\n return _dispatchWillSave.apply(this, arguments);\n }\n\n return dispatchWillSave;\n }()\n }, {\n key: \"dispatchDidSave\",\n value: function () {\n var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(detail) {\n var _this$_scripting3;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n }));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function dispatchDidSave(_x4) {\n return _dispatchDidSave.apply(this, arguments);\n }\n\n return dispatchDidSave;\n }()\n }, {\n key: \"dispatchWillPrint\",\n value: function () {\n var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(detail) {\n var _this$_scripting4;\n\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n }));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function dispatchWillPrint(_x5) {\n return _dispatchWillPrint.apply(this, arguments);\n }\n\n return dispatchWillPrint;\n }()\n }, {\n key: \"dispatchDidPrint\",\n value: function () {\n var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(detail) {\n var _this$_scripting5;\n\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.abrupt(\"return\", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n }));\n\n case 1:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function dispatchDidPrint(_x6) {\n return _dispatchDidPrint.apply(this, arguments);\n }\n\n return dispatchDidPrint;\n }()\n }, {\n key: \"mouseState\",\n get: function get() {\n return this._mouseState;\n }\n }, {\n key: \"destroyPromise\",\n get: function get() {\n var _this$_destroyCapabil;\n\n return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null;\n }\n }, {\n key: \"ready\",\n get: function get() {\n return this._ready;\n }\n }, {\n key: \"_internalEvents\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_internalEvents\", new Map());\n }\n }, {\n key: \"_domEvents\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_domEvents\", new Map());\n }\n }, {\n key: \"_pageOpenPending\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_pageOpenPending\", new Set());\n }\n }, {\n key: \"_visitedPages\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_visitedPages\", new Map());\n }\n }, {\n key: \"_updateFromSandbox\",\n value: function () {\n var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7(detail) {\n var isInPresentationMode, id, siblings, command, value, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument;\n\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;\n id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value;\n\n if (id) {\n _context7.next = 43;\n break;\n }\n\n _context7.t0 = command;\n _context7.next = _context7.t0 === \"clear\" ? 6 : _context7.t0 === \"error\" ? 8 : _context7.t0 === \"layout\" ? 10 : _context7.t0 === \"page-num\" ? 12 : _context7.t0 === \"print\" ? 14 : _context7.t0 === \"println\" ? 18 : _context7.t0 === \"zoom\" ? 20 : _context7.t0 === \"SaveAs\" ? 24 : _context7.t0 === \"FirstPage\" ? 26 : _context7.t0 === \"LastPage\" ? 28 : _context7.t0 === \"NextPage\" ? 30 : _context7.t0 === \"PrevPage\" ? 32 : _context7.t0 === \"ZoomViewIn\" ? 34 : _context7.t0 === \"ZoomViewOut\" ? 38 : 42;\n break;\n\n case 6:\n console.clear();\n return _context7.abrupt(\"break\", 42);\n\n case 8:\n console.error(value);\n return _context7.abrupt(\"break\", 42);\n\n case 10:\n this._pdfViewer.spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(value);\n return _context7.abrupt(\"break\", 42);\n\n case 12:\n this._pdfViewer.currentPageNumber = value + 1;\n return _context7.abrupt(\"break\", 42);\n\n case 14:\n _context7.next = 16;\n return this._pdfViewer.pagesPromise;\n\n case 16:\n this._eventBus.dispatch(\"print\", {\n source: this\n });\n\n return _context7.abrupt(\"break\", 42);\n\n case 18:\n console.log(value);\n return _context7.abrupt(\"break\", 42);\n\n case 20:\n if (!isInPresentationMode) {\n _context7.next = 22;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 22:\n this._pdfViewer.currentScaleValue = value;\n return _context7.abrupt(\"break\", 42);\n\n case 24:\n this._eventBus.dispatch(\"save\", {\n source: this\n });\n\n return _context7.abrupt(\"break\", 42);\n\n case 26:\n this._pdfViewer.currentPageNumber = 1;\n return _context7.abrupt(\"break\", 42);\n\n case 28:\n this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;\n return _context7.abrupt(\"break\", 42);\n\n case 30:\n this._pdfViewer.nextPage();\n\n return _context7.abrupt(\"break\", 42);\n\n case 32:\n this._pdfViewer.previousPage();\n\n return _context7.abrupt(\"break\", 42);\n\n case 34:\n if (!isInPresentationMode) {\n _context7.next = 36;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 36:\n this._pdfViewer.increaseScale();\n\n return _context7.abrupt(\"break\", 42);\n\n case 38:\n if (!isInPresentationMode) {\n _context7.next = 40;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 40:\n this._pdfViewer.decreaseScale();\n\n return _context7.abrupt(\"break\", 42);\n\n case 42:\n return _context7.abrupt(\"return\");\n\n case 43:\n if (!isInPresentationMode) {\n _context7.next = 46;\n break;\n }\n\n if (!detail.focus) {\n _context7.next = 46;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 46:\n delete detail.id;\n delete detail.siblings;\n ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id];\n _iterator3 = _createForOfIteratorHelper(ids);\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n elementId = _step3.value;\n element = document.getElementById(elementId);\n\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail: detail\n }));\n } else {\n (_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n case 51:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _updateFromSandbox(_x7) {\n return _updateFromSandbox2.apply(this, arguments);\n }\n\n return _updateFromSandbox;\n }()\n }, {\n key: \"_dispatchPageOpen\",\n value: function () {\n var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee9(pageNumber) {\n var _this3 = this;\n\n var initialize,\n pdfDocument,\n visitedPages,\n pageView,\n actionsPromise,\n _args9 = arguments;\n return _regenerator[\"default\"].wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false;\n pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;\n\n if (initialize) {\n this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n if (this._closeCapability) {\n _context9.next = 5;\n break;\n }\n\n return _context9.abrupt(\"return\");\n\n case 5:\n pageView = this._pdfViewer.getPageView(pageNumber - 1);\n\n if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED)) {\n _context9.next = 9;\n break;\n }\n\n this._pageOpenPending.add(pageNumber);\n\n return _context9.abrupt(\"return\");\n\n case 9:\n this._pageOpenPending[\"delete\"](pageNumber);\n\n actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee8() {\n var _pageView$pdfPage, _this3$_scripting;\n\n var actions;\n return _regenerator[\"default\"].wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null;\n\n case 2:\n actions = _context8.sent;\n\n if (!(pdfDocument !== _this3._pdfDocument)) {\n _context8.next = 5;\n break;\n }\n\n return _context8.abrupt(\"return\");\n\n case 5:\n _context8.next = 7;\n return (_this3$_scripting = _this3._scripting) === null || _this3$_scripting === void 0 ? void 0 : _this3$_scripting.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber: pageNumber,\n actions: actions\n });\n\n case 7:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }))();\n visitedPages.set(pageNumber, actionsPromise);\n\n case 12:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function _dispatchPageOpen(_x8) {\n return _dispatchPageOpen2.apply(this, arguments);\n }\n\n return _dispatchPageOpen;\n }()\n }, {\n key: \"_dispatchPageClose\",\n value: function () {\n var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee10(pageNumber) {\n var _this$_scripting6;\n\n var pdfDocument, visitedPages, actionsPromise;\n return _regenerator[\"default\"].wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;\n\n if (this._closeCapability) {\n _context10.next = 3;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 3:\n if (!this._pageOpenPending.has(pageNumber)) {\n _context10.next = 5;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 5:\n actionsPromise = visitedPages.get(pageNumber);\n\n if (actionsPromise) {\n _context10.next = 8;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 8:\n visitedPages.set(pageNumber, null);\n _context10.next = 11;\n return actionsPromise;\n\n case 11:\n if (!(pdfDocument !== this._pdfDocument)) {\n _context10.next = 13;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 13:\n _context10.next = 15;\n return (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber: pageNumber\n });\n\n case 15:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _dispatchPageClose(_x9) {\n return _dispatchPageClose2.apply(this, arguments);\n }\n\n return _dispatchPageClose;\n }()\n }, {\n key: \"_getDocProperties\",\n value: function () {\n var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee11() {\n var _require, docPropertiesLookup;\n\n return _regenerator[\"default\"].wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._docPropertiesLookup) {\n _context11.next = 2;\n break;\n }\n\n return _context11.abrupt(\"return\", this._docPropertiesLookup(this._pdfDocument));\n\n case 2:\n _require = __w_pdfjs_require__(21), docPropertiesLookup = _require.docPropertiesLookup;\n return _context11.abrupt(\"return\", docPropertiesLookup(this._pdfDocument));\n\n case 4:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _getDocProperties() {\n return _getDocProperties2.apply(this, arguments);\n }\n\n return _getDocProperties;\n }()\n }, {\n key: \"_createScripting\",\n value: function _createScripting() {\n this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();\n\n if (this._scripting) {\n throw new Error(\"_createScripting: Scripting already exists.\");\n }\n\n if (this._scriptingFactory) {\n return this._scriptingFactory.createScripting({\n sandboxBundleSrc: this._sandboxBundleSrc\n });\n }\n\n var _require2 = __w_pdfjs_require__(21),\n GenericScripting = _require2.GenericScripting;\n\n return new GenericScripting(this._sandboxBundleSrc);\n }\n }, {\n key: \"_destroyScripting\",\n value: function () {\n var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee12() {\n var _this$_destroyCapabil3;\n\n var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2;\n\n return _regenerator[\"default\"].wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (this._scripting) {\n _context12.next = 4;\n break;\n }\n\n this._pdfDocument = null;\n (_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve();\n return _context12.abrupt(\"return\");\n\n case 4:\n if (!this._closeCapability) {\n _context12.next = 8;\n break;\n }\n\n _context12.next = 7;\n return Promise.race([this._closeCapability.promise, new Promise(function (resolve) {\n setTimeout(resolve, 1000);\n })])[\"catch\"](function (reason) {});\n\n case 7:\n this._closeCapability = null;\n\n case 8:\n this._pdfDocument = null;\n _context12.prev = 9;\n _context12.next = 12;\n return this._scripting.destroySandbox();\n\n case 12:\n _context12.next = 16;\n break;\n\n case 14:\n _context12.prev = 14;\n _context12.t0 = _context12[\"catch\"](9);\n\n case 16:\n _iterator4 = _createForOfIteratorHelper(this._internalEvents);\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n _step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1];\n\n this._eventBus._off(name, listener);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this._internalEvents.clear();\n\n _iterator5 = _createForOfIteratorHelper(this._domEvents);\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n _step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1];\n window.removeEventListener(_name2, _listener2);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this._domEvents.clear();\n\n this._pageOpenPending.clear();\n\n this._visitedPages.clear();\n\n this._scripting = null;\n delete this._mouseState.isDown;\n this._ready = false;\n (_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve();\n\n case 28:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this, [[9, 14]]);\n }));\n\n function _destroyScripting() {\n return _destroyScripting2.apply(this, arguments);\n }\n\n return _destroyScripting;\n }()\n }]);\n\n return PDFScriptingManager;\n}();\n\nexports.PDFScriptingManager = PDFScriptingManager;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.docPropertiesLookup = docPropertiesLookup;\nexports.GenericScripting = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction docPropertiesLookup(_x) {\n return _docPropertiesLookup.apply(this, arguments);\n}\n\nfunction _docPropertiesLookup() {\n _docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(pdfDocument) {\n var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n url = \"\", baseUrl = url.split(\"#\")[0];\n _context4.next = 3;\n return pdfDocument.getMetadata();\n\n case 3:\n _yield$pdfDocument$ge = _context4.sent;\n info = _yield$pdfDocument$ge.info;\n metadata = _yield$pdfDocument$ge.metadata;\n contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename;\n contentLength = _yield$pdfDocument$ge.contentLength;\n\n if (contentLength) {\n _context4.next = 14;\n break;\n }\n\n _context4.next = 11;\n return pdfDocument.getDownloadInfo();\n\n case 11:\n _yield$pdfDocument$ge2 = _context4.sent;\n length = _yield$pdfDocument$ge2.length;\n contentLength = length;\n\n case 14:\n return _context4.abrupt(\"return\", _objectSpread(_objectSpread({}, info), {}, {\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),\n metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(),\n authors: metadata === null || metadata === void 0 ? void 0 : metadata.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n }));\n\n case 15:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _docPropertiesLookup.apply(this, arguments);\n}\n\nvar GenericScripting = /*#__PURE__*/function () {\n function GenericScripting(sandboxBundleSrc) {\n _classCallCheck(this, GenericScripting);\n\n this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () {\n return window.pdfjsSandbox.QuickJSSandbox();\n });\n }\n\n _createClass(GenericScripting, [{\n key: \"createSandbox\",\n value: function () {\n var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(data) {\n var sandbox;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n sandbox = _context.sent;\n sandbox.create(data);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function createSandbox(_x2) {\n return _createSandbox.apply(this, arguments);\n }\n\n return createSandbox;\n }()\n }, {\n key: \"dispatchEventInSandbox\",\n value: function () {\n var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(event) {\n var sandbox;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n sandbox = _context2.sent;\n sandbox.dispatchEvent(event);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function dispatchEventInSandbox(_x3) {\n return _dispatchEventInSandbox.apply(this, arguments);\n }\n\n return dispatchEventInSandbox;\n }()\n }, {\n key: \"destroySandbox\",\n value: function () {\n var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var sandbox;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n sandbox = _context3.sent;\n sandbox.nukeSandbox();\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function destroySandbox() {\n return _destroySandbox.apply(this, arguments);\n }\n\n return destroySandbox;\n }()\n }]);\n\n return GenericScripting;\n}();\n\nexports.GenericScripting = GenericScripting;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(23);\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_pageWidthScaleFactor\",\n get: function get() {\n return 1;\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_getPageAdvance\",\n value: function _getPageAdvance() {\n return 1;\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseViewer = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(19);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _l10n_utils = __w_pdfjs_require__(5);\n\nvar _pdf_page_view = __w_pdfjs_require__(18);\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(8);\n\nvar _text_highlighter = __w_pdfjs_require__(24);\n\nvar _text_layer_builder = __w_pdfjs_require__(9);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(10);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.has = function (view) {\n return data.includes(view);\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this$container,\n _this$viewer,\n _options$textLayerMod,\n _options$annotationMo,\n _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n var viewerVersion = '2.11.338';\n\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(\"The API version \\\"\".concat(_pdfjsLib.version, \"\\\" does not match the Viewer version \\\"\").concat(viewerVersion, \"\\\".\"));\n }\n\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === \"DIV\" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === \"DIV\")) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE;\n this._annotationMode = (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this._doc = document.documentElement;\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage;\n });\n }\n }, {\n key: \"renderForms\",\n get: function get() {\n return this._annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n }\n }, {\n key: \"enableScripting\",\n get: function get() {\n return !!this._scriptingManager;\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"currentPageNumber: \\\"\".concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var _this$_pageLabels, _this$_pageLabels2;\n\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n var previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null,\n previous: previous\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n var _this$_pageLabels3, _this$_pageLabels4;\n\n return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"currentPageLabel: \\\"\".concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n var updateArgs = {\n rotation: rotation\n };\n\n var _iterator = _createForOfIteratorHelper(this._pages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pageView = _step.value;\n pageView.update(updateArgs);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n\n if (this._scriptingManager) {\n this._scriptingManager.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var isPureXfa = pdfDocument.isPureXfa;\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n _this2._optionalContentConfigPromise = optionalContentConfigPromise;\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? _this2 : null;\n var annotationLayerFactory = _this2._annotationMode !== _pdfjsLib.AnnotationMode.DISABLE ? _this2 : null;\n var xfaLayerFactory = isPureXfa ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise: optionalContentConfigPromise,\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: annotationLayerFactory,\n annotationMode: _this2._annotationMode,\n xfaLayerFactory: xfaLayerFactory,\n textHighlighterFactory: _this2,\n structTreeLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderer: _this2.renderer,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (_this2._scriptingManager) {\n _this2._scriptingManager.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"setPageLabels: Invalid page labels.\");\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var _this$_pageLabels$i, _this$_pageLabels5;\n\n this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n this._doc.style.setProperty(\"--zoom-factor\", newScale);\n\n var updateArgs = {\n scale: newScale\n };\n\n var _iterator2 = _createForOfIteratorHelper(this._pages),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var pageView = _step2.value;\n pageView.update(updateArgs);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_pageWidthScaleFactor\",\n get: function get() {\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) {\n return 2;\n }\n\n return 1;\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"_setScale: \\\"\".concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"pageLabelToPageNumber\",\n value: function pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n\n var i = this._pageLabels.indexOf(label);\n\n if (i < 0) {\n return null;\n }\n\n return i + 1;\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"scrollPageIntoView: \\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\") {\n y = pageHeight;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"scrollPageIntoView: \\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"_isContainerRtl\",\n get: function get() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)({\n scrollEl: this.container,\n views: this._pages,\n sortByVisibility: true,\n horizontal: this._isScrollModeHorizontal,\n rtl: this._isScrollModeHorizontal && this._isContainerRtl\n });\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"isPageVisible: \\\"\".concat(pageNumber, \"\\\" is not a valid page.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"isPageCached\",\n value: function isPageCached(pageNumber) {\n if (!this.pdfDocument || !this._buffer) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"isPageCached: \\\"\".concat(pageNumber, \"\\\" is not a valid page.\"));\n return false;\n }\n\n var pageView = this._pages[pageNumber - 1];\n\n if (!pageView) {\n return false;\n }\n\n return this._buffer.has(pageView);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var preRenderExtra = this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode !== _ui_utils.SpreadMode.NONE && !this.isInPresentationMode;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n var highlighter = arguments.length > 5 ? arguments[5] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection,\n highlighter: highlighter\n });\n }\n }, {\n key: \"createTextHighlighter\",\n value: function createTextHighlighter(pageIndex, eventBus) {\n return new _text_highlighter.TextHighlighter({\n eventBus: eventBus,\n pageIndex: pageIndex,\n findController: this.isInPresentationMode ? null : this.findController\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var _this$pdfDocument, _this$pdfDocument2, _this$pdfDocument3, _this$_scriptingManag;\n\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n;\n var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;\n var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;\n var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;\n var fieldObjectsPromise = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : null;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage),\n imageResourcesPath: imageResourcesPath,\n renderForms: renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n,\n enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting,\n hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()),\n fieldObjectsPromise: fieldObjectsPromise || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.getFieldObjects()),\n mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState)\n });\n }\n }, {\n key: \"createXfaLayerBuilder\",\n value: function createXfaLayerBuilder(pageDiv, pdfPage) {\n var _this$pdfDocument4;\n\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage || ((_this$pdfDocument4 = this.pdfDocument) === null || _this$pdfDocument4 === void 0 ? void 0 : _this$pdfDocument4.annotationStorage),\n linkService: this.linkService\n });\n }\n }, {\n key: \"createStructTreeLayerBuilder\",\n value: function createStructTreeLayerBuilder(pdfPage) {\n return new _struct_tree_layer_builder.StructTreeLayerBuilder({\n pdfPage: pdfPage\n });\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var _this5 = this;\n\n return this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n\n if (!_this5.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n }\n\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n });\n }\n }, {\n key: \"optionalContentConfigPromise\",\n get: function get() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n },\n set: function set(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(\"Invalid optionalContentConfigPromise: \".concat(promise));\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n var updateArgs = {\n optionalContentConfigPromise: promise\n };\n\n var _iterator3 = _createForOfIteratorHelper(this._pages),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var pageView = _step3.value;\n pageView.update(updateArgs);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise: promise\n });\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_getPageAdvance\",\n value: function _getPageAdvance(currentPageNumber) {\n var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.isInPresentationMode) {\n return 1;\n }\n\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n var _this$_getVisiblePage = this._getVisiblePages(),\n views = _this$_getVisiblePage.views,\n pageLayout = new Map();\n\n var _iterator4 = _createForOfIteratorHelper(views),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _step4$value = _step4.value,\n id = _step4$value.id,\n y = _step4$value.y,\n percent = _step4$value.percent,\n widthPercent = _step4$value.widthPercent;\n\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n\n var yArray = pageLayout.get(y);\n\n if (!yArray) {\n pageLayout.set(y, yArray || (yArray = []));\n }\n\n yArray.push(id);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n var _iterator5 = _createForOfIteratorHelper(pageLayout.values()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _yArray = _step5.value;\n\n var currentIndex = _yArray.indexOf(currentPageNumber);\n\n if (currentIndex === -1) {\n continue;\n }\n\n var numPages = _yArray.length;\n\n if (numPages === 1) {\n break;\n }\n\n if (previous) {\n for (var i = currentIndex - 1, ii = 0; i >= ii; i--) {\n var currentId = _yArray[i],\n expectedId = _yArray[i + 1] - 1;\n\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) {\n var _currentId = _yArray[_i2],\n _expectedId = _yArray[_i2 - 1] + 1;\n\n if (_currentId > _expectedId) {\n return _expectedId - currentPageNumber;\n }\n }\n }\n\n if (previous) {\n var firstId = _yArray[0];\n\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n var lastId = _yArray[numPages - 1];\n\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n\n break;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n break;\n }\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n\n var parity = this._spreadMode - 1;\n\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n\n var _this$_getVisiblePage2 = this._getVisiblePages(),\n _views = _this$_getVisiblePage2.views,\n _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n\n var _iterator6 = _createForOfIteratorHelper(_views),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _step6$value = _step6.value,\n _id = _step6$value.id,\n _percent = _step6$value.percent,\n _widthPercent = _step6$value.widthPercent;\n\n if (_id !== _expectedId2) {\n continue;\n }\n\n if (_percent > 0 && _widthPercent === 100) {\n return 2;\n }\n\n break;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n break;\n }\n }\n\n return 1;\n }\n }, {\n key: \"nextPage\",\n value: function nextPage() {\n var currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n\n var advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n }, {\n key: \"previousPage\",\n value: function previousPage() {\n var currentPageNumber = this._currentPageNumber;\n\n if (currentPageNumber <= 1) {\n return false;\n }\n\n var advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n }, {\n key: \"increaseScale\",\n value: function increaseScale() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var newScale = this._currentScale;\n\n do {\n newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.ceil(newScale * 10) / 10;\n newScale = Math.min(_ui_utils.MAX_SCALE, newScale);\n } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);\n\n this.currentScaleValue = newScale;\n }\n }, {\n key: \"decreaseScale\",\n value: function decreaseScale() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var newScale = this._currentScale;\n\n do {\n newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.floor(newScale * 10) / 10;\n newScale = Math.max(_ui_utils.MIN_SCALE, newScale);\n } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);\n\n this.currentScaleValue = newScale;\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextHighlighter = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar TextHighlighter = /*#__PURE__*/function () {\n function TextHighlighter(_ref) {\n var findController = _ref.findController,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex;\n\n _classCallCheck(this, TextHighlighter);\n\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this._onUpdateTextLayerMatches = null;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n\n _createClass(TextHighlighter, [{\n key: \"setTextMapping\",\n value: function setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n var _this = this;\n\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n\n this.enabled = true;\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n\n this._updateMatches();\n }\n }, {\n key: \"disable\",\n value: function disable() {\n if (!this.enabled) {\n return;\n }\n\n this.enabled = false;\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx;\n var textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n\n if (div.nodeType === Node.TEXT_NODE) {\n var span = document.createElement(\"span\");\n div.parentNode.insertBefore(span, div);\n span.appendChild(div);\n textDivs[divIdx] = span;\n div = span;\n }\n\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var _span = document.createElement(\"span\");\n\n _span.className = \"\".concat(className, \" appended\");\n\n _span.appendChild(node);\n\n div.appendChild(_span);\n return className.includes(\"selected\") ? _span.offsetLeft : 0;\n }\n\n div.appendChild(node);\n return 0;\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n var selectedLeft = 0;\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft: selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.enabled) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx;\n var textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }]);\n\n return TextHighlighter;\n}();\n\nexports.TextHighlighter = TextHighlighter;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nvar _base_viewer = __w_pdfjs_require__(23);\n\nvar _pdfjsLib = __w_pdfjs_require__(4);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", ({\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", ({\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultStructTreeLayerFactory\", ({\n enumerable: true,\n get: function get() {\n return _struct_tree_layer_builder.DefaultStructTreeLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"StructTreeLayerBuilder\", ({\n enumerable: true,\n get: function get() {\n return _struct_tree_layer_builder.StructTreeLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", ({\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"TextLayerBuilder\", ({\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"DefaultXfaLayerFactory\", ({\n enumerable: true,\n get: function get() {\n return _xfa_layer_builder.DefaultXfaLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"XfaLayerBuilder\", ({\n enumerable: true,\n get: function get() {\n return _xfa_layer_builder.XfaLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"EventBus\", ({\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n}));\nObject.defineProperty(exports, \"ProgressBar\", ({\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n}));\nObject.defineProperty(exports, \"PDFLinkService\", ({\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n}));\nObject.defineProperty(exports, \"SimpleLinkService\", ({\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n}));\nObject.defineProperty(exports, \"DownloadManager\", ({\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n}));\nObject.defineProperty(exports, \"GenericL10n\", ({\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n}));\nObject.defineProperty(exports, \"NullL10n\", ({\n enumerable: true,\n get: function get() {\n return _l10n_utils.NullL10n;\n }\n}));\nObject.defineProperty(exports, \"PDFFindController\", ({\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n}));\nObject.defineProperty(exports, \"PDFHistory\", ({\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n}));\nObject.defineProperty(exports, \"PDFPageView\", ({\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n}));\nObject.defineProperty(exports, \"PDFScriptingManager\", ({\n enumerable: true,\n get: function get() {\n return _pdf_scripting_manager.PDFScriptingManager;\n }\n}));\nObject.defineProperty(exports, \"PDFSinglePageViewer\", ({\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n}));\nObject.defineProperty(exports, \"PDFViewer\", ({\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n}));\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(8);\n\nvar _text_layer_builder = __w_pdfjs_require__(9);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(10);\n\nvar _ui_utils = __w_pdfjs_require__(7);\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nvar _download_manager = __w_pdfjs_require__(11);\n\nvar _genericl10n = __w_pdfjs_require__(13);\n\nvar _l10n_utils = __w_pdfjs_require__(5);\n\nvar _pdf_find_controller = __w_pdfjs_require__(15);\n\nvar _pdf_history = __w_pdfjs_require__(17);\n\nvar _pdf_page_view = __w_pdfjs_require__(18);\n\nvar _pdf_scripting_manager = __w_pdfjs_require__(20);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(22);\n\nvar _pdf_viewer = __w_pdfjs_require__(25);\n\nvar pdfjsVersion = '2.11.338';\nvar pdfjsBuild = 'dedff3c98';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","import { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class ReplaySubject extends Subject {\n constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider) {\n super();\n this._bufferSize = _bufferSize;\n this._windowTime = _windowTime;\n this._timestampProvider = _timestampProvider;\n this._buffer = [];\n this._infiniteTimeWindow = true;\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n next(value) {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n const subscription = this._innerSubscribe(subscriber);\n const { _infiniteTimeWindow, _buffer } = this;\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n }\n _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._subject = null;\n this._refCount = 0;\n this._connection = null;\n if (hasLift(source)) {\n this.lift = source.lift;\n }\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n _teardown() {\n this._refCount = 0;\n const { _connection } = this;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n const subject = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject, undefined, () => {\n this._teardown();\n subject.complete();\n }, (err) => {\n this._teardown();\n subject.error(err);\n }, () => this._teardown())));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => createObject(keys, values)\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n maybeSchedule(scheduler, () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n let remainingFirstValues = length;\n for (let i = 0; i < length; i++) {\n maybeSchedule(scheduler, () => {\n const source = from(observables[i], scheduler);\n let hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, () => {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat(...args) {\n return concatAll()(from(args, popScheduler(args)));\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin(...args) {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, () => remainingCompletions--, undefined, () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable((subscriber) => {\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { Observable } from '../Observable';\nexport function fromSubscribable(subscribable) {\n return new Observable((subscriber) => subscribable.subscribe(subscriber));\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { timer } from './timer';\nexport function interval(period = 0, scheduler = asyncScheduler) {\n if (period < 0) {\n period = 0;\n }\n return timer(period, period, scheduler);\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport const NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nexport function throwError(errorOrErrorFactory, scheduler) {\n const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;\n const init = (subscriber) => subscriber.error(errorFactory());\n return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);\n}\n","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function audit(durationSelector) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n let durationSubscriber = null;\n let isComplete = false;\n const endDuration = () => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n isComplete && subscriber.complete();\n };\n const cleanupDuration = () => {\n durationSubscriber = null;\n isComplete && subscriber.complete();\n };\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n lastValue = value;\n if (!durationSubscriber) {\n innerFrom(durationSelector(value)).subscribe((durationSubscriber = createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));\n }\n }, () => {\n isComplete = true;\n (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();\n }));\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = asyncScheduler) {\n return audit(() => timer(duration, scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n","import { Subject } from '../Subject';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { fromSubscribable } from '../observable/fromSubscribable';\nconst DEFAULT_CONFIG = {\n connector: () => new Subject(),\n};\nexport function connect(selector, config = DEFAULT_CONFIG) {\n const { connector } = config;\n return operate((source, subscriber) => {\n const subject = connector();\n innerFrom(selector(fromSubscribable(subject))).subscribe(subscriber);\n subscriber.add(source.subscribe(subject));\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nimport { innerFrom } from '../observable/innerFrom';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => innerFrom(delayDurationSelector(value, index)).pipe(take(1), mapTo(value)));\n}\n","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, noop));\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from './map';\nexport function mapTo(value) {\n return map(() => value);\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n const buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n let innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, () => {\n innerComplete = true;\n }, undefined, () => {\n if (innerComplete) {\n try {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));\n }\n else {\n doInnerSub(bufferedValue);\n }\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\n","import { ConnectableObservable } from '../observable/ConnectableObservable';\nimport { isFunction } from '../util/isFunction';\nimport { connect } from './connect';\nexport function multicast(subjectOrSubjectFactory, selector) {\n const subjectFactory = isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : () => subjectOrSubjectFactory;\n if (isFunction(selector)) {\n return connect(selector, {\n connector: subjectFactory,\n });\n }\n return (source) => new ConnectableObservable(source, subjectFactory);\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function pairwise() {\n return operate((source, subscriber) => {\n let prev;\n let hasPrev = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const p = prev;\n prev = value;\n hasPrev && subscriber.next([p, value]);\n hasPrev = true;\n }));\n });\n}\n","import { Subject } from '../Subject';\nimport { multicast } from './multicast';\nimport { connect } from './connect';\nexport function publish(selector) {\n return selector ? (source) => connect(selector)(source) : (source) => multicast(new Subject())(source);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate((source, subscriber) => {\n let connection = null;\n source._refCount++;\n const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n const sharedConnection = source._connection;\n const conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n","import { operate } from '../util/lift';\nimport { scanInternals } from './scanInternals';\nexport function scan(accumulator, seed) {\n return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\n","import { createOperatorSubscriber } from './OperatorSubscriber';\nexport function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return (source, subscriber) => {\n let hasState = hasSeed;\n let state = seed;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, emitBeforeComplete &&\n (() => {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options = {}) {\n const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;\n return (wrapperSource) => {\n let connection;\n let resetConnection;\n let subject;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n const reset = () => {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: (value) => dest.next(value),\n error: (err) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on, ...args) {\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n const onSubscriber = new SafeSubscriber({\n next: () => {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on(...args)).subscribe(onSubscriber);\n}\n","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n","import { filter } from './filter';\nexport function skip(count) {\n return filter((_, index) => count <= index);\n}\n","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeLast(count) {\n return count <= 0\n ? () => EMPTY\n : operate((source, subscriber) => {\n let buffer = [];\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n buffer.push(value);\n count < buffer.length && buffer.shift();\n }, () => {\n for (const value of buffer) {\n subscriber.next(value);\n }\n subscriber.complete();\n }, undefined, () => {\n buffer = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error, complete }\n : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n let isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, () => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, (err) => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n immediateProvider.clearImmediate(id);\n if (scheduler._scheduled === id) {\n scheduler._scheduled = undefined;\n }\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n","import { Immediate } from '../util/Immediate';\nconst { setImmediate, clearImmediate } = Immediate;\nexport const immediateProvider = {\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","import { createErrorClass } from './createErrorClass';\nexport const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n});\n","let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","export function identity(x) {\n return x;\n}\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","/**\n * @license Angular v13.4.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the [AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n *
\n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n *
\n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n *
\n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n *
\n *\n *
\n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n *
\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v13.4.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || !!ngDevMode;\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* INVALID_TIMING_VALUE */, NG_DEV_MODE$1 && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* NEGATIVE_STEP_VALUE */, NG_DEV_MODE$1 && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* NEGATIVE_DELAY_VALUE */, NG_DEV_MODE$1 && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* INVALID_STYLE_PARAMS */, NG_DEV_MODE$1 &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* INVALID_PARAM_VALUE */, NG_DEV_MODE$1 && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* INVALID_NODE_TYPE */, NG_DEV_MODE$1 && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* INVALID_CSS_UNIT_VALUE */, NG_DEV_MODE$1 && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* INVALID_TRIGGER */, NG_DEV_MODE$1 &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* INVALID_DEFINITION */, NG_DEV_MODE$1 && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* INVALID_STATE */, NG_DEV_MODE$1 &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* INVALID_STYLE_VALUE */, NG_DEV_MODE$1 && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* INVALID_PROPERTY */, NG_DEV_MODE$1 &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* INVALID_PARALLEL_ANIMATION */, NG_DEV_MODE$1 &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* INVALID_KEYFRAMES */, NG_DEV_MODE$1 && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* INVALID_OFFSET */, NG_DEV_MODE$1 && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* KEYFRAME_OFFSETS_OUT_OF_ORDER */, NG_DEV_MODE$1 && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* KEYFRAMES_MISSING_OFFSETS */, NG_DEV_MODE$1 && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* INVALID_STAGGER */, NG_DEV_MODE$1 && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* INVALID_QUERY */, NG_DEV_MODE$1 &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* INVALID_EXPRESSION */, NG_DEV_MODE$1 && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* INVALID_TRANSITION_ALIAS */, NG_DEV_MODE$1 && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* VALIDATION_FAILED */, NG_DEV_MODE$1 && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* BUILDING_FAILED */, NG_DEV_MODE$1 && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* TRIGGER_BUILD_FAILED */, NG_DEV_MODE$1 &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* ANIMATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* REGISTRATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* MISSING_OR_DESTROYED_ANIMATION */, NG_DEV_MODE$1 && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* CREATE_ANIMATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* MISSING_PLAYER */, NG_DEV_MODE$1 && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* MISSING_TRIGGER */, NG_DEV_MODE$1 &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* MISSING_EVENT */, NG_DEV_MODE$1 &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* UNSUPPORTED_TRIGGER_EVENT */, NG_DEV_MODE$1 &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* UNREGISTERED_TRIGGER */, NG_DEV_MODE$1 && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* TRIGGER_TRANSITIONS_FAILED */, NG_DEV_MODE$1 &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* TRIGGER_PARSING_FAILED */, NG_DEV_MODE$1 &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* TRANSITION_FAILED */, NG_DEV_MODE$1 &&\n `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (ngDevMode && props.length) {\n warnings.push(`The provided CSS properties are not recognized properties supported for animations: ${props.join(', ')}`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n delete tuple[prop];\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles is an object that prototypically inherits from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (Object.keys(finalStyles).length) {\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\nconst DIMENSIONAL_PROP_MAP = (() => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(',')))();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: Object.assign(Object.assign({}, transitionAnimationParams), nextAnimationParams) };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles[normalizedProp] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams, _normalizer);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n previousTriggersValues.set(triggerName, triggerStates[triggerName].value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n if (this.driver.getParentElement !== undefined) {\n // Fast path for when the driver implements `getParentElement`, which allows us to find the\n // closest ancestor with an existing namespace that we can then insert `ns` after, without\n // having to inspect all existing namespaces.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n }\n else {\n // Slow path for backwards compatibility if the driver does not implement\n // `getParentElement`, to be removed once `getParentElement` is a required method.\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n var _a;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if ((_a = element.classList) === null || _a === void 0 ? void 0 : _a.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates[entry.triggerName]) {\n triggersWithStates[entry.triggerName].value = previousValue;\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, Object.assign(Object.assign({}, post), pre));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n var _a;\n (_a = element.classList) === null || _a === void 0 ? void 0 : _a.add(className);\n}\nfunction removeClass(element, className) {\n var _a;\n (_a = element.classList) === null || _a === void 0 ? void 0 : _a.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n Object.keys(finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = this._finished ? finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, validateStyleProperty as ɵvalidateStyleProperty };\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document, \n /**\n * @deprecated To be turned into a required parameter.\n * @breaking-change 14.0.0\n */\n _platform) {\n this._platform = _platform;\n /** Map of all registered message elements that have been placed into the document. */\n this._messageRegistry = new Map();\n /** Container for all registered messages. */\n this._messagesContainer = null;\n /** Unique ID for the service. */\n this._id = `${nextId++}`;\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n this._messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!this._messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n var _a;\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = this._messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (((_a = this._messagesContainer) === null || _a === void 0 ? void 0 : _a.childNodes.length) === 0) {\n this._messagesContainer.remove();\n this._messagesContainer = null;\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n var _a;\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n (_a = this._messagesContainer) === null || _a === void 0 ? void 0 : _a.remove();\n this._messagesContainer = null;\n this._messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n this._messagesContainer.appendChild(messageElement);\n this._messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n var _a, _b;\n (_b = (_a = this._messageRegistry.get(key)) === null || _a === void 0 ? void 0 : _a.messageElement) === null || _b === void 0 ? void 0 : _b.remove();\n this._messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (this._messagesContainer) {\n return;\n }\n const containerClassName = 'cdk-describedby-message-container';\n const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n for (let i = 0; i < serverContainers.length; i++) {\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n serverContainers[i].remove();\n }\n const messagesContainer = this._document.createElement('div');\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add(containerClassName);\n messagesContainer.classList.add('cdk-visually-hidden');\n // @breaking-change 14.0.0 Remove null check for `_platform`.\n if (this._platform && !this._platform.isBrowser) {\n messagesContainer.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(messagesContainer);\n this._messagesContainer = messagesContainer;\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = this._messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nAriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.Platform }];\n } });\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream\n .pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))\n .subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return (isPotentiallyFocusable(element) &&\n !this.isDisabled(element) &&\n ((config === null || config === void 0 ? void 0 : config.ignoreVisibility) || this.isVisible(element)));\n }\n}\nInteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nInteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch (_a) {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth ||\n element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return (nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea');\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return (inputType === 'text' ||\n inputType === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea');\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return (isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element));\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return (node.ownerDocument && node.ownerDocument.defaultView) || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length\n ? markers[markers.length - 1]\n : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getFirstTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getLastTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = coerceBooleanProperty(value);\n }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() {\n return this._autoCapture;\n }\n set autoCapture(value) {\n this._autoCapture = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange &&\n !autoCaptureChange.firstChange &&\n this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTrapFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n }, propDecorators: { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n var _a;\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !((_a = target.closest) === null || _a === void 0 ? void 0 : _a.call(target, 'div.cdk-overlay-pane'))) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero or `event.buttons` is zero, depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `offsetX` and `offsetY` work on Chrome, but fail on Firefox.\n // Note that there's an edge case where the user could click the 0x0 spot of the\n // screen themselves, but that is unlikely to contain interactive elements.\n return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (!!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n var _a, _b;\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if ((_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.ignoreKeys) === null || _b === void 0 ? void 0 : _b.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = Object.assign(Object.assign({}, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS), options);\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nInputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n if (!this._currentPromise) {\n this._currentPromise = new Promise(resolve => (this._currentResolve = resolve));\n }\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n this._currentResolve();\n this._currentPromise = this._currentResolve = undefined;\n }, 100);\n return this._currentPromise;\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n var _a, _b;\n clearTimeout(this._previousTimeout);\n (_a = this._liveElement) === null || _a === void 0 ? void 0 : _a.remove();\n this._liveElement = null;\n (_b = this._currentResolve) === null || _b === void 0 ? void 0 : _b.call(this);\n this._currentPromise = this._currentResolve = undefined;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nLiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }];\n } });\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAriaLive, selector: \"[cdkAriaLive]\", inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAriaLive, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = window.setTimeout(() => (this._windowFocused = false));\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = (options === null || options === void 0 ? void 0 : options.detectionMode) || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode,\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n return this._windowFocused && this._lastFocusOrigin ? this._lastFocusOrigin : 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* EVENTUAL */ ||\n !!(focusEventTarget === null || focusEventTarget === void 0 ? void 0 : focusEventTarget.contains(this._inputModalityDetector._mostRecentTarget)));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => (this._origin = null), ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo ||\n (elementInfo.checkChildren &&\n event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }];\n } });\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor\n .monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: { cdkFocusChange: \"cdkFocusChange\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkMonitorFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{\n type: Output\n }] } });\n\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle\n ? documentWindow.getComputedStyle(testElement)\n : null;\n const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n case 'rgb(0,0,0)':\n return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)':\n return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nHighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });\nA11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });\nA11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, imports: [[ObserversModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n }]\n }], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Input, EventEmitter, Optional, Inject, SkipSelf, Output, NgModule } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\nimport * as i1 from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each accordion. */\nlet nextId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nclass CdkAccordion {\n constructor() {\n /** Emits when the state of the accordion changes */\n this._stateChanges = new Subject();\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n this._openCloseAllActions = new Subject();\n /** A readonly id value to use for unique selection coordination. */\n this.id = `cdk-accordion-${nextId$1++}`;\n this._multi = false;\n }\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n get multi() {\n return this._multi;\n }\n set multi(multi) {\n this._multi = coerceBooleanProperty(multi);\n }\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll() {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll() {\n this._openCloseAllActions.next(false);\n }\n ngOnChanges(changes) {\n this._stateChanges.next(changes);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n}\nCdkAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkAccordion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAccordion, selector: \"cdk-accordion, [cdkAccordion]\", inputs: { multi: \"multi\" }, providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }], exportAs: [\"cdkAccordion\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordion, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }],\n }]\n }], propDecorators: { multi: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nclass CdkAccordionItem {\n constructor(accordion, _changeDetectorRef, _expansionDispatcher) {\n this.accordion = accordion;\n this._changeDetectorRef = _changeDetectorRef;\n this._expansionDispatcher = _expansionDispatcher;\n /** Subscription to openAll/closeAll events. */\n this._openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n this.closed = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n this.opened = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n this.destroyed = new EventEmitter();\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n this.expandedChange = new EventEmitter();\n /** The unique AccordionItem id. */\n this.id = `cdk-accordion-child-${nextId++}`;\n this._expanded = false;\n this._disabled = false;\n /** Unregister function for _expansionDispatcher. */\n this._removeUniqueSelectionListener = () => { };\n this._removeUniqueSelectionListener = _expansionDispatcher.listen((id, accordionId) => {\n if (this.accordion &&\n !this.accordion.multi &&\n this.accordion.id === accordionId &&\n this.id !== id) {\n this.expanded = false;\n }\n });\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n /** Whether the AccordionItem is expanded. */\n get expanded() {\n return this._expanded;\n }\n set expanded(expanded) {\n expanded = coerceBooleanProperty(expanded);\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n }\n else {\n this.closed.emit();\n }\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the AccordionItem is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(disabled) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n /** Toggles the expanded state of the accordion item. */\n toggle() {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n /** Sets the expanded state of the accordion item to false. */\n close() {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n /** Sets the expanded state of the accordion item to true. */\n open() {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n _subscribeToOpenCloseAllActions() {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\nCdkAccordionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionItem, deps: [{ token: CDK_ACCORDION, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i1.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAccordionItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAccordionItem, selector: \"cdk-accordion-item, [cdkAccordionItem]\", inputs: { expanded: \"expanded\", disabled: \"disabled\" }, outputs: { closed: \"closed\", opened: \"opened\", destroyed: \"destroyed\", expandedChange: \"expandedChange\" }, providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: undefined },\n ], exportAs: [\"cdkAccordionItem\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionItem, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: undefined },\n ],\n }]\n }], ctorParameters: function () {\n return [{ type: CdkAccordion, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_ACCORDION]\n }, {\n type: SkipSelf\n }] }, { type: i0.ChangeDetectorRef }, { type: i1.UniqueSelectionDispatcher }];\n }, propDecorators: { closed: [{\n type: Output\n }], opened: [{\n type: Output\n }], destroyed: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], expanded: [{\n type: Input\n }], disabled: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkAccordionModule {\n}\nCdkAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] });\nCdkAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkAccordion, CdkAccordionItem, CdkAccordionModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n/** Resolves a string value to a specific direction. */\nfunction _resolveDirectionality(rawValue) {\n const value = (rawValue === null || rawValue === void 0 ? void 0 : rawValue.toLowerCase()) || '';\n if (value === 'auto' && typeof navigator !== 'undefined' && (navigator === null || navigator === void 0 ? void 0 : navigator.language)) {\n return RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n }\n return value === 'rtl' ? 'rtl' : 'ltr';\n}\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n this.value = _resolveDirectionality(bodyDir || htmlDir || 'ltr');\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nDirectionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() {\n return this._dir;\n }\n set dir(value) {\n const previousValue = this._dir;\n // Note: `_resolveDirectionality` resolves the language based on the browser's language,\n // whereas the browser does it based on the content of the element. Since doing so based\n // on the content can be expensive, for now we're doing the simpler matching.\n this._dir = _resolveDirectionality(value);\n this._rawDir = value;\n if (previousValue !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() {\n return this.dir;\n }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nDir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: Dir, selector: \"[dir]\", inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, host: { properties: { \"attr.dir\": \"_rawDir\" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: [\"dir\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Dir, decorators: [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir',\n }]\n }], propDecorators: { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });\nBidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality };\n","import { Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('13.3.9');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { VERSION };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit,\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n","import * as i0 from '@angular/core';\nimport { Injectable, Inject, InjectionToken, Directive, Input, EventEmitter, Optional, SkipSelf, Output, Self, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { _getEventTarget, normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';\nimport { coerceBooleanProperty, coerceElement, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Subject, Subscription, interval, animationFrameScheduler, Observable, merge } from 'rxjs';\nimport { takeUntil, startWith, map, take, tap, switchMap } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/scrolling';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport * as i3 from '@angular/cdk/bidi';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Shallow-extends a stylesheet object with another stylesheet-like object.\n * Note that the keys in `source` have to be dash-cased.\n * @docs-private\n */\nfunction extendStyles(dest, source, importantProperties) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n const value = source[key];\n if (value) {\n dest.setProperty(key, value, (importantProperties === null || importantProperties === void 0 ? void 0 : importantProperties.has(key)) ? 'important' : '');\n }\n else {\n dest.removeProperty(key);\n }\n }\n }\n return dest;\n}\n/**\n * Toggles whether the native drag interactions should be enabled for an element.\n * @param element Element on which to toggle the drag interactions.\n * @param enable Whether the drag interactions should be enabled.\n * @docs-private\n */\nfunction toggleNativeDragInteractions(element, enable) {\n const userSelect = enable ? '' : 'none';\n extendStyles(element.style, {\n 'touch-action': enable ? '' : 'none',\n '-webkit-user-drag': enable ? '' : 'none',\n '-webkit-tap-highlight-color': enable ? '' : 'transparent',\n 'user-select': userSelect,\n '-ms-user-select': userSelect,\n '-webkit-user-select': userSelect,\n '-moz-user-select': userSelect,\n });\n}\n/**\n * Toggles whether an element is visible while preserving its dimensions.\n * @param element Element whose visibility to toggle\n * @param enable Whether the element should be visible.\n * @param importantProperties Properties to be set as `!important`.\n * @docs-private\n */\nfunction toggleVisibility(element, enable, importantProperties) {\n extendStyles(element.style, {\n position: enable ? '' : 'fixed',\n top: enable ? '' : '0',\n opacity: enable ? '' : '0',\n left: enable ? '' : '-999em',\n }, importantProperties);\n}\n/**\n * Combines a transform string with an optional other transform\n * that exited before the base transform was applied.\n */\nfunction combineTransforms(transform, initialTransform) {\n return initialTransform && initialTransform != 'none'\n ? transform + ' ' + initialTransform\n : transform;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Parses a CSS time value to milliseconds. */\nfunction parseCssTimeUnitsToMs(value) {\n // Some browsers will return it in seconds, whereas others will return milliseconds.\n const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;\n return parseFloat(value) * multiplier;\n}\n/** Gets the transform transition duration, including the delay, of an element in milliseconds. */\nfunction getTransformTransitionDurationInMs(element) {\n const computedStyle = getComputedStyle(element);\n const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');\n const property = transitionedProperties.find(prop => prop === 'transform' || prop === 'all');\n // If there's no transition for `all` or `transform`, we shouldn't do anything.\n if (!property) {\n return 0;\n }\n // Get the index of the property that we're interested in and match\n // it up to the same index in `transition-delay` and `transition-duration`.\n const propertyIndex = transitionedProperties.indexOf(property);\n const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');\n const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');\n return (parseCssTimeUnitsToMs(rawDurations[propertyIndex]) +\n parseCssTimeUnitsToMs(rawDelays[propertyIndex]));\n}\n/** Parses out multiple values from a computed style into an array. */\nfunction parseCssPropertyValue(computedStyle, name) {\n const value = computedStyle.getPropertyValue(name);\n return value.split(',').map(part => part.trim());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets a mutable version of an element's bounding `ClientRect`. */\nfunction getMutableClientRect(element) {\n const clientRect = element.getBoundingClientRect();\n // We need to clone the `clientRect` here, because all the values on it are readonly\n // and we need to be able to update them. Also we can't use a spread here, because\n // the values on a `ClientRect` aren't own properties. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes\n return {\n top: clientRect.top,\n right: clientRect.right,\n bottom: clientRect.bottom,\n left: clientRect.left,\n width: clientRect.width,\n height: clientRect.height,\n x: clientRect.x,\n y: clientRect.y,\n };\n}\n/**\n * Checks whether some coordinates are within a `ClientRect`.\n * @param clientRect ClientRect that is being checked.\n * @param x Coordinates along the X axis.\n * @param y Coordinates along the Y axis.\n */\nfunction isInsideClientRect(clientRect, x, y) {\n const { top, bottom, left, right } = clientRect;\n return y >= top && y <= bottom && x >= left && x <= right;\n}\n/**\n * Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.\n * @param clientRect `ClientRect` that should be updated.\n * @param top Amount to add to the `top` position.\n * @param left Amount to add to the `left` position.\n */\nfunction adjustClientRect(clientRect, top, left) {\n clientRect.top += top;\n clientRect.bottom = clientRect.top + clientRect.height;\n clientRect.left += left;\n clientRect.right = clientRect.left + clientRect.width;\n}\n/**\n * Checks whether the pointer coordinates are close to a ClientRect.\n * @param rect ClientRect to check against.\n * @param threshold Threshold around the ClientRect.\n * @param pointerX Coordinates along the X axis.\n * @param pointerY Coordinates along the Y axis.\n */\nfunction isPointerNearClientRect(rect, threshold, pointerX, pointerY) {\n const { top, right, bottom, left, width, height } = rect;\n const xThreshold = width * threshold;\n const yThreshold = height * threshold;\n return (pointerY > top - yThreshold &&\n pointerY < bottom + yThreshold &&\n pointerX > left - xThreshold &&\n pointerX < right + xThreshold);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Keeps track of the scroll position and dimensions of the parents of an element. */\nclass ParentPositionTracker {\n constructor(_document) {\n this._document = _document;\n /** Cached positions of the scrollable parent elements. */\n this.positions = new Map();\n }\n /** Clears the cached positions. */\n clear() {\n this.positions.clear();\n }\n /** Caches the positions. Should be called at the beginning of a drag sequence. */\n cache(elements) {\n this.clear();\n this.positions.set(this._document, {\n scrollPosition: this.getViewportScrollPosition(),\n });\n elements.forEach(element => {\n this.positions.set(element, {\n scrollPosition: { top: element.scrollTop, left: element.scrollLeft },\n clientRect: getMutableClientRect(element),\n });\n });\n }\n /** Handles scrolling while a drag is taking place. */\n handleScroll(event) {\n const target = _getEventTarget(event);\n const cachedPosition = this.positions.get(target);\n if (!cachedPosition) {\n return null;\n }\n const scrollPosition = cachedPosition.scrollPosition;\n let newTop;\n let newLeft;\n if (target === this._document) {\n const viewportScrollPosition = this.getViewportScrollPosition();\n newTop = viewportScrollPosition.top;\n newLeft = viewportScrollPosition.left;\n }\n else {\n newTop = target.scrollTop;\n newLeft = target.scrollLeft;\n }\n const topDifference = scrollPosition.top - newTop;\n const leftDifference = scrollPosition.left - newLeft;\n // Go through and update the cached positions of the scroll\n // parents that are inside the element that was scrolled.\n this.positions.forEach((position, node) => {\n if (position.clientRect && target !== node && target.contains(node)) {\n adjustClientRect(position.clientRect, topDifference, leftDifference);\n }\n });\n scrollPosition.top = newTop;\n scrollPosition.left = newLeft;\n return { top: topDifference, left: leftDifference };\n }\n /**\n * Gets the scroll position of the viewport. Note that we use the scrollX and scrollY directly,\n * instead of going through the `ViewportRuler`, because the first value the ruler looks at is\n * the top/left offset of the `document.documentElement` which works for most cases, but breaks\n * if the element is offset by something like the `BlockScrollStrategy`.\n */\n getViewportScrollPosition() {\n return { top: window.scrollY, left: window.scrollX };\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Creates a deep clone of an element. */\nfunction deepCloneNode(node) {\n const clone = node.cloneNode(true);\n const descendantsWithId = clone.querySelectorAll('[id]');\n const nodeName = node.nodeName.toLowerCase();\n // Remove the `id` to avoid having multiple elements with the same id on the page.\n clone.removeAttribute('id');\n for (let i = 0; i < descendantsWithId.length; i++) {\n descendantsWithId[i].removeAttribute('id');\n }\n if (nodeName === 'canvas') {\n transferCanvasData(node, clone);\n }\n else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {\n transferInputData(node, clone);\n }\n transferData('canvas', node, clone, transferCanvasData);\n transferData('input, textarea, select', node, clone, transferInputData);\n return clone;\n}\n/** Matches elements between an element and its clone and allows for their data to be cloned. */\nfunction transferData(selector, node, clone, callback) {\n const descendantElements = node.querySelectorAll(selector);\n if (descendantElements.length) {\n const cloneElements = clone.querySelectorAll(selector);\n for (let i = 0; i < descendantElements.length; i++) {\n callback(descendantElements[i], cloneElements[i]);\n }\n }\n}\n// Counter for unique cloned radio button names.\nlet cloneUniqueId = 0;\n/** Transfers the data of one input element to another. */\nfunction transferInputData(source, clone) {\n // Browsers throw an error when assigning the value of a file input programmatically.\n if (clone.type !== 'file') {\n clone.value = source.value;\n }\n // Radio button `name` attributes must be unique for radio button groups\n // otherwise original radio buttons can lose their checked state\n // once the clone is inserted in the DOM.\n if (clone.type === 'radio' && clone.name) {\n clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;\n }\n}\n/** Transfers the data of one canvas element to another. */\nfunction transferCanvasData(source, clone) {\n const context = clone.getContext('2d');\n if (context) {\n // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).\n // We can't do much about it so just ignore the error.\n try {\n context.drawImage(source, 0, 0);\n }\n catch (_a) { }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options that can be used to bind a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/** Options that can be used to bind an active event listener. */\nconst activeEventListenerOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Time in milliseconds for which to ignore mouse events, after\n * receiving a touch event. Used to avoid doing double work for\n * touch devices where the browser fires fake mouse events, in\n * addition to touch events.\n */\nconst MOUSE_EVENT_IGNORE_TIME = 800;\n/** Inline styles to be set as `!important` while dragging. */\nconst dragImportantProperties = new Set([\n // Needs to be important, because some `mat-table` sets `position: sticky !important`. See #22781.\n 'position',\n]);\n/**\n * Reference to a draggable item. Used to manipulate or dispose of the item.\n */\nclass DragRef {\n constructor(element, _config, _document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._config = _config;\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n /**\n * CSS `transform` applied to the element when it isn't being dragged. We need a\n * passive transform in order for the dragged element to retain its new position\n * after the user has stopped dragging and because we need to know the relative\n * position in case they start dragging again. This corresponds to `element.style.transform`.\n */\n this._passiveTransform = { x: 0, y: 0 };\n /** CSS `transform` that is applied to the element while it's being dragged. */\n this._activeTransform = { x: 0, y: 0 };\n /**\n * Whether the dragging sequence has been started. Doesn't\n * necessarily mean that the element has been moved.\n */\n this._hasStartedDragging = false;\n /** Emits when the item is being moved. */\n this._moveEvents = new Subject();\n /** Subscription to pointer movement events. */\n this._pointerMoveSubscription = Subscription.EMPTY;\n /** Subscription to the event that is dispatched when the user lifts their pointer. */\n this._pointerUpSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being scrolled. */\n this._scrollSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being resized. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Cached reference to the boundary element. */\n this._boundaryElement = null;\n /** Whether the native dragging interactions have been enabled on the root element. */\n this._nativeInteractionsEnabled = true;\n /** Elements that can be used to drag the draggable item. */\n this._handles = [];\n /** Registered handles that are currently disabled. */\n this._disabledHandles = new Set();\n /** Layout direction of the item. */\n this._direction = 'ltr';\n /**\n * Amount of milliseconds to wait after the user has put their\n * pointer down before starting to drag the element.\n */\n this.dragStartDelay = 0;\n this._disabled = false;\n /** Emits as the drag sequence is being prepared. */\n this.beforeStarted = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new Subject();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new Subject();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new Subject();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new Subject();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new Subject();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new Subject();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = this._moveEvents;\n /** Handler for the `mousedown`/`touchstart` events. */\n this._pointerDown = (event) => {\n this.beforeStarted.next();\n // Delegate the event based on whether it started from a handle or the element itself.\n if (this._handles.length) {\n const targetHandle = this._getTargetHandle(event);\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n this._initializeDragSequence(targetHandle, event);\n }\n }\n else if (!this.disabled) {\n this._initializeDragSequence(this._rootElement, event);\n }\n };\n /** Handler that is invoked when the user moves their pointer after they've initiated a drag. */\n this._pointerMove = (event) => {\n const pointerPosition = this._getPointerPositionOnPage(event);\n if (!this._hasStartedDragging) {\n const distanceX = Math.abs(pointerPosition.x - this._pickupPositionOnPage.x);\n const distanceY = Math.abs(pointerPosition.y - this._pickupPositionOnPage.y);\n const isOverThreshold = distanceX + distanceY >= this._config.dragStartThreshold;\n // Only start dragging after the user has moved more than the minimum distance in either\n // direction. Note that this is preferrable over doing something like `skip(minimumDistance)`\n // in the `pointerMove` subscription, because we're not guaranteed to have one move event\n // per pixel of movement (e.g. if the user moves their pointer quickly).\n if (isOverThreshold) {\n const isDelayElapsed = Date.now() >= this._dragStartTime + this._getDragStartDelay(event);\n const container = this._dropContainer;\n if (!isDelayElapsed) {\n this._endDragSequence(event);\n return;\n }\n // Prevent other drag sequences from starting while something in the container is still\n // being dragged. This can happen while we're waiting for the drop animation to finish\n // and can cause errors, because some elements might still be moving around.\n if (!container || (!container.isDragging() && !container.isReceiving())) {\n // Prevent the default action as soon as the dragging sequence is considered as\n // \"started\" since waiting for the next event can allow the device to begin scrolling.\n event.preventDefault();\n this._hasStartedDragging = true;\n this._ngZone.run(() => this._startDragSequence(event));\n }\n }\n return;\n }\n // We prevent the default action down here so that we know that dragging has started. This is\n // important for touch devices where doing this too early can unnecessarily block scrolling,\n // if there's a dragging delay.\n event.preventDefault();\n const constrainedPointerPosition = this._getConstrainedPointerPosition(pointerPosition);\n this._hasMoved = true;\n this._lastKnownPointerPosition = pointerPosition;\n this._updatePointerDirectionDelta(constrainedPointerPosition);\n if (this._dropContainer) {\n this._updateActiveDropContainer(constrainedPointerPosition, pointerPosition);\n }\n else {\n const activeTransform = this._activeTransform;\n activeTransform.x =\n constrainedPointerPosition.x - this._pickupPositionOnPage.x + this._passiveTransform.x;\n activeTransform.y =\n constrainedPointerPosition.y - this._pickupPositionOnPage.y + this._passiveTransform.y;\n this._applyRootElementTransform(activeTransform.x, activeTransform.y);\n }\n // Since this event gets fired for every pixel while dragging, we only\n // want to fire it if the consumer opted into it. Also we have to\n // re-enter the zone because we run all of the events on the outside.\n if (this._moveEvents.observers.length) {\n this._ngZone.run(() => {\n this._moveEvents.next({\n source: this,\n pointerPosition: constrainedPointerPosition,\n event,\n distance: this._getDragDistance(constrainedPointerPosition),\n delta: this._pointerDirectionDelta,\n });\n });\n }\n };\n /** Handler that is invoked when the user lifts their pointer up, after initiating a drag. */\n this._pointerUp = (event) => {\n this._endDragSequence(event);\n };\n /** Handles a native `dragstart` event. */\n this._nativeDragStart = (event) => {\n if (this._handles.length) {\n const targetHandle = this._getTargetHandle(event);\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n event.preventDefault();\n }\n }\n else if (!this.disabled) {\n // Usually this isn't necessary since the we prevent the default action in `pointerDown`,\n // but some cases like dragging of links can slip through (see #24403).\n event.preventDefault();\n }\n };\n this.withRootElement(element).withParent(_config.parentDragRef || null);\n this._parentPositions = new ParentPositionTracker(_document);\n _dragDropRegistry.registerDragItem(this);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || !!(this._dropContainer && this._dropContainer.disabled);\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._toggleNativeDragInteractions();\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, newValue));\n }\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._placeholder;\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._rootElement;\n }\n /**\n * Gets the currently-visible element that represents the drag item.\n * While dragging this is the placeholder, otherwise it's the root element.\n */\n getVisibleElement() {\n return this.isDragging() ? this.getPlaceholderElement() : this.getRootElement();\n }\n /** Registers the handles that can be used to drag the element. */\n withHandles(handles) {\n this._handles = handles.map(handle => coerceElement(handle));\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, this.disabled));\n this._toggleNativeDragInteractions();\n // Delete any lingering disabled handles that may have been destroyed. Note that we re-create\n // the set, rather than iterate over it and filter out the destroyed handles, because while\n // the ES spec allows for sets to be modified while they're being iterated over, some polyfills\n // use an array internally which may throw an error.\n const disabledHandles = new Set();\n this._disabledHandles.forEach(handle => {\n if (this._handles.indexOf(handle) > -1) {\n disabledHandles.add(handle);\n }\n });\n this._disabledHandles = disabledHandles;\n return this;\n }\n /**\n * Registers the template that should be used for the drag preview.\n * @param template Template that from which to stamp out the preview.\n */\n withPreviewTemplate(template) {\n this._previewTemplate = template;\n return this;\n }\n /**\n * Registers the template that should be used for the drag placeholder.\n * @param template Template that from which to stamp out the placeholder.\n */\n withPlaceholderTemplate(template) {\n this._placeholderTemplate = template;\n return this;\n }\n /**\n * Sets an alternate drag root element. The root element is the element that will be moved as\n * the user is dragging. Passing an alternate root element is useful when trying to enable\n * dragging on an element that you might not have access to.\n */\n withRootElement(rootElement) {\n const element = coerceElement(rootElement);\n if (element !== this._rootElement) {\n if (this._rootElement) {\n this._removeRootElementListeners(this._rootElement);\n }\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.addEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n element.addEventListener('dragstart', this._nativeDragStart, activeEventListenerOptions);\n });\n this._initialTransform = undefined;\n this._rootElement = element;\n }\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n this._ownerSVGElement = this._rootElement.ownerSVGElement;\n }\n return this;\n }\n /**\n * Element to which the draggable's position will be constrained.\n */\n withBoundaryElement(boundaryElement) {\n this._boundaryElement = boundaryElement ? coerceElement(boundaryElement) : null;\n this._resizeSubscription.unsubscribe();\n if (boundaryElement) {\n this._resizeSubscription = this._viewportRuler\n .change(10)\n .subscribe(() => this._containInsideBoundaryOnResize());\n }\n return this;\n }\n /** Sets the parent ref that the ref is nested in. */\n withParent(parent) {\n this._parentDragRef = parent;\n return this;\n }\n /** Removes the dragging functionality from the DOM element. */\n dispose() {\n var _a, _b;\n this._removeRootElementListeners(this._rootElement);\n // Do this check before removing from the registry since it'll\n // stop being considered as dragged once it is removed.\n if (this.isDragging()) {\n // Since we move out the element to the end of the body while it's being\n // dragged, we have to make sure that it's removed if it gets destroyed.\n (_a = this._rootElement) === null || _a === void 0 ? void 0 : _a.remove();\n }\n (_b = this._anchor) === null || _b === void 0 ? void 0 : _b.remove();\n this._destroyPreview();\n this._destroyPlaceholder();\n this._dragDropRegistry.removeDragItem(this);\n this._removeSubscriptions();\n this.beforeStarted.complete();\n this.started.complete();\n this.released.complete();\n this.ended.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this._moveEvents.complete();\n this._handles = [];\n this._disabledHandles.clear();\n this._dropContainer = undefined;\n this._resizeSubscription.unsubscribe();\n this._parentPositions.clear();\n this._boundaryElement =\n this._rootElement =\n this._ownerSVGElement =\n this._placeholderTemplate =\n this._previewTemplate =\n this._anchor =\n this._parentDragRef =\n null;\n }\n /** Checks whether the element is currently being dragged. */\n isDragging() {\n return this._hasStartedDragging && this._dragDropRegistry.isDragging(this);\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._rootElement.style.transform = this._initialTransform || '';\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform = { x: 0, y: 0 };\n }\n /**\n * Sets a handle as disabled. While a handle is disabled, it'll capture and interrupt dragging.\n * @param handle Handle element that should be disabled.\n */\n disableHandle(handle) {\n if (!this._disabledHandles.has(handle) && this._handles.indexOf(handle) > -1) {\n this._disabledHandles.add(handle);\n toggleNativeDragInteractions(handle, true);\n }\n }\n /**\n * Enables a handle, if it has been disabled.\n * @param handle Handle element to be enabled.\n */\n enableHandle(handle) {\n if (this._disabledHandles.has(handle)) {\n this._disabledHandles.delete(handle);\n toggleNativeDragInteractions(handle, this.disabled);\n }\n }\n /** Sets the layout direction of the draggable item. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /** Sets the container that the item is part of. */\n _withDropContainer(container) {\n this._dropContainer = container;\n }\n /**\n * Gets the current position in pixels the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n const position = this.isDragging() ? this._activeTransform : this._passiveTransform;\n return { x: position.x, y: position.y };\n }\n /**\n * Sets the current position in pixels the draggable outside of a drop container.\n * @param value New position to be set.\n */\n setFreeDragPosition(value) {\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform.x = value.x;\n this._passiveTransform.y = value.y;\n if (!this._dropContainer) {\n this._applyRootElementTransform(value.x, value.y);\n }\n return this;\n }\n /**\n * Sets the container into which to insert the preview element.\n * @param value Container into which to insert the preview.\n */\n withPreviewContainer(value) {\n this._previewContainer = value;\n return this;\n }\n /** Updates the item's sort order based on the last-known pointer position. */\n _sortFromLastPointerPosition() {\n const position = this._lastKnownPointerPosition;\n if (position && this._dropContainer) {\n this._updateActiveDropContainer(this._getConstrainedPointerPosition(position), position);\n }\n }\n /** Unsubscribes from the global subscriptions. */\n _removeSubscriptions() {\n this._pointerMoveSubscription.unsubscribe();\n this._pointerUpSubscription.unsubscribe();\n this._scrollSubscription.unsubscribe();\n }\n /** Destroys the preview element and its ViewRef. */\n _destroyPreview() {\n var _a, _b;\n (_a = this._preview) === null || _a === void 0 ? void 0 : _a.remove();\n (_b = this._previewRef) === null || _b === void 0 ? void 0 : _b.destroy();\n this._preview = this._previewRef = null;\n }\n /** Destroys the placeholder element and its ViewRef. */\n _destroyPlaceholder() {\n var _a, _b;\n (_a = this._placeholder) === null || _a === void 0 ? void 0 : _a.remove();\n (_b = this._placeholderRef) === null || _b === void 0 ? void 0 : _b.destroy();\n this._placeholder = this._placeholderRef = null;\n }\n /**\n * Clears subscriptions and stops the dragging sequence.\n * @param event Browser event object that ended the sequence.\n */\n _endDragSequence(event) {\n // Note that here we use `isDragging` from the service, rather than from `this`.\n // The difference is that the one from the service reflects whether a dragging sequence\n // has been initiated, whereas the one on `this` includes whether the user has passed\n // the minimum dragging threshold.\n if (!this._dragDropRegistry.isDragging(this)) {\n return;\n }\n this._removeSubscriptions();\n this._dragDropRegistry.stopDragging(this);\n this._toggleNativeDragInteractions();\n if (this._handles) {\n this._rootElement.style.webkitTapHighlightColor =\n this._rootElementTapHighlight;\n }\n if (!this._hasStartedDragging) {\n return;\n }\n this.released.next({ source: this });\n if (this._dropContainer) {\n // Stop scrolling immediately, instead of waiting for the animation to finish.\n this._dropContainer._stopScrolling();\n this._animatePreviewToPlaceholder().then(() => {\n this._cleanupDragArtifacts(event);\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n });\n }\n else {\n // Convert the active transform into a passive one. This means that next time\n // the user starts dragging the item, its position will be calculated relatively\n // to the new passive transform.\n this._passiveTransform.x = this._activeTransform.x;\n const pointerPosition = this._getPointerPositionOnPage(event);\n this._passiveTransform.y = this._activeTransform.y;\n this._ngZone.run(() => {\n this.ended.next({\n source: this,\n distance: this._getDragDistance(pointerPosition),\n dropPoint: pointerPosition,\n });\n });\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n }\n }\n /** Starts the dragging sequence. */\n _startDragSequence(event) {\n if (isTouchEvent(event)) {\n this._lastTouchEventTime = Date.now();\n }\n this._toggleNativeDragInteractions();\n const dropContainer = this._dropContainer;\n if (dropContainer) {\n const element = this._rootElement;\n const parent = element.parentNode;\n const placeholder = (this._placeholder = this._createPlaceholderElement());\n const anchor = (this._anchor = this._anchor || this._document.createComment(''));\n // Needs to happen before the root element is moved.\n const shadowRoot = this._getShadowRoot();\n // Insert an anchor node so that we can restore the element's position in the DOM.\n parent.insertBefore(anchor, element);\n // There's no risk of transforms stacking when inside a drop container so\n // we can keep the initial transform up to date any time dragging starts.\n this._initialTransform = element.style.transform || '';\n // Create the preview after the initial transform has\n // been cached, because it can be affected by the transform.\n this._preview = this._createPreviewElement();\n // We move the element out at the end of the body and we make it hidden, because keeping it in\n // place will throw off the consumer's `:last-child` selectors. We can't remove the element\n // from the DOM completely, because iOS will stop firing all subsequent events in the chain.\n toggleVisibility(element, false, dragImportantProperties);\n this._document.body.appendChild(parent.replaceChild(placeholder, element));\n this._getPreviewInsertionPoint(parent, shadowRoot).appendChild(this._preview);\n this.started.next({ source: this }); // Emit before notifying the container.\n dropContainer.start();\n this._initialContainer = dropContainer;\n this._initialIndex = dropContainer.getItemIndex(this);\n }\n else {\n this.started.next({ source: this });\n this._initialContainer = this._initialIndex = undefined;\n }\n // Important to run after we've called `start` on the parent container\n // so that it has had time to resolve its scrollable parents.\n this._parentPositions.cache(dropContainer ? dropContainer.getScrollableParents() : []);\n }\n /**\n * Sets up the different variables and subscriptions\n * that will be necessary for the dragging sequence.\n * @param referenceElement Element that started the drag sequence.\n * @param event Browser event object that started the sequence.\n */\n _initializeDragSequence(referenceElement, event) {\n // Stop propagation if the item is inside another\n // draggable so we don't start multiple drag sequences.\n if (this._parentDragRef) {\n event.stopPropagation();\n }\n const isDragging = this.isDragging();\n const isTouchSequence = isTouchEvent(event);\n const isAuxiliaryMouseButton = !isTouchSequence && event.button !== 0;\n const rootElement = this._rootElement;\n const target = _getEventTarget(event);\n const isSyntheticEvent = !isTouchSequence &&\n this._lastTouchEventTime &&\n this._lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now();\n const isFakeEvent = isTouchSequence\n ? isFakeTouchstartFromScreenReader(event)\n : isFakeMousedownFromScreenReader(event);\n // If the event started from an element with the native HTML drag&drop, it'll interfere\n // with our own dragging (e.g. `img` tags do it by default). Prevent the default action\n // to stop it from happening. Note that preventing on `dragstart` also seems to work, but\n // it's flaky and it fails if the user drags it away quickly. Also note that we only want\n // to do this for `mousedown` since doing the same for `touchstart` will stop any `click`\n // events from firing on touch devices.\n if (target && target.draggable && event.type === 'mousedown') {\n event.preventDefault();\n }\n // Abort if the user is already dragging or is using a mouse button other than the primary one.\n if (isDragging || isAuxiliaryMouseButton || isSyntheticEvent || isFakeEvent) {\n return;\n }\n // If we've got handles, we need to disable the tap highlight on the entire root element,\n // otherwise iOS will still add it, even though all the drag interactions on the handle\n // are disabled.\n if (this._handles.length) {\n const rootStyles = rootElement.style;\n this._rootElementTapHighlight = rootStyles.webkitTapHighlightColor || '';\n rootStyles.webkitTapHighlightColor = 'transparent';\n }\n this._hasStartedDragging = this._hasMoved = false;\n // Avoid multiple subscriptions and memory leaks when multi touch\n // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)\n this._removeSubscriptions();\n this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove);\n this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp);\n this._scrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(scrollEvent => this._updateOnScroll(scrollEvent));\n if (this._boundaryElement) {\n this._boundaryRect = getMutableClientRect(this._boundaryElement);\n }\n // If we have a custom preview we can't know ahead of time how large it'll be so we position\n // it next to the cursor. The exception is when the consumer has opted into making the preview\n // the same size as the root element, in which case we do know the size.\n const previewTemplate = this._previewTemplate;\n this._pickupPositionInElement =\n previewTemplate && previewTemplate.template && !previewTemplate.matchSize\n ? { x: 0, y: 0 }\n : this._getPointerPositionInElement(referenceElement, event);\n const pointerPosition = (this._pickupPositionOnPage =\n this._lastKnownPointerPosition =\n this._getPointerPositionOnPage(event));\n this._pointerDirectionDelta = { x: 0, y: 0 };\n this._pointerPositionAtLastDirectionChange = { x: pointerPosition.x, y: pointerPosition.y };\n this._dragStartTime = Date.now();\n this._dragDropRegistry.startDragging(this, event);\n }\n /** Cleans up the DOM artifacts that were added to facilitate the element being dragged. */\n _cleanupDragArtifacts(event) {\n // Restore the element's visibility and insert it at its old position in the DOM.\n // It's important that we maintain the position, because moving the element around in the DOM\n // can throw off `NgFor` which does smart diffing and re-creates elements only when necessary,\n // while moving the existing elements in all other cases.\n toggleVisibility(this._rootElement, true, dragImportantProperties);\n this._anchor.parentNode.replaceChild(this._rootElement, this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._boundaryRect = this._previewRect = this._initialTransform = undefined;\n // Re-enter the NgZone since we bound `document` events on the outside.\n this._ngZone.run(() => {\n const container = this._dropContainer;\n const currentIndex = container.getItemIndex(this);\n const pointerPosition = this._getPointerPositionOnPage(event);\n const distance = this._getDragDistance(pointerPosition);\n const isPointerOverContainer = container._isOverContainer(pointerPosition.x, pointerPosition.y);\n this.ended.next({ source: this, distance, dropPoint: pointerPosition });\n this.dropped.next({\n item: this,\n currentIndex,\n previousIndex: this._initialIndex,\n container: container,\n previousContainer: this._initialContainer,\n isPointerOverContainer,\n distance,\n dropPoint: pointerPosition,\n });\n container.drop(this, currentIndex, this._initialIndex, this._initialContainer, isPointerOverContainer, distance, pointerPosition);\n this._dropContainer = this._initialContainer;\n });\n }\n /**\n * Updates the item's position in its drop container, or moves it\n * into a new one, depending on its current drag position.\n */\n _updateActiveDropContainer({ x, y }, { x: rawX, y: rawY }) {\n // Drop container that draggable has been moved into.\n let newContainer = this._initialContainer._getSiblingContainerFromPosition(this, x, y);\n // If we couldn't find a new container to move the item into, and the item has left its\n // initial container, check whether the it's over the initial container. This handles the\n // case where two containers are connected one way and the user tries to undo dragging an\n // item into a new container.\n if (!newContainer &&\n this._dropContainer !== this._initialContainer &&\n this._initialContainer._isOverContainer(x, y)) {\n newContainer = this._initialContainer;\n }\n if (newContainer && newContainer !== this._dropContainer) {\n this._ngZone.run(() => {\n // Notify the old container that the item has left.\n this.exited.next({ item: this, container: this._dropContainer });\n this._dropContainer.exit(this);\n // Notify the new container that the item has entered.\n this._dropContainer = newContainer;\n this._dropContainer.enter(this, x, y, newContainer === this._initialContainer &&\n // If we're re-entering the initial container and sorting is disabled,\n // put item the into its starting index to begin with.\n newContainer.sortingDisabled\n ? this._initialIndex\n : undefined);\n this.entered.next({\n item: this,\n container: newContainer,\n currentIndex: newContainer.getItemIndex(this),\n });\n });\n }\n // Dragging may have been interrupted as a result of the events above.\n if (this.isDragging()) {\n this._dropContainer._startScrollingIfNecessary(rawX, rawY);\n this._dropContainer._sortItem(this, x, y, this._pointerDirectionDelta);\n this._applyPreviewTransform(x - this._pickupPositionInElement.x, y - this._pickupPositionInElement.y);\n }\n }\n /**\n * Creates the element that will be rendered next to the user's pointer\n * and will be used as a preview of the element that is being dragged.\n */\n _createPreviewElement() {\n const previewConfig = this._previewTemplate;\n const previewClass = this.previewClass;\n const previewTemplate = previewConfig ? previewConfig.template : null;\n let preview;\n if (previewTemplate && previewConfig) {\n // Measure the element before we've inserted the preview\n // since the insertion could throw off the measurement.\n const rootRect = previewConfig.matchSize ? this._rootElement.getBoundingClientRect() : null;\n const viewRef = previewConfig.viewContainer.createEmbeddedView(previewTemplate, previewConfig.context);\n viewRef.detectChanges();\n preview = getRootNode(viewRef, this._document);\n this._previewRef = viewRef;\n if (previewConfig.matchSize) {\n matchElementSize(preview, rootRect);\n }\n else {\n preview.style.transform = getTransform(this._pickupPositionOnPage.x, this._pickupPositionOnPage.y);\n }\n }\n else {\n const element = this._rootElement;\n preview = deepCloneNode(element);\n matchElementSize(preview, element.getBoundingClientRect());\n if (this._initialTransform) {\n preview.style.transform = this._initialTransform;\n }\n }\n extendStyles(preview.style, {\n // It's important that we disable the pointer events on the preview, because\n // it can throw off the `document.elementFromPoint` calls in the `CdkDropList`.\n 'pointer-events': 'none',\n // We have to reset the margin, because it can throw off positioning relative to the viewport.\n 'margin': '0',\n 'position': 'fixed',\n 'top': '0',\n 'left': '0',\n 'z-index': `${this._config.zIndex || 1000}`,\n }, dragImportantProperties);\n toggleNativeDragInteractions(preview, false);\n preview.classList.add('cdk-drag-preview');\n preview.setAttribute('dir', this._direction);\n if (previewClass) {\n if (Array.isArray(previewClass)) {\n previewClass.forEach(className => preview.classList.add(className));\n }\n else {\n preview.classList.add(previewClass);\n }\n }\n return preview;\n }\n /**\n * Animates the preview element from its current position to the location of the drop placeholder.\n * @returns Promise that resolves when the animation completes.\n */\n _animatePreviewToPlaceholder() {\n // If the user hasn't moved yet, the transitionend event won't fire.\n if (!this._hasMoved) {\n return Promise.resolve();\n }\n const placeholderRect = this._placeholder.getBoundingClientRect();\n // Apply the class that adds a transition to the preview.\n this._preview.classList.add('cdk-drag-animating');\n // Move the preview to the placeholder position.\n this._applyPreviewTransform(placeholderRect.left, placeholderRect.top);\n // If the element doesn't have a `transition`, the `transitionend` event won't fire. Since\n // we need to trigger a style recalculation in order for the `cdk-drag-animating` class to\n // apply its style, we take advantage of the available info to figure out whether we need to\n // bind the event in the first place.\n const duration = getTransformTransitionDurationInMs(this._preview);\n if (duration === 0) {\n return Promise.resolve();\n }\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n const handler = ((event) => {\n var _a;\n if (!event ||\n (_getEventTarget(event) === this._preview && event.propertyName === 'transform')) {\n (_a = this._preview) === null || _a === void 0 ? void 0 : _a.removeEventListener('transitionend', handler);\n resolve();\n clearTimeout(timeout);\n }\n });\n // If a transition is short enough, the browser might not fire the `transitionend` event.\n // Since we know how long it's supposed to take, add a timeout with a 50% buffer that'll\n // fire if the transition hasn't completed when it was supposed to.\n const timeout = setTimeout(handler, duration * 1.5);\n this._preview.addEventListener('transitionend', handler);\n });\n });\n }\n /** Creates an element that will be shown instead of the current element while dragging. */\n _createPlaceholderElement() {\n const placeholderConfig = this._placeholderTemplate;\n const placeholderTemplate = placeholderConfig ? placeholderConfig.template : null;\n let placeholder;\n if (placeholderTemplate) {\n this._placeholderRef = placeholderConfig.viewContainer.createEmbeddedView(placeholderTemplate, placeholderConfig.context);\n this._placeholderRef.detectChanges();\n placeholder = getRootNode(this._placeholderRef, this._document);\n }\n else {\n placeholder = deepCloneNode(this._rootElement);\n }\n // Stop pointer events on the preview so the user can't\n // interact with it while the preview is animating.\n placeholder.style.pointerEvents = 'none';\n placeholder.classList.add('cdk-drag-placeholder');\n return placeholder;\n }\n /**\n * Figures out the coordinates at which an element was picked up.\n * @param referenceElement Element that initiated the dragging.\n * @param event Event that initiated the dragging.\n */\n _getPointerPositionInElement(referenceElement, event) {\n const elementRect = this._rootElement.getBoundingClientRect();\n const handleElement = referenceElement === this._rootElement ? null : referenceElement;\n const referenceRect = handleElement ? handleElement.getBoundingClientRect() : elementRect;\n const point = isTouchEvent(event) ? event.targetTouches[0] : event;\n const scrollPosition = this._getViewportScrollPosition();\n const x = point.pageX - referenceRect.left - scrollPosition.left;\n const y = point.pageY - referenceRect.top - scrollPosition.top;\n return {\n x: referenceRect.left - elementRect.left + x,\n y: referenceRect.top - elementRect.top + y,\n };\n }\n /** Determines the point of the page that was touched by the user. */\n _getPointerPositionOnPage(event) {\n const scrollPosition = this._getViewportScrollPosition();\n const point = isTouchEvent(event)\n ? // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n // Also note that on real devices we're guaranteed for either `touches` or `changedTouches`\n // to have a value, but Firefox in device emulation mode has a bug where both can be empty\n // for `touchstart` and `touchend` so we fall back to a dummy object in order to avoid\n // throwing an error. The value returned here will be incorrect, but since this only\n // breaks inside a developer tool and the value is only used for secondary information,\n // we can get away with it. See https://bugzilla.mozilla.org/show_bug.cgi?id=1615824.\n event.touches[0] || event.changedTouches[0] || { pageX: 0, pageY: 0 }\n : event;\n const x = point.pageX - scrollPosition.left;\n const y = point.pageY - scrollPosition.top;\n // if dragging SVG element, try to convert from the screen coordinate system to the SVG\n // coordinate system\n if (this._ownerSVGElement) {\n const svgMatrix = this._ownerSVGElement.getScreenCTM();\n if (svgMatrix) {\n const svgPoint = this._ownerSVGElement.createSVGPoint();\n svgPoint.x = x;\n svgPoint.y = y;\n return svgPoint.matrixTransform(svgMatrix.inverse());\n }\n }\n return { x, y };\n }\n /** Gets the pointer position on the page, accounting for any position constraints. */\n _getConstrainedPointerPosition(point) {\n const dropContainerLock = this._dropContainer ? this._dropContainer.lockAxis : null;\n let { x, y } = this.constrainPosition ? this.constrainPosition(point, this) : point;\n if (this.lockAxis === 'x' || dropContainerLock === 'x') {\n y = this._pickupPositionOnPage.y;\n }\n else if (this.lockAxis === 'y' || dropContainerLock === 'y') {\n x = this._pickupPositionOnPage.x;\n }\n if (this._boundaryRect) {\n const { x: pickupX, y: pickupY } = this._pickupPositionInElement;\n const boundaryRect = this._boundaryRect;\n const { width: previewWidth, height: previewHeight } = this._getPreviewRect();\n const minY = boundaryRect.top + pickupY;\n const maxY = boundaryRect.bottom - (previewHeight - pickupY);\n const minX = boundaryRect.left + pickupX;\n const maxX = boundaryRect.right - (previewWidth - pickupX);\n x = clamp$1(x, minX, maxX);\n y = clamp$1(y, minY, maxY);\n }\n return { x, y };\n }\n /** Updates the current drag delta, based on the user's current pointer position on the page. */\n _updatePointerDirectionDelta(pointerPositionOnPage) {\n const { x, y } = pointerPositionOnPage;\n const delta = this._pointerDirectionDelta;\n const positionSinceLastChange = this._pointerPositionAtLastDirectionChange;\n // Amount of pixels the user has dragged since the last time the direction changed.\n const changeX = Math.abs(x - positionSinceLastChange.x);\n const changeY = Math.abs(y - positionSinceLastChange.y);\n // Because we handle pointer events on a per-pixel basis, we don't want the delta\n // to change for every pixel, otherwise anything that depends on it can look erratic.\n // To make the delta more consistent, we track how much the user has moved since the last\n // delta change and we only update it after it has reached a certain threshold.\n if (changeX > this._config.pointerDirectionChangeThreshold) {\n delta.x = x > positionSinceLastChange.x ? 1 : -1;\n positionSinceLastChange.x = x;\n }\n if (changeY > this._config.pointerDirectionChangeThreshold) {\n delta.y = y > positionSinceLastChange.y ? 1 : -1;\n positionSinceLastChange.y = y;\n }\n return delta;\n }\n /** Toggles the native drag interactions, based on how many handles are registered. */\n _toggleNativeDragInteractions() {\n if (!this._rootElement || !this._handles) {\n return;\n }\n const shouldEnable = this._handles.length > 0 || !this.isDragging();\n if (shouldEnable !== this._nativeInteractionsEnabled) {\n this._nativeInteractionsEnabled = shouldEnable;\n toggleNativeDragInteractions(this._rootElement, shouldEnable);\n }\n }\n /** Removes the manually-added event listeners from the root element. */\n _removeRootElementListeners(element) {\n element.removeEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.removeEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n element.removeEventListener('dragstart', this._nativeDragStart, activeEventListenerOptions);\n }\n /**\n * Applies a `transform` to the root element, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyRootElementTransform(x, y) {\n const transform = getTransform(x, y);\n const styles = this._rootElement.style;\n // Cache the previous transform amount only after the first drag sequence, because\n // we don't want our own transforms to stack on top of each other.\n // Should be excluded none because none + translate3d(x, y, x) is invalid css\n if (this._initialTransform == null) {\n this._initialTransform =\n styles.transform && styles.transform != 'none' ? styles.transform : '';\n }\n // Preserve the previous `transform` value, if there was one. Note that we apply our own\n // transform before the user's, because things like rotation can affect which direction\n // the element will be translated towards.\n styles.transform = combineTransforms(transform, this._initialTransform);\n }\n /**\n * Applies a `transform` to the preview, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyPreviewTransform(x, y) {\n var _a;\n // Only apply the initial transform if the preview is a clone of the original element, otherwise\n // it could be completely different and the transform might not make sense anymore.\n const initialTransform = ((_a = this._previewTemplate) === null || _a === void 0 ? void 0 : _a.template) ? undefined : this._initialTransform;\n const transform = getTransform(x, y);\n this._preview.style.transform = combineTransforms(transform, initialTransform);\n }\n /**\n * Gets the distance that the user has dragged during the current drag sequence.\n * @param currentPosition Current position of the user's pointer.\n */\n _getDragDistance(currentPosition) {\n const pickupPosition = this._pickupPositionOnPage;\n if (pickupPosition) {\n return { x: currentPosition.x - pickupPosition.x, y: currentPosition.y - pickupPosition.y };\n }\n return { x: 0, y: 0 };\n }\n /** Cleans up any cached element dimensions that we don't need after dragging has stopped. */\n _cleanupCachedDimensions() {\n this._boundaryRect = this._previewRect = undefined;\n this._parentPositions.clear();\n }\n /**\n * Checks whether the element is still inside its boundary after the viewport has been resized.\n * If not, the position is adjusted so that the element fits again.\n */\n _containInsideBoundaryOnResize() {\n let { x, y } = this._passiveTransform;\n if ((x === 0 && y === 0) || this.isDragging() || !this._boundaryElement) {\n return;\n }\n const boundaryRect = this._boundaryElement.getBoundingClientRect();\n const elementRect = this._rootElement.getBoundingClientRect();\n // It's possible that the element got hidden away after dragging (e.g. by switching to a\n // different tab). Don't do anything in this case so we don't clear the user's position.\n if ((boundaryRect.width === 0 && boundaryRect.height === 0) ||\n (elementRect.width === 0 && elementRect.height === 0)) {\n return;\n }\n const leftOverflow = boundaryRect.left - elementRect.left;\n const rightOverflow = elementRect.right - boundaryRect.right;\n const topOverflow = boundaryRect.top - elementRect.top;\n const bottomOverflow = elementRect.bottom - boundaryRect.bottom;\n // If the element has become wider than the boundary, we can't\n // do much to make it fit so we just anchor it to the left.\n if (boundaryRect.width > elementRect.width) {\n if (leftOverflow > 0) {\n x += leftOverflow;\n }\n if (rightOverflow > 0) {\n x -= rightOverflow;\n }\n }\n else {\n x = 0;\n }\n // If the element has become taller than the boundary, we can't\n // do much to make it fit so we just anchor it to the top.\n if (boundaryRect.height > elementRect.height) {\n if (topOverflow > 0) {\n y += topOverflow;\n }\n if (bottomOverflow > 0) {\n y -= bottomOverflow;\n }\n }\n else {\n y = 0;\n }\n if (x !== this._passiveTransform.x || y !== this._passiveTransform.y) {\n this.setFreeDragPosition({ y, x });\n }\n }\n /** Gets the drag start delay, based on the event type. */\n _getDragStartDelay(event) {\n const value = this.dragStartDelay;\n if (typeof value === 'number') {\n return value;\n }\n else if (isTouchEvent(event)) {\n return value.touch;\n }\n return value ? value.mouse : 0;\n }\n /** Updates the internal state of the draggable element when scrolling has occurred. */\n _updateOnScroll(event) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n const target = _getEventTarget(event);\n // ClientRect dimensions are based on the scroll position of the page and its parent\n // node so we have to update the cached boundary ClientRect if the user has scrolled.\n if (this._boundaryRect &&\n target !== this._boundaryElement &&\n target.contains(this._boundaryElement)) {\n adjustClientRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);\n }\n this._pickupPositionOnPage.x += scrollDifference.left;\n this._pickupPositionOnPage.y += scrollDifference.top;\n // If we're in free drag mode, we have to update the active transform, because\n // it isn't relative to the viewport like the preview inside a drop list.\n if (!this._dropContainer) {\n this._activeTransform.x -= scrollDifference.left;\n this._activeTransform.y -= scrollDifference.top;\n this._applyRootElementTransform(this._activeTransform.x, this._activeTransform.y);\n }\n }\n }\n /** Gets the scroll position of the viewport. */\n _getViewportScrollPosition() {\n var _a;\n return (((_a = this._parentPositions.positions.get(this._document)) === null || _a === void 0 ? void 0 : _a.scrollPosition) ||\n this._parentPositions.getViewportScrollPosition());\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (this._cachedShadowRoot === undefined) {\n this._cachedShadowRoot = _getShadowRoot(this._rootElement);\n }\n return this._cachedShadowRoot;\n }\n /** Gets the element into which the drag preview should be inserted. */\n _getPreviewInsertionPoint(initialParent, shadowRoot) {\n const previewContainer = this._previewContainer || 'global';\n if (previewContainer === 'parent') {\n return initialParent;\n }\n if (previewContainer === 'global') {\n const documentRef = this._document;\n // We can't use the body if the user is in fullscreen mode,\n // because the preview will render under the fullscreen element.\n // TODO(crisbeto): dedupe this with the `FullscreenOverlayContainer` eventually.\n return (shadowRoot ||\n documentRef.fullscreenElement ||\n documentRef.webkitFullscreenElement ||\n documentRef.mozFullScreenElement ||\n documentRef.msFullscreenElement ||\n documentRef.body);\n }\n return coerceElement(previewContainer);\n }\n /** Lazily resolves and returns the dimensions of the preview. */\n _getPreviewRect() {\n // Cache the preview element rect if we haven't cached it already or if\n // we cached it too early before the element dimensions were computed.\n if (!this._previewRect || (!this._previewRect.width && !this._previewRect.height)) {\n this._previewRect = (this._preview || this._rootElement).getBoundingClientRect();\n }\n return this._previewRect;\n }\n /** Gets a handle that is the target of an event. */\n _getTargetHandle(event) {\n return this._handles.find(handle => {\n return event.target && (event.target === handle || handle.contains(event.target));\n });\n }\n}\n/**\n * Gets a 3d `transform` that can be applied to an element.\n * @param x Desired position of the element along the X axis.\n * @param y Desired position of the element along the Y axis.\n */\nfunction getTransform(x, y) {\n // Round the transforms since some browsers will\n // blur the elements for sub-pixel transforms.\n return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n/** Clamps a value between a minimum and a maximum. */\nfunction clamp$1(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/** Determines whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/**\n * Gets the root HTML element of an embedded view.\n * If the root is not an HTML element it gets wrapped in one.\n */\nfunction getRootNode(viewRef, _document) {\n const rootNodes = viewRef.rootNodes;\n if (rootNodes.length === 1 && rootNodes[0].nodeType === _document.ELEMENT_NODE) {\n return rootNodes[0];\n }\n const wrapper = _document.createElement('div');\n rootNodes.forEach(node => wrapper.appendChild(node));\n return wrapper;\n}\n/**\n * Matches the target element's size to the source's size.\n * @param target Element that needs to be resized.\n * @param sourceRect Dimensions of the source element.\n */\nfunction matchElementSize(target, sourceRect) {\n target.style.width = `${sourceRect.width}px`;\n target.style.height = `${sourceRect.height}px`;\n target.style.transform = getTransform(sourceRect.left, sourceRect.top);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Moves an item one index in an array to another.\n * @param array Array in which to move the item.\n * @param fromIndex Starting index of the item.\n * @param toIndex Index to which the item should be moved.\n */\nfunction moveItemInArray(array, fromIndex, toIndex) {\n const from = clamp(fromIndex, array.length - 1);\n const to = clamp(toIndex, array.length - 1);\n if (from === to) {\n return;\n }\n const target = array[from];\n const delta = to < from ? -1 : 1;\n for (let i = from; i !== to; i += delta) {\n array[i] = array[i + delta];\n }\n array[to] = target;\n}\n/**\n * Moves an item from one array to another.\n * @param currentArray Array from which to transfer the item.\n * @param targetArray Array into which to put the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n */\nfunction transferArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const from = clamp(currentIndex, currentArray.length - 1);\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray.splice(from, 1)[0]);\n }\n}\n/**\n * Copies an item from one array to another, leaving it in its\n * original position in current array.\n * @param currentArray Array from which to copy the item.\n * @param targetArray Array into which is copy the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n *\n */\nfunction copyArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray[currentIndex]);\n }\n}\n/** Clamps a number between zero and a maximum. */\nfunction clamp(value, max) {\n return Math.max(0, Math.min(max, value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Proximity, as a ratio to width/height, at which a\n * dragged item will affect the drop container.\n */\nconst DROP_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the\n * viewport. The value comes from trying it out manually until it feels right.\n */\nconst SCROLL_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Reference to a drop list. Used to manipulate or dispose of the container.\n */\nclass DropListRef {\n constructor(element, _dragDropRegistry, _document, _ngZone, _viewportRuler) {\n this._dragDropRegistry = _dragDropRegistry;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n /** Whether starting a dragging sequence from this container is disabled. */\n this.disabled = false;\n /** Whether sorting items within the list is disabled. */\n this.sortingDisabled = false;\n /**\n * Whether auto-scrolling the view when the user\n * moves their pointer close to the edges is disabled.\n */\n this.autoScrollDisabled = false;\n /** Number of pixels to scroll for each frame when auto-scrolling an element. */\n this.autoScrollStep = 2;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits right before dragging has started. */\n this.beforeStarted = new Subject();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new Subject();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new Subject();\n /** Emits when the user drops an item inside the container. */\n this.dropped = new Subject();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new Subject();\n /** Whether an item in the list is being dragged. */\n this._isDragging = false;\n /** Cache of the dimensions of all the items inside the container. */\n this._itemPositions = [];\n /**\n * Keeps track of the item that was last swapped with the dragged item, as well as what direction\n * the pointer was moving in when the swap occured and whether the user's pointer continued to\n * overlap with the swapped item after the swapping occurred.\n */\n this._previousSwap = { drag: null, delta: 0, overlaps: false };\n /** Draggable items in the container. */\n this._draggables = [];\n /** Drop lists that are connected to the current one. */\n this._siblings = [];\n /** Direction in which the list is oriented. */\n this._orientation = 'vertical';\n /** Connected siblings that currently have a dragged item. */\n this._activeSiblings = new Set();\n /** Layout direction of the drop list. */\n this._direction = 'ltr';\n /** Subscription to the window being scrolled. */\n this._viewportScrollSubscription = Subscription.EMPTY;\n /** Vertical direction in which the list is currently scrolling. */\n this._verticalScrollDirection = 0 /* NONE */;\n /** Horizontal direction in which the list is currently scrolling. */\n this._horizontalScrollDirection = 0 /* NONE */;\n /** Used to signal to the current auto-scroll sequence when to stop. */\n this._stopScrollTimers = new Subject();\n /** Shadow root of the current element. Necessary for `elementFromPoint` to resolve correctly. */\n this._cachedShadowRoot = null;\n /** Starts the interval that'll auto-scroll the element. */\n this._startScrollInterval = () => {\n this._stopScrolling();\n interval(0, animationFrameScheduler)\n .pipe(takeUntil(this._stopScrollTimers))\n .subscribe(() => {\n const node = this._scrollNode;\n const scrollStep = this.autoScrollStep;\n if (this._verticalScrollDirection === 1 /* UP */) {\n node.scrollBy(0, -scrollStep);\n }\n else if (this._verticalScrollDirection === 2 /* DOWN */) {\n node.scrollBy(0, scrollStep);\n }\n if (this._horizontalScrollDirection === 1 /* LEFT */) {\n node.scrollBy(-scrollStep, 0);\n }\n else if (this._horizontalScrollDirection === 2 /* RIGHT */) {\n node.scrollBy(scrollStep, 0);\n }\n });\n };\n this.element = coerceElement(element);\n this._document = _document;\n this.withScrollableParents([this.element]);\n _dragDropRegistry.registerDropContainer(this);\n this._parentPositions = new ParentPositionTracker(_document);\n }\n /** Removes the drop list functionality from the DOM element. */\n dispose() {\n this._stopScrolling();\n this._stopScrollTimers.complete();\n this._viewportScrollSubscription.unsubscribe();\n this.beforeStarted.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this.sorted.complete();\n this._activeSiblings.clear();\n this._scrollNode = null;\n this._parentPositions.clear();\n this._dragDropRegistry.removeDropContainer(this);\n }\n /** Whether an item from this list is currently being dragged. */\n isDragging() {\n return this._isDragging;\n }\n /** Starts dragging an item. */\n start() {\n this._draggingStarted();\n this._notifyReceivingSiblings();\n }\n /**\n * Emits an event to indicate that the user moved an item into the container.\n * @param item Item that was moved into the container.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param index Index at which the item entered. If omitted, the container will try to figure it\n * out automatically.\n */\n enter(item, pointerX, pointerY, index) {\n this._draggingStarted();\n // If sorting is disabled, we want the item to return to its starting\n // position if the user is returning it to its initial container.\n let newIndex;\n if (index == null) {\n newIndex = this.sortingDisabled ? this._draggables.indexOf(item) : -1;\n if (newIndex === -1) {\n // We use the coordinates of where the item entered the drop\n // zone to figure out at which index it should be inserted.\n newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY);\n }\n }\n else {\n newIndex = index;\n }\n const activeDraggables = this._activeDraggables;\n const currentIndex = activeDraggables.indexOf(item);\n const placeholder = item.getPlaceholderElement();\n let newPositionReference = activeDraggables[newIndex];\n // If the item at the new position is the same as the item that is being dragged,\n // it means that we're trying to restore the item to its initial position. In this\n // case we should use the next item from the list as the reference.\n if (newPositionReference === item) {\n newPositionReference = activeDraggables[newIndex + 1];\n }\n // If we didn't find a new position reference, it means that either the item didn't start off\n // in this container, or that the item requested to be inserted at the end of the list.\n if (!newPositionReference &&\n (newIndex == null || newIndex === -1 || newIndex < activeDraggables.length - 1) &&\n this._shouldEnterAsFirstChild(pointerX, pointerY)) {\n newPositionReference = activeDraggables[0];\n }\n // Since the item may be in the `activeDraggables` already (e.g. if the user dragged it\n // into another container and back again), we have to ensure that it isn't duplicated.\n if (currentIndex > -1) {\n activeDraggables.splice(currentIndex, 1);\n }\n // Don't use items that are being dragged as a reference, because\n // their element has been moved down to the bottom of the body.\n if (newPositionReference && !this._dragDropRegistry.isDragging(newPositionReference)) {\n const element = newPositionReference.getRootElement();\n element.parentElement.insertBefore(placeholder, element);\n activeDraggables.splice(newIndex, 0, item);\n }\n else {\n coerceElement(this.element).appendChild(placeholder);\n activeDraggables.push(item);\n }\n // The transform needs to be cleared so it doesn't throw off the measurements.\n placeholder.style.transform = '';\n // Note that the positions were already cached when we called `start` above,\n // but we need to refresh them since the amount of items has changed and also parent rects.\n this._cacheItemPositions();\n this._cacheParentPositions();\n // Notify siblings at the end so that the item has been inserted into the `activeDraggables`.\n this._notifyReceivingSiblings();\n this.entered.next({ item, container: this, currentIndex: this.getItemIndex(item) });\n }\n /**\n * Removes an item from the container after it was dragged into another container by the user.\n * @param item Item that was dragged out.\n */\n exit(item) {\n this._reset();\n this.exited.next({ item, container: this });\n }\n /**\n * Drops an item into this container.\n * @param item Item being dropped into the container.\n * @param currentIndex Index at which the item should be inserted.\n * @param previousIndex Index of the item when dragging started.\n * @param previousContainer Container from which the item got dragged in.\n * @param isPointerOverContainer Whether the user's pointer was over the\n * container when the item was dropped.\n * @param distance Distance the user has dragged since the start of the dragging sequence.\n */\n drop(item, currentIndex, previousIndex, previousContainer, isPointerOverContainer, distance, dropPoint) {\n this._reset();\n this.dropped.next({\n item,\n currentIndex,\n previousIndex,\n container: this,\n previousContainer,\n isPointerOverContainer,\n distance,\n dropPoint,\n });\n }\n /**\n * Sets the draggable items that are a part of this list.\n * @param items Items that are a part of this list.\n */\n withItems(items) {\n const previousItems = this._draggables;\n this._draggables = items;\n items.forEach(item => item._withDropContainer(this));\n if (this.isDragging()) {\n const draggedItems = previousItems.filter(item => item.isDragging());\n // If all of the items being dragged were removed\n // from the list, abort the current drag sequence.\n if (draggedItems.every(item => items.indexOf(item) === -1)) {\n this._reset();\n }\n else {\n this._cacheItems();\n }\n }\n return this;\n }\n /** Sets the layout direction of the drop list. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /**\n * Sets the containers that are connected to this one. When two or more containers are\n * connected, the user will be allowed to transfer items between them.\n * @param connectedTo Other containers that the current containers should be connected to.\n */\n connectedTo(connectedTo) {\n this._siblings = connectedTo.slice();\n return this;\n }\n /**\n * Sets the orientation of the container.\n * @param orientation New orientation for the container.\n */\n withOrientation(orientation) {\n this._orientation = orientation;\n return this;\n }\n /**\n * Sets which parent elements are can be scrolled while the user is dragging.\n * @param elements Elements that can be scrolled.\n */\n withScrollableParents(elements) {\n const element = coerceElement(this.element);\n // We always allow the current element to be scrollable\n // so we need to ensure that it's in the array.\n this._scrollableElements =\n elements.indexOf(element) === -1 ? [element, ...elements] : elements.slice();\n return this;\n }\n /** Gets the scrollable parents that are registered with this drop container. */\n getScrollableParents() {\n return this._scrollableElements;\n }\n /**\n * Figures out the index of an item in the container.\n * @param item Item whose index should be determined.\n */\n getItemIndex(item) {\n if (!this._isDragging) {\n return this._draggables.indexOf(item);\n }\n // Items are sorted always by top/left in the cache, however they flow differently in RTL.\n // The rest of the logic still stands no matter what orientation we're in, however\n // we need to invert the array when determining the index.\n const items = this._orientation === 'horizontal' && this._direction === 'rtl'\n ? this._itemPositions.slice().reverse()\n : this._itemPositions;\n return items.findIndex(currentItem => currentItem.drag === item);\n }\n /**\n * Whether the list is able to receive the item that\n * is currently being dragged inside a connected drop list.\n */\n isReceiving() {\n return this._activeSiblings.size > 0;\n }\n /**\n * Sorts an item inside the container based on its position.\n * @param item Item to be sorted.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param pointerDelta Direction in which the pointer is moving along each axis.\n */\n _sortItem(item, pointerX, pointerY, pointerDelta) {\n // Don't sort the item if sorting is disabled or it's out of range.\n if (this.sortingDisabled ||\n !this._clientRect ||\n !isPointerNearClientRect(this._clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n return;\n }\n const siblings = this._itemPositions;\n const newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY, pointerDelta);\n if (newIndex === -1 && siblings.length > 0) {\n return;\n }\n const isHorizontal = this._orientation === 'horizontal';\n const currentIndex = siblings.findIndex(currentItem => currentItem.drag === item);\n const siblingAtNewPosition = siblings[newIndex];\n const currentPosition = siblings[currentIndex].clientRect;\n const newPosition = siblingAtNewPosition.clientRect;\n const delta = currentIndex > newIndex ? 1 : -1;\n // How many pixels the item's placeholder should be offset.\n const itemOffset = this._getItemOffsetPx(currentPosition, newPosition, delta);\n // How many pixels all the other items should be offset.\n const siblingOffset = this._getSiblingOffsetPx(currentIndex, siblings, delta);\n // Save the previous order of the items before moving the item to its new index.\n // We use this to check whether an item has been moved as a result of the sorting.\n const oldOrder = siblings.slice();\n // Shuffle the array in place.\n moveItemInArray(siblings, currentIndex, newIndex);\n this.sorted.next({\n previousIndex: currentIndex,\n currentIndex: newIndex,\n container: this,\n item,\n });\n siblings.forEach((sibling, index) => {\n // Don't do anything if the position hasn't changed.\n if (oldOrder[index] === sibling) {\n return;\n }\n const isDraggedItem = sibling.drag === item;\n const offset = isDraggedItem ? itemOffset : siblingOffset;\n const elementToOffset = isDraggedItem\n ? item.getPlaceholderElement()\n : sibling.drag.getRootElement();\n // Update the offset to reflect the new position.\n sibling.offset += offset;\n // Since we're moving the items with a `transform`, we need to adjust their cached\n // client rects to reflect their new position, as well as swap their positions in the cache.\n // Note that we shouldn't use `getBoundingClientRect` here to update the cache, because the\n // elements may be mid-animation which will give us a wrong result.\n if (isHorizontal) {\n // Round the transforms since some browsers will\n // blur the elements, for sub-pixel transforms.\n elementToOffset.style.transform = combineTransforms(`translate3d(${Math.round(sibling.offset)}px, 0, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, 0, offset);\n }\n else {\n elementToOffset.style.transform = combineTransforms(`translate3d(0, ${Math.round(sibling.offset)}px, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, offset, 0);\n }\n });\n // Note that it's important that we do this after the client rects have been adjusted.\n this._previousSwap.overlaps = isInsideClientRect(newPosition, pointerX, pointerY);\n this._previousSwap.drag = siblingAtNewPosition.drag;\n this._previousSwap.delta = isHorizontal ? pointerDelta.x : pointerDelta.y;\n }\n /**\n * Checks whether the user's pointer is close to the edges of either the\n * viewport or the drop list and starts the auto-scroll sequence.\n * @param pointerX User's pointer position along the x axis.\n * @param pointerY User's pointer position along the y axis.\n */\n _startScrollingIfNecessary(pointerX, pointerY) {\n if (this.autoScrollDisabled) {\n return;\n }\n let scrollNode;\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Check whether we should start scrolling any of the parent containers.\n this._parentPositions.positions.forEach((position, element) => {\n // We have special handling for the `document` below. Also this would be\n // nicer with a for...of loop, but it requires changing a compiler flag.\n if (element === this._document || !position.clientRect || scrollNode) {\n return;\n }\n if (isPointerNearClientRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, pointerX, pointerY);\n if (verticalScrollDirection || horizontalScrollDirection) {\n scrollNode = element;\n }\n }\n });\n // Otherwise check if we can start scrolling the viewport.\n if (!verticalScrollDirection && !horizontalScrollDirection) {\n const { width, height } = this._viewportRuler.getViewportSize();\n const clientRect = {\n width,\n height,\n top: 0,\n right: width,\n bottom: height,\n left: 0,\n };\n verticalScrollDirection = getVerticalScrollDirection(clientRect, pointerY);\n horizontalScrollDirection = getHorizontalScrollDirection(clientRect, pointerX);\n scrollNode = window;\n }\n if (scrollNode &&\n (verticalScrollDirection !== this._verticalScrollDirection ||\n horizontalScrollDirection !== this._horizontalScrollDirection ||\n scrollNode !== this._scrollNode)) {\n this._verticalScrollDirection = verticalScrollDirection;\n this._horizontalScrollDirection = horizontalScrollDirection;\n this._scrollNode = scrollNode;\n if ((verticalScrollDirection || horizontalScrollDirection) && scrollNode) {\n this._ngZone.runOutsideAngular(this._startScrollInterval);\n }\n else {\n this._stopScrolling();\n }\n }\n }\n /** Stops any currently-running auto-scroll sequences. */\n _stopScrolling() {\n this._stopScrollTimers.next();\n }\n /** Starts the dragging sequence within the list. */\n _draggingStarted() {\n const styles = coerceElement(this.element).style;\n this.beforeStarted.next();\n this._isDragging = true;\n // We need to disable scroll snapping while the user is dragging, because it breaks automatic\n // scrolling. The browser seems to round the value based on the snapping points which means\n // that we can't increment/decrement the scroll position.\n this._initialScrollSnap = styles.msScrollSnapType || styles.scrollSnapType || '';\n styles.scrollSnapType = styles.msScrollSnapType = 'none';\n this._cacheItems();\n this._viewportScrollSubscription.unsubscribe();\n this._listenToScrollEvents();\n }\n /** Caches the positions of the configured scrollable parents. */\n _cacheParentPositions() {\n const element = coerceElement(this.element);\n this._parentPositions.cache(this._scrollableElements);\n // The list element is always in the `scrollableElements`\n // so we can take advantage of the cached `ClientRect`.\n this._clientRect = this._parentPositions.positions.get(element).clientRect;\n }\n /** Refreshes the position cache of the items and sibling containers. */\n _cacheItemPositions() {\n const isHorizontal = this._orientation === 'horizontal';\n this._itemPositions = this._activeDraggables\n .map(drag => {\n const elementToMeasure = drag.getVisibleElement();\n return {\n drag,\n offset: 0,\n initialTransform: elementToMeasure.style.transform || '',\n clientRect: getMutableClientRect(elementToMeasure),\n };\n })\n .sort((a, b) => {\n return isHorizontal\n ? a.clientRect.left - b.clientRect.left\n : a.clientRect.top - b.clientRect.top;\n });\n }\n /** Resets the container to its initial state. */\n _reset() {\n this._isDragging = false;\n const styles = coerceElement(this.element).style;\n styles.scrollSnapType = styles.msScrollSnapType = this._initialScrollSnap;\n // TODO(crisbeto): may have to wait for the animations to finish.\n this._activeDraggables.forEach(item => {\n var _a;\n const rootElement = item.getRootElement();\n if (rootElement) {\n const initialTransform = (_a = this._itemPositions.find(current => current.drag === item)) === null || _a === void 0 ? void 0 : _a.initialTransform;\n rootElement.style.transform = initialTransform || '';\n }\n });\n this._siblings.forEach(sibling => sibling._stopReceiving(this));\n this._activeDraggables = [];\n this._itemPositions = [];\n this._previousSwap.drag = null;\n this._previousSwap.delta = 0;\n this._previousSwap.overlaps = false;\n this._stopScrolling();\n this._viewportScrollSubscription.unsubscribe();\n this._parentPositions.clear();\n }\n /**\n * Gets the offset in pixels by which the items that aren't being dragged should be moved.\n * @param currentIndex Index of the item currently being dragged.\n * @param siblings All of the items in the list.\n * @param delta Direction in which the user is moving.\n */\n _getSiblingOffsetPx(currentIndex, siblings, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const currentPosition = siblings[currentIndex].clientRect;\n const immediateSibling = siblings[currentIndex + delta * -1];\n let siblingOffset = currentPosition[isHorizontal ? 'width' : 'height'] * delta;\n if (immediateSibling) {\n const start = isHorizontal ? 'left' : 'top';\n const end = isHorizontal ? 'right' : 'bottom';\n // Get the spacing between the start of the current item and the end of the one immediately\n // after it in the direction in which the user is dragging, or vice versa. We add it to the\n // offset in order to push the element to where it will be when it's inline and is influenced\n // by the `margin` of its siblings.\n if (delta === -1) {\n siblingOffset -= immediateSibling.clientRect[start] - currentPosition[end];\n }\n else {\n siblingOffset += currentPosition[start] - immediateSibling.clientRect[end];\n }\n }\n return siblingOffset;\n }\n /**\n * Gets the offset in pixels by which the item that is being dragged should be moved.\n * @param currentPosition Current position of the item.\n * @param newPosition Position of the item where the current item should be moved.\n * @param delta Direction in which the user is moving.\n */\n _getItemOffsetPx(currentPosition, newPosition, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n let itemOffset = isHorizontal\n ? newPosition.left - currentPosition.left\n : newPosition.top - currentPosition.top;\n // Account for differences in the item width/height.\n if (delta === -1) {\n itemOffset += isHorizontal\n ? newPosition.width - currentPosition.width\n : newPosition.height - currentPosition.height;\n }\n return itemOffset;\n }\n /**\n * Checks if pointer is entering in the first position\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n */\n _shouldEnterAsFirstChild(pointerX, pointerY) {\n if (!this._activeDraggables.length) {\n return false;\n }\n const itemPositions = this._itemPositions;\n const isHorizontal = this._orientation === 'horizontal';\n // `itemPositions` are sorted by position while `activeDraggables` are sorted by child index\n // check if container is using some sort of \"reverse\" ordering (eg: flex-direction: row-reverse)\n const reversed = itemPositions[0].drag !== this._activeDraggables[0];\n if (reversed) {\n const lastItemRect = itemPositions[itemPositions.length - 1].clientRect;\n return isHorizontal ? pointerX >= lastItemRect.right : pointerY >= lastItemRect.bottom;\n }\n else {\n const firstItemRect = itemPositions[0].clientRect;\n return isHorizontal ? pointerX <= firstItemRect.left : pointerY <= firstItemRect.top;\n }\n }\n /**\n * Gets the index of an item in the drop container, based on the position of the user's pointer.\n * @param item Item that is being sorted.\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n * @param delta Direction in which the user is moving their pointer.\n */\n _getItemIndexFromPointerPosition(item, pointerX, pointerY, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const index = this._itemPositions.findIndex(({ drag, clientRect }) => {\n // Skip the item itself.\n if (drag === item) {\n return false;\n }\n if (delta) {\n const direction = isHorizontal ? delta.x : delta.y;\n // If the user is still hovering over the same item as last time, their cursor hasn't left\n // the item after we made the swap, and they didn't change the direction in which they're\n // dragging, we don't consider it a direction swap.\n if (drag === this._previousSwap.drag &&\n this._previousSwap.overlaps &&\n direction === this._previousSwap.delta) {\n return false;\n }\n }\n return isHorizontal\n ? // Round these down since most browsers report client rects with\n // sub-pixel precision, whereas the pointer coordinates are rounded to pixels.\n pointerX >= Math.floor(clientRect.left) && pointerX < Math.floor(clientRect.right)\n : pointerY >= Math.floor(clientRect.top) && pointerY < Math.floor(clientRect.bottom);\n });\n return index === -1 || !this.sortPredicate(index, item, this) ? -1 : index;\n }\n /** Caches the current items in the list and their positions. */\n _cacheItems() {\n this._activeDraggables = this._draggables.slice();\n this._cacheItemPositions();\n this._cacheParentPositions();\n }\n /**\n * Checks whether the user's pointer is positioned over the container.\n * @param x Pointer position along the X axis.\n * @param y Pointer position along the Y axis.\n */\n _isOverContainer(x, y) {\n return this._clientRect != null && isInsideClientRect(this._clientRect, x, y);\n }\n /**\n * Figures out whether an item should be moved into a sibling\n * drop container, based on its current position.\n * @param item Drag item that is being moved.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _getSiblingContainerFromPosition(item, x, y) {\n return this._siblings.find(sibling => sibling._canReceive(item, x, y));\n }\n /**\n * Checks whether the drop list can receive the passed-in item.\n * @param item Item that is being dragged into the list.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _canReceive(item, x, y) {\n if (!this._clientRect ||\n !isInsideClientRect(this._clientRect, x, y) ||\n !this.enterPredicate(item, this)) {\n return false;\n }\n const elementFromPoint = this._getShadowRoot().elementFromPoint(x, y);\n // If there's no element at the pointer position, then\n // the client rect is probably scrolled out of the view.\n if (!elementFromPoint) {\n return false;\n }\n const nativeElement = coerceElement(this.element);\n // The `ClientRect`, that we're using to find the container over which the user is\n // hovering, doesn't give us any information on whether the element has been scrolled\n // out of the view or whether it's overlapping with other containers. This means that\n // we could end up transferring the item into a container that's invisible or is positioned\n // below another one. We use the result from `elementFromPoint` to get the top-most element\n // at the pointer position and to find whether it's one of the intersecting drop containers.\n return elementFromPoint === nativeElement || nativeElement.contains(elementFromPoint);\n }\n /**\n * Called by one of the connected drop lists when a dragging sequence has started.\n * @param sibling Sibling in which dragging has started.\n */\n _startReceiving(sibling, items) {\n const activeSiblings = this._activeSiblings;\n if (!activeSiblings.has(sibling) &&\n items.every(item => {\n // Note that we have to add an exception to the `enterPredicate` for items that started off\n // in this drop list. The drag ref has logic that allows an item to return to its initial\n // container, if it has left the initial container and none of the connected containers\n // allow it to enter. See `DragRef._updateActiveDropContainer` for more context.\n return this.enterPredicate(item, this) || this._draggables.indexOf(item) > -1;\n })) {\n activeSiblings.add(sibling);\n this._cacheParentPositions();\n this._listenToScrollEvents();\n }\n }\n /**\n * Called by a connected drop list when dragging has stopped.\n * @param sibling Sibling whose dragging has stopped.\n */\n _stopReceiving(sibling) {\n this._activeSiblings.delete(sibling);\n this._viewportScrollSubscription.unsubscribe();\n }\n /**\n * Starts listening to scroll events on the viewport.\n * Used for updating the internal state of the list.\n */\n _listenToScrollEvents() {\n this._viewportScrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(event => {\n if (this.isDragging()) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n // Since we know the amount that the user has scrolled we can shift all of the\n // client rectangles ourselves. This is cheaper than re-measuring everything and\n // we can avoid inconsistent behavior where we might be measuring the element before\n // its position has changed.\n this._itemPositions.forEach(({ clientRect }) => {\n adjustClientRect(clientRect, scrollDifference.top, scrollDifference.left);\n });\n // We need two loops for this, because we want all of the cached\n // positions to be up-to-date before we re-sort the item.\n this._itemPositions.forEach(({ drag }) => {\n if (this._dragDropRegistry.isDragging(drag)) {\n // We need to re-sort the item manually, because the pointer move\n // events won't be dispatched while the user is scrolling.\n drag._sortFromLastPointerPosition();\n }\n });\n }\n }\n else if (this.isReceiving()) {\n this._cacheParentPositions();\n }\n });\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (!this._cachedShadowRoot) {\n const shadowRoot = _getShadowRoot(coerceElement(this.element));\n this._cachedShadowRoot = (shadowRoot || this._document);\n }\n return this._cachedShadowRoot;\n }\n /** Notifies any siblings that may potentially receive the item. */\n _notifyReceivingSiblings() {\n const draggedItems = this._activeDraggables.filter(item => item.isDragging());\n this._siblings.forEach(sibling => sibling._startReceiving(this, draggedItems));\n }\n}\n/**\n * Gets whether the vertical auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getVerticalScrollDirection(clientRect, pointerY) {\n const { top, bottom, height } = clientRect;\n const yThreshold = height * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerY >= top - yThreshold && pointerY <= top + yThreshold) {\n return 1 /* UP */;\n }\n else if (pointerY >= bottom - yThreshold && pointerY <= bottom + yThreshold) {\n return 2 /* DOWN */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets whether the horizontal auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerX Position of the user's pointer along the x axis.\n */\nfunction getHorizontalScrollDirection(clientRect, pointerX) {\n const { left, right, width } = clientRect;\n const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {\n return 1 /* LEFT */;\n }\n else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {\n return 2 /* RIGHT */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets the directions in which an element node should be scrolled,\n * assuming that the user's pointer is already within it scrollable region.\n * @param element Element for which we should calculate the scroll direction.\n * @param clientRect Bounding client rectangle of the element.\n * @param pointerX Position of the user's pointer along the x axis.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getElementScrollDirections(element, clientRect, pointerX, pointerY) {\n const computedVertical = getVerticalScrollDirection(clientRect, pointerY);\n const computedHorizontal = getHorizontalScrollDirection(clientRect, pointerX);\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Note that we here we do some extra checks for whether the element is actually scrollable in\n // a certain direction and we only assign the scroll direction if it is. We do this so that we\n // can allow other elements to be scrolled, if the current element can't be scrolled anymore.\n // This allows us to handle cases where the scroll regions of two scrollable elements overlap.\n if (computedVertical) {\n const scrollTop = element.scrollTop;\n if (computedVertical === 1 /* UP */) {\n if (scrollTop > 0) {\n verticalScrollDirection = 1 /* UP */;\n }\n }\n else if (element.scrollHeight - scrollTop > element.clientHeight) {\n verticalScrollDirection = 2 /* DOWN */;\n }\n }\n if (computedHorizontal) {\n const scrollLeft = element.scrollLeft;\n if (computedHorizontal === 1 /* LEFT */) {\n if (scrollLeft > 0) {\n horizontalScrollDirection = 1 /* LEFT */;\n }\n }\n else if (element.scrollWidth - scrollLeft > element.clientWidth) {\n horizontalScrollDirection = 2 /* RIGHT */;\n }\n }\n return [verticalScrollDirection, horizontalScrollDirection];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Event options that can be used to bind an active, capturing event. */\nconst activeCapturingEventOptions = normalizePassiveListenerOptions({\n passive: false,\n capture: true,\n});\n/**\n * Service that keeps track of all the drag item and drop container\n * instances, and manages global event listeners on the `document`.\n * @docs-private\n */\n// Note: this class is generic, rather than referencing CdkDrag and CdkDropList directly, in order\n// to avoid circular imports. If we were to reference them here, importing the registry into the\n// classes that are registering themselves will introduce a circular import.\nclass DragDropRegistry {\n constructor(_ngZone, _document) {\n this._ngZone = _ngZone;\n /** Registered drop container instances. */\n this._dropInstances = new Set();\n /** Registered drag item instances. */\n this._dragInstances = new Set();\n /** Drag item instances that are currently being dragged. */\n this._activeDragInstances = [];\n /** Keeps track of the event listeners that we've bound to the `document`. */\n this._globalListeners = new Map();\n /**\n * Predicate function to check if an item is being dragged. Moved out into a property,\n * because it'll be called a lot and we don't want to create a new function every time.\n */\n this._draggingPredicate = (item) => item.isDragging();\n /**\n * Emits the `touchmove` or `mousemove` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerMove = new Subject();\n /**\n * Emits the `touchend` or `mouseup` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerUp = new Subject();\n /**\n * Emits when the viewport has been scrolled while the user is dragging an item.\n * @deprecated To be turned into a private member. Use the `scrolled` method instead.\n * @breaking-change 13.0.0\n */\n this.scroll = new Subject();\n /**\n * Event listener that will prevent the default browser action while the user is dragging.\n * @param event Event whose default action should be prevented.\n */\n this._preventDefaultWhileDragging = (event) => {\n if (this._activeDragInstances.length > 0) {\n event.preventDefault();\n }\n };\n /** Event listener for `touchmove` that is bound even if no dragging is happening. */\n this._persistentTouchmoveListener = (event) => {\n if (this._activeDragInstances.length > 0) {\n // Note that we only want to prevent the default action after dragging has actually started.\n // Usually this is the same time at which the item is added to the `_activeDragInstances`,\n // but it could be pushed back if the user has set up a drag delay or threshold.\n if (this._activeDragInstances.some(this._draggingPredicate)) {\n event.preventDefault();\n }\n this.pointerMove.next(event);\n }\n };\n this._document = _document;\n }\n /** Adds a drop container to the registry. */\n registerDropContainer(drop) {\n if (!this._dropInstances.has(drop)) {\n this._dropInstances.add(drop);\n }\n }\n /** Adds a drag item instance to the registry. */\n registerDragItem(drag) {\n this._dragInstances.add(drag);\n // The `touchmove` event gets bound once, ahead of time, because WebKit\n // won't preventDefault on a dynamically-added `touchmove` listener.\n // See https://bugs.webkit.org/show_bug.cgi?id=184250.\n if (this._dragInstances.size === 1) {\n this._ngZone.runOutsideAngular(() => {\n // The event handler has to be explicitly active,\n // because newer browsers make it passive by default.\n this._document.addEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n });\n }\n }\n /** Removes a drop container from the registry. */\n removeDropContainer(drop) {\n this._dropInstances.delete(drop);\n }\n /** Removes a drag item instance from the registry. */\n removeDragItem(drag) {\n this._dragInstances.delete(drag);\n this.stopDragging(drag);\n if (this._dragInstances.size === 0) {\n this._document.removeEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n }\n }\n /**\n * Starts the dragging sequence for a drag instance.\n * @param drag Drag instance which is being dragged.\n * @param event Event that initiated the dragging.\n */\n startDragging(drag, event) {\n // Do not process the same drag twice to avoid memory leaks and redundant listeners\n if (this._activeDragInstances.indexOf(drag) > -1) {\n return;\n }\n this._activeDragInstances.push(drag);\n if (this._activeDragInstances.length === 1) {\n const isTouchEvent = event.type.startsWith('touch');\n // We explicitly bind __active__ listeners here, because newer browsers will default to\n // passive ones for `mousemove` and `touchmove`. The events need to be active, because we\n // use `preventDefault` to prevent the page from scrolling while the user is dragging.\n this._globalListeners\n .set(isTouchEvent ? 'touchend' : 'mouseup', {\n handler: (e) => this.pointerUp.next(e),\n options: true,\n })\n .set('scroll', {\n handler: (e) => this.scroll.next(e),\n // Use capturing so that we pick up scroll changes in any scrollable nodes that aren't\n // the document. See https://github.com/angular/components/issues/17144.\n options: true,\n })\n // Preventing the default action on `mousemove` isn't enough to disable text selection\n // on Safari so we need to prevent the selection event as well. Alternatively this can\n // be done by setting `user-select: none` on the `body`, however it has causes a style\n // recalculation which can be expensive on pages with a lot of elements.\n .set('selectstart', {\n handler: this._preventDefaultWhileDragging,\n options: activeCapturingEventOptions,\n });\n // We don't have to bind a move event for touch drag sequences, because\n // we already have a persistent global one bound from `registerDragItem`.\n if (!isTouchEvent) {\n this._globalListeners.set('mousemove', {\n handler: (e) => this.pointerMove.next(e),\n options: activeCapturingEventOptions,\n });\n }\n this._ngZone.runOutsideAngular(() => {\n this._globalListeners.forEach((config, name) => {\n this._document.addEventListener(name, config.handler, config.options);\n });\n });\n }\n }\n /** Stops dragging a drag item instance. */\n stopDragging(drag) {\n const index = this._activeDragInstances.indexOf(drag);\n if (index > -1) {\n this._activeDragInstances.splice(index, 1);\n if (this._activeDragInstances.length === 0) {\n this._clearGlobalListeners();\n }\n }\n }\n /** Gets whether a drag item instance is currently being dragged. */\n isDragging(drag) {\n return this._activeDragInstances.indexOf(drag) > -1;\n }\n /**\n * Gets a stream that will emit when any element on the page is scrolled while an item is being\n * dragged.\n * @param shadowRoot Optional shadow root that the current dragging sequence started from.\n * Top-level listeners won't pick up events coming from the shadow DOM so this parameter can\n * be used to include an additional top-level listener at the shadow root level.\n */\n scrolled(shadowRoot) {\n const streams = [this.scroll];\n if (shadowRoot && shadowRoot !== this._document) {\n // Note that this is basically the same as `fromEvent` from rjxs, but we do it ourselves,\n // because we want to guarantee that the event is bound outside of the `NgZone`. With\n // `fromEvent` it'll only happen if the subscription is outside the `NgZone`.\n streams.push(new Observable((observer) => {\n return this._ngZone.runOutsideAngular(() => {\n const eventOptions = true;\n const callback = (event) => {\n if (this._activeDragInstances.length) {\n observer.next(event);\n }\n };\n shadowRoot.addEventListener('scroll', callback, eventOptions);\n return () => {\n shadowRoot.removeEventListener('scroll', callback, eventOptions);\n };\n });\n }));\n }\n return merge(...streams);\n }\n ngOnDestroy() {\n this._dragInstances.forEach(instance => this.removeDragItem(instance));\n this._dropInstances.forEach(instance => this.removeDropContainer(instance));\n this._clearGlobalListeners();\n this.pointerMove.complete();\n this.pointerUp.complete();\n }\n /** Clears out the global event listeners from the `document`. */\n _clearGlobalListeners() {\n this._globalListeners.forEach((config, name) => {\n this._document.removeEventListener(name, config.handler, config.options);\n });\n this._globalListeners.clear();\n }\n}\nDragDropRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nDragDropRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default configuration to be used when creating a `DragRef`. */\nconst DEFAULT_CONFIG = {\n dragStartThreshold: 5,\n pointerDirectionChangeThreshold: 5,\n};\n/**\n * Service that allows for drag-and-drop functionality to be attached to DOM elements.\n */\nclass DragDrop {\n constructor(_document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n }\n /**\n * Turns an element into a draggable item.\n * @param element Element to which to attach the dragging functionality.\n * @param config Object used to configure the dragging behavior.\n */\n createDrag(element, config = DEFAULT_CONFIG) {\n return new DragRef(element, config, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry);\n }\n /**\n * Turns an element into a drop list.\n * @param element Element to which to attach the drop list functionality.\n */\n createDropList(element) {\n return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);\n }\n}\nDragDrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable });\nDragDrop.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone }, { type: i1.ViewportRuler }, { type: DragDropRegistry }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used for a `CdkDrag` to provide itself as a parent to the\n * drag-specific child directive (`CdkDragHandle`, `CdkDragPreview` etc.). Used primarily\n * to avoid circular imports.\n * @docs-private\n */\nconst CDK_DRAG_PARENT = new InjectionToken('CDK_DRAG_PARENT');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDropListGroup`. It serves as\n * alternative token to the actual `CdkDropListGroup` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST_GROUP = new InjectionToken('CdkDropListGroup');\n/**\n * Declaratively connects sibling `cdkDropList` instances together. All of the `cdkDropList`\n * elements that are placed inside a `cdkDropListGroup` will be connected to each other\n * automatically. Can be used as an alternative to the `cdkDropListConnectedTo` input\n * from `cdkDropList`.\n */\nclass CdkDropListGroup {\n constructor() {\n /** Drop lists registered inside the group. */\n this._items = new Set();\n this._disabled = false;\n }\n /** Whether starting a dragging sequence from inside this group is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this._items.clear();\n }\n}\nCdkDropListGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkDropListGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDropListGroup, selector: \"[cdkDropListGroup]\", inputs: { disabled: [\"cdkDropListGroupDisabled\", \"disabled\"] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: [\"cdkDropListGroup\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropListGroup, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDropListGroup]',\n exportAs: 'cdkDropListGroup',\n providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }],\n }]\n }], propDecorators: { disabled: [{\n type: Input,\n args: ['cdkDropListGroupDisabled']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to configure the\n * behavior of the drag&drop-related components.\n */\nconst CDK_DRAG_CONFIG = new InjectionToken('CDK_DRAG_CONFIG');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Asserts that a particular node is an element.\n * @param node Node to be checked.\n * @param name Name to attach to the error message.\n */\nfunction assertElementNode(node, name) {\n if (node.nodeType !== 1) {\n throw Error(`${name} must be attached to an element node. ` + `Currently attached to \"${node.nodeName}\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Counter used to generate unique ids for drop zones. */\nlet _uniqueIdCounter = 0;\n/**\n * Injection token that can be used to reference instances of `CdkDropList`. It serves as\n * alternative token to the actual `CdkDropList` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST = new InjectionToken('CdkDropList');\n/** Container that wraps a set of draggable items. */\nclass CdkDropList {\n constructor(\n /** Element that the drop list is attached to. */\n element, dragDrop, _changeDetectorRef, _scrollDispatcher, _dir, _group, config) {\n this.element = element;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._dir = _dir;\n this._group = _group;\n /** Emits when the list has been destroyed. */\n this._destroyed = new Subject();\n /**\n * Other draggable containers that this container is connected to and into which the\n * container's items can be transferred. Can either be references to other drop containers,\n * or their unique IDs.\n */\n this.connectedTo = [];\n /**\n * Unique ID for the drop zone. Can be used as a reference\n * in the `connectedTo` of another `CdkDropList`.\n */\n this.id = `cdk-drop-list-${_uniqueIdCounter++}`;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits when the user drops an item inside the container. */\n this.dropped = new EventEmitter();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new EventEmitter();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new EventEmitter();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new EventEmitter();\n /**\n * Keeps track of the items that are registered with this container. Historically we used to\n * do this with a `ContentChildren` query, however queries don't handle transplanted views very\n * well which means that we can't handle cases like dragging the headers of a `mat-table`\n * correctly. What we do instead is to have the items register themselves with the container\n * and then we sort them based on their position in the DOM.\n */\n this._unsortedItems = new Set();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDropList');\n }\n this._dropListRef = dragDrop.createDropList(element);\n this._dropListRef.data = this;\n if (config) {\n this._assignDefaults(config);\n }\n this._dropListRef.enterPredicate = (drag, drop) => {\n return this.enterPredicate(drag.data, drop.data);\n };\n this._dropListRef.sortPredicate = (index, drag, drop) => {\n return this.sortPredicate(index, drag.data, drop.data);\n };\n this._setupInputSyncSubscription(this._dropListRef);\n this._handleEvents(this._dropListRef);\n CdkDropList._dropLists.push(this);\n if (_group) {\n _group._items.add(this);\n }\n }\n /** Whether starting a dragging sequence from this container is disabled. */\n get disabled() {\n return this._disabled || (!!this._group && this._group.disabled);\n }\n set disabled(value) {\n // Usually we sync the directive and ref state right before dragging starts, in order to have\n // a single point of failure and to avoid having to use setters for everything. `disabled` is\n // a special case, because it can prevent the `beforeStarted` event from firing, which can lock\n // the user in a disabled state, so we also need to sync it as it's being set.\n this._dropListRef.disabled = this._disabled = coerceBooleanProperty(value);\n }\n /** Registers an items with the drop list. */\n addItem(item) {\n this._unsortedItems.add(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Removes an item from the drop list. */\n removeItem(item) {\n this._unsortedItems.delete(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Gets the registered items in the list, sorted by their position in the DOM. */\n getSortedItems() {\n return Array.from(this._unsortedItems).sort((a, b) => {\n const documentPosition = a._dragRef\n .getVisibleElement()\n .compareDocumentPosition(b._dragRef.getVisibleElement());\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n }\n ngOnDestroy() {\n const index = CdkDropList._dropLists.indexOf(this);\n if (index > -1) {\n CdkDropList._dropLists.splice(index, 1);\n }\n if (this._group) {\n this._group._items.delete(this);\n }\n this._unsortedItems.clear();\n this._dropListRef.dispose();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Syncs the inputs of the CdkDropList with the options of the underlying DropListRef. */\n _setupInputSyncSubscription(ref) {\n if (this._dir) {\n this._dir.change\n .pipe(startWith(this._dir.value), takeUntil(this._destroyed))\n .subscribe(value => ref.withDirection(value));\n }\n ref.beforeStarted.subscribe(() => {\n const siblings = coerceArray(this.connectedTo).map(drop => {\n if (typeof drop === 'string') {\n const correspondingDropList = CdkDropList._dropLists.find(list => list.id === drop);\n if (!correspondingDropList && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console.warn(`CdkDropList could not find connected drop list with id \"${drop}\"`);\n }\n return correspondingDropList;\n }\n return drop;\n });\n if (this._group) {\n this._group._items.forEach(drop => {\n if (siblings.indexOf(drop) === -1) {\n siblings.push(drop);\n }\n });\n }\n // Note that we resolve the scrollable parents here so that we delay the resolution\n // as long as possible, ensuring that the element is in its final place in the DOM.\n if (!this._scrollableParentsResolved) {\n const scrollableParents = this._scrollDispatcher\n .getAncestorScrollContainers(this.element)\n .map(scrollable => scrollable.getElementRef().nativeElement);\n this._dropListRef.withScrollableParents(scrollableParents);\n // Only do this once since it involves traversing the DOM and the parents\n // shouldn't be able to change without the drop list being destroyed.\n this._scrollableParentsResolved = true;\n }\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.sortingDisabled = coerceBooleanProperty(this.sortingDisabled);\n ref.autoScrollDisabled = coerceBooleanProperty(this.autoScrollDisabled);\n ref.autoScrollStep = coerceNumberProperty(this.autoScrollStep, 2);\n ref\n .connectedTo(siblings.filter(drop => drop && drop !== this).map(list => list._dropListRef))\n .withOrientation(this.orientation);\n });\n }\n /** Handles events from the underlying DropListRef. */\n _handleEvents(ref) {\n ref.beforeStarted.subscribe(() => {\n this._syncItemsWithRef();\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: this,\n item: event.item.data,\n currentIndex: event.currentIndex,\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: this,\n item: event.item.data,\n });\n this._changeDetectorRef.markForCheck();\n });\n ref.sorted.subscribe(event => {\n this.sorted.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n container: this,\n item: event.item.data,\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n item: event.item.data,\n isPointerOverContainer: event.isPointerOverContainer,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n // Mark for check since all of these events run outside of change\n // detection and we're not guaranteed for something else to have triggered it.\n this._changeDetectorRef.markForCheck();\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, draggingDisabled, sortingDisabled, listAutoScrollDisabled, listOrientation } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.sortingDisabled = sortingDisabled == null ? false : sortingDisabled;\n this.autoScrollDisabled = listAutoScrollDisabled == null ? false : listAutoScrollDisabled;\n this.orientation = listOrientation || 'vertical';\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n }\n /** Syncs up the registered drag items with underlying drop list ref. */\n _syncItemsWithRef() {\n this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));\n }\n}\n/** Keeps track of the drop lists that are currently on the page. */\nCdkDropList._dropLists = [];\nCdkDropList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropList, deps: [{ token: i0.ElementRef }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }, { token: i3.Directionality, optional: true }, { token: CDK_DROP_LIST_GROUP, optional: true, skipSelf: true }, { token: CDK_DRAG_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDropList.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: { connectedTo: [\"cdkDropListConnectedTo\", \"connectedTo\"], data: [\"cdkDropListData\", \"data\"], orientation: [\"cdkDropListOrientation\", \"orientation\"], id: \"id\", lockAxis: [\"cdkDropListLockAxis\", \"lockAxis\"], disabled: [\"cdkDropListDisabled\", \"disabled\"], sortingDisabled: [\"cdkDropListSortingDisabled\", \"sortingDisabled\"], enterPredicate: [\"cdkDropListEnterPredicate\", \"enterPredicate\"], sortPredicate: [\"cdkDropListSortPredicate\", \"sortPredicate\"], autoScrollDisabled: [\"cdkDropListAutoScrollDisabled\", \"autoScrollDisabled\"], autoScrollStep: [\"cdkDropListAutoScrollStep\", \"autoScrollStep\"] }, outputs: { dropped: \"cdkDropListDropped\", entered: \"cdkDropListEntered\", exited: \"cdkDropListExited\", sorted: \"cdkDropListSorted\" }, host: { properties: { \"attr.id\": \"id\", \"class.cdk-drop-list-disabled\": \"disabled\", \"class.cdk-drop-list-dragging\": \"_dropListRef.isDragging()\", \"class.cdk-drop-list-receiving\": \"_dropListRef.isReceiving()\" }, classAttribute: \"cdk-drop-list\" }, providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: undefined },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ], exportAs: [\"cdkDropList\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropList, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDropList], cdk-drop-list',\n exportAs: 'cdkDropList',\n providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: undefined },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ],\n host: {\n 'class': 'cdk-drop-list',\n '[attr.id]': 'id',\n '[class.cdk-drop-list-disabled]': 'disabled',\n '[class.cdk-drop-list-dragging]': '_dropListRef.isDragging()',\n '[class.cdk-drop-list-receiving]': '_dropListRef.isReceiving()',\n },\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: DragDrop }, { type: i0.ChangeDetectorRef }, { type: i1.ScrollDispatcher }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: CdkDropListGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DROP_LIST_GROUP]\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }];\n }, propDecorators: { connectedTo: [{\n type: Input,\n args: ['cdkDropListConnectedTo']\n }], data: [{\n type: Input,\n args: ['cdkDropListData']\n }], orientation: [{\n type: Input,\n args: ['cdkDropListOrientation']\n }], id: [{\n type: Input\n }], lockAxis: [{\n type: Input,\n args: ['cdkDropListLockAxis']\n }], disabled: [{\n type: Input,\n args: ['cdkDropListDisabled']\n }], sortingDisabled: [{\n type: Input,\n args: ['cdkDropListSortingDisabled']\n }], enterPredicate: [{\n type: Input,\n args: ['cdkDropListEnterPredicate']\n }], sortPredicate: [{\n type: Input,\n args: ['cdkDropListSortPredicate']\n }], autoScrollDisabled: [{\n type: Input,\n args: ['cdkDropListAutoScrollDisabled']\n }], autoScrollStep: [{\n type: Input,\n args: ['cdkDropListAutoScrollStep']\n }], dropped: [{\n type: Output,\n args: ['cdkDropListDropped']\n }], entered: [{\n type: Output,\n args: ['cdkDropListEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDropListExited']\n }], sorted: [{\n type: Output,\n args: ['cdkDropListSorted']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragHandle`. It serves as\n * alternative token to the actual `CdkDragHandle` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_HANDLE = new InjectionToken('CdkDragHandle');\n/** Handle that can be used to drag a CdkDrag instance. */\nclass CdkDragHandle {\n constructor(element, parentDrag) {\n this.element = element;\n /** Emits when the state of the handle has changed. */\n this._stateChanges = new Subject();\n this._disabled = false;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDragHandle');\n }\n this._parentDrag = parentDrag;\n }\n /** Whether starting to drag through this handle is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._stateChanges.next(this);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\nCdkDragHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragHandle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: { disabled: [\"cdkDragHandleDisabled\", \"disabled\"] }, host: { classAttribute: \"cdk-drag-handle\" }, providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragHandle, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDragHandle]',\n host: {\n 'class': 'cdk-drag-handle',\n },\n providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }];\n }, propDecorators: { disabled: [{\n type: Input,\n args: ['cdkDragHandleDisabled']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragPlaceholder`. It serves as\n * alternative token to the actual `CdkDragPlaceholder` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PLACEHOLDER = new InjectionToken('CdkDragPlaceholder');\n/**\n * Element that will be used as a template for the placeholder of a CdkDrag when\n * it is being dragged. The placeholder is displayed in place of the element being dragged.\n */\nclass CdkDragPlaceholder {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkDragPlaceholder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragPlaceholder.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragPlaceholder, selector: \"ng-template[cdkDragPlaceholder]\", inputs: { data: \"data\" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPlaceholder, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPlaceholder]',\n providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { data: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragPreview`. It serves as\n * alternative token to the actual `CdkDragPreview` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PREVIEW = new InjectionToken('CdkDragPreview');\n/**\n * Element that will be used as a template for the preview\n * of a CdkDrag when it is being dragged.\n */\nclass CdkDragPreview {\n constructor(templateRef) {\n this.templateRef = templateRef;\n this._matchSize = false;\n }\n /** Whether the preview should preserve the same size as the item that is being dragged. */\n get matchSize() {\n return this._matchSize;\n }\n set matchSize(value) {\n this._matchSize = coerceBooleanProperty(value);\n }\n}\nCdkDragPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragPreview.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragPreview, selector: \"ng-template[cdkDragPreview]\", inputs: { data: \"data\", matchSize: \"matchSize\" }, providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPreview, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPreview]',\n providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { data: [{\n type: Input\n }], matchSize: [{\n type: Input\n }] } });\n\nconst DRAG_HOST_CLASS = 'cdk-drag';\n/** Element that can be moved inside a CdkDropList container. */\nclass CdkDrag {\n constructor(\n /** Element that the draggable is attached to. */\n element, \n /** Droppable container that the draggable is a part of. */\n dropContainer, \n /**\n * @deprecated `_document` parameter no longer being used and will be removed.\n * @breaking-change 12.0.0\n */\n _document, _ngZone, _viewContainerRef, config, _dir, dragDrop, _changeDetectorRef, _selfHandle, _parentDrag) {\n this.element = element;\n this.dropContainer = dropContainer;\n this._ngZone = _ngZone;\n this._viewContainerRef = _viewContainerRef;\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._selfHandle = _selfHandle;\n this._parentDrag = _parentDrag;\n this._destroyed = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new EventEmitter();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new EventEmitter();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new EventEmitter();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new EventEmitter();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new EventEmitter();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new EventEmitter();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = new Observable((observer) => {\n const subscription = this._dragRef.moved\n .pipe(map(movedEvent => ({\n source: this,\n pointerPosition: movedEvent.pointerPosition,\n event: movedEvent.event,\n delta: movedEvent.delta,\n distance: movedEvent.distance,\n })))\n .subscribe(observer);\n return () => {\n subscription.unsubscribe();\n };\n });\n this._dragRef = dragDrop.createDrag(element, {\n dragStartThreshold: config && config.dragStartThreshold != null ? config.dragStartThreshold : 5,\n pointerDirectionChangeThreshold: config && config.pointerDirectionChangeThreshold != null\n ? config.pointerDirectionChangeThreshold\n : 5,\n zIndex: config === null || config === void 0 ? void 0 : config.zIndex,\n });\n this._dragRef.data = this;\n // We have to keep track of the drag instances in order to be able to match an element to\n // a drag instance. We can't go through the global registry of `DragRef`, because the root\n // element could be different.\n CdkDrag._dragInstances.push(this);\n if (config) {\n this._assignDefaults(config);\n }\n // Note that usually the container is assigned when the drop list is picks up the item, but in\n // some cases (mainly transplanted views with OnPush, see #18341) we may end up in a situation\n // where there are no items on the first change detection pass, but the items get picked up as\n // soon as the user triggers another pass by dragging. This is a problem, because the item would\n // have to switch from standalone mode to drag mode in the middle of the dragging sequence which\n // is too late since the two modes save different kinds of information. We work around it by\n // assigning the drop container both from here and the list.\n if (dropContainer) {\n this._dragRef._withDropContainer(dropContainer._dropListRef);\n dropContainer.addItem(this);\n }\n this._syncInputs(this._dragRef);\n this._handleEvents(this._dragRef);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || (this.dropContainer && this.dropContainer.disabled);\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._dragRef.disabled = this._disabled;\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._dragRef.getPlaceholderElement();\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._dragRef.getRootElement();\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._dragRef.reset();\n }\n /**\n * Gets the pixel coordinates of the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n return this._dragRef.getFreeDragPosition();\n }\n ngAfterViewInit() {\n // Normally this isn't in the zone, but it can cause major performance regressions for apps\n // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.\n this._ngZone.runOutsideAngular(() => {\n // We need to wait for the zone to stabilize, in order for the reference\n // element to be in the proper place in the DOM. This is mostly relevant\n // for draggable elements inside portals since they get stamped out in\n // their original DOM position and then they get transferred to the portal.\n this._ngZone.onStable.pipe(take(1), takeUntil(this._destroyed)).subscribe(() => {\n this._updateRootElement();\n this._setupHandlesListener();\n if (this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n });\n });\n }\n ngOnChanges(changes) {\n const rootSelectorChange = changes['rootElementSelector'];\n const positionChange = changes['freeDragPosition'];\n // We don't have to react to the first change since it's being\n // handled in `ngAfterViewInit` where it needs to be deferred.\n if (rootSelectorChange && !rootSelectorChange.firstChange) {\n this._updateRootElement();\n }\n // Skip the first change since it's being handled in `ngAfterViewInit`.\n if (positionChange && !positionChange.firstChange && this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n }\n ngOnDestroy() {\n if (this.dropContainer) {\n this.dropContainer.removeItem(this);\n }\n const index = CdkDrag._dragInstances.indexOf(this);\n if (index > -1) {\n CdkDrag._dragInstances.splice(index, 1);\n }\n // Unnecessary in most cases, but used to avoid extra change detections with `zone-paths-rxjs`.\n this._ngZone.runOutsideAngular(() => {\n this._destroyed.next();\n this._destroyed.complete();\n this._dragRef.dispose();\n });\n }\n /** Syncs the root element with the `DragRef`. */\n _updateRootElement() {\n var _a;\n const element = this.element.nativeElement;\n let rootElement = element;\n if (this.rootElementSelector) {\n rootElement =\n element.closest !== undefined\n ? element.closest(this.rootElementSelector)\n : // Comment tag doesn't have closest method, so use parent's one.\n (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.closest(this.rootElementSelector);\n }\n if (rootElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n assertElementNode(rootElement, 'cdkDrag');\n }\n this._dragRef.withRootElement(rootElement || element);\n }\n /** Gets the boundary element, based on the `boundaryElement` value. */\n _getBoundaryElement() {\n const boundary = this.boundaryElement;\n if (!boundary) {\n return null;\n }\n if (typeof boundary === 'string') {\n return this.element.nativeElement.closest(boundary);\n }\n return coerceElement(boundary);\n }\n /** Syncs the inputs of the CdkDrag with the options of the underlying DragRef. */\n _syncInputs(ref) {\n ref.beforeStarted.subscribe(() => {\n if (!ref.isDragging()) {\n const dir = this._dir;\n const dragStartDelay = this.dragStartDelay;\n const placeholder = this._placeholderTemplate\n ? {\n template: this._placeholderTemplate.templateRef,\n context: this._placeholderTemplate.data,\n viewContainer: this._viewContainerRef,\n }\n : null;\n const preview = this._previewTemplate\n ? {\n template: this._previewTemplate.templateRef,\n context: this._previewTemplate.data,\n matchSize: this._previewTemplate.matchSize,\n viewContainer: this._viewContainerRef,\n }\n : null;\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.dragStartDelay =\n typeof dragStartDelay === 'object' && dragStartDelay\n ? dragStartDelay\n : coerceNumberProperty(dragStartDelay);\n ref.constrainPosition = this.constrainPosition;\n ref.previewClass = this.previewClass;\n ref\n .withBoundaryElement(this._getBoundaryElement())\n .withPlaceholderTemplate(placeholder)\n .withPreviewTemplate(preview)\n .withPreviewContainer(this.previewContainer || 'global');\n if (dir) {\n ref.withDirection(dir.value);\n }\n }\n });\n // This only needs to be resolved once.\n ref.beforeStarted.pipe(take(1)).subscribe(() => {\n var _a;\n // If we managed to resolve a parent through DI, use it.\n if (this._parentDrag) {\n ref.withParent(this._parentDrag._dragRef);\n return;\n }\n // Otherwise fall back to resolving the parent by looking up the DOM. This can happen if\n // the item was projected into another item by something like `ngTemplateOutlet`.\n let parent = this.element.nativeElement.parentElement;\n while (parent) {\n if (parent.classList.contains(DRAG_HOST_CLASS)) {\n ref.withParent(((_a = CdkDrag._dragInstances.find(drag => {\n return drag.element.nativeElement === parent;\n })) === null || _a === void 0 ? void 0 : _a._dragRef) || null);\n break;\n }\n parent = parent.parentElement;\n }\n });\n }\n /** Handles the events from the underlying `DragRef`. */\n _handleEvents(ref) {\n ref.started.subscribe(() => {\n this.started.emit({ source: this });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.released.subscribe(() => {\n this.released.emit({ source: this });\n });\n ref.ended.subscribe(event => {\n this.ended.emit({\n source: this,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: event.container.data,\n item: this,\n currentIndex: event.currentIndex,\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: event.container.data,\n item: this,\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n isPointerOverContainer: event.isPointerOverContainer,\n item: this,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, dragStartDelay, constrainPosition, previewClass, boundaryElement, draggingDisabled, rootElementSelector, previewContainer, } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.dragStartDelay = dragStartDelay || 0;\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n if (constrainPosition) {\n this.constrainPosition = constrainPosition;\n }\n if (previewClass) {\n this.previewClass = previewClass;\n }\n if (boundaryElement) {\n this.boundaryElement = boundaryElement;\n }\n if (rootElementSelector) {\n this.rootElementSelector = rootElementSelector;\n }\n if (previewContainer) {\n this.previewContainer = previewContainer;\n }\n }\n /** Sets up the listener that syncs the handles with the drag ref. */\n _setupHandlesListener() {\n // Listen for any newly-added handles.\n this._handles.changes\n .pipe(startWith(this._handles), \n // Sync the new handles with the DragRef.\n tap((handles) => {\n const childHandleElements = handles\n .filter(handle => handle._parentDrag === this)\n .map(handle => handle.element);\n // Usually handles are only allowed to be a descendant of the drag element, but if\n // the consumer defined a different drag root, we should allow the drag element\n // itself to be a handle too.\n if (this._selfHandle && this.rootElementSelector) {\n childHandleElements.push(this.element);\n }\n this._dragRef.withHandles(childHandleElements);\n }), \n // Listen if the state of any of the handles changes.\n switchMap((handles) => {\n return merge(...handles.map(item => {\n return item._stateChanges.pipe(startWith(item));\n }));\n }), takeUntil(this._destroyed))\n .subscribe(handleInstance => {\n // Enabled/disable the handle that changed in the DragRef.\n const dragRef = this._dragRef;\n const handle = handleInstance.element.nativeElement;\n handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);\n });\n }\n}\nCdkDrag._dragInstances = [];\nCdkDrag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDrag, deps: [{ token: i0.ElementRef }, { token: CDK_DROP_LIST, optional: true, skipSelf: true }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: CDK_DRAG_CONFIG, optional: true }, { token: i3.Directionality, optional: true }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: CDK_DRAG_HANDLE, optional: true, self: true }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDrag.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: { data: [\"cdkDragData\", \"data\"], lockAxis: [\"cdkDragLockAxis\", \"lockAxis\"], rootElementSelector: [\"cdkDragRootElement\", \"rootElementSelector\"], boundaryElement: [\"cdkDragBoundary\", \"boundaryElement\"], dragStartDelay: [\"cdkDragStartDelay\", \"dragStartDelay\"], freeDragPosition: [\"cdkDragFreeDragPosition\", \"freeDragPosition\"], disabled: [\"cdkDragDisabled\", \"disabled\"], constrainPosition: [\"cdkDragConstrainPosition\", \"constrainPosition\"], previewClass: [\"cdkDragPreviewClass\", \"previewClass\"], previewContainer: [\"cdkDragPreviewContainer\", \"previewContainer\"] }, outputs: { started: \"cdkDragStarted\", released: \"cdkDragReleased\", ended: \"cdkDragEnded\", entered: \"cdkDragEntered\", exited: \"cdkDragExited\", dropped: \"cdkDragDropped\", moved: \"cdkDragMoved\" }, host: { properties: { \"class.cdk-drag-disabled\": \"disabled\", \"class.cdk-drag-dragging\": \"_dragRef.isDragging()\" }, classAttribute: \"cdk-drag\" }, providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }], queries: [{ propertyName: \"_previewTemplate\", first: true, predicate: CDK_DRAG_PREVIEW, descendants: true }, { propertyName: \"_placeholderTemplate\", first: true, predicate: CDK_DRAG_PLACEHOLDER, descendants: true }, { propertyName: \"_handles\", predicate: CDK_DRAG_HANDLE, descendants: true }], exportAs: [\"cdkDrag\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDrag, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDrag]',\n exportAs: 'cdkDrag',\n host: {\n 'class': DRAG_HOST_CLASS,\n '[class.cdk-drag-disabled]': 'disabled',\n '[class.cdk-drag-dragging]': '_dragRef.isDragging()',\n },\n providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DROP_LIST]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: DragDrop }, { type: i0.ChangeDetectorRef }, { type: CdkDragHandle, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [CDK_DRAG_HANDLE]\n }] }, { type: CdkDrag, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }] }];\n }, propDecorators: { _handles: [{\n type: ContentChildren,\n args: [CDK_DRAG_HANDLE, { descendants: true }]\n }], _previewTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PREVIEW]\n }], _placeholderTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PLACEHOLDER]\n }], data: [{\n type: Input,\n args: ['cdkDragData']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDragLockAxis']\n }], rootElementSelector: [{\n type: Input,\n args: ['cdkDragRootElement']\n }], boundaryElement: [{\n type: Input,\n args: ['cdkDragBoundary']\n }], dragStartDelay: [{\n type: Input,\n args: ['cdkDragStartDelay']\n }], freeDragPosition: [{\n type: Input,\n args: ['cdkDragFreeDragPosition']\n }], disabled: [{\n type: Input,\n args: ['cdkDragDisabled']\n }], constrainPosition: [{\n type: Input,\n args: ['cdkDragConstrainPosition']\n }], previewClass: [{\n type: Input,\n args: ['cdkDragPreviewClass']\n }], previewContainer: [{\n type: Input,\n args: ['cdkDragPreviewContainer']\n }], started: [{\n type: Output,\n args: ['cdkDragStarted']\n }], released: [{\n type: Output,\n args: ['cdkDragReleased']\n }], ended: [{\n type: Output,\n args: ['cdkDragEnded']\n }], entered: [{\n type: Output,\n args: ['cdkDragEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDragExited']\n }], dropped: [{\n type: Output,\n args: ['cdkDragDropped']\n }], moved: [{\n type: Output,\n args: ['cdkDragMoved']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DragDropModule {\n}\nDragDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nDragDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, declarations: [CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder], exports: [CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder] });\nDragDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n exports: [\n CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n providers: [DragDrop],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CDK_DRAG_CONFIG, CDK_DRAG_HANDLE, CDK_DRAG_PARENT, CDK_DRAG_PLACEHOLDER, CDK_DRAG_PREVIEW, CDK_DROP_LIST, CDK_DROP_LIST_GROUP, CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup, DragDrop, DragDropModule, DragDropRegistry, DragRef, DropListRef, copyArrayItem, moveItemInArray, transferArrayItem };\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n","import * as i0 from '@angular/core';\nimport { NgModule, Injectable } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LayoutModule {\n}\nLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule });\nLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform) {\n this._platform = _platform;\n this._matchMedia =\n this._platform.isBrowser && window.matchMedia\n ? // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window)\n : noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\nMediaMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nMediaMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { },\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n}\nBreakpointObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, deps: [{ token: MediaMatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nBreakpointObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MediaMatcher }, { type: i0.NgZone }]; } });\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries\n .map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nMutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });\nContentObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() {\n return this._debounce;\n }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n var _a;\n (_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkObserveContent, deps: [{ token: ContentObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkObserveContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkObserveContent, selector: \"[cdkObserveContent]\", inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkObserveContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n }]\n }], ctorParameters: function () { return [{ type: ContentObserver }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] } });\nclass ObserversModule {\n}\nObserversModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nObserversModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, declarations: [CdkObserveContent], exports: [CdkObserveContent] });\nObserversModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, providers: [MutationObserverFactory] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i6 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, ElementRef, Optional, ApplicationRef, InjectionToken, Directive, EventEmitter, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _isTestEnvironment, _getEventTarget } from '@angular/cdk/platform';\nimport * as i5 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, deps: [{ token: i1.ScrollDispatcher }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollStrategyOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i1.ScrollDispatcher }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n this._backdropTransitionendHandler = (event) => {\n this._disposeBackdrop(event.target);\n };\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n // Insert the host into the DOM before attaching the portal, otherwise\n // the animations module will skip animations on repeat attachments.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n const attachResult = this._portalOutlet.attach(portal);\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n var _a;\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n (_a = this._host) === null || _a === void 0 ? void 0 : _a.remove();\n this._previousHostParent = this._pane = this._host = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = Object.assign(Object.assign({}, this._config), sizeConfig);\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = Object.assign(Object.assign({}, this._config), { direction: dir });\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', this._backdropTransitionendHandler);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n this._backdropTimeout = this._ngZone.runOutsideAngular(() => setTimeout(() => {\n this._disposeBackdrop(backdropToDetach);\n }, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classes = coerceArray(cssClasses || []).filter(c => !!c);\n if (classes.length) {\n isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n }\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._host.remove();\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n backdrop.removeEventListener('click', this._backdropClickHandler);\n backdrop.removeEventListener('transitionend', this._backdropTransitionendHandler);\n backdrop.remove();\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n if (this._backdropTimeout) {\n clearTimeout(this._backdropTimeout);\n this._backdropTimeout = undefined;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n var _a;\n (_a = this._containerElement) === null || _a === void 0 ? void 0 : _a.remove();\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].remove();\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef &&\n overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin, the overlay and the container to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n const containerRect = this._containerRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, containerRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos),\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n const lastPosition = this._lastPosition;\n if (lastPosition) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n else {\n this.apply();\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, containerRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + originRect.width / 2;\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n // When zooming in Safari the container rectangle contains negative values for the position\n // and we need to re-add them to the calculated coordinates.\n if (containerRect.left < 0) {\n x -= containerRect.left;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + originRect.height / 2;\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n // Normally the containerRect's top value would be zero, however when the overlay is attached to an input\n // (e.g. in an autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n // Additionally, when zooming in Safari this fixes the vertical position.\n if (containerRect.top < 0) {\n y -= containerRect.top;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = x + overlay.width - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = y + overlay.height - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlay at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically || (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally || (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param rawOverlayRect Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y,\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - previousHeight / 2;\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) || (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) || (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - previousWidth / 2;\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - 2 * this._viewportMargin,\n height: height - 2 * this._viewportMargin,\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width,\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return !units || units === 'px' ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height),\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent =\n parentStyles.alignItems =\n styles.marginTop =\n styles.marginBottom =\n styles.marginLeft =\n styles.marginRight =\n styles.position =\n '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, deps: [{ token: i1.ViewportRuler }, { token: DOCUMENT }, { token: i1$1.Platform }, { token: OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayPositionBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: OverlayContainer }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBaseOverlayDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._ngZone = _ngZone;\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n const keydownEvents = overlays[i]._keydownEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => keydownEvents.next(event));\n }\n else {\n keydownEvents.next(event);\n }\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._document.body.addEventListener('keydown', this._keydownListener));\n }\n else {\n this._document.body.addEventListener('keydown', this._keydownListener);\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget\n : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n const outsidePointerEvents = overlayRef._outsidePointerEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => outsidePointerEvents.next(event));\n }\n else {\n outsidePointerEvents.next(event);\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._addEventListeners(body));\n }\n else {\n this._addEventListeners(body);\n }\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n _addEventListeners(body) {\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }];\n } });\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay, deps: [{ token: ScrollStrategyOptions }, { token: OverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: OverlayPositionBuilder }, { token: OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i5.Directionality }, { token: i6.Location }, { token: OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlay.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay, decorators: [{\n type: Injectable\n }], ctorParameters: function () {\n return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i5.Directionality }, { type: i6.Location }, { type: OverlayOutsideClickDispatcher }];\n } });\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkOverlayOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkOverlayOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkOverlayOrigin, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() {\n return this._offsetX;\n }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() {\n return this._offsetY;\n }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() {\n return this._hasBackdrop;\n }\n set hasBackdrop(value) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() {\n return this._lockPosition;\n }\n set lockPosition(value) {\n this._lockPosition = coerceBooleanProperty(value);\n }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() {\n return this._flexibleDimensions;\n }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() {\n return this._growAfterOpen;\n }\n set growAfterOpen(value) {\n this._growAfterOpen = coerceBooleanProperty(value);\n }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() {\n return this._push;\n }\n set push(value) {\n this._push = coerceBooleanProperty(value);\n }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = (this._overlayRef = this._overlay.create(this._buildConfig()));\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = (this._position =\n this.positionStrategy || this._createPositionStrategy());\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop,\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this._getFlexibleConnectedPositionStrategyOrigin())\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n _getFlexibleConnectedPositionStrategyOrigin() {\n if (this.origin instanceof CdkOverlayOrigin) {\n return this.origin.elementRef;\n }\n else {\n return this.origin;\n }\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkConnectedOverlay, deps: [{ token: Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkConnectedOverlay.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: { origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkConnectedOverlay, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay',\n }]\n }], ctorParameters: function () {\n return [{ type: Overlay }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: i5.Directionality, decorators: [{\n type: Optional\n }] }];\n }, propDecorators: { origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }] } });\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass OverlayModule {\n}\nOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, declarations: [CdkConnectedOverlay, CdkOverlayOrigin], imports: [BidiModule, PortalModule, ScrollingModule], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });\nOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return (_document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null);\n }\n}\nFullscreenOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nFullscreenOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };\n","import * as i0 from '@angular/core';\nimport { PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = typeof Intl !== 'undefined' && Intl.v8BreakIterator;\n}\ncatch (_a) {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId\n ? isPlatformBrowser(this._platformId)\n : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser &&\n !!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' &&\n !this.EDGE &&\n !this.TRIDENT;\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) &&\n !this.BLINK &&\n !this.EDGE &&\n !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPlatformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule });\nPlatformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => (supportsPassiveEvents = true),\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.remove();\n }\n return rtlScrollAxisType;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document\n ? document.activeElement\n : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n","import * as i0 from '@angular/core';\nimport { ElementRef, Injector, Directive, EventEmitter, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _componentFactoryResolver Used to resolve the component factory.\n * Only required when attaching component portals.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually\n * become a required parameter.\n */\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = (portal.componentFactoryResolver || this._componentFactoryResolver);\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !resolver) {\n throw Error('Cannot attach component portal to outlet without a ComponentFactoryResolver.');\n }\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n componentRef = componentFactory.create(portal.injector || this._defaultInjector || Injector.NULL);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (this._appRef.viewCount > 0) {\n this._appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n this.outletElement.remove();\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortal, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkPortal, selector: \"[cdkPortal]\", exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortal, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TemplatePortalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nTemplatePortalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: TemplatePortalDirective, selector: \"[cdk-portal], [portal]\", providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ], exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TemplatePortalDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ],\n }]\n }] });\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal || null;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortalOutlet, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortalOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortalOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet'],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n }, propDecorators: { attached: [{\n type: Output\n }] } });\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalHostDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nPortalHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: PortalHostDirective, selector: \"[cdkPortalHost], [portalHost]\", inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ], exportAs: [\"cdkPortalHost\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ],\n }]\n }] });\nclass PortalModule {\n}\nPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] });\nPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior } from '@angular/cdk/platform';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkFixedSizeVirtualScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ],\n }]\n }], propDecorators: { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0\n ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer)\n : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while ((element = element.parentElement));\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollable, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }];\n } });\n\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => (this._viewportSize = null));\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top ||\n document.body.scrollTop ||\n window.scrollY ||\n documentElement.scrollTop ||\n 0;\n const left = -documentRect.left ||\n document.body.scrollLeft ||\n window.scrollX ||\n documentElement.scrollLeft ||\n 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nViewportRuler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\n\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next((this._renderedRange = range));\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n // in appendOnly, we always start from the top\n offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from\n ? super.measureScrollOffset(from)\n : super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize =\n this.orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });\nCdkVirtualScrollViewport.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, host: { properties: { \"class.cdk-virtual-scroll-orientation-horizontal\": \"orientation === \\\"horizontal\\\"\", \"class.cdk-virtual-scroll-orientation-vertical\": \"orientation !== \\\"horizontal\\\"\" }, classAttribute: \"cdk-virtual-scroll-viewport\" }, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], viewQueries: [{ propertyName: \"_contentWrapper\", first: true, predicate: [\"contentWrapper\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-virtual-scroll-viewport', host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"] }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }];\n }, propDecorators: { orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], scrolledIndexChange: [{\n type: Output\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n if (this.viewChange.observers.length) {\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n }\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn\n ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)\n : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode\n ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode)\n : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false,\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: i2$1._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: i0.NgZone }];\n }, propDecorators: { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, declarations: [CdkScrollable], exports: [CdkScrollable] });\nCdkScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable],\n }]\n }] });\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nScrollingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport], imports: [BidiModule, CdkScrollableModule], exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport] });\nScrollingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, imports: [[BidiModule, CdkScrollableModule], BidiModule, CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, CdkScrollableModule],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Directive, InjectionToken, EventEmitter, forwardRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ContentChild, ViewChild, Input, Output, QueryList, ContentChildren, NgModule } from '@angular/core';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { Subject, of } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepHeader {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\nCdkStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepHeader, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepHeader, selector: \"[cdkStepHeader]\", host: { attributes: { \"role\": \"tab\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepHeader, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepLabel {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkStepLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepLabel, selector: \"[cdkStepLabel]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepLabel]',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n/** Change event emitted on selection changes. */\nclass StepperSelectionEvent {\n}\n/** Enum to represent the different states of the steps. */\nconst STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error',\n};\n/** InjectionToken that can be used to specify the global stepper options. */\nconst STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\nclass CdkStep {\n constructor(_stepper, stepperOptions) {\n this._stepper = _stepper;\n /** Whether user has attempted to move away from the step. */\n this.interacted = false;\n /** Emits when the user has attempted to move away from the step. */\n this.interactedStream = new EventEmitter();\n this._editable = true;\n this._optional = false;\n this._completedOverride = null;\n this._customError = null;\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n /** Whether the user can return to this step once it has been marked as completed. */\n get editable() {\n return this._editable;\n }\n set editable(value) {\n this._editable = coerceBooleanProperty(value);\n }\n /** Whether the completion of step is optional. */\n get optional() {\n return this._optional;\n }\n set optional(value) {\n this._optional = coerceBooleanProperty(value);\n }\n /** Whether step is marked as completed. */\n get completed() {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n /** Whether step has an error. */\n get hasError() {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value) {\n this._customError = coerceBooleanProperty(value);\n }\n _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n /** Selects this step component. */\n select() {\n this._stepper.selected = this;\n }\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset() {\n this.interacted = false;\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n if (this._customError != null) {\n this._customError = false;\n }\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n /** Determines whether the error state can be shown. */\n _showError() {\n var _a;\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return (_a = this._stepperOptions.showError) !== null && _a !== void 0 ? _a : this._customError != null;\n }\n}\nCdkStep.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStep, deps: [{ token: forwardRef(() => CdkStepper) }, { token: STEPPER_GLOBAL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStep, selector: \"cdk-step\", inputs: { stepControl: \"stepControl\", label: \"label\", errorMessage: \"errorMessage\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], state: \"state\", editable: \"editable\", optional: \"optional\", completed: \"completed\", hasError: \"hasError\" }, outputs: { interactedStream: \"interacted\" }, queries: [{ propertyName: \"stepLabel\", first: true, predicate: CdkStepLabel, descendants: true }], viewQueries: [{ propertyName: \"content\", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: [\"cdkStep\"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStep, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }], ctorParameters: function () {\n return [{ type: CdkStepper, decorators: [{\n type: Inject,\n args: [forwardRef(() => CdkStepper)]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [STEPPER_GLOBAL_OPTIONS]\n }] }];\n }, propDecorators: { stepLabel: [{\n type: ContentChild,\n args: [CdkStepLabel]\n }], content: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], stepControl: [{\n type: Input\n }], interactedStream: [{\n type: Output,\n args: ['interacted']\n }], label: [{\n type: Input\n }], errorMessage: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], state: [{\n type: Input\n }], editable: [{\n type: Input\n }], optional: [{\n type: Input\n }], completed: [{\n type: Input\n }], hasError: [{\n type: Input\n }] } });\nclass CdkStepper {\n constructor(_dir, _changeDetectorRef, _elementRef, \n /**\n * @deprecated No longer in use, to be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n this.steps = new QueryList();\n /** List of step headers sorted based on their DOM order. */\n this._sortedHeaders = new QueryList();\n this._linear = false;\n this._selectedIndex = 0;\n /** Event emitted when the selected step has changed. */\n this.selectionChange = new EventEmitter();\n /**\n * @deprecated To be turned into a private property. Use `orientation` instead.\n * @breaking-change 13.0.0\n */\n this._orientation = 'horizontal';\n this._groupId = nextId++;\n }\n /** Whether the validity of previous steps should be checked or not. */\n get linear() {\n return this._linear;\n }\n set linear(value) {\n this._linear = coerceBooleanProperty(value);\n }\n /** The index of the selected step. */\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index) {\n var _a;\n const newIndex = coerceNumberProperty(index);\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(newIndex) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n (_a = this.selected) === null || _a === void 0 ? void 0 : _a._markAsInteracted();\n if (this._selectedIndex !== newIndex &&\n !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(newIndex);\n }\n }\n else {\n this._selectedIndex = newIndex;\n }\n }\n /** The step that is selected. */\n get selected() {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step) {\n this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n /** Orientation of the stepper. */\n get orientation() {\n return this._orientation;\n }\n set orientation(value) {\n // This is a protected method so that `MatSteppter` can hook into it.\n this._orientation = value;\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplciation. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers) => {\n this._sortedHeaders.reset(headers.toArray().sort((a, b) => {\n const documentPosition = a._elementRef.nativeElement.compareDocumentPosition(b._elementRef.nativeElement);\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }));\n this._sortedHeaders.notifyOnChanges();\n });\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n (this._dir ? this._dir.change : of())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n this._keyManager.updateActiveItem(this._selectedIndex);\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Selects and focuses the next step in list. */\n next() {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n /** Selects and focuses the previous step in list. */\n previous() {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset() {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i) {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n /** Returns unique id for each step content element. */\n _getStepContentId(i) {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index) {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n }\n else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index, state = STEP_STATE.NUMBER) {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n return step._displayDefaultIndicatorType\n ? this._getDefaultIndicatorLogic(step, isCurrentStep)\n : this._getGuidelineLogic(step, isCurrentStep, state);\n }\n _getDefaultIndicatorLogic(step, isCurrentStep) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n }\n else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n _getGuidelineLogic(step, isCurrentStep, state = STEP_STATE.NUMBER) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n }\n else if (step.completed && isCurrentStep) {\n return state;\n }\n else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n }\n else {\n return state;\n }\n }\n _isCurrentStep(index) {\n return this._selectedIndex === index;\n }\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n _updateSelectedItemIndex(newIndex) {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus()\n ? this._keyManager.setActiveItem(newIndex)\n : this._keyManager.updateActiveItem(newIndex);\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n _onKeydown(event) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n if (manager.activeItemIndex != null &&\n !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n }\n else {\n manager.onKeydown(event);\n }\n }\n _anyControlsInvalidOrPending(index) {\n if (this._linear && index >= 0) {\n return this.steps\n .toArray()\n .slice(0, index)\n .some(step => {\n const control = step.stepControl;\n const isIncomplete = control\n ? control.invalid || control.pending || !step.interacted\n : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n return false;\n }\n _layoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Checks whether the stepper contains the focused element. */\n _containsFocus() {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n /** Checks whether the passed-in index is a valid step index. */\n _isValidIndex(index) {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n}\nCdkStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepper, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepper, selector: \"[cdkStepper]\", inputs: { linear: \"linear\", selectedIndex: \"selectedIndex\", selected: \"selected\", orientation: \"orientation\" }, outputs: { selectionChange: \"selectionChange\" }, queries: [{ propertyName: \"_steps\", predicate: CdkStep, descendants: true }, { propertyName: \"_stepHeader\", predicate: CdkStepHeader, descendants: true }], exportAs: [\"cdkStepper\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepper, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n }]\n }], ctorParameters: function () {\n return [{ type: i1.Directionality, decorators: [{\n type: Optional\n }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n }, propDecorators: { _steps: [{\n type: ContentChildren,\n args: [CdkStep, { descendants: true }]\n }], _stepHeader: [{\n type: ContentChildren,\n args: [CdkStepHeader, { descendants: true }]\n }], linear: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], selected: [{\n type: Input\n }], selectionChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Button that moves to the next step in a stepper workflow. */\nclass CdkStepperNext {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n this.type = 'submit';\n }\n}\nCdkStepperNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperNext, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperNext.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepperNext, selector: \"button[cdkStepperNext]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.next()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperNext, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.next()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n/** Button that moves to the previous step in a stepper workflow. */\nclass CdkStepperPrevious {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n this.type = 'button';\n }\n}\nCdkStepperPrevious.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperPrevious, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperPrevious.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepperPrevious, selector: \"button[cdkStepperPrevious]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.previous()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperPrevious, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.previous()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepperModule {\n}\nCdkStepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, declarations: [CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });\nCdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule],\n exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkStep, CdkStepHeader, CdkStepLabel, CdkStepper, CdkStepperModule, CdkStepperNext, CdkStepperPrevious, STEPPER_GLOBAL_OPTIONS, STEP_STATE, StepperSelectionEvent };\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, isDataSource, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nexport { DataSource } from '@angular/cdk/collections';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Inject, Optional, Input, ContentChild, Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, EmbeddedViewRef, EventEmitter, NgZone, Attribute, SkipSelf, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { Subject, from, BehaviorSubject, isObservable, of } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/bidi';\nimport * as i2 from '@angular/cdk/platform';\nimport * as i3 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Mixin to provide a directive with a function that checks if the sticky input has been\n * changed since the last time the function was called. Essentially adds a dirty-check to the\n * sticky value.\n * @docs-private\n */\nfunction mixinHasStickyInput(base) {\n return class extends base {\n constructor(...args) {\n super(...args);\n this._sticky = false;\n /** Whether the sticky input has changed since it was last checked. */\n this._hasStickyChanged = false;\n }\n /** Whether sticky positioning should be applied. */\n get sticky() {\n return this._sticky;\n }\n set sticky(v) {\n const prevValue = this._sticky;\n this._sticky = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._sticky;\n }\n /** Whether the sticky value has changed since this was last called. */\n hasStickyChanged() {\n const hasStickyChanged = this._hasStickyChanged;\n this._hasStickyChanged = false;\n return hasStickyChanged;\n }\n /** Resets the dirty check for cases where the sticky state has been used without checking. */\n resetStickyChanged() {\n this._hasStickyChanged = false;\n }\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to provide a table to some of the sub-components without causing a circular dependency.\n * @docs-private\n */\nconst CDK_TABLE = new InjectionToken('CDK_TABLE');\n/** Injection token that can be used to specify the text column options. */\nconst TEXT_COLUMN_OPTIONS = new InjectionToken('text-column-options');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nclass CdkCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkCellDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCellDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkCellDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkCellDef, selector: \"[cdkCellDef]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCellDef, decorators: [{\n type: Directive,\n args: [{ selector: '[cdkCellDef]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nclass CdkHeaderCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkHeaderCellDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderCellDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkHeaderCellDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkHeaderCellDef, selector: \"[cdkHeaderCellDef]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderCellDef, decorators: [{\n type: Directive,\n args: [{ selector: '[cdkHeaderCellDef]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n/**\n * Footer cell definition for a CDK table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\nclass CdkFooterCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkFooterCellDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterCellDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkFooterCellDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFooterCellDef, selector: \"[cdkFooterCellDef]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterCellDef, decorators: [{\n type: Directive,\n args: [{ selector: '[cdkFooterCellDef]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// Boilerplate for applying mixins to CdkColumnDef.\n/** @docs-private */\nclass CdkColumnDefBase {\n}\nconst _CdkColumnDefBase = mixinHasStickyInput(CdkColumnDefBase);\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\nclass CdkColumnDef extends _CdkColumnDefBase {\n constructor(_table) {\n super();\n this._table = _table;\n this._stickyEnd = false;\n }\n /** Unique name for this column. */\n get name() {\n return this._name;\n }\n set name(name) {\n this._setNameInput(name);\n }\n /**\n * Whether this column should be sticky positioned on the end of the row. Should make sure\n * that it mimics the `CanStick` mixin such that `_hasStickyChanged` is set to true if the value\n * has been changed.\n */\n get stickyEnd() {\n return this._stickyEnd;\n }\n set stickyEnd(v) {\n const prevValue = this._stickyEnd;\n this._stickyEnd = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._stickyEnd;\n }\n /**\n * Overridable method that sets the css classes that will be added to every cell in this\n * column.\n * In the future, columnCssClassName will change from type string[] to string and this\n * will set a single string value.\n * @docs-private\n */\n _updateColumnCssClassName() {\n this._columnCssClassName = [`cdk-column-${this.cssClassFriendlyName}`];\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setNameInput(value) {\n // If the directive is set without a name (updated programmatically), then this setter will\n // trigger with an empty string and should not overwrite the programmatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');\n this._updateColumnCssClassName();\n }\n }\n}\nCdkColumnDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkColumnDef, deps: [{ token: CDK_TABLE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkColumnDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkColumnDef, selector: \"[cdkColumnDef]\", inputs: { sticky: \"sticky\", name: [\"cdkColumnDef\", \"name\"], stickyEnd: \"stickyEnd\" }, providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }], queries: [{ propertyName: \"cell\", first: true, predicate: CdkCellDef, descendants: true }, { propertyName: \"headerCell\", first: true, predicate: CdkHeaderCellDef, descendants: true }, { propertyName: \"footerCell\", first: true, predicate: CdkFooterCellDef, descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkColumnDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkColumnDef]',\n inputs: ['sticky'],\n providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }],\n }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }];\n }, propDecorators: { name: [{\n type: Input,\n args: ['cdkColumnDef']\n }], stickyEnd: [{\n type: Input,\n args: ['stickyEnd']\n }], cell: [{\n type: ContentChild,\n args: [CdkCellDef]\n }], headerCell: [{\n type: ContentChild,\n args: [CdkHeaderCellDef]\n }], footerCell: [{\n type: ContentChild,\n args: [CdkFooterCellDef]\n }] } });\n/** Base class for the cells. Adds a CSS classname that identifies the column it renders in. */\nclass BaseCdkCell {\n constructor(columnDef, elementRef) {\n elementRef.nativeElement.classList.add(...columnDef._columnCssClassName);\n }\n}\n/** Header cell template container that adds the right classes and role. */\nclass CdkHeaderCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkHeaderCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderCell, deps: [{ token: CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkHeaderCell.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkHeaderCell, selector: \"cdk-header-cell, th[cdk-header-cell]\", host: { attributes: { \"role\": \"columnheader\" }, classAttribute: \"cdk-header-cell\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderCell, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-header-cell, th[cdk-header-cell]',\n host: {\n 'class': 'cdk-header-cell',\n 'role': 'columnheader',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkColumnDef }, { type: i0.ElementRef }]; } });\n/** Footer cell template container that adds the right classes and role. */\nclass CdkFooterCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');\n const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkFooterCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterCell, deps: [{ token: CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkFooterCell.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFooterCell, selector: \"cdk-footer-cell, td[cdk-footer-cell]\", host: { classAttribute: \"cdk-footer-cell\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterCell, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-footer-cell, td[cdk-footer-cell]',\n host: {\n 'class': 'cdk-footer-cell',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkColumnDef }, { type: i0.ElementRef }]; } });\n/** Cell template container that adds the right classes and role. */\nclass CdkCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement.getAttribute('role');\n const role = tableRole === 'grid' || tableRole === 'treegrid' ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCell, deps: [{ token: CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkCell.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkCell, selector: \"cdk-cell, td[cdk-cell]\", host: { classAttribute: \"cdk-cell\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCell, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-cell, td[cdk-cell]',\n host: {\n 'class': 'cdk-cell',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkColumnDef }, { type: i0.ElementRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @docs-private\n */\nclass _Schedule {\n constructor() {\n this.tasks = [];\n this.endTasks = [];\n }\n}\n/** Injection token used to provide a coalesced style scheduler. */\nconst _COALESCED_STYLE_SCHEDULER = new InjectionToken('_COALESCED_STYLE_SCHEDULER');\n/**\n * Allows grouping up CSSDom mutations after the current execution context.\n * This can significantly improve performance when separate consecutive functions are\n * reading from the CSSDom and then mutating it.\n *\n * @docs-private\n */\nclass _CoalescedStyleScheduler {\n constructor(_ngZone) {\n this._ngZone = _ngZone;\n this._currentSchedule = null;\n this._destroyed = new Subject();\n }\n /**\n * Schedules the specified task to run at the end of the current VM turn.\n */\n schedule(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.tasks.push(task);\n }\n /**\n * Schedules the specified task to run after other scheduled tasks at the end of the current\n * VM turn.\n */\n scheduleEnd(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.endTasks.push(task);\n }\n /** Prevent any further tasks from running. */\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n _createScheduleIfNeeded() {\n if (this._currentSchedule) {\n return;\n }\n this._currentSchedule = new _Schedule();\n this._getScheduleObservable()\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {\n const schedule = this._currentSchedule;\n // Capture new tasks scheduled by the current set of tasks.\n this._currentSchedule = new _Schedule();\n for (const task of schedule.tasks) {\n task();\n }\n for (const task of schedule.endTasks) {\n task();\n }\n }\n this._currentSchedule = null;\n });\n }\n _getScheduleObservable() {\n // Use onStable when in the context of an ongoing change detection cycle so that we\n // do not accidentally trigger additional cycles.\n return this._ngZone.isStable\n ? from(Promise.resolve(undefined))\n : this._ngZone.onStable.pipe(take(1));\n }\n}\n_CoalescedStyleScheduler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: _CoalescedStyleScheduler, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\n_CoalescedStyleScheduler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: _CoalescedStyleScheduler });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: _CoalescedStyleScheduler, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nconst CDK_ROW_TEMPLATE = ``;\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nclass BaseRowDef {\n constructor(\n /** @docs-private */ template, _differs) {\n this.template = template;\n this._differs = _differs;\n }\n ngOnChanges(changes) {\n // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n // of the columns property or an empty array if none is provided.\n if (!this._columnsDiffer) {\n const columns = (changes['columns'] && changes['columns'].currentValue) || [];\n this._columnsDiffer = this._differs.find(columns).create();\n this._columnsDiffer.diff(columns);\n }\n }\n /**\n * Returns the difference between the current columns and the columns from the last diff, or null\n * if there is no difference.\n */\n getColumnsDiff() {\n return this._columnsDiffer.diff(this.columns);\n }\n /** Gets this row def's relevant cell template from the provided column def. */\n extractCellTemplate(column) {\n if (this instanceof CdkHeaderRowDef) {\n return column.headerCell.template;\n }\n if (this instanceof CdkFooterRowDef) {\n return column.footerCell.template;\n }\n else {\n return column.cell.template;\n }\n }\n}\nBaseRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseRowDef, deps: [{ token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nBaseRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: BaseRowDef, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseRowDef, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.IterableDiffers }]; } });\n// Boilerplate for applying mixins to CdkHeaderRowDef.\n/** @docs-private */\nclass CdkHeaderRowDefBase extends BaseRowDef {\n}\nconst _CdkHeaderRowDefBase = mixinHasStickyInput(CdkHeaderRowDefBase);\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nclass CdkHeaderRowDef extends _CdkHeaderRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkHeaderRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderRowDef, deps: [{ token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: CDK_TABLE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkHeaderRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkHeaderRowDef, selector: \"[cdkHeaderRowDef]\", inputs: { columns: [\"cdkHeaderRowDef\", \"columns\"], sticky: [\"cdkHeaderRowDefSticky\", \"sticky\"] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderRowDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkHeaderRowDef]',\n inputs: ['columns: cdkHeaderRowDef', 'sticky: cdkHeaderRowDefSticky'],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }];\n } });\n// Boilerplate for applying mixins to CdkFooterRowDef.\n/** @docs-private */\nclass CdkFooterRowDefBase extends BaseRowDef {\n}\nconst _CdkFooterRowDefBase = mixinHasStickyInput(CdkFooterRowDefBase);\n/**\n * Footer row definition for the CDK table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\nclass CdkFooterRowDef extends _CdkFooterRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkFooterRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterRowDef, deps: [{ token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: CDK_TABLE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkFooterRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFooterRowDef, selector: \"[cdkFooterRowDef]\", inputs: { columns: [\"cdkFooterRowDef\", \"columns\"], sticky: [\"cdkFooterRowDefSticky\", \"sticky\"] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterRowDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkFooterRowDef]',\n inputs: ['columns: cdkFooterRowDef', 'sticky: cdkFooterRowDefSticky'],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }];\n } });\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\nclass CdkRowDef extends BaseRowDef {\n // TODO(andrewseguin): Add an input for providing a switch function to determine\n // if this template should be used.\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n}\nCdkRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRowDef, deps: [{ token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: CDK_TABLE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkRowDef, selector: \"[cdkRowDef]\", inputs: { columns: [\"cdkRowDefColumns\", \"columns\"], when: [\"cdkRowDefWhen\", \"when\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRowDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkRowDef]',\n inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen'],\n }]\n }], ctorParameters: function () {\n return [{ type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }];\n } });\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\nclass CdkCellOutlet {\n constructor(_viewContainer) {\n this._viewContainer = _viewContainer;\n CdkCellOutlet.mostRecentCellOutlet = this;\n }\n ngOnDestroy() {\n // If this was the last outlet being rendered in the view, remove the reference\n // from the static property after it has been destroyed to avoid leaking memory.\n if (CdkCellOutlet.mostRecentCellOutlet === this) {\n CdkCellOutlet.mostRecentCellOutlet = null;\n }\n }\n}\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n */\nCdkCellOutlet.mostRecentCellOutlet = null;\nCdkCellOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCellOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkCellOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkCellOutlet, selector: \"[cdkCellOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkCellOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[cdkCellOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });\n/** Header template container that contains the cell outlet. Adds the right class and role. */\nclass CdkHeaderRow {\n}\nCdkHeaderRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderRow, deps: [], target: i0.ɵɵFactoryTarget.Component });\nCdkHeaderRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkHeaderRow, selector: \"cdk-header-row, tr[cdk-header-row]\", host: { attributes: { \"role\": \"row\" }, classAttribute: \"cdk-header-row\" }, ngImport: i0, template: \"\", isInline: true, directives: [{ type: CdkCellOutlet, selector: \"[cdkCellOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkHeaderRow, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-header-row, tr[cdk-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-header-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n }]\n }] });\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\nclass CdkFooterRow {\n}\nCdkFooterRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterRow, deps: [], target: i0.ɵɵFactoryTarget.Component });\nCdkFooterRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFooterRow, selector: \"cdk-footer-row, tr[cdk-footer-row]\", host: { attributes: { \"role\": \"row\" }, classAttribute: \"cdk-footer-row\" }, ngImport: i0, template: \"\", isInline: true, directives: [{ type: CdkCellOutlet, selector: \"[cdkCellOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFooterRow, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-footer-row, tr[cdk-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-footer-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n }]\n }] });\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\nclass CdkRow {\n}\nCdkRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRow, deps: [], target: i0.ɵɵFactoryTarget.Component });\nCdkRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkRow, selector: \"cdk-row, tr[cdk-row]\", host: { attributes: { \"role\": \"row\" }, classAttribute: \"cdk-row\" }, ngImport: i0, template: \"\", isInline: true, directives: [{ type: CdkCellOutlet, selector: \"[cdkCellOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRow, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-row, tr[cdk-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n }]\n }] });\n/** Row that can be used to display a message when no data is shown in the table. */\nclass CdkNoDataRow {\n constructor(templateRef) {\n this.templateRef = templateRef;\n this._contentClassName = 'cdk-no-data-row';\n }\n}\nCdkNoDataRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkNoDataRow, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkNoDataRow.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkNoDataRow, selector: \"ng-template[cdkNoDataRow]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkNoDataRow, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkNoDataRow]',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * List of all possible directions that can be used for sticky positioning.\n * @docs-private\n */\nconst STICKY_DIRECTIONS = ['top', 'bottom', 'left', 'right'];\n/**\n * Applies and removes sticky positioning styles to the `CdkTable` rows and columns cells.\n * @docs-private\n */\nclass StickyStyler {\n /**\n * @param _isNativeHtmlTable Whether the sticky logic should be based on a table\n * that uses the native `` element.\n * @param _stickCellCss The CSS class that will be applied to every row/cell that has\n * sticky positioning applied.\n * @param direction The directionality context of the table (ltr/rtl); affects column positioning\n * by reversing left/right positions.\n * @param _isBrowser Whether the table is currently being rendered on the server or the client.\n * @param _needsPositionStickyOnElement Whether we need to specify position: sticky on cells\n * using inline styles. If false, it is assumed that position: sticky is included in\n * the component stylesheet for _stickCellCss.\n * @param _positionListener A listener that is notified of changes to sticky rows/columns\n * and their dimensions.\n */\n constructor(_isNativeHtmlTable, _stickCellCss, direction, _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener) {\n this._isNativeHtmlTable = _isNativeHtmlTable;\n this._stickCellCss = _stickCellCss;\n this.direction = direction;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._isBrowser = _isBrowser;\n this._needsPositionStickyOnElement = _needsPositionStickyOnElement;\n this._positionListener = _positionListener;\n this._cachedCellWidths = [];\n this._borderCellCss = {\n 'top': `${_stickCellCss}-border-elem-top`,\n 'bottom': `${_stickCellCss}-border-elem-bottom`,\n 'left': `${_stickCellCss}-border-elem-left`,\n 'right': `${_stickCellCss}-border-elem-right`,\n };\n }\n /**\n * Clears the sticky positioning styles from the row and its cells by resetting the `position`\n * style, setting the zIndex to 0, and unsetting each provided sticky direction.\n * @param rows The list of rows that should be cleared from sticking in the provided directions\n * @param stickyDirections The directions that should no longer be set as sticky on the rows.\n */\n clearStickyPositioning(rows, stickyDirections) {\n const elementsToClear = [];\n for (const row of rows) {\n // If the row isn't an element (e.g. if it's an `ng-container`),\n // it won't have inline styles or `children` so we skip it.\n if (row.nodeType !== row.ELEMENT_NODE) {\n continue;\n }\n elementsToClear.push(row);\n for (let i = 0; i < row.children.length; i++) {\n elementsToClear.push(row.children[i]);\n }\n }\n // Coalesce with sticky row/column updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n for (const element of elementsToClear) {\n this._removeStickyStyle(element, stickyDirections);\n }\n });\n }\n /**\n * Applies sticky left and right positions to the cells of each row according to the sticky\n * states of the rendered column definitions.\n * @param rows The rows that should have its set of cells stuck according to the sticky states.\n * @param stickyStartStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the start of the row.\n * @param stickyEndStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the end of the row.\n * @param recalculateCellWidths Whether the sticky styler should recalculate the width of each\n * column cell. If `false` cached widths will be used instead.\n */\n updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {\n if (!rows.length ||\n !this._isBrowser ||\n !(stickyStartStates.some(state => state) || stickyEndStates.some(state => state))) {\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({ sizes: [] });\n this._positionListener.stickyEndColumnsUpdated({ sizes: [] });\n }\n return;\n }\n const firstRow = rows[0];\n const numCells = firstRow.children.length;\n const cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);\n const startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);\n const endPositions = this._getStickyEndColumnPositions(cellWidths, stickyEndStates);\n const lastStickyStart = stickyStartStates.lastIndexOf(true);\n const firstStickyEnd = stickyEndStates.indexOf(true);\n // Coalesce with sticky row updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n const isRtl = this.direction === 'rtl';\n const start = isRtl ? 'right' : 'left';\n const end = isRtl ? 'left' : 'right';\n for (const row of rows) {\n for (let i = 0; i < numCells; i++) {\n const cell = row.children[i];\n if (stickyStartStates[i]) {\n this._addStickyStyle(cell, start, startPositions[i], i === lastStickyStart);\n }\n if (stickyEndStates[i]) {\n this._addStickyStyle(cell, end, endPositions[i], i === firstStickyEnd);\n }\n }\n }\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({\n sizes: lastStickyStart === -1\n ? []\n : cellWidths\n .slice(0, lastStickyStart + 1)\n .map((width, index) => (stickyStartStates[index] ? width : null)),\n });\n this._positionListener.stickyEndColumnsUpdated({\n sizes: firstStickyEnd === -1\n ? []\n : cellWidths\n .slice(firstStickyEnd)\n .map((width, index) => (stickyEndStates[index + firstStickyEnd] ? width : null))\n .reverse(),\n });\n }\n });\n }\n /**\n * Applies sticky positioning to the row's cells if using the native table layout, and to the\n * row itself otherwise.\n * @param rowsToStick The list of rows that should be stuck according to their corresponding\n * sticky state and to the provided top or bottom position.\n * @param stickyStates A list of boolean states where each state represents whether the row\n * should be stuck in the particular top or bottom position.\n * @param position The position direction in which the row should be stuck if that row should be\n * sticky.\n *\n */\n stickRows(rowsToStick, stickyStates, position) {\n // Since we can't measure the rows on the server, we can't stick the rows properly.\n if (!this._isBrowser) {\n return;\n }\n // If positioning the rows to the bottom, reverse their order when evaluating the sticky\n // position such that the last row stuck will be \"bottom: 0px\" and so on. Note that the\n // sticky states need to be reversed as well.\n const rows = position === 'bottom' ? rowsToStick.slice().reverse() : rowsToStick;\n const states = position === 'bottom' ? stickyStates.slice().reverse() : stickyStates;\n // Measure row heights all at once before adding sticky styles to reduce layout thrashing.\n const stickyOffsets = [];\n const stickyCellHeights = [];\n const elementsToStick = [];\n for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n stickyOffsets[rowIndex] = stickyOffset;\n const row = rows[rowIndex];\n elementsToStick[rowIndex] = this._isNativeHtmlTable\n ? Array.from(row.children)\n : [row];\n const height = row.getBoundingClientRect().height;\n stickyOffset += height;\n stickyCellHeights[rowIndex] = height;\n }\n const borderedRowIndex = states.lastIndexOf(true);\n // Coalesce with other sticky row updates (top/bottom), sticky columns updates\n // (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n var _a, _b;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n const offset = stickyOffsets[rowIndex];\n const isBorderedRowIndex = rowIndex === borderedRowIndex;\n for (const element of elementsToStick[rowIndex]) {\n this._addStickyStyle(element, position, offset, isBorderedRowIndex);\n }\n }\n if (position === 'top') {\n (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({\n sizes: stickyCellHeights,\n offsets: stickyOffsets,\n elements: elementsToStick,\n });\n }\n else {\n (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({\n sizes: stickyCellHeights,\n offsets: stickyOffsets,\n elements: elementsToStick,\n });\n }\n });\n }\n /**\n * When using the native table in Safari, sticky footer cells do not stick. The only way to stick\n * footer rows is to apply sticky styling to the tfoot container. This should only be done if\n * all footer rows are sticky. If not all footer rows are sticky, remove sticky positioning from\n * the tfoot element.\n */\n updateStickyFooterContainer(tableElement, stickyStates) {\n if (!this._isNativeHtmlTable) {\n return;\n }\n const tfoot = tableElement.querySelector('tfoot');\n // Coalesce with other sticky updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n if (stickyStates.some(state => !state)) {\n this._removeStickyStyle(tfoot, ['bottom']);\n }\n else {\n this._addStickyStyle(tfoot, 'bottom', 0, false);\n }\n });\n }\n /**\n * Removes the sticky style on the element by removing the sticky cell CSS class, re-evaluating\n * the zIndex, removing each of the provided sticky directions, and removing the\n * sticky position if there are no more directions.\n */\n _removeStickyStyle(element, stickyDirections) {\n for (const dir of stickyDirections) {\n element.style[dir] = '';\n element.classList.remove(this._borderCellCss[dir]);\n }\n // If the element no longer has any more sticky directions, remove sticky positioning and\n // the sticky CSS class.\n // Short-circuit checking element.style[dir] for stickyDirections as they\n // were already removed above.\n const hasDirection = STICKY_DIRECTIONS.some(dir => stickyDirections.indexOf(dir) === -1 && element.style[dir]);\n if (hasDirection) {\n element.style.zIndex = this._getCalculatedZIndex(element);\n }\n else {\n // When not hasDirection, _getCalculatedZIndex will always return ''.\n element.style.zIndex = '';\n if (this._needsPositionStickyOnElement) {\n element.style.position = '';\n }\n element.classList.remove(this._stickCellCss);\n }\n }\n /**\n * Adds the sticky styling to the element by adding the sticky style class, changing position\n * to be sticky (and -webkit-sticky), setting the appropriate zIndex, and adding a sticky\n * direction and value.\n */\n _addStickyStyle(element, dir, dirValue, isBorderElement) {\n element.classList.add(this._stickCellCss);\n if (isBorderElement) {\n element.classList.add(this._borderCellCss[dir]);\n }\n element.style[dir] = `${dirValue}px`;\n element.style.zIndex = this._getCalculatedZIndex(element);\n if (this._needsPositionStickyOnElement) {\n element.style.cssText += 'position: -webkit-sticky; position: sticky; ';\n }\n }\n /**\n * Calculate what the z-index should be for the element, depending on what directions (top,\n * bottom, left, right) have been set. It should be true that elements with a top direction\n * should have the highest index since these are elements like a table header. If any of those\n * elements are also sticky in another direction, then they should appear above other elements\n * that are only sticky top (e.g. a sticky column on a sticky header). Bottom-sticky elements\n * (e.g. footer rows) should then be next in the ordering such that they are below the header\n * but above any non-sticky elements. Finally, left/right sticky elements (e.g. sticky columns)\n * should minimally increment so that they are above non-sticky elements but below top and bottom\n * elements.\n */\n _getCalculatedZIndex(element) {\n const zIndexIncrements = {\n top: 100,\n bottom: 10,\n left: 1,\n right: 1,\n };\n let zIndex = 0;\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n for (const dir of STICKY_DIRECTIONS) {\n if (element.style[dir]) {\n zIndex += zIndexIncrements[dir];\n }\n }\n return zIndex ? `${zIndex}` : '';\n }\n /** Gets the widths for each cell in the provided row. */\n _getCellWidths(row, recalculateCellWidths = true) {\n if (!recalculateCellWidths && this._cachedCellWidths.length) {\n return this._cachedCellWidths;\n }\n const cellWidths = [];\n const firstRowCells = row.children;\n for (let i = 0; i < firstRowCells.length; i++) {\n let cell = firstRowCells[i];\n cellWidths.push(cell.getBoundingClientRect().width);\n }\n this._cachedCellWidths = cellWidths;\n return cellWidths;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyStartColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = 0; i < widths.length; i++) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyEndColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = widths.length; i > 0; i--) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nfunction getTableUnknownColumnError(id) {\n return Error(`Could not find column with id \"${id}\".`);\n}\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nfunction getTableDuplicateColumnNameError(name) {\n return Error(`Duplicate column definition name provided: \"${name}\".`);\n}\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nfunction getTableMultipleDefaultRowDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nfunction getTableMissingMatchingRowDefError(data) {\n return Error(`Could not find a matching row definition for the` +\n `provided row data: ${JSON.stringify(data)}`);\n}\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nfunction getTableMissingRowDefsError() {\n return Error('Missing definitions for header, footer, and row; ' +\n 'cannot determine which columns should be rendered.');\n}\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * @docs-private\n */\nfunction getTableUnknownDataSourceError() {\n return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n/**\n * Returns an error to be thrown when the text column cannot find a parent table to inject.\n * @docs-private\n */\nfunction getTableTextColumnMissingParentTableError() {\n return Error(`Text column could not find a parent table for registration.`);\n}\n/**\n * Returns an error to be thrown when a table text column doesn't have a name.\n * @docs-private\n */\nfunction getTableTextColumnMissingNameError() {\n return Error(`Table text column must have a name.`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the StickyPositioningListener. */\nconst STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');\n\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n */\nclass CdkRecycleRows {\n}\nCdkRecycleRows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRecycleRows, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkRecycleRows.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkRecycleRows, selector: \"cdk-table[recycleRows], table[cdk-table][recycleRows]\", providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkRecycleRows, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }] });\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\nclass DataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nDataRowOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DataRowOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nDataRowOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: DataRowOutlet, selector: \"[rowOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DataRowOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[rowOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }]; } });\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the header.\n * @docs-private\n */\nclass HeaderRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nHeaderRowOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HeaderRowOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nHeaderRowOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: HeaderRowOutlet, selector: \"[headerRowOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HeaderRowOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[headerRowOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }]; } });\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the footer.\n * @docs-private\n */\nclass FooterRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nFooterRowOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FooterRowOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nFooterRowOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: FooterRowOutlet, selector: \"[footerRowOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FooterRowOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[footerRowOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }]; } });\n/**\n * Provides a handle for the table to grab the view\n * container's ng-container to insert the no data row.\n * @docs-private\n */\nclass NoDataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nNoDataRowOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: NoDataRowOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nNoDataRowOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: NoDataRowOutlet, selector: \"[noDataRowOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: NoDataRowOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[noDataRowOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }]; } });\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n * @docs-private\n */\nconst CDK_TABLE_TEMPLATE = \n// Note that according to MDN, the `caption` element has to be projected as the **first**\n// element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n`\n \n \n \n \n \n \n`;\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nclass RowViewRef extends EmbeddedViewRef {\n}\n/**\n * A data table that can render a header row, data rows, and a footer row.\n * Uses the dataSource input to determine the data to be rendered. The data can be provided either\n * as a data array, an Observable stream that emits the data array to render, or a DataSource with a\n * connect function that will return an Observable stream that emits the data array to render.\n */\nclass CdkTable {\n constructor(_differs, _changeDetectorRef, _elementRef, role, _dir, _document, _platform, _viewRepeater, _coalescedStyleScheduler, _viewportRuler, \n /**\n * @deprecated `_stickyPositioningListener` parameter to become required.\n * @breaking-change 13.0.0\n */\n _stickyPositioningListener, \n /**\n * @deprecated `_ngZone` parameter to become required.\n * @breaking-change 14.0.0\n */\n _ngZone) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._dir = _dir;\n this._platform = _platform;\n this._viewRepeater = _viewRepeater;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._viewportRuler = _viewportRuler;\n this._stickyPositioningListener = _stickyPositioningListener;\n this._ngZone = _ngZone;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /**\n * Map of all the user's defined columns (header, data, and footer cell template) identified by\n * name. Collection populated by the column definitions gathered by `ContentChildren` as well as\n * any custom column definitions added to `_customColumnDefs`.\n */\n this._columnDefsByName = new Map();\n /**\n * Column definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * column definitions as *its* content child.\n */\n this._customColumnDefs = new Set();\n /**\n * Data row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in data rows as *its* content child.\n */\n this._customRowDefs = new Set();\n /**\n * Header row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in header rows as *its* content child.\n */\n this._customHeaderRowDefs = new Set();\n /**\n * Footer row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has a\n * built-in footer row as *its* content child.\n */\n this._customFooterRowDefs = new Set();\n /**\n * Whether the header row definition has been changed. Triggers an update to the header row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._headerRowDefChanged = true;\n /**\n * Whether the footer row definition has been changed. Triggers an update to the footer row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._footerRowDefChanged = true;\n /**\n * Whether the sticky column styles need to be updated. Set to `true` when the visible columns\n * change.\n */\n this._stickyColumnStylesNeedReset = true;\n /**\n * Whether the sticky styler should recalculate cell widths when applying sticky styles. If\n * `false`, cached values will be used instead. This is only applicable to tables with\n * {@link fixedLayout} enabled. For other tables, cell widths will always be recalculated.\n */\n this._forceRecalculateCellWidths = true;\n /**\n * Cache of the latest rendered `RenderRow` objects as a map for easy retrieval when constructing\n * a new list of `RenderRow` objects for rendering rows. Since the new list is constructed with\n * the cached `RenderRow` objects when possible, the row identity is preserved when the data\n * and row template matches, which allows the `IterableDiffer` to check rows by reference\n * and understand which rows are added/moved/removed.\n *\n * Implemented as a map of maps where the first key is the `data: T` object and the second is the\n * `CdkRowDef` object. With the two keys, the cache points to a `RenderRow` object that\n * contains an array of created pairs. The array is necessary to handle cases where the data\n * array contains multiple duplicate data objects and each instantiated `RenderRow` must be\n * stored.\n */\n this._cachedRenderRowsMap = new Map();\n /**\n * CSS class added to any row or cell that has sticky positioning applied. May be overriden by\n * table subclasses.\n */\n this.stickyCssClass = 'cdk-table-sticky';\n /**\n * Whether to manually add positon: sticky to all sticky cell elements. Not needed if\n * the position is set in a selector associated with the value of stickyCssClass. May be\n * overridden by table subclasses\n */\n this.needsPositionStickyOnElement = true;\n /** Whether the no data row is currently showing anything. */\n this._isShowingNoDataRow = false;\n this._multiTemplateDataRows = false;\n this._fixedLayout = false;\n /**\n * Emits when the table completes rendering a set of data rows based on the latest data from the\n * data source, even if the set of rows is empty.\n */\n this.contentChanged = new EventEmitter();\n // TODO(andrewseguin): Remove max value as the end index\n // and instead calculate the view on init and scroll.\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n *\n * @docs-private\n */\n this.viewChange = new BehaviorSubject({\n start: 0,\n end: Number.MAX_VALUE,\n });\n if (!role) {\n this._elementRef.nativeElement.setAttribute('role', 'table');\n }\n this._document = _document;\n this._isNativeHtmlTable = this._elementRef.nativeElement.nodeName === 'TABLE';\n }\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n * relative to the function to know if a row should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n get trackBy() {\n return this._trackByFn;\n }\n set trackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n }\n this._trackByFn = fn;\n }\n /**\n * The table's source of data, which can be provided in three ways (in order of complexity):\n * - Simple data array (each object represents one table row)\n * - Stream that emits a data array each time the array changes\n * - `DataSource` object that implements the connect/disconnect interface.\n *\n * If a data array is provided, the table must be notified when the array's objects are\n * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n * render the diff since the last table render. If the data array reference is changed, the table\n * will automatically trigger an update to the rows.\n *\n * When providing an Observable stream, the table will trigger an update automatically when the\n * stream emits a new array of data.\n *\n * Finally, when providing a `DataSource` object, the table will use the Observable stream\n * provided by the connect function and trigger updates when that stream emits new data array\n * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n * table will call the DataSource's `disconnect` function (may be useful for cleaning up any\n * subscriptions registered during the connect process).\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n /**\n * Whether to allow multiple rows per data object by evaluating which rows evaluate their 'when'\n * predicate to true. If `multiTemplateDataRows` is false, which is the default value, then each\n * dataobject will render the first row that evaluates its when predicate to true, in the order\n * defined in the table, or otherwise the default row which does not have a when predicate.\n */\n get multiTemplateDataRows() {\n return this._multiTemplateDataRows;\n }\n set multiTemplateDataRows(v) {\n this._multiTemplateDataRows = coerceBooleanProperty(v);\n // In Ivy if this value is set via a static attribute (e.g.
),\n // this setter will be invoked before the row outlet has been defined hence the null check.\n if (this._rowOutlet && this._rowOutlet.viewContainer.length) {\n this._forceRenderDataRows();\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Whether to use a fixed table layout. Enabling this option will enforce consistent column widths\n * and optimize rendering sticky styles for native tables. No-op for flex tables.\n */\n get fixedLayout() {\n return this._fixedLayout;\n }\n set fixedLayout(v) {\n this._fixedLayout = coerceBooleanProperty(v);\n // Toggling `fixedLayout` may change column widths. Sticky column styles should be recalculated.\n this._forceRecalculateCellWidths = true;\n this._stickyColumnStylesNeedReset = true;\n }\n ngOnInit() {\n this._setupStickyStyler();\n if (this._isNativeHtmlTable) {\n this._applyNativeTableSections();\n }\n // Set up the trackBy function so that it uses the `RenderRow` as its identity by default. If\n // the user has provided a custom trackBy, return the result of that function as evaluated\n // with the values of the `RenderRow`'s data and index.\n this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {\n return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;\n });\n this._viewportRuler\n .change()\n .pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this._forceRecalculateCellWidths = true;\n });\n }\n ngAfterContentChecked() {\n // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n this._cacheRowDefs();\n this._cacheColumnDefs();\n // Make sure that the user has at least added header, footer, or data row def.\n if (!this._headerRowDefs.length &&\n !this._footerRowDefs.length &&\n !this._rowDefs.length &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingRowDefsError();\n }\n // Render updates if the list of columns have been changed for the header, row, or footer defs.\n const columnsChanged = this._renderUpdatedColumns();\n const rowDefsChanged = columnsChanged || this._headerRowDefChanged || this._footerRowDefChanged;\n // Ensure sticky column styles are reset if set to `true` elsewhere.\n this._stickyColumnStylesNeedReset = this._stickyColumnStylesNeedReset || rowDefsChanged;\n this._forceRecalculateCellWidths = rowDefsChanged;\n // If the header row definition has been changed, trigger a render to the header row.\n if (this._headerRowDefChanged) {\n this._forceRenderHeaderRows();\n this._headerRowDefChanged = false;\n }\n // If the footer row definition has been changed, trigger a render to the footer row.\n if (this._footerRowDefChanged) {\n this._forceRenderFooterRows();\n this._footerRowDefChanged = false;\n }\n // If there is a data source and row definitions, connect to the data source unless a\n // connection has already been made.\n if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n else if (this._stickyColumnStylesNeedReset) {\n // In the above case, _observeRenderChanges will result in updateStickyColumnStyles being\n // called when it row data arrives. Otherwise, we need to call it proactively.\n this.updateStickyColumnStyles();\n }\n this._checkStickyStates();\n }\n ngOnDestroy() {\n [\n this._rowOutlet.viewContainer,\n this._headerRowOutlet.viewContainer,\n this._footerRowOutlet.viewContainer,\n this._cachedRenderRowsMap,\n this._customColumnDefs,\n this._customRowDefs,\n this._customHeaderRowDefs,\n this._customFooterRowDefs,\n this._columnDefsByName,\n ].forEach(def => {\n def.clear();\n });\n this._headerRowDefs = [];\n this._footerRowDefs = [];\n this._defaultRowDef = null;\n this._onDestroy.next();\n this._onDestroy.complete();\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n }\n /**\n * Renders rows based on the table's latest set of data, which was either provided directly as an\n * input or retrieved through an Observable stream (directly or from a DataSource).\n * Checks for differences in the data since the last diff to perform only the necessary\n * changes (add/remove/move rows).\n *\n * If the table's data source is a DataSource or Observable, this will be invoked automatically\n * each time the provided Observable stream emits a new data array. Otherwise if your data is\n * an array, this function will need to be called to render any changes.\n */\n renderRows() {\n this._renderRows = this._getAllRenderRows();\n const changes = this._dataDiffer.diff(this._renderRows);\n if (!changes) {\n this._updateNoDataRow();\n this.contentChanged.next();\n return;\n }\n const viewContainer = this._rowOutlet.viewContainer;\n this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), record => record.item.data, (change) => {\n if (change.operation === 1 /* INSERTED */ && change.context) {\n this._renderCellTemplateForItem(change.record.item.rowDef, change.context);\n }\n });\n // Update the meta context of a row's context data (index, count, first, last, ...)\n this._updateRowIndexContext();\n // Update rows that did not get added/removed/moved but may have had their identity changed,\n // e.g. if trackBy matched data on some property but the actual data reference changed.\n changes.forEachIdentityChange((record) => {\n const rowView = viewContainer.get(record.currentIndex);\n rowView.context.$implicit = record.item.data;\n });\n this._updateNoDataRow();\n // Allow the new row data to render before measuring it.\n // @breaking-change 14.0.0 Remove undefined check once _ngZone is required.\n if (this._ngZone && NgZone.isInAngularZone()) {\n this._ngZone.onStable.pipe(take(1), takeUntil(this._onDestroy)).subscribe(() => {\n this.updateStickyColumnStyles();\n });\n }\n else {\n this.updateStickyColumnStyles();\n }\n this.contentChanged.next();\n }\n /** Adds a column definition that was not included as part of the content children. */\n addColumnDef(columnDef) {\n this._customColumnDefs.add(columnDef);\n }\n /** Removes a column definition that was not included as part of the content children. */\n removeColumnDef(columnDef) {\n this._customColumnDefs.delete(columnDef);\n }\n /** Adds a row definition that was not included as part of the content children. */\n addRowDef(rowDef) {\n this._customRowDefs.add(rowDef);\n }\n /** Removes a row definition that was not included as part of the content children. */\n removeRowDef(rowDef) {\n this._customRowDefs.delete(rowDef);\n }\n /** Adds a header row definition that was not included as part of the content children. */\n addHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.add(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Removes a header row definition that was not included as part of the content children. */\n removeHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.delete(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Adds a footer row definition that was not included as part of the content children. */\n addFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.add(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Removes a footer row definition that was not included as part of the content children. */\n removeFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.delete(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Sets a no data row definition that was not included as a part of the content children. */\n setNoDataRow(noDataRow) {\n this._customNoDataRow = noDataRow;\n }\n /**\n * Updates the header sticky styles. First resets all applied styles with respect to the cells\n * sticking to the top. Then, evaluating which cells need to be stuck to the top. This is\n * automatically called when the header row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyHeaderRowStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the thead element if there are no header rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const thead = tableElement.querySelector('thead');\n if (thead) {\n thead.style.display = headerRows.length ? '' : 'none';\n }\n const stickyStates = this._headerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(headerRows, ['top']);\n this._stickyStyler.stickRows(headerRows, stickyStates, 'top');\n // Reset the dirty state of the sticky input change since it has been used.\n this._headerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the footer sticky styles. First resets all applied styles with respect to the cells\n * sticking to the bottom. Then, evaluating which cells need to be stuck to the bottom. This is\n * automatically called when the footer row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyFooterRowStyles() {\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the tfoot element if there are no footer rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const tfoot = tableElement.querySelector('tfoot');\n if (tfoot) {\n tfoot.style.display = footerRows.length ? '' : 'none';\n }\n const stickyStates = this._footerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(footerRows, ['bottom']);\n this._stickyStyler.stickRows(footerRows, stickyStates, 'bottom');\n this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement, stickyStates);\n // Reset the dirty state of the sticky input change since it has been used.\n this._footerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the column sticky styles. First resets all applied styles with respect to the cells\n * sticking to the left and right. Then sticky styles are added for the left and right according\n * to the column definitions for each cell in each row. This is automatically called when\n * the data source provides a new set of data or when a column definition changes its sticky\n * input. May be called manually for cases where the cell content changes outside of these events.\n */\n updateStickyColumnStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const dataRows = this._getRenderedRows(this._rowOutlet);\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n // For tables not using a fixed layout, the column widths may change when new rows are rendered.\n // In a table using a fixed layout, row content won't affect column width, so sticky styles\n // don't need to be cleared unless either the sticky column config changes or one of the row\n // defs change.\n if ((this._isNativeHtmlTable && !this._fixedLayout) || this._stickyColumnStylesNeedReset) {\n // Clear the left and right positioning from all columns in the table across all rows since\n // sticky columns span across all table sections (header, data, footer)\n this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);\n this._stickyColumnStylesNeedReset = false;\n }\n // Update the sticky styles for each header row depending on the def's sticky state\n headerRows.forEach((headerRow, i) => {\n this._addStickyColumnStyles([headerRow], this._headerRowDefs[i]);\n });\n // Update the sticky styles for each data row depending on its def's sticky state\n this._rowDefs.forEach(rowDef => {\n // Collect all the rows rendered with this row definition.\n const rows = [];\n for (let i = 0; i < dataRows.length; i++) {\n if (this._renderRows[i].rowDef === rowDef) {\n rows.push(dataRows[i]);\n }\n }\n this._addStickyColumnStyles(rows, rowDef);\n });\n // Update the sticky styles for each footer row depending on the def's sticky state\n footerRows.forEach((footerRow, i) => {\n this._addStickyColumnStyles([footerRow], this._footerRowDefs[i]);\n });\n // Reset the dirty state of the sticky input change since it has been used.\n Array.from(this._columnDefsByName.values()).forEach(def => def.resetStickyChanged());\n }\n /**\n * Get the list of RenderRow objects to render according to the current list of data and defined\n * row definitions. If the previous list already contained a particular pair, it should be reused\n * so that the differ equates their references.\n */\n _getAllRenderRows() {\n const renderRows = [];\n // Store the cache and create a new one. Any re-used RenderRow objects will be moved into the\n // new cache while unused ones can be picked up by garbage collection.\n const prevCachedRenderRows = this._cachedRenderRowsMap;\n this._cachedRenderRowsMap = new Map();\n // For each data object, get the list of rows that should be rendered, represented by the\n // respective `RenderRow` object which is the pair of `data` and `CdkRowDef`.\n for (let i = 0; i < this._data.length; i++) {\n let data = this._data[i];\n const renderRowsForData = this._getRenderRowsForData(data, i, prevCachedRenderRows.get(data));\n if (!this._cachedRenderRowsMap.has(data)) {\n this._cachedRenderRowsMap.set(data, new WeakMap());\n }\n for (let j = 0; j < renderRowsForData.length; j++) {\n let renderRow = renderRowsForData[j];\n const cache = this._cachedRenderRowsMap.get(renderRow.data);\n if (cache.has(renderRow.rowDef)) {\n cache.get(renderRow.rowDef).push(renderRow);\n }\n else {\n cache.set(renderRow.rowDef, [renderRow]);\n }\n renderRows.push(renderRow);\n }\n }\n return renderRows;\n }\n /**\n * Gets a list of `RenderRow` for the provided data object and any `CdkRowDef` objects that\n * should be rendered for this data. Reuses the cached RenderRow objects if they match the same\n * `(T, CdkRowDef)` pair.\n */\n _getRenderRowsForData(data, dataIndex, cache) {\n const rowDefs = this._getRowDefs(data, dataIndex);\n return rowDefs.map(rowDef => {\n const cachedRenderRows = cache && cache.has(rowDef) ? cache.get(rowDef) : [];\n if (cachedRenderRows.length) {\n const dataRow = cachedRenderRows.shift();\n dataRow.dataIndex = dataIndex;\n return dataRow;\n }\n else {\n return { data, rowDef, dataIndex };\n }\n });\n }\n /** Update the map containing the content's column definitions. */\n _cacheColumnDefs() {\n this._columnDefsByName.clear();\n const columnDefs = mergeArrayAndSet(this._getOwnDefs(this._contentColumnDefs), this._customColumnDefs);\n columnDefs.forEach(columnDef => {\n if (this._columnDefsByName.has(columnDef.name) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableDuplicateColumnNameError(columnDef.name);\n }\n this._columnDefsByName.set(columnDef.name, columnDef);\n });\n }\n /** Update the list of all available row definitions that can be used. */\n _cacheRowDefs() {\n this._headerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentHeaderRowDefs), this._customHeaderRowDefs);\n this._footerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentFooterRowDefs), this._customFooterRowDefs);\n this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);\n // After all row definitions are determined, find the row definition to be considered default.\n const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n if (!this.multiTemplateDataRows &&\n defaultRowDefs.length > 1 &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMultipleDefaultRowDefsError();\n }\n this._defaultRowDef = defaultRowDefs[0];\n }\n /**\n * Check if the header, data, or footer rows have changed what columns they want to display or\n * whether the sticky states have changed for the header or footer. If there is a diff, then\n * re-render that section.\n */\n _renderUpdatedColumns() {\n const columnsDiffReducer = (acc, def) => acc || !!def.getColumnsDiff();\n // Force re-render data rows if the list of column definitions have changed.\n const dataColumnsChanged = this._rowDefs.reduce(columnsDiffReducer, false);\n if (dataColumnsChanged) {\n this._forceRenderDataRows();\n }\n // Force re-render header/footer rows if the list of column definitions have changed.\n const headerColumnsChanged = this._headerRowDefs.reduce(columnsDiffReducer, false);\n if (headerColumnsChanged) {\n this._forceRenderHeaderRows();\n }\n const footerColumnsChanged = this._footerRowDefs.reduce(columnsDiffReducer, false);\n if (footerColumnsChanged) {\n this._forceRenderFooterRows();\n }\n return dataColumnsChanged || headerColumnsChanged || footerColumnsChanged;\n }\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the row outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n this._data = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n // Stop listening for data from the previous data source.\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n if (!dataSource) {\n if (this._dataDiffer) {\n this._dataDiffer.diff([]);\n }\n this._rowOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n // If no data source has been set, there is nothing to observe for changes.\n if (!this.dataSource) {\n return;\n }\n let dataStream;\n if (isDataSource(this.dataSource)) {\n dataStream = this.dataSource.connect(this);\n }\n else if (isObservable(this.dataSource)) {\n dataStream = this.dataSource;\n }\n else if (Array.isArray(this.dataSource)) {\n dataStream = of(this.dataSource);\n }\n if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownDataSourceError();\n }\n this._renderChangeSubscription = dataStream\n .pipe(takeUntil(this._onDestroy))\n .subscribe(data => {\n this._data = data || [];\n this.renderRows();\n });\n }\n /**\n * Clears any existing content in the header row outlet and creates a new embedded view\n * in the outlet using the header row definition.\n */\n _forceRenderHeaderRows() {\n // Clear the header row outlet if any content exists.\n if (this._headerRowOutlet.viewContainer.length > 0) {\n this._headerRowOutlet.viewContainer.clear();\n }\n this._headerRowDefs.forEach((def, i) => this._renderRow(this._headerRowOutlet, def, i));\n this.updateStickyHeaderRowStyles();\n }\n /**\n * Clears any existing content in the footer row outlet and creates a new embedded view\n * in the outlet using the footer row definition.\n */\n _forceRenderFooterRows() {\n // Clear the footer row outlet if any content exists.\n if (this._footerRowOutlet.viewContainer.length > 0) {\n this._footerRowOutlet.viewContainer.clear();\n }\n this._footerRowDefs.forEach((def, i) => this._renderRow(this._footerRowOutlet, def, i));\n this.updateStickyFooterRowStyles();\n }\n /** Adds the sticky column styles for the rows according to the columns' stick states. */\n _addStickyColumnStyles(rows, rowDef) {\n const columnDefs = Array.from(rowDef.columns || []).map(columnName => {\n const columnDef = this._columnDefsByName.get(columnName);\n if (!columnDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnName);\n }\n return columnDef;\n });\n const stickyStartStates = columnDefs.map(columnDef => columnDef.sticky);\n const stickyEndStates = columnDefs.map(columnDef => columnDef.stickyEnd);\n this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this._fixedLayout || this._forceRecalculateCellWidths);\n }\n /** Gets the list of rows that have been rendered in the row outlet. */\n _getRenderedRows(rowOutlet) {\n const renderedRows = [];\n for (let i = 0; i < rowOutlet.viewContainer.length; i++) {\n const viewRef = rowOutlet.viewContainer.get(i);\n renderedRows.push(viewRef.rootNodes[0]);\n }\n return renderedRows;\n }\n /**\n * Get the matching row definitions that should be used for this row data. If there is only\n * one row definition, it is returned. Otherwise, find the row definitions that has a when\n * predicate that returns true with the data. If none return true, return the default row\n * definition.\n */\n _getRowDefs(data, dataIndex) {\n if (this._rowDefs.length == 1) {\n return [this._rowDefs[0]];\n }\n let rowDefs = [];\n if (this.multiTemplateDataRows) {\n rowDefs = this._rowDefs.filter(def => !def.when || def.when(dataIndex, data));\n }\n else {\n let rowDef = this._rowDefs.find(def => def.when && def.when(dataIndex, data)) || this._defaultRowDef;\n if (rowDef) {\n rowDefs.push(rowDef);\n }\n }\n if (!rowDefs.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingMatchingRowDefError(data);\n }\n return rowDefs;\n }\n _getEmbeddedViewArgs(renderRow, index) {\n const rowDef = renderRow.rowDef;\n const context = { $implicit: renderRow.data };\n return {\n templateRef: rowDef.template,\n context,\n index,\n };\n }\n /**\n * Creates a new row template in the outlet and fills it with the set of cell templates.\n * Optionally takes a context to provide to the row and cells, as well as an optional index\n * of where to place the new row template in the outlet.\n */\n _renderRow(outlet, rowDef, index, context = {}) {\n // TODO(andrewseguin): enforce that one outlet was instantiated from createEmbeddedView\n const view = outlet.viewContainer.createEmbeddedView(rowDef.template, context, index);\n this._renderCellTemplateForItem(rowDef, context);\n return view;\n }\n _renderCellTemplateForItem(rowDef, context) {\n for (let cellTemplate of this._getCellTemplates(rowDef)) {\n if (CdkCellOutlet.mostRecentCellOutlet) {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cellTemplate, context);\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Updates the index-related context for each row to reflect any changes in the index of the rows,\n * e.g. first/last/even/odd.\n */\n _updateRowIndexContext() {\n const viewContainer = this._rowOutlet.viewContainer;\n for (let renderIndex = 0, count = viewContainer.length; renderIndex < count; renderIndex++) {\n const viewRef = viewContainer.get(renderIndex);\n const context = viewRef.context;\n context.count = count;\n context.first = renderIndex === 0;\n context.last = renderIndex === count - 1;\n context.even = renderIndex % 2 === 0;\n context.odd = !context.even;\n if (this.multiTemplateDataRows) {\n context.dataIndex = this._renderRows[renderIndex].dataIndex;\n context.renderIndex = renderIndex;\n }\n else {\n context.index = this._renderRows[renderIndex].dataIndex;\n }\n }\n }\n /** Gets the column definitions for the provided row def. */\n _getCellTemplates(rowDef) {\n if (!rowDef || !rowDef.columns) {\n return [];\n }\n return Array.from(rowDef.columns, columnId => {\n const column = this._columnDefsByName.get(columnId);\n if (!column && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnId);\n }\n return rowDef.extractCellTemplate(column);\n });\n }\n /** Adds native table sections (e.g. tbody) and moves the row outlets into them. */\n _applyNativeTableSections() {\n const documentFragment = this._document.createDocumentFragment();\n const sections = [\n { tag: 'thead', outlets: [this._headerRowOutlet] },\n { tag: 'tbody', outlets: [this._rowOutlet, this._noDataRowOutlet] },\n { tag: 'tfoot', outlets: [this._footerRowOutlet] },\n ];\n for (const section of sections) {\n const element = this._document.createElement(section.tag);\n element.setAttribute('role', 'rowgroup');\n for (const outlet of section.outlets) {\n element.appendChild(outlet.elementRef.nativeElement);\n }\n documentFragment.appendChild(element);\n }\n // Use a DocumentFragment so we don't hit the DOM on each iteration.\n this._elementRef.nativeElement.appendChild(documentFragment);\n }\n /**\n * Forces a re-render of the data rows. Should be called in cases where there has been an input\n * change that affects the evaluation of which rows should be rendered, e.g. toggling\n * `multiTemplateDataRows` or adding/removing row definitions.\n */\n _forceRenderDataRows() {\n this._dataDiffer.diff([]);\n this._rowOutlet.viewContainer.clear();\n this.renderRows();\n }\n /**\n * Checks if there has been a change in sticky states since last check and applies the correct\n * sticky styles. Since checking resets the \"dirty\" state, this should only be performed once\n * during a change detection and after the inputs are settled (after content check).\n */\n _checkStickyStates() {\n const stickyCheckReducer = (acc, d) => {\n return acc || d.hasStickyChanged();\n };\n // Note that the check needs to occur for every definition since it notifies the definition\n // that it can reset its dirty state. Using another operator like `some` may short-circuit\n // remaining definitions and leave them in an unchecked state.\n if (this._headerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyHeaderRowStyles();\n }\n if (this._footerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyFooterRowStyles();\n }\n if (Array.from(this._columnDefsByName.values()).reduce(stickyCheckReducer, false)) {\n this._stickyColumnStylesNeedReset = true;\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Creates the sticky styler that will be used for sticky rows and columns. Listens\n * for directionality changes and provides the latest direction to the styler. Re-applies column\n * stickiness when directionality changes.\n */\n _setupStickyStyler() {\n const direction = this._dir ? this._dir.value : 'ltr';\n this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener);\n (this._dir ? this._dir.change : of())\n .pipe(takeUntil(this._onDestroy))\n .subscribe(value => {\n this._stickyStyler.direction = value;\n this.updateStickyColumnStyles();\n });\n }\n /** Filters definitions that belong to this table from a QueryList. */\n _getOwnDefs(items) {\n return items.filter(item => !item._table || item._table === this);\n }\n /** Creates or removes the no data row, depending on whether any data is being shown. */\n _updateNoDataRow() {\n const noDataRow = this._customNoDataRow || this._noDataRow;\n if (!noDataRow) {\n return;\n }\n const shouldShow = this._rowOutlet.viewContainer.length === 0;\n if (shouldShow === this._isShowingNoDataRow) {\n return;\n }\n const container = this._noDataRowOutlet.viewContainer;\n if (shouldShow) {\n const view = container.createEmbeddedView(noDataRow.templateRef);\n const rootNode = view.rootNodes[0];\n // Only add the attributes if we have a single root node since it's hard\n // to figure out which one to add it to when there are multiple.\n if (view.rootNodes.length === 1 && (rootNode === null || rootNode === void 0 ? void 0 : rootNode.nodeType) === this._document.ELEMENT_NODE) {\n rootNode.setAttribute('role', 'row');\n rootNode.classList.add(noDataRow._contentClassName);\n }\n }\n else {\n container.clear();\n }\n this._isShowingNoDataRow = shouldShow;\n }\n}\nCdkTable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTable, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: 'role', attribute: true }, { token: i1.Directionality, optional: true }, { token: DOCUMENT }, { token: i2.Platform }, { token: _VIEW_REPEATER_STRATEGY }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i3.ViewportRuler }, { token: STICKY_POSITIONING_LISTENER, optional: true, skipSelf: true }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkTable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTable, selector: \"cdk-table, table[cdk-table]\", inputs: { trackBy: \"trackBy\", dataSource: \"dataSource\", multiTemplateDataRows: \"multiTemplateDataRows\", fixedLayout: \"fixedLayout\" }, outputs: { contentChanged: \"contentChanged\" }, host: { properties: { \"class.cdk-table-fixed-layout\": \"fixedLayout\" }, classAttribute: \"cdk-table\" }, providers: [\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ], queries: [{ propertyName: \"_noDataRow\", first: true, predicate: CdkNoDataRow, descendants: true }, { propertyName: \"_contentColumnDefs\", predicate: CdkColumnDef, descendants: true }, { propertyName: \"_contentRowDefs\", predicate: CdkRowDef, descendants: true }, { propertyName: \"_contentHeaderRowDefs\", predicate: CdkHeaderRowDef, descendants: true }, { propertyName: \"_contentFooterRowDefs\", predicate: CdkFooterRowDef, descendants: true }], viewQueries: [{ propertyName: \"_rowOutlet\", first: true, predicate: DataRowOutlet, descendants: true, static: true }, { propertyName: \"_headerRowOutlet\", first: true, predicate: HeaderRowOutlet, descendants: true, static: true }, { propertyName: \"_footerRowOutlet\", first: true, predicate: FooterRowOutlet, descendants: true, static: true }, { propertyName: \"_noDataRowOutlet\", first: true, predicate: NoDataRowOutlet, descendants: true, static: true }], exportAs: [\"cdkTable\"], ngImport: i0, template: \"\\n \\n \\n \\n \\n \\n \\n\", isInline: true, styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"], directives: [{ type: HeaderRowOutlet, selector: \"[headerRowOutlet]\" }, { type: DataRowOutlet, selector: \"[rowOutlet]\" }, { type: NoDataRowOutlet, selector: \"[noDataRowOutlet]\" }, { type: FooterRowOutlet, selector: \"[footerRowOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTable, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-table, table[cdk-table]', exportAs: 'cdkTable', template: CDK_TABLE_TEMPLATE, host: {\n 'class': 'cdk-table',\n '[class.cdk-table-fixed-layout]': 'fixedLayout',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ], styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"] }]\n }], ctorParameters: function () {\n return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: i1.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i2.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: _CoalescedStyleScheduler, decorators: [{\n type: Inject,\n args: [_COALESCED_STYLE_SCHEDULER]\n }] }, { type: i3.ViewportRuler }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [STICKY_POSITIONING_LISTENER]\n }] }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }];\n }, propDecorators: { trackBy: [{\n type: Input\n }], dataSource: [{\n type: Input\n }], multiTemplateDataRows: [{\n type: Input\n }], fixedLayout: [{\n type: Input\n }], contentChanged: [{\n type: Output\n }], _rowOutlet: [{\n type: ViewChild,\n args: [DataRowOutlet, { static: true }]\n }], _headerRowOutlet: [{\n type: ViewChild,\n args: [HeaderRowOutlet, { static: true }]\n }], _footerRowOutlet: [{\n type: ViewChild,\n args: [FooterRowOutlet, { static: true }]\n }], _noDataRowOutlet: [{\n type: ViewChild,\n args: [NoDataRowOutlet, { static: true }]\n }], _contentColumnDefs: [{\n type: ContentChildren,\n args: [CdkColumnDef, { descendants: true }]\n }], _contentRowDefs: [{\n type: ContentChildren,\n args: [CdkRowDef, { descendants: true }]\n }], _contentHeaderRowDefs: [{\n type: ContentChildren,\n args: [CdkHeaderRowDef, {\n descendants: true,\n }]\n }], _contentFooterRowDefs: [{\n type: ContentChildren,\n args: [CdkFooterRowDef, {\n descendants: true,\n }]\n }], _noDataRow: [{\n type: ContentChild,\n args: [CdkNoDataRow]\n }] } });\n/** Utility function that gets a merged list of the entries in an array and values of a Set. */\nfunction mergeArrayAndSet(array, set) {\n return array.concat(Array.from(set));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`
`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\nclass CdkTextColumn {\n constructor(\n // `CdkTextColumn` is always requiring a table, but we just assert it manually\n // for better error reporting.\n // tslint:disable-next-line: lightweight-tokens\n _table, _options) {\n this._table = _table;\n this._options = _options;\n /** Alignment of the cell values. */\n this.justify = 'start';\n this._options = _options || {};\n }\n /** Column name that should be used to reference this column. */\n get name() {\n return this._name;\n }\n set name(name) {\n this._name = name;\n // With Ivy, inputs can be initialized before static query results are\n // available. In that case, we defer the synchronization until \"ngOnInit\" fires.\n this._syncColumnDefName();\n }\n ngOnInit() {\n this._syncColumnDefName();\n if (this.headerText === undefined) {\n this.headerText = this._createDefaultHeaderText();\n }\n if (!this.dataAccessor) {\n this.dataAccessor =\n this._options.defaultDataAccessor || ((data, name) => data[name]);\n }\n if (this._table) {\n // Provide the cell and headerCell directly to the table with the static `ViewChild` query,\n // since the columnDef will not pick up its content by the time the table finishes checking\n // its content and initializing the rows.\n this.columnDef.cell = this.cell;\n this.columnDef.headerCell = this.headerCell;\n this._table.addColumnDef(this.columnDef);\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTableTextColumnMissingParentTableError();\n }\n }\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this.columnDef);\n }\n }\n /**\n * Creates a default header text. Use the options' header text transformation function if one\n * has been provided. Otherwise simply capitalize the column name.\n */\n _createDefaultHeaderText() {\n const name = this.name;\n if (!name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableTextColumnMissingNameError();\n }\n if (this._options && this._options.defaultHeaderTextTransform) {\n return this._options.defaultHeaderTextTransform(name);\n }\n return name[0].toUpperCase() + name.slice(1);\n }\n /** Synchronizes the column definition name with the text column name. */\n _syncColumnDefName() {\n if (this.columnDef) {\n this.columnDef.name = this.name;\n }\n }\n}\nCdkTextColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextColumn, deps: [{ token: CdkTable, optional: true }, { token: TEXT_COLUMN_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkTextColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTextColumn, selector: \"cdk-text-column\", inputs: { name: \"name\", headerText: \"headerText\", dataAccessor: \"dataAccessor\", justify: \"justify\" }, viewQueries: [{ propertyName: \"columnDef\", first: true, predicate: CdkColumnDef, descendants: true, static: true }, { propertyName: \"cell\", first: true, predicate: CdkCellDef, descendants: true, static: true }, { propertyName: \"headerCell\", first: true, predicate: CdkHeaderCellDef, descendants: true, static: true }], ngImport: i0, template: `\n \n \n \n \n `, isInline: true, directives: [{ type: CdkColumnDef, selector: \"[cdkColumnDef]\", inputs: [\"sticky\", \"cdkColumnDef\", \"stickyEnd\"] }, { type: CdkHeaderCellDef, selector: \"[cdkHeaderCellDef]\" }, { type: CdkHeaderCell, selector: \"cdk-header-cell, th[cdk-header-cell]\" }, { type: CdkCellDef, selector: \"[cdkCellDef]\" }, { type: CdkCell, selector: \"cdk-cell, td[cdk-cell]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextColumn, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n }]\n }], ctorParameters: function () {\n return [{ type: CdkTable, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [TEXT_COLUMN_OPTIONS]\n }] }];\n }, propDecorators: { name: [{\n type: Input\n }], headerText: [{\n type: Input\n }], dataAccessor: [{\n type: Input\n }], justify: [{\n type: Input\n }], columnDef: [{\n type: ViewChild,\n args: [CdkColumnDef, { static: true }]\n }], cell: [{\n type: ViewChild,\n args: [CdkCellDef, { static: true }]\n }], headerCell: [{\n type: ViewChild,\n args: [CdkHeaderCellDef, { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EXPORTED_DECLARATIONS = [\n CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n CdkRecycleRows,\n NoDataRowOutlet,\n];\nclass CdkTableModule {\n}\nCdkTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTableModule, declarations: [CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n CdkRecycleRows,\n NoDataRowOutlet], imports: [ScrollingModule], exports: [CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n CdkRecycleRows,\n NoDataRowOutlet] });\nCdkTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTableModule, imports: [[ScrollingModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n imports: [ScrollingModule],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE, CDK_TABLE_TEMPLATE, CdkCell, CdkCellDef, CdkCellOutlet, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRecycleRows, CdkRow, CdkRowDef, CdkTable, CdkTableModule, CdkTextColumn, DataRowOutlet, FooterRowOutlet, HeaderRowOutlet, NoDataRowOutlet, STICKY_DIRECTIONS, STICKY_POSITIONING_LISTENER, StickyStyler, TEXT_COLUMN_OPTIONS, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, _Schedule, mixinHasStickyInput };\n","import * as i1 from '@angular/cdk/platform';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options to pass to the animationstart listener. */\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n },\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, deps: [{ token: i1.Platform }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nAutofillMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }]; } });\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAutofill, deps: [{ token: i0.ElementRef }, { token: AutofillMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAutofill.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAutofill, selector: \"[cdkAutofill]\", outputs: { cdkAutofill: \"cdkAutofill\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAutofill, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AutofillMonitor }]; }, propDecorators: { cdkAutofill: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._isViewInited = false;\n /** Handles `focus` and `blur` events. */\n this._handleFocusEvent = (event) => {\n this._hasFocus = event.type === 'focus';\n };\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() {\n return this._minRows;\n }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() {\n return this._maxRows;\n }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n get placeholder() {\n return this._textareaElement.placeholder;\n }\n set placeholder(value) {\n this._cachedPlaceholderHeight = undefined;\n if (value) {\n this._textareaElement.setAttribute('placeholder', value);\n }\n else {\n this._textareaElement.removeAttribute('placeholder');\n }\n this._cacheTextareaPlaceholderHeight();\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ? `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ? `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n this._textareaElement.addEventListener('focus', this._handleFocusEvent);\n this._textareaElement.addEventListener('blur', this._handleFocusEvent);\n });\n this._isViewInited = true;\n this.resizeToFitContent(true);\n }\n }\n ngOnDestroy() {\n this._textareaElement.removeEventListener('focus', this._handleFocusEvent);\n this._textareaElement.removeEventListener('blur', this._handleFocusEvent);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n textareaClone.remove();\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n _measureScrollHeight() {\n const element = this._textareaElement;\n const previousMargin = element.style.marginBottom || '';\n const isFirefox = this._platform.FIREFOX;\n const needsMarginFiller = isFirefox && this._hasFocus;\n const measuringClass = isFirefox\n ? 'cdk-textarea-autosize-measuring-firefox'\n : 'cdk-textarea-autosize-measuring';\n // In some cases the page might move around while we're measuring the `textarea` on Firefox. We\n // work around it by assigning a temporary margin with the same height as the `textarea` so that\n // it occupies the same amount of space. See #23233.\n if (needsMarginFiller) {\n element.style.marginBottom = `${element.clientHeight}px`;\n }\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n element.classList.add(measuringClass);\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const scrollHeight = element.scrollHeight - 4;\n element.classList.remove(measuringClass);\n if (needsMarginFiller) {\n element.style.marginBottom = previousMargin;\n }\n return scrollHeight;\n }\n _cacheTextareaPlaceholderHeight() {\n if (!this._isViewInited || this._cachedPlaceholderHeight != undefined) {\n return;\n }\n if (!this.placeholder) {\n this._cachedPlaceholderHeight = 0;\n return;\n }\n const value = this._textareaElement.value;\n this._textareaElement.value = this._textareaElement.placeholder;\n this._cachedPlaceholderHeight = this._measureScrollHeight();\n this._textareaElement.value = value;\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n this._cacheTextareaPlaceholderHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const scrollHeight = this._measureScrollHeight();\n const height = Math.max(scrollHeight, this._cachedPlaceholderHeight || 0);\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && this._hasFocus) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextareaAutosize, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTextareaAutosize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"], placeholder: \"placeholder\" }, host: { attributes: { \"rows\": \"1\" }, listeners: { \"input\": \"_noopInputHandler()\" }, classAttribute: \"cdk-textarea-autosize\" }, exportAs: [\"cdkTextareaAutosize\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextareaAutosize, decorators: [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n '(input)': '_noopInputHandler()',\n },\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }];\n }, propDecorators: { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], placeholder: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TextFieldModule {\n}\nTextFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nTextFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, declarations: [CdkAutofill, CdkTextareaAutosize], exports: [CdkAutofill, CdkTextareaAutosize] });\nTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n exports: [CdkAutofill, CdkTextareaAutosize],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n","import { SelectionModel, isDataSource } from '@angular/cdk/collections';\nimport { isObservable, Subject, BehaviorSubject, of } from 'rxjs';\nimport { take, filter, takeUntil } from 'rxjs/operators';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Inject, Optional, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/bidi';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\nclass BaseTreeControl {\n constructor() {\n /** A selection model with multi-selection to track expansion status. */\n this.expansionModel = new SelectionModel(true);\n }\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode) {\n this.expansionModel.toggle(this._trackByValue(dataNode));\n }\n /** Expands one single data node. */\n expand(dataNode) {\n this.expansionModel.select(this._trackByValue(dataNode));\n }\n /** Collapses one single data node. */\n collapse(dataNode) {\n this.expansionModel.deselect(this._trackByValue(dataNode));\n }\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode) {\n return this.expansionModel.isSelected(this._trackByValue(dataNode));\n }\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode) {\n this.expansionModel.isSelected(this._trackByValue(dataNode))\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n /** Collapse all dataNodes in the tree. */\n collapseAll() {\n this.expansionModel.clear();\n }\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n _trackByValue(value) {\n return this.trackBy ? this.trackBy(value) : value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nclass FlatTreeControl extends BaseTreeControl {\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n constructor(getLevel, isExpandable, options) {\n super();\n this.getLevel = getLevel;\n this.isExpandable = isExpandable;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode) {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results = [];\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n }\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.select(...this.dataNodes.map(node => this._trackByValue(node)));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nclass NestedTreeControl extends BaseTreeControl {\n /** Construct with nested tree function getChildren. */\n constructor(getChildren, options) {\n super();\n this.getChildren = getChildren;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce((accumulator, dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode], []);\n this.expansionModel.select(...allNodes.map(node => this._trackByValue(node)));\n }\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode) {\n const descendants = [];\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n }\n /** A helper function to get descendants recursively. */\n _getDescendants(descendants, dataNode) {\n descendants.push(dataNode);\n const childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach((child) => this._getDescendants(descendants, child));\n }\n else if (isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(take(1), filter(Boolean)).subscribe(children => {\n for (const child of children) {\n this._getDescendants(descendants, child);\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\nconst CDK_TREE_NODE_OUTLET_NODE = new InjectionToken('CDK_TREE_NODE_OUTLET_NODE');\n/**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\nclass CdkTreeNodeOutlet {\n constructor(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n}\nCdkTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: CDK_TREE_NODE_OUTLET_NODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTreeNodeOutlet, selector: \"[cdkTreeNodeOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeOutlet]',\n }]\n }], ctorParameters: function () {\n return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TREE_NODE_OUTLET_NODE]\n }, {\n type: Optional\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Context provided to the tree node component. */\nclass CdkTreeNodeOutletContext {\n constructor(data) {\n this.$implicit = data;\n }\n}\n/**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\nclass CdkTreeNodeDef {\n /** @docs-private */\n constructor(template) {\n this.template = template;\n }\n}\nCdkTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTreeNodeDef, selector: \"[cdkTreeNodeDef]\", inputs: { when: [\"cdkTreeNodeDefWhen\", \"when\"] }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeDef]',\n inputs: ['when: cdkTreeNodeDefWhen'],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nfunction getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nfunction getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nfunction getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nfunction getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nfunction getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\n}\n\n/**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\nclass CdkTree {\n constructor(_differs, _changeDetectorRef) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /** Level of nodes */\n this._levels = new Map();\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n this.viewChange = new BehaviorSubject({\n start: 0,\n end: Number.MAX_VALUE,\n });\n }\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n ngOnInit() {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlMissingError();\n }\n }\n ngOnDestroy() {\n this._nodeOutlet.viewContainer.clear();\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n }\n ngAfterContentChecked() {\n const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);\n if (defaultNodeDefs.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n }\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n let dataStream;\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n }\n else if (isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n }\n else if (Array.isArray(this._dataSource)) {\n dataStream = of(this._dataSource);\n }\n if (dataStream) {\n this._dataSubscription = dataStream\n .pipe(takeUntil(this._onDestroy))\n .subscribe(data => this.renderNodeChanges(data));\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTreeNoValidDataSourceError();\n }\n }\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(data, dataDiffer = this._dataDiffer, viewContainer = this._nodeOutlet.viewContainer, parentData) {\n const changes = dataDiffer.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n this._levels.delete(item.item);\n }\n else {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n this._changeDetectorRef.detectChanges();\n }\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n _getNodeDef(data, i) {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n const nodeDef = this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;\n if (!nodeDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMissingMatchingNodeDefError();\n }\n return nodeDef;\n }\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData, index, viewContainer, parentData) {\n const node = this._getNodeDef(nodeData, index);\n // Node context that will be provided to created embedded view\n const context = new CdkTreeNodeOutletContext(nodeData);\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n }\n else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData) + 1;\n }\n else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n}\nCdkTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTree, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });\nCdkTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTree, selector: \"cdk-tree\", inputs: { dataSource: \"dataSource\", treeControl: \"treeControl\", trackBy: \"trackBy\" }, host: { attributes: { \"role\": \"tree\" }, classAttribute: \"cdk-tree\" }, queries: [{ propertyName: \"_nodeDefs\", predicate: CdkTreeNodeDef, descendants: true }], viewQueries: [{ propertyName: \"_nodeOutlet\", first: true, predicate: CdkTreeNodeOutlet, descendants: true, static: true }], exportAs: [\"cdkTree\"], ngImport: i0, template: ``, isInline: true, directives: [{ type: CdkTreeNodeOutlet, selector: \"[cdkTreeNodeOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTree, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: ``,\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: ViewEncapsulation.None,\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { dataSource: [{\n type: Input\n }], treeControl: [{\n type: Input\n }], trackBy: [{\n type: Input\n }], _nodeOutlet: [{\n type: ViewChild,\n args: [CdkTreeNodeOutlet, { static: true }]\n }], _nodeDefs: [{\n type: ContentChildren,\n args: [CdkTreeNodeDef, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }] } });\n/**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\nclass CdkTreeNode {\n constructor(_elementRef, _tree) {\n this._elementRef = _elementRef;\n this._tree = _tree;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** Emits when the node's data has changed. */\n this._dataChanges = new Subject();\n CdkTreeNode.mostRecentTreeNode = this;\n this.role = 'treeitem';\n }\n /**\n * The role of the tree node.\n * @deprecated The correct role is 'treeitem', 'group' should not be used. This input will be\n * removed in a future version.\n * @breaking-change 12.0.0 Remove this input\n */\n get role() {\n return 'treeitem';\n }\n set role(_role) {\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.setAttribute('role', _role);\n }\n /** The tree node's data. */\n get data() {\n return this._data;\n }\n set data(value) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n }\n get isExpanded() {\n return this._tree.treeControl.isExpanded(this._data);\n }\n get level() {\n // If the treeControl has a getLevel method, use it to get the level. Otherwise read the\n // aria-level off the parent node and use it as the level for this node (note aria-level is\n // 1-indexed, while this property is 0-indexed, so we don't need to increment).\n return this._tree.treeControl.getLevel\n ? this._tree.treeControl.getLevel(this._data)\n : this._parentNodeAriaLevel;\n }\n ngOnInit() {\n this._parentNodeAriaLevel = getParentNodeAriaLevel(this._elementRef.nativeElement);\n this._elementRef.nativeElement.setAttribute('aria-level', `${this.level + 1}`);\n }\n ngOnDestroy() {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Focuses the menu item. Implements for FocusableOption. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n // TODO: role should eventually just be set in the component host\n _setRoleFromData() {\n if (!this._tree.treeControl.isExpandable &&\n !this._tree.treeControl.getChildren &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n this.role = 'treeitem';\n }\n}\n/**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\nCdkTreeNode.mostRecentTreeNode = null;\nCdkTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTreeNode, selector: \"cdk-tree-node\", inputs: { role: \"role\" }, host: { properties: { \"attr.aria-expanded\": \"isExpanded\" }, classAttribute: \"cdk-tree-node\" }, exportAs: [\"cdkTreeNode\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNode, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n 'class': 'cdk-tree-node',\n '[attr.aria-expanded]': 'isExpanded',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }]; }, propDecorators: { role: [{\n type: Input\n }] } });\nfunction getParentNodeAriaLevel(nodeElement) {\n let parent = nodeElement.parentElement;\n while (parent && !isNodeElement(parent)) {\n parent = parent.parentElement;\n }\n if (!parent) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw Error('Incorrect tree structure containing detached node.');\n }\n else {\n return -1;\n }\n }\n else if (parent.classList.contains('cdk-nested-tree-node')) {\n return coerceNumberProperty(parent.getAttribute('aria-level'));\n }\n else {\n // The ancestor element is the cdk-tree itself\n return 0;\n }\n}\nfunction isNodeElement(element) {\n const classList = element.classList;\n return !!((classList === null || classList === void 0 ? void 0 : classList.contains('cdk-nested-tree-node')) || (classList === null || classList === void 0 ? void 0 : classList.contains('cdk-tree')));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Nested node is a child of ``. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\nclass CdkNestedTreeNode extends CdkTreeNode {\n constructor(elementRef, tree, _differs) {\n super(elementRef, tree);\n this._differs = _differs;\n }\n ngAfterContentInit() {\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes);\n }\n else if (isObservable(childrenNodes)) {\n childrenNodes\n .pipe(takeUntil(this._destroyed))\n .subscribe(result => this.updateChildrenNodes(result));\n }\n this.nodeOutlet.changes\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateChildrenNodes());\n }\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n this._clear();\n super.ngOnDestroy();\n }\n /** Add children dataNodes to the NodeOutlet */\n updateChildrenNodes(children) {\n const outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n const viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n }\n else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n }\n /** Clear the children dataNodes. */\n _clear() {\n const outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n }\n /** Gets the outlet for the current node. */\n _getNodeOutlet() {\n const outlets = this.nodeOutlet;\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);\n }\n}\nCdkNestedTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkNestedTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nCdkNestedTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkNestedTreeNode, selector: \"cdk-nested-tree-node\", inputs: { role: \"role\", disabled: \"disabled\", tabIndex: \"tabIndex\" }, host: { classAttribute: \"cdk-nested-tree-node\" }, providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },\n ], queries: [{ propertyName: \"nodeOutlet\", predicate: CdkTreeNodeOutlet, descendants: true }], exportAs: [\"cdkNestedTreeNode\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkNestedTreeNode, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },\n ],\n host: {\n 'class': 'cdk-nested-tree-node',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }, { type: i0.IterableDiffers }]; }, propDecorators: { nodeOutlet: [{\n type: ContentChildren,\n args: [CdkTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }] } });\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\nclass CdkTreeNodePadding {\n constructor(_treeNode, _tree, _element, _dir) {\n this._treeNode = _treeNode;\n this._tree = _tree;\n this._element = _element;\n this._dir = _dir;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** CSS units used for the indentation value. */\n this.indentUnits = 'px';\n this._indent = 40;\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));\n }\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(() => this._setPadding());\n }\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get level() {\n return this._level;\n }\n set level(value) {\n this._setLevelInput(value);\n }\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n get indent() {\n return this._indent;\n }\n set indent(indent) {\n this._setIndentInput(indent);\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n _paddingIndent() {\n const nodeLevel = this._treeNode.data && this._tree.treeControl.getLevel\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n const level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;\n }\n _setPadding(forceChange = false) {\n const padding = this._paddingIndent();\n if (padding !== this._currentPadding || forceChange) {\n const element = this._element.nativeElement;\n const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setLevelInput(value) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null);\n this._setPadding();\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setIndentInput(indent) {\n let value = indent;\n let units = 'px';\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this._setPadding();\n }\n}\nCdkTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodePadding, deps: [{ token: CdkTreeNode }, { token: CdkTree }, { token: i0.ElementRef }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTreeNodePadding, selector: \"[cdkTreeNodePadding]\", inputs: { level: [\"cdkTreeNodePadding\", \"level\"], indent: [\"cdkTreeNodePaddingIndent\", \"indent\"] }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodePadding, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodePadding]',\n }]\n }], ctorParameters: function () {\n return [{ type: CdkTreeNode }, { type: CdkTree }, { type: i0.ElementRef }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }];\n }, propDecorators: { level: [{\n type: Input,\n args: ['cdkTreeNodePadding']\n }], indent: [{\n type: Input,\n args: ['cdkTreeNodePaddingIndent']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Node toggle to expand/collapse the node.\n */\nclass CdkTreeNodeToggle {\n constructor(_tree, _treeNode) {\n this._tree = _tree;\n this._treeNode = _treeNode;\n this._recursive = false;\n }\n /** Whether expand/collapse the node recursively. */\n get recursive() {\n return this._recursive;\n }\n set recursive(value) {\n this._recursive = coerceBooleanProperty(value);\n }\n _toggle(event) {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n event.stopPropagation();\n }\n}\nCdkTreeNodeToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeToggle, deps: [{ token: CdkTree }, { token: CdkTreeNode }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTreeNodeToggle, selector: \"[cdkTreeNodeToggle]\", inputs: { recursive: [\"cdkTreeNodeToggleRecursive\", \"recursive\"] }, host: { listeners: { \"click\": \"_toggle($event)\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeNodeToggle, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkTree }, { type: CdkTreeNode }]; }, propDecorators: { recursive: [{\n type: Input,\n args: ['cdkTreeNodeToggleRecursive']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n];\nclass CdkTreeModule {\n}\nCdkTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeModule, declarations: [CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet], exports: [CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet] });\nCdkTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTreeModule, decorators: [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseTreeControl, CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeModule, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutlet, CdkTreeNodeOutletContext, CdkTreeNodePadding, CdkTreeNodeToggle, FlatTreeControl, NestedTreeControl, getTreeControlFunctionsMissingError, getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError };\n","/**\n * @license Angular v13.4.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, NgModuleRef, ComponentFactoryResolver, ɵRuntimeError, inject, ɵformatRuntimeError, InjectFlags, NgZone, Renderer2, ElementRef, Injector, PLATFORM_ID, NgModule, Host, Attribute, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, Version, ɵɵdefineInjectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }];\n } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: provideLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }] });\nfunction provideLocationStrategy(platformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\n}\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PathLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () {\n return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () {\n return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._platformLocation.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformStrategy).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }, { token: PlatformLocation }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, \"р.\", 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RUR\": [undefined, \"р.\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\n }] });\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgClass, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n * @nodoc\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch (_a) {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const viewContainer = this._viewContainer;\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgForOf, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgIf, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Assembles directive details string, useful for error messages.\nfunction imgDirectiveDetails(ngSrc, includeNgSrc = true) {\n const ngSrcInfo = includeNgSrc ? `(activated on an element with the \\`ngSrc=\"${ngSrc}\"\\`) ` : '';\n return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Converts a string that represents a URL into a URL class instance.\nfunction getUrl(src, win) {\n // Don't use a base URL is the URL is absolute.\n return isAbsoluteUrl(src) ? new URL(src) : new URL(src, win.location.href);\n}\n// Checks whether a URL is absolute (i.e. starts with `http://` or `https://`).\nfunction isAbsoluteUrl(src) {\n return /^https?:\\/\\//.test(src);\n}\n// Given a URL, extract the hostname part.\n// If a URL is a relative one - the URL is returned as is.\nfunction extractHostname(url) {\n return isAbsoluteUrl(url) ? (new URL(url)).hostname : url;\n}\nfunction isValidPath(path) {\n const isString = typeof path === 'string';\n if (!isString || path.trim() === '') {\n return false;\n }\n // Calling new URL() will throw if the path string is malformed\n try {\n const url = new URL(path);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction normalizePath(path) {\n return path.endsWith('/') ? path.slice(0, -1) : path;\n}\nfunction normalizeSrc(src) {\n return src.startsWith('/') ? src.slice(1) : src;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Noop image loader that does no transformation to the original src and just returns it as is.\n * This loader is used as a default one if more specific logic is not provided in an app config.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n */\nconst noopImageLoader = (config) => config.src;\n/**\n * Injection token that configures the image loader function.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n * @publicApi\n */\nconst IMAGE_LOADER = new InjectionToken('ImageLoader', {\n providedIn: 'root',\n factory: () => noopImageLoader,\n});\n/**\n * Internal helper function that makes it easier to introduce custom image loaders for the\n * `NgOptimizedImage` directive. It is enough to specify a URL builder function to obtain full DI\n * configuration for a given loader: a DI token corresponding to the actual loader function, plus DI\n * tokens managing preconnect check functionality.\n * @param buildUrlFn a function returning a full URL based on loader's configuration\n * @param exampleUrls example of full URLs for a given loader (used in error messages)\n * @returns a set of DI providers corresponding to the configured image loader\n */\nfunction createImageLoader(buildUrlFn, exampleUrls) {\n return function provideImageLoader(path) {\n if (!isValidPath(path)) {\n throwInvalidPathError(path, exampleUrls || []);\n }\n // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in\n // the individual loader functions.\n path = normalizePath(path);\n const loaderFn = (config) => {\n if (isAbsoluteUrl(config.src)) {\n // Image loader functions expect an image file name (e.g. `my-image.png`)\n // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,\n // so the final absolute URL can be constructed.\n // When an absolute URL is provided instead - the loader can not\n // build a final URL, thus the error is thrown to indicate that.\n throwUnexpectedAbsoluteUrlError(path, config.src);\n }\n return buildUrlFn(path, Object.assign(Object.assign({}, config), { src: normalizeSrc(config.src) }));\n };\n const providers = [{ provide: IMAGE_LOADER, useValue: loaderFn }];\n return providers;\n };\n}\nfunction throwInvalidPathError(path, exampleUrls) {\n throw new ɵRuntimeError(2959 /* INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);\n}\nfunction throwUnexpectedAbsoluteUrlError(path, url) {\n throw new ɵRuntimeError(2959 /* INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected a \\`\\` tag with an invalid \\`ngSrc\\` attribute: ${url}. ` +\n `This image loader expects \\`ngSrc\\` to be a relative URL - ` +\n `however the provided value is an absolute URL. ` +\n `To fix this, provide \\`ngSrc\\` as a path relative to the base URL ` +\n `configured for this loader (\\`${path}\\`).`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for Cloudinary.\n */\nconst cloudinaryLoaderInfo = {\n name: 'Cloudinary',\n testUrl: isCloudinaryUrl\n};\nconst CLOUDINARY_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.cloudinary\\.com\\/.+/;\n/**\n * Tests whether a URL is from Cloudinary CDN.\n */\nfunction isCloudinaryUrl(url) {\n return CLOUDINARY_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Cloudinary and turns it into an Angular provider.\n *\n * @param path Base URL of your Cloudinary images\n * This URL should match one of the following formats:\n * https://res.cloudinary.com/mysite\n * https://mysite.cloudinary.com\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n */\nconst provideCloudinaryLoader = createImageLoader(createCloudinaryUrl, ngDevMode ?\n [\n 'https://res.cloudinary.com/mysite', 'https://mysite.cloudinary.com',\n 'https://subdomain.mysite.com'\n ] :\n undefined);\n// Exported for testing purposes in backport only. Not to be accessed except in unit tests.\nfunction createCloudinaryUrl(path, config) {\n // Cloudinary image URLformat:\n // https://cloudinary.com/documentation/image_transformations#transformation_url_structure\n // Example of a Cloudinary image URL:\n // https://res.cloudinary.com/mysite/image/upload/c_scale,f_auto,q_auto,w_600/marketing/tile-topics-m.png\n let params = `f_auto,q_auto`; // sets image format and quality to \"auto\"\n if (config.width) {\n params += `,w_${config.width}`;\n }\n return `${path}/image/upload/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for ImageKit.\n */\nconst imageKitLoaderInfo = {\n name: 'ImageKit',\n testUrl: isImageKitUrl\n};\nconst IMAGE_KIT_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imagekit\\.io\\/.+/;\n/**\n * Tests whether a URL is from ImageKit CDN.\n */\nfunction isImageKitUrl(url) {\n return IMAGE_KIT_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for ImageKit and turns it into an Angular provider.\n *\n * @param path Base URL of your ImageKit images\n * This URL should match one of the following formats:\n * https://ik.imagekit.io/myaccount\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n */\nconst provideImageKitLoader = createImageLoader(createImagekitUrl, ngDevMode ? ['https://ik.imagekit.io/mysite', 'https://subdomain.mysite.com'] : undefined);\nfunction createImagekitUrl(path, config) {\n // Example of an ImageKit image URL:\n // https://ik.imagekit.io/demo/tr:w-300,h-300/medium_cafe_B1iTdD0C.jpg\n let params = `tr:q-auto`; // applies the \"auto quality\" transformation\n if (config.width) {\n params += `,w-${config.width}`;\n }\n return `${path}/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for Imgix.\n */\nconst imgixLoaderInfo = {\n name: 'Imgix',\n testUrl: isImgixUrl\n};\nconst IMGIX_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imgix\\.net\\/.+/;\n/**\n * Tests whether a URL is from Imgix CDN.\n */\nfunction isImgixUrl(url) {\n return IMGIX_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Imgix and turns it into an Angular provider.\n *\n * @param path path to the desired Imgix origin,\n * e.g. https://somepath.imgix.net or https://images.mysite.com\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n */\nconst provideImgixLoader = createImageLoader(createImgixUrl, ngDevMode ? ['https://somepath.imgix.net/'] : undefined);\n// Exported for testing purposes in backport only. Not to be accessed except in unit tests.\nfunction createImgixUrl(path, config) {\n const url = new URL(`${path}/${config.src}`);\n // This setting ensures the smallest allowable format is set.\n url.searchParams.set('auto', 'format');\n if (config.width) {\n url.searchParams.set('w', config.width.toString());\n }\n return url.href;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Asserts that the application is in development mode. Throws an error if the application is in\n * production mode. This assert can be used to make sure that there is no dev-mode code invoked in\n * the prod mode accidentally.\n */\nfunction assertDevMode(checkName) {\n if (!ngDevMode) {\n throw new ɵRuntimeError(2958 /* UNEXPECTED_DEV_MODE_CHECK_IN_PROD_MODE */, `Unexpected invocation of the ${checkName} in the prod mode. ` +\n `Please make sure that the prod mode is enabled for production builds.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Observer that detects whether an image with `NgOptimizedImage`\n * is treated as a Largest Contentful Paint (LCP) element. If so,\n * asserts that the image has the `priority` attribute.\n *\n * Note: this is a dev-mode only class and it does not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n *\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript.\n */\nclass LCPImageObserver {\n constructor() {\n // Map of full image URLs -> original `ngSrc` values.\n this.images = new Map();\n // Keep track of images for which `console.warn` was produced.\n this.alreadyWarned = new Set();\n this.window = null;\n this.observer = null;\n assertDevMode('LCP checker');\n const win = inject(DOCUMENT).defaultView;\n if (typeof win !== 'undefined' && typeof PerformanceObserver !== 'undefined') {\n this.window = win;\n this.observer = this.initPerformanceObserver();\n }\n }\n /**\n * Inits PerformanceObserver and subscribes to LCP events.\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript\n */\n initPerformanceObserver() {\n const observer = new PerformanceObserver((entryList) => {\n var _a, _b;\n const entries = entryList.getEntries();\n if (entries.length === 0)\n return;\n // We use the latest entry produced by the `PerformanceObserver` as the best\n // signal on which element is actually an LCP one. As an example, the first image to load on\n // a page, by virtue of being the only thing on the page so far, is often a LCP candidate\n // and gets reported by PerformanceObserver, but isn't necessarily the LCP element.\n const lcpElement = entries[entries.length - 1];\n // Cast to `any` due to missing `element` on the `LargestContentfulPaint` type of entry.\n // See https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint\n const imgSrc = (_b = (_a = lcpElement.element) === null || _a === void 0 ? void 0 : _a.src) !== null && _b !== void 0 ? _b : '';\n // Exclude `data:` and `blob:` URLs, since they are not supported by the directive.\n if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:'))\n return;\n const imgNgSrc = this.images.get(imgSrc);\n if (imgNgSrc && !this.alreadyWarned.has(imgSrc)) {\n this.alreadyWarned.add(imgSrc);\n logMissingPriorityWarning(imgSrc);\n }\n });\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n return observer;\n }\n registerImage(rewrittenSrc, originalNgSrc) {\n if (!this.observer)\n return;\n this.images.set(getUrl(rewrittenSrc, this.window).href, originalNgSrc);\n }\n unregisterImage(rewrittenSrc) {\n if (!this.observer)\n return;\n this.images.delete(getUrl(rewrittenSrc, this.window).href);\n }\n ngOnDestroy() {\n if (!this.observer)\n return;\n this.observer.disconnect();\n this.images.clear();\n this.alreadyWarned.clear();\n }\n}\nLCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LCPImageObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\nfunction logMissingPriorityWarning(ngSrc) {\n const directiveDetails = imgDirectiveDetails(ngSrc);\n console.warn(ɵformatRuntimeError(2955 /* LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +\n `element but was not marked \"priority\". This image should be marked ` +\n `\"priority\" in order to prioritize its loading. ` +\n `To fix this, add the \"priority\" attribute.`));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Set of origins that are always excluded from the preconnect checks.\nconst INTERNAL_PRECONNECT_CHECK_BLOCKLIST = new Set(['localhost', '127.0.0.1', '0.0.0.0']);\n/**\n * Injection token to configure which origins should be excluded\n * from the preconnect checks. It can either be a single string or an array of strings\n * to represent a group of origins, for example:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST,\n * useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n */\nconst PRECONNECT_CHECK_BLOCKLIST = new InjectionToken('PRECONNECT_CHECK_BLOCKLIST');\n/**\n * Contains the logic to detect whether an image, marked with the \"priority\" attribute\n * has a corresponding `` tag in the `document.head`.\n *\n * Note: this is a dev-mode only class, which should not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n */\nclass PreconnectLinkChecker {\n constructor() {\n /**\n * Set of tags found on this page.\n * The `null` value indicates that there was no DOM query operation performed.\n */\n this.preconnectLinks = null;\n /*\n * Keep track of all already seen origin URLs to avoid repeating the same check.\n */\n this.alreadySeen = new Set();\n this.window = null;\n this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);\n this.document = inject(DOCUMENT);\n assertDevMode('preconnect link checker');\n const win = this.document.defaultView;\n if (typeof win !== 'undefined') {\n this.window = win;\n }\n const blocklist = inject(PRECONNECT_CHECK_BLOCKLIST, InjectFlags.Optional);\n if (blocklist) {\n this.populateBlocklist(blocklist);\n }\n }\n populateBlocklist(origins) {\n if (Array.isArray(origins)) {\n deepForEach(origins, origin => {\n this.blocklist.add(extractHostname(origin));\n });\n }\n else {\n this.blocklist.add(extractHostname(origins));\n }\n }\n /**\n * Checks that a preconnect resource hint exists in the head for the\n * given src.\n *\n * @param rewrittenSrc src formatted with loader\n * @param originalNgSrc ngSrc value\n */\n assertPreconnect(rewrittenSrc, originalNgSrc) {\n if (!this.window)\n return;\n const imgUrl = getUrl(rewrittenSrc, this.window);\n if (this.blocklist.has(imgUrl.hostname) || this.alreadySeen.has(imgUrl.origin))\n return;\n // Register this origin as seen, so we don't check it again later.\n this.alreadySeen.add(imgUrl.origin);\n if (!this.preconnectLinks) {\n // Note: we query for preconnect links only *once* and cache the results\n // for the entire lifespan of an application, since it's unlikely that the\n // list would change frequently. This allows to make sure there are no\n // performance implications of making extra DOM lookups for each image.\n this.preconnectLinks = this.queryPreconnectLinks();\n }\n if (!this.preconnectLinks.has(imgUrl.origin)) {\n console.warn(ɵformatRuntimeError(2956 /* PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` +\n `image. Preconnecting to the origin(s) that serve priority images ensures that these ` +\n `images are delivered as soon as possible. To fix this, please add the following ` +\n `element into the of the document:\\n` +\n ` `));\n }\n }\n queryPreconnectLinks() {\n const preconnectUrls = new Set();\n const selector = 'link[rel=preconnect]';\n const links = Array.from(this.document.querySelectorAll(selector));\n for (let link of links) {\n const url = getUrl(link.href, this.window);\n preconnectUrls.add(url.origin);\n }\n return preconnectUrls;\n }\n ngOnDestroy() {\n var _a;\n (_a = this.preconnectLinks) === null || _a === void 0 ? void 0 : _a.clear();\n this.alreadySeen.clear();\n }\n}\nPreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreconnectLinkChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\n/**\n * Invokes a callback for each element in the array. Also invokes a callback\n * recursively for each nested array.\n */\nfunction deepForEach(input, fn) {\n for (let value of input) {\n Array.isArray(value) ? deepForEach(value, fn) : fn(value);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * In SSR scenarios, a preload `` element is generated for priority images.\n * Having a large number of preload tags may negatively affect the performance,\n * so we warn developers (by throwing an error) if the number of preloaded images\n * is above a certain threshold. This const specifies this threshold.\n */\nconst DEFAULT_PRELOADED_IMAGES_LIMIT = 5;\n/**\n * Helps to keep track of priority images that already have a corresponding\n * preload tag (to avoid generating multiple preload tags with the same URL).\n *\n * This Set tracks the original src passed into the `ngSrc` input not the src after it has been\n * run through the specified `IMAGE_LOADER`.\n */\nconst PRELOADED_IMAGES = new InjectionToken('NG_OPTIMIZED_PRELOADED_IMAGES', { providedIn: 'root', factory: () => new Set() });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description Contains the logic needed to track and add preload link tags to the `` tag. It\n * will also track what images have already had preload link tags added so as to not duplicate link\n * tags.\n *\n * In dev mode this service will validate that the number of preloaded images does not exceed the\n * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.\n */\nclass PreloadLinkCreator {\n constructor() {\n this.preloadedImages = inject(PRELOADED_IMAGES);\n this.document = inject(DOCUMENT);\n }\n /**\n * @description Add a preload `` to the `` of the `index.html` that is served from the\n * server while using Angular Universal and SSR to kick off image loads for high priority images.\n *\n * The `sizes` (passed in from the user) and `srcset` (parsed and formatted from `ngSrcset`)\n * properties used to set the corresponding attributes, `imagesizes` and `imagesrcset`\n * respectively, on the preload `` tag so that the correctly sized image is preloaded from\n * the CDN.\n *\n * {@link https://web.dev/preload-responsive-images/#imagesrcset-and-imagesizes}\n *\n * @param renderer The `Renderer2` passed in from the directive\n * @param src The original src of the image that is set on the `ngSrc` input.\n * @param srcset The parsed and formatted srcset created from the `ngSrcset` input\n * @param sizes The value of the `sizes` attribute passed in to the `` tag\n */\n createPreloadLinkTag(renderer, src, srcset, sizes) {\n if (ngDevMode) {\n if (this.preloadedImages.size >= DEFAULT_PRELOADED_IMAGES_LIMIT) {\n throw new ɵRuntimeError(2961 /* TOO_MANY_PRELOADED_IMAGES */, ngDevMode &&\n `The \\`NgOptimizedImage\\` directive has detected that more than ` +\n `${DEFAULT_PRELOADED_IMAGES_LIMIT} images were marked as priority. ` +\n `This might negatively affect an overall performance of the page. ` +\n `To fix this, remove the \"priority\" attribute from images with less priority.`);\n }\n }\n if (this.preloadedImages.has(src)) {\n return;\n }\n this.preloadedImages.add(src);\n const preload = renderer.createElement('link');\n renderer.setAttribute(preload, 'as', 'image');\n renderer.setAttribute(preload, 'href', src);\n renderer.setAttribute(preload, 'rel', 'preload');\n renderer.setAttribute(preload, 'fetchpriority', 'high');\n if (sizes) {\n renderer.setAttribute(preload, 'imageSizes', sizes);\n }\n if (srcset) {\n renderer.setAttribute(preload, 'imageSrcset', srcset);\n }\n renderer.appendChild(this.document.head, preload);\n }\n}\nPreloadLinkCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreloadLinkCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PreloadLinkCreator, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * When a Base64-encoded image is passed as an input to the `NgOptimizedImage` directive,\n * an error is thrown. The image content (as a string) might be very long, thus making\n * it hard to read an error message if the entire string is included. This const defines\n * the number of characters that should be included into the error message. The rest\n * of the content is truncated.\n */\nconst BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;\n/**\n * RegExpr to determine whether a src in a srcset is using width descriptors.\n * Should match something like: \"100w, 200w\".\n */\nconst VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\\s*\\d+w\\s*(,|$)){1,})$/;\n/**\n * RegExpr to determine whether a src in a srcset is using density descriptors.\n * Should match something like: \"1x, 2x, 50x\". Also supports decimals like \"1.5x, 1.50x\".\n */\nconst VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\\s*\\d+(\\.\\d+)?x\\s*(,|$)){1,})$/;\n/**\n * Srcset values with a density descriptor higher than this value will actively\n * throw an error. Such densities are not permitted as they cause image sizes\n * to be unreasonably large and slow down LCP.\n */\nconst ABSOLUTE_SRCSET_DENSITY_CAP = 3;\n/**\n * Used only in error message text to communicate best practices, as we will\n * only throw based on the slightly more conservative ABSOLUTE_SRCSET_DENSITY_CAP.\n */\nconst RECOMMENDED_SRCSET_DENSITY_CAP = 2;\n/**\n * Used in generating automatic density-based srcsets\n */\nconst DENSITY_SRCSET_MULTIPLIERS = [1, 2];\n/**\n * Used to determine which breakpoints to use on full-width images\n */\nconst VIEWPORT_BREAKPOINT_CUTOFF = 640;\n/**\n * Used to determine whether two aspect ratios are similar in value.\n */\nconst ASPECT_RATIO_TOLERANCE = .1;\n/**\n * Used to determine whether the image has been requested at an overly\n * large size compared to the actual rendered image size (after taking\n * into account a typical device pixel ratio). In pixels.\n */\nconst OVERSIZED_IMAGE_TOLERANCE = 1000;\n/**\n * Used to limit automatic srcset generation of very large sources for\n * fixed-size images. In pixels.\n */\nconst FIXED_SRCSET_WIDTH_LIMIT = 1920;\nconst FIXED_SRCSET_HEIGHT_LIMIT = 1080;\n/** Info about built-in loaders we can test for. */\nconst BUILT_IN_LOADERS = [imgixLoaderInfo, imageKitLoaderInfo, cloudinaryLoaderInfo];\nconst defaultConfig = {\n breakpoints: [16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n};\n/**\n * Injection token that configures the image optimized image functionality.\n *\n * @see `NgOptimizedImage`\n * @publicApi\n */\nconst IMAGE_CONFIG = new InjectionToken('ImageConfig', { providedIn: 'root', factory: () => defaultConfig });\n/**\n * @ngModule NgOptimizedImageModule\n *\n * @description\n *\n * Directive that improves image loading performance by enforcing best practices.\n *\n * `NgOptimizedImage` ensures that the loading of the Largest Contentful Paint (LCP) image is\n * prioritized by:\n * - Automatically setting the `fetchpriority` attribute on the `` tag\n * - Lazy loading non-priority images by default\n * - Asserting that there is a corresponding preconnect link tag in the document head\n *\n * In addition, the directive:\n * - Generates appropriate asset URLs if a corresponding `ImageLoader` function is provided\n * - Automatically generates a srcset\n * - Requires that `width` and `height` are set\n * - Warns if `width` or `height` have been set incorrectly\n * - Warns if the image will be visually distorted when rendered\n *\n * @usageNotes\n *\n * Follow the steps below to enable and use the directive:\n * 1. Import it into the necessary NgModule Component.\n * 2. Optionally provide an `ImageLoader` if you use an image hosting service.\n * 3. Update the necessary `` tags in templates and replace `src` attributes with `ngSrc`.\n * Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image\n * download.\n *\n * Step 1: import the `NgOptimizedImage` directive.\n *\n * ```typescript\n * import { NgOptimizedImageModule } from '@angular/common';\n *\n * // Include it into the necessary NgModule\n * @NgModule({\n * imports: [NgOptimizedImageModule],\n * })\n * class AppModule {}\n *\n *\n * Step 2: configure a loader.\n *\n * To use the **default loader**: no additional code changes are necessary. The URL returned by the\n * generic loader will always match the value of \"src\". In other words, this loader applies no\n * transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.\n *\n * To use an existing loader for a **third-party image service**: add the provider factory for your\n * chosen service to the `providers` array. In the example below, the Imgix loader is used:\n *\n * ```typescript\n * import {provideImgixLoader} from '@angular/common';\n *\n * // Call the function and add the result to the `providers` array:\n * providers: [\n * provideImgixLoader(\"https://my.base.url/\"),\n * ],\n * ```\n *\n * The `NgOptimizedImage` directive provides the following functions:\n * - `provideCloudflareLoader`\n * - `provideCloudinaryLoader`\n * - `provideImageKitLoader`\n * - `provideImgixLoader`\n *\n * If you use a different image provider, you can create a custom loader function as described\n * below.\n *\n * To use a **custom loader**: provide your loader function as a value for the `IMAGE_LOADER` DI\n * token.\n *\n * ```typescript\n * import {IMAGE_LOADER, ImageLoaderConfig} from '@angular/common';\n *\n * // Configure the loader using the `IMAGE_LOADER` token.\n * providers: [\n * {\n * provide: IMAGE_LOADER,\n * useValue: (config: ImageLoaderConfig) => {\n * return `https://example.com/${config.src}-${config.width}.jpg}`;\n * }\n * },\n * ],\n * ```\n *\n * Step 3: update `` tags in templates to use `ngSrc` instead of `src`.\n *\n * ```\n * \n * ```\n *\n * @publicApi\n */\nclass NgOptimizedImage {\n constructor(imageLoader, config, renderer, elementRef, injector, platformId, preloadLinkChecker) {\n this.imageLoader = imageLoader;\n this.config = config;\n this.renderer = renderer;\n this.elementRef = elementRef;\n this.injector = injector;\n this.platformId = platformId;\n this.preloadLinkChecker = preloadLinkChecker;\n /**\n * Calculate the rewritten `src` once and store it.\n * This is needed to avoid repetitive calculations and make sure the directive cleanup in the\n * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other\n * instance that might be already destroyed).\n */\n this._renderedSrc = null;\n this._priority = false;\n this._disableOptimizedSrcset = false;\n this._fill = false;\n this.config = processConfig(this.config);\n this.imgElement = this.elementRef.nativeElement;\n this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;\n }\n /**\n * For responsive images: the intrinsic width of the image in pixels.\n * For fixed size images: the desired rendered width of the image in pixels.\n */\n set width(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'width');\n this._width = inputToInteger(value);\n }\n get width() {\n return this._width;\n }\n /**\n * For responsive images: the intrinsic height of the image in pixels.\n * For fixed size images: the desired rendered height of the image in pixels.* The intrinsic\n * height of the image in pixels.\n */\n set height(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'height');\n this._height = inputToInteger(value);\n }\n get height() {\n return this._height;\n }\n /**\n * Indicates whether this image should have a high priority.\n */\n set priority(value) {\n this._priority = inputToBoolean(value);\n }\n get priority() {\n return this._priority;\n }\n /**\n * Disables automatic srcset generation for this image.\n */\n set disableOptimizedSrcset(value) {\n this._disableOptimizedSrcset = inputToBoolean(value);\n }\n get disableOptimizedSrcset() {\n return this._disableOptimizedSrcset;\n }\n /**\n * Sets the image to \"fill mode\", which eliminates the height/width requirement and adds\n * styles such that the image fills its containing element.\n */\n set fill(value) {\n this._fill = inputToBoolean(value);\n }\n get fill() {\n return this._fill;\n }\n /** @nodoc */\n ngOnInit() {\n if (ngDevMode) {\n assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n assertValidNgSrcset(this, this.ngSrcset);\n assertNoConflictingSrc(this);\n if (this.ngSrcset) {\n assertNoConflictingSrcset(this);\n }\n assertNotBase64Image(this);\n assertNotBlobUrl(this);\n if (this.fill) {\n assertEmptyWidthAndHeight(this);\n assertNonZeroRenderedHeight(this, this.imgElement, this.renderer);\n }\n else {\n assertNonEmptyWidthAndHeight(this);\n // Only check for distorted images when not in fill mode, where\n // images may be intentionally stretched, cropped or letterboxed.\n assertNoImageDistortion(this, this.imgElement, this.renderer);\n }\n assertValidLoadingInput(this);\n if (!this.ngSrcset) {\n assertNoComplexSizes(this);\n }\n assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);\n assertNoNgSrcsetWithoutLoader(this, this.imageLoader);\n assertNoLoaderParamsWithoutLoader(this, this.imageLoader);\n if (this.priority) {\n const checker = this.injector.get(PreconnectLinkChecker);\n checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);\n }\n else {\n // Monitor whether an image is an LCP element only in case\n // the `priority` attribute is missing. Otherwise, an image\n // has the necessary settings and no extra checks are required.\n if (this.lcpObserver !== null) {\n const ngZone = this.injector.get(NgZone);\n ngZone.runOutsideAngular(() => {\n this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc);\n });\n }\n }\n }\n this.setHostAttributes();\n }\n setHostAttributes() {\n // Must set width/height explicitly in case they are bound (in which case they will\n // only be reflected and not found by the browser)\n if (this.fill) {\n if (!this.sizes) {\n this.sizes = '100vw';\n }\n this.renderer.setStyle(this.imgElement, 'position', 'absolute');\n this.renderer.setStyle(this.imgElement, 'width', '100%');\n this.renderer.setStyle(this.imgElement, 'height', '100%');\n this.renderer.setStyle(this.imgElement, 'inset', '0px');\n }\n else {\n this.setHostAttribute('width', this.width.toString());\n this.setHostAttribute('height', this.height.toString());\n }\n this.setHostAttribute('loading', this.getLoadingBehavior());\n this.setHostAttribute('fetchpriority', this.getFetchPriority());\n // The `data-ng-img` attribute flags an image as using the directive, to allow\n // for analysis of the directive's performance.\n this.setHostAttribute('ng-img', 'true');\n // The `src` and `srcset` attributes should be set last since other attributes\n // could affect the image's loading behavior.\n const rewrittenSrc = this.getRewrittenSrc();\n this.setHostAttribute('src', rewrittenSrc);\n let rewrittenSrcset = undefined;\n if (this.sizes) {\n this.setHostAttribute('sizes', this.sizes);\n }\n if (this.ngSrcset) {\n rewrittenSrcset = this.getRewrittenSrcset();\n }\n else if (this.shouldGenerateAutomaticSrcset()) {\n rewrittenSrcset = this.getAutomaticSrcset();\n }\n if (rewrittenSrcset) {\n this.setHostAttribute('srcset', rewrittenSrcset);\n }\n if (isPlatformServer(this.platformId) && this.priority) {\n this.preloadLinkChecker.createPreloadLinkTag(this.renderer, rewrittenSrc, rewrittenSrcset, this.sizes);\n }\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (ngDevMode) {\n assertNoPostInitInputChange(this, changes, [\n 'ngSrc',\n 'ngSrcset',\n 'width',\n 'height',\n 'priority',\n 'fill',\n 'loading',\n 'sizes',\n 'loaderParams',\n 'disableOptimizedSrcset',\n ]);\n }\n }\n callImageLoader(configWithoutCustomParams) {\n let augmentedConfig = configWithoutCustomParams;\n if (this.loaderParams) {\n augmentedConfig.loaderParams = this.loaderParams;\n }\n return this.imageLoader(augmentedConfig);\n }\n getLoadingBehavior() {\n if (!this.priority && this.loading !== undefined) {\n return this.loading;\n }\n return this.priority ? 'eager' : 'lazy';\n }\n getFetchPriority() {\n return this.priority ? 'high' : 'auto';\n }\n getRewrittenSrc() {\n // ImageLoaderConfig supports setting a width property. However, we're not setting width here\n // because if the developer uses rendered width instead of intrinsic width in the HTML width\n // attribute, the image requested may be too small for 2x+ screens.\n if (!this._renderedSrc) {\n const imgConfig = { src: this.ngSrc };\n // Cache calculated image src to reuse it later in the code.\n this._renderedSrc = this.callImageLoader(imgConfig);\n }\n return this._renderedSrc;\n }\n getRewrittenSrcset() {\n const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);\n const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {\n srcStr = srcStr.trim();\n const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;\n return `${this.callImageLoader({ src: this.ngSrc, width })} ${srcStr}`;\n });\n return finalSrcs.join(', ');\n }\n getAutomaticSrcset() {\n if (this.sizes) {\n return this.getResponsiveSrcset();\n }\n else {\n return this.getFixedSrcset();\n }\n }\n getResponsiveSrcset() {\n var _a;\n const { breakpoints } = this.config;\n let filteredBreakpoints = breakpoints;\n if (((_a = this.sizes) === null || _a === void 0 ? void 0 : _a.trim()) === '100vw') {\n // Since this is a full-screen-width image, our srcset only needs to include\n // breakpoints with full viewport widths.\n filteredBreakpoints = breakpoints.filter(bp => bp >= VIEWPORT_BREAKPOINT_CUTOFF);\n }\n const finalSrcs = filteredBreakpoints.map(bp => `${this.callImageLoader({ src: this.ngSrc, width: bp })} ${bp}w`);\n return finalSrcs.join(', ');\n }\n getFixedSrcset() {\n const finalSrcs = DENSITY_SRCSET_MULTIPLIERS.map(multiplier => {\n const imgUrl = this.callImageLoader({ src: this.ngSrc, width: this.width * multiplier });\n return `${imgUrl} ${multiplier}x`;\n });\n return finalSrcs.join(', ');\n }\n shouldGenerateAutomaticSrcset() {\n return !this._disableOptimizedSrcset && !this.srcset && this.imageLoader !== noopImageLoader &&\n !(this.width > FIXED_SRCSET_WIDTH_LIMIT || this.height > FIXED_SRCSET_HEIGHT_LIMIT);\n }\n /** @nodoc */\n ngOnDestroy() {\n if (ngDevMode) {\n if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {\n this.lcpObserver.unregisterImage(this._renderedSrc);\n }\n }\n }\n setHostAttribute(name, value) {\n this.renderer.setAttribute(this.imgElement, name, value);\n }\n}\nNgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImage, deps: [{ token: IMAGE_LOADER }, { token: IMAGE_CONFIG }, { token: Renderer2 }, { token: ElementRef }, { token: Injector }, { token: PLATFORM_ID }, { token: PreloadLinkCreator }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgOptimizedImage, selector: \"img[ngSrc]\", inputs: { ngSrc: \"ngSrc\", ngSrcset: \"ngSrcset\", sizes: \"sizes\", width: \"width\", height: \"height\", loading: \"loading\", priority: \"priority\", loaderParams: \"loaderParams\", disableOptimizedSrcset: \"disableOptimizedSrcset\", fill: \"fill\", src: \"src\", srcset: \"srcset\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImage, decorators: [{\n type: Directive,\n args: [{ selector: 'img[ngSrc]' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [IMAGE_LOADER]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [IMAGE_CONFIG]\n }] }, { type: i0.Renderer2, decorators: [{\n type: Inject,\n args: [Renderer2]\n }] }, { type: i0.ElementRef, decorators: [{\n type: Inject,\n args: [ElementRef]\n }] }, { type: i0.Injector, decorators: [{\n type: Inject,\n args: [Injector]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: PreloadLinkCreator, decorators: [{\n type: Inject,\n args: [PreloadLinkCreator]\n }] }];\n }, propDecorators: { ngSrc: [{\n type: Input\n }], ngSrcset: [{\n type: Input\n }], sizes: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], loading: [{\n type: Input\n }], priority: [{\n type: Input\n }], loaderParams: [{\n type: Input\n }], disableOptimizedSrcset: [{\n type: Input\n }], fill: [{\n type: Input\n }], src: [{\n type: Input\n }], srcset: [{\n type: Input\n }] } });\n/***** Helpers *****/\n/**\n * Convert input value to integer.\n */\nfunction inputToInteger(value) {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n/**\n * Convert input value to boolean.\n */\nfunction inputToBoolean(value) {\n return value != null && `${value}` !== 'false';\n}\n/**\n * Sorts provided config breakpoints and uses defaults.\n */\nfunction processConfig(config) {\n let sortedBreakpoints = {};\n if (config.breakpoints) {\n sortedBreakpoints.breakpoints = config.breakpoints.sort((a, b) => a - b);\n }\n return Object.assign({}, defaultConfig, config, sortedBreakpoints);\n}\n/***** Assert functions *****/\n/**\n * Verifies that there is no `src` set on a host element.\n */\nfunction assertNoConflictingSrc(dir) {\n if (dir.src) {\n throw new ɵRuntimeError(2950 /* UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`src\\` and \\`ngSrc\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`src\\` itself based on the value of \\`ngSrc\\`. ` +\n `To fix this, please remove the \\`src\\` attribute.`);\n }\n}\n/**\n * Verifies that there is no `srcset` set on a host element.\n */\nfunction assertNoConflictingSrcset(dir) {\n if (dir.srcset) {\n throw new ɵRuntimeError(2951 /* UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`srcset\\` and \\`ngSrcset\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`srcset\\` itself based on the value of ` +\n `\\`ngSrcset\\`. To fix this, please remove the \\`srcset\\` attribute.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Base64-encoded image.\n */\nfunction assertNotBase64Image(dir) {\n let ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('data:')) {\n if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {\n ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';\n }\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`ngSrc\\` is a Base64-encoded string ` +\n `(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a standard \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the 'sizes' only includes responsive values.\n */\nfunction assertNoComplexSizes(dir) {\n let sizes = dir.sizes;\n if (sizes === null || sizes === void 0 ? void 0 : sizes.match(/((\\)|,)\\s|^)\\d+px/)) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`sizes\\` was set to a string including ` +\n `pixel values. For automatic \\`srcset\\` generation, \\`sizes\\` must only include responsive ` +\n `values, such as \\`sizes=\"50vw\"\\` or \\`sizes=\"(min-width: 768px) 50vw, 100vw\"\\`. ` +\n `To fix this, modify the \\`sizes\\` attribute, or provide your own \\`ngSrcset\\` value directly.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Blob URL.\n */\nfunction assertNotBlobUrl(dir) {\n const ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('blob:')) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrc\\` was set to a blob URL (${ngSrc}). ` +\n `Blob URLs are not supported by the NgOptimizedImage directive. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a regular \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the input is set to a non-empty string.\n */\nfunction assertNonEmptyInput(dir, name, value) {\n const isString = typeof value === 'string';\n const isEmptyString = isString && value.trim() === '';\n if (!isString || isEmptyString) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${name}\\` has an invalid value ` +\n `(\\`${value}\\`). To fix this, change the value to a non-empty string.`);\n }\n}\n/**\n * Verifies that the `ngSrcset` is in a valid format, e.g. \"100w, 200w\" or \"1x, 2x\".\n */\nfunction assertValidNgSrcset(dir, value) {\n if (value == null)\n return;\n assertNonEmptyInput(dir, 'ngSrcset', value);\n const stringVal = value;\n const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);\n const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);\n if (isValidDensityDescriptor) {\n assertUnderDensityCap(dir, stringVal);\n }\n const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;\n if (!isValidSrcset) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrcset\\` has an invalid value (\\`${value}\\`). ` +\n `To fix this, supply \\`ngSrcset\\` using a comma-separated list of one or more width ` +\n `descriptors (e.g. \"100w, 200w\") or density descriptors (e.g. \"1x, 2x\").`);\n }\n}\nfunction assertUnderDensityCap(dir, value) {\n const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);\n if (!underDensityCap) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` contains an unsupported image density:` +\n `\\`${value}\\`. NgOptimizedImage generally recommends a max image density of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +\n `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` +\n `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);\n }\n}\n/**\n * Creates a `RuntimeError` instance to represent a situation when an input is set after\n * the directive has initialized.\n */\nfunction postInitInputChangeError(dir, inputName) {\n let reason;\n if (inputName === 'width' || inputName === 'height') {\n reason = `Changing \\`${inputName}\\` may result in different attribute value ` +\n `applied to the underlying image element and cause layout shifts on a page.`;\n }\n else {\n reason = `Changing the \\`${inputName}\\` would have no effect on the underlying ` +\n `image element, because the resource loading has already occurred.`;\n }\n return new ɵRuntimeError(2953 /* UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` was updated after initialization. ` +\n `The NgOptimizedImage directive will not react to this input change. ${reason} ` +\n `To fix this, either switch \\`${inputName}\\` to a static value ` +\n `or wrap the image element in an *ngIf that is gated on the necessary value.`);\n}\n/**\n * Verify that none of the listed inputs has changed.\n */\nfunction assertNoPostInitInputChange(dir, changes, inputs) {\n inputs.forEach(input => {\n const isUpdated = changes.hasOwnProperty(input);\n if (isUpdated && !changes[input].isFirstChange()) {\n if (input === 'ngSrc') {\n // When the `ngSrc` input changes, we detect that only in the\n // `ngOnChanges` hook, thus the `ngSrc` is already set. We use\n // `ngSrc` in the error message, so we use a previous value, but\n // not the updated one in it.\n dir = { ngSrc: changes[input].previousValue };\n }\n throw postInitInputChangeError(dir, input);\n }\n });\n}\n/**\n * Verifies that a specified input is a number greater than 0.\n */\nfunction assertGreaterThanZero(dir, inputValue, inputName) {\n const validNumber = typeof inputValue === 'number' && inputValue > 0;\n const validString = typeof inputValue === 'string' && /^\\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;\n if (!validNumber && !validString) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` has an invalid value ` +\n `(\\`${inputValue}\\`). To fix this, provide \\`${inputName}\\` ` +\n `as a number greater than 0.`);\n }\n}\n/**\n * Verifies that the rendered image is not visually distorted. Effectively this is checking:\n * - Whether the \"width\" and \"height\" attributes reflect the actual dimensions of the image.\n * - Whether image styling is \"correct\" (see below for a longer explanation).\n */\nfunction assertNoImageDistortion(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n const renderedWidth = img.clientWidth;\n const renderedHeight = img.clientHeight;\n const renderedAspectRatio = renderedWidth / renderedHeight;\n const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n const intrinsicWidth = img.naturalWidth;\n const intrinsicHeight = img.naturalHeight;\n const intrinsicAspectRatio = intrinsicWidth / intrinsicHeight;\n const suppliedWidth = dir.width;\n const suppliedHeight = dir.height;\n const suppliedAspectRatio = suppliedWidth / suppliedHeight;\n // Tolerance is used to account for the impact of subpixel rendering.\n // Due to subpixel rendering, the rendered, intrinsic, and supplied\n // aspect ratios of a correctly configured image may not exactly match.\n // For example, a `width=4030 height=3020` image might have a rendered\n // size of \"1062w, 796.48h\". (An aspect ratio of 1.334... vs. 1.333...)\n const inaccurateDimensions = Math.abs(suppliedAspectRatio - intrinsicAspectRatio) > ASPECT_RATIO_TOLERANCE;\n const stylingDistortion = nonZeroRenderedDimensions &&\n Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;\n if (inaccurateDimensions) {\n console.warn(ɵformatRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` +\n `the aspect ratio indicated by the width and height attributes. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nSupplied width and height attributes: ` +\n `${suppliedWidth}w x ${suppliedHeight}h (aspect-ratio: ${suppliedAspectRatio}). ` +\n `\\nTo fix this, update the width and height attributes.`));\n }\n else if (stylingDistortion) {\n console.warn(ɵformatRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` +\n `does not match the image's intrinsic aspect ratio. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nRendered image size: ` +\n `${renderedWidth}w x ${renderedHeight}h (aspect-ratio: ` +\n `${renderedAspectRatio}). \\nThis issue can occur if \"width\" and \"height\" ` +\n `attributes are added to an image without updating the corresponding ` +\n `image styling. To fix this, adjust image styling. In most cases, ` +\n `adding \"height: auto\" or \"width: auto\" to the image styling will fix ` +\n `this issue.`));\n }\n else if (!dir.ngSrcset && nonZeroRenderedDimensions) {\n // If `ngSrcset` hasn't been set, sanity check the intrinsic size.\n const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;\n const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;\n const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;\n const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;\n if (oversizedWidth || oversizedHeight) {\n console.warn(ɵformatRuntimeError(2960 /* OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` +\n `larger than necessary. ` +\n `\\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +\n `\\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +\n `\\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +\n `or consider using the \"ngSrcset\" and \"sizes\" attributes.`));\n }\n }\n });\n}\n/**\n * Verifies that a specified input is set.\n */\nfunction assertNonEmptyWidthAndHeight(dir) {\n let missingAttributes = [];\n if (dir.width === undefined)\n missingAttributes.push('width');\n if (dir.height === undefined)\n missingAttributes.push('height');\n if (missingAttributes.length > 0) {\n throw new ɵRuntimeError(2954 /* REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` +\n `are missing: ${missingAttributes.map(attr => `\"${attr}\"`).join(', ')}. ` +\n `Including \"width\" and \"height\" attributes will prevent image-related layout shifts. ` +\n `To fix this, include \"width\" and \"height\" attributes on the image tag or turn on ` +\n `\"fill\" mode with the \\`fill\\` attribute.`);\n }\n}\n/**\n * Verifies that width and height are not set. Used in fill mode, where those attributes don't make\n * sense.\n */\nfunction assertEmptyWidthAndHeight(dir) {\n if (dir.width || dir.height) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the attributes \\`height\\` and/or \\`width\\` are present ` +\n `along with the \\`fill\\` attribute. Because \\`fill\\` mode causes an image to fill its containing ` +\n `element, the size attributes have no effect and should be removed.`);\n }\n}\n/**\n * Verifies that the rendered image has a nonzero height. If the image is in fill mode, provides\n * guidance that this can be caused by the containing element's CSS position property.\n */\nfunction assertNonZeroRenderedHeight(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n const renderedHeight = img.clientHeight;\n if (dir.fill && renderedHeight === 0) {\n console.warn(ɵformatRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the height of the fill-mode image is zero. ` +\n `This is likely because the containing element does not have the CSS 'position' ` +\n `property set to one of the following: \"relative\", \"fixed\", or \"absolute\". ` +\n `To fix this problem, make sure the container element has the CSS 'position' ` +\n `property defined and the height of the element is not zero.`));\n }\n });\n}\n/**\n * Verifies that the `loading` attribute is set to a valid input &\n * is not used on priority images.\n */\nfunction assertValidLoadingInput(dir) {\n if (dir.loading && dir.priority) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `was used on an image that was marked \"priority\". ` +\n `Setting \\`loading\\` on priority images is not allowed ` +\n `because these images will always be eagerly loaded. ` +\n `To fix this, remove the “loading” attribute from the priority image.`);\n }\n const validInputs = ['auto', 'eager', 'lazy'];\n if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {\n throw new ɵRuntimeError(2952 /* INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `has an invalid value (\\`${dir.loading}\\`). ` +\n `To fix this, provide a valid value (\"lazy\", \"eager\", or \"auto\").`);\n }\n}\n/**\n * Warns if NOT using a loader (falling back to the generic loader) and\n * the image appears to be hosted on one of the image CDNs for which\n * we do have a built-in image loader. Suggests switching to the\n * built-in loader.\n *\n * @param ngSrc Value of the ngSrc attribute\n * @param imageLoader ImageLoader provided\n */\nfunction assertNotMissingBuiltInLoader(ngSrc, imageLoader) {\n if (imageLoader === noopImageLoader) {\n let builtInLoaderName = '';\n for (const loader of BUILT_IN_LOADERS) {\n if (loader.testUrl(ngSrc)) {\n builtInLoaderName = loader.name;\n break;\n }\n }\n if (builtInLoaderName) {\n console.warn(ɵformatRuntimeError(2962 /* MISSING_BUILTIN_LOADER */, `NgOptimizedImage: It looks like your images may be hosted on the ` +\n `${builtInLoaderName} CDN, but your app is not using Angular's ` +\n `built-in loader for that CDN. We recommend switching to use ` +\n `the built-in by calling \\`provide${builtInLoaderName}Loader()\\` ` +\n `in your \\`providers\\` and passing it your instance's base URL. ` +\n `If you don't want to use the built-in loader, define a custom ` +\n `loader function using IMAGE_LOADER to silence this warning.`));\n }\n }\n}\n/**\n * Warns if ngSrcset is present and no loader is configured (i.e. the default one is being used).\n */\nfunction assertNoNgSrcsetWithoutLoader(dir, imageLoader) {\n if (dir.ngSrcset && imageLoader === noopImageLoader) {\n console.warn(ɵformatRuntimeError(2963 /* MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` attribute is present but ` +\n `no image loader is configured (i.e. the default one is being used), ` +\n `which would result in the same image being used for all configured sizes. ` +\n `To fix this, provide a loader or remove the \\`ngSrcset\\` attribute from the image.`));\n }\n}\n/**\n * Warns if loaderParams is present and no loader is configured (i.e. the default one is being\n * used).\n */\nfunction assertNoLoaderParamsWithoutLoader(dir, imageLoader) {\n if (dir.loaderParams && imageLoader === noopImageLoader) {\n console.warn(ɵformatRuntimeError(2963 /* MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loaderParams\\` attribute is present but ` +\n `no image loader is configured (i.e. the default one is being used), ` +\n `which means that the loaderParams data will not be consumed and will not affect the URL. ` +\n `To fix this, provide a custom loader or remove the \\`loaderParams\\` attribute from the image.`));\n }\n}\n/**\n * This NgModule exports the `NgOptimizedImage` directive.\n * Import this module to enable the optimized image directive in your application.\n *\n * @publicApi\n * @deprecated In Angular v15, this NgModule is removed in favor of the NgOptimizedImage directive,\n * which is annotated as standalone.\n */\nclass NgOptimizedImageModule {\n}\nNgOptimizedImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNgOptimizedImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImageModule, declarations: [NgOptimizedImage], exports: [NgOptimizedImage] });\nNgOptimizedImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImageModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgOptimizedImageModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [NgOptimizedImage],\n exports: [NgOptimizedImage],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgSwitch, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], ctorParameters: function () {\n return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }];\n }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgSwitchDefault, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], ctorParameters: function () {\n return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }];\n } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(2000 /* PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgPlural, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgPluralCase, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgStyle, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.4.0\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n const errorMessage = (typeof ngDevMode === 'undefined' || ngDevMode) ?\n `InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'` :\n '';\n return new ɵRuntimeError(2100 /* INVALID_PIPE_ARGUMENT */, errorMessage);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n onDestroy(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n onDestroy(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: AsyncPipe, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LowerCasePipe, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: TitleCasePipe, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: UpperCasePipe, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_TIMEZONE`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n var _a;\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, (_a = timezone !== null && timezone !== void 0 ? timezone : this.defaultTimezone) !== null && _a !== void 0 ? _a : undefined);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DatePipe, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'date', pure: true }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }];\n } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nPluralPipe, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nPlural', pure: true }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nSelectPipe, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nSelect', pure: true }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: JsonPipe, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'json', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: KeyValuePipe, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'keyvalue', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DecimalPipe, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'number' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }];\n } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PercentPipe, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'percent' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }];\n } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CurrencyPipe, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'currency' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }];\n } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: SlicePipe, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'slice', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CommonModule, declarations: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('13.4.0');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n //\n // @see https://html.spec.whatwg.org/#get-the-focusable-area\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n // @see https://html.spec.whatwg.org/#focusable-area\n elSelected.focus();\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch (_a) {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch (_a) {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for [Cloudflare Image\n * Resizing](https://developers.cloudflare.com/images/image-resizing/) and turns it into an Angular\n * provider. Note: Cloudflare has multiple image products - this provider is specifically for\n * Cloudflare Image Resizing; it will not work with Cloudflare Images or Cloudflare Polish.\n *\n * @param path Your domain name, e.g. https://mysite.com\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n */\nconst provideCloudflareLoader = createImageLoader(createCloudflareUrl, ngDevMode ? ['https:///cdn-cgi/image//'] : undefined);\n// Exported for testing purposes in backport only. Not to be accessed except in unit tests.\nfunction createCloudflareUrl(path, config) {\n let params = `format=auto`;\n if (config.width) {\n params += `,width=${config.width}`;\n }\n // Cloudflare image URLs format:\n // https://developers.cloudflare.com/images/image-resizing/url-format/\n return `${path}/cdn-cgi/image/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_CONFIG, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgOptimizedImageModule, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v13.4.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '2B': '+',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => { var _a; return (_a = STANDARD_ENCODING_REPLACEMENTS[t]) !== null && _a !== void 0 ? _a : s; });\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n this.map.set(key, Array.isArray(value) ? value : [value]);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n var _a;\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = (_a = update.context) !== null && _a !== void 0 ? _a : this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.4.0\", ngImport: i0, type: NoopInterceptor, decorators: [{\n type: Injectable\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending
    \n {{headerText}}\n \n {{dataAccessor(data, name)}}\n \n {{headerText}}\n \n {{dataAccessor(data, name)}}\n