-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0.render-page.js.map
1 lines (1 loc) · 159 KB
/
0.render-page.js.map
1
{"version":3,"sources":["webpack://lib/./node_modules/@deckdeckgo/highlight-code/dist/esm-es5/deckdeckgo-highlight-code-carbon-theme-024790ad.js","webpack://lib/./node_modules/@deckdeckgo/highlight-code/dist/esm-es5/deckgo-highlight-code.entry.js"],"names":[],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;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,CAAC,gFAAgF;AACQ;;;;;;;;;;;;;ACtCzF;AAAA;AAAA;AAAA;AAAA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,2BAA2B,+DAA+D,gBAAgB,EAAE,EAAE;AAC9G;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,qFAAqF;AACpH;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;AACA,sBAAsB,SAAI,IAAI,SAAI;AAClC,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AAC6G;AACwC;AACrJ;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;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;AACA;AACA,0FAA0F,yBAAyB;AACnH;AACA;AACA;AACA;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,0DAA0D,sBAAsB;AAChF;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,6BAA6B;AAC7B;AACA;AACA;AACA,4DAA4D,oBAAoB;AAChF;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,oBAAoB;AAC/C,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,oBAAoB,OAAO;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,MAAM,gBAAgB,IAAI;AACnE;AACA,6BAA6B;AAC7B,8CAA8C,IAAI;AAClD;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,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,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC,6BAA6B;AAC7B;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,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA,mCAAmC,MAAM;AACzC;AACA;AACA,oBAAoB;AACpB;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,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,MAAM;AAC5F;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,8CAA8C,IAAI;AAClD;AACA,+BAA+B,QAAQ;AACvC;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,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uBAAuB;AACvB;AACA;AACA,8FAA8F,6BAA6B;AAC3H;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,2BAA2B,8BAA8B;AACxF,uBAAuB,kBAAkB,wBAAwB,8BAA8B;AAC/F;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA,uBAAuB,WAAW;AAClC,uBAAuB,QAAQ;AAC/B,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6BAA6B;AACrE;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;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,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C;AACA,uBAAuB,OAAO;AAC9B,uBAAuB,QAAQ;AAC/B;AACA;AACA,uBAAuB,OAAO;AAC9B,yBAAyB,OAAO;AAChC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B,uBAAuB,QAAQ;AAC/B;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,aAAa;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,2BAA2B;AACxE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8CAA8C;AACrE;AACA;AACA;AACA,mBAAmB,OAAO,WAAW;AACrC,mBAAmB,qBAAqB,cAAc;AACtD,mBAAmB,gBAAgB;AACnC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,cAAc;AACxE;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,kBAAkB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA,mBAAmB,6BAA6B;AAChD,mBAAmB,OAAO;AAC1B,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,2BAA2B;AAC9C,mBAAmB,IAAI;AACvB,mBAAmB,+BAA+B;AAClD,mBAAmB,OAAO;AAC1B,mBAAmB,eAAe;AAClC,qBAAqB;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA,qEAAqE,gCAAgC;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iEAAiE;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,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE;AACxB,sBAAsB,yBAAyB;AAC/C,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC,wBAAwB;AACxB,uBAAuB,kBAAkB;AACzC,wBAAwB;AACxB;AACA,uBAAuB,kBAAkB;AACzC;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC,mBAAmB,kBAAkB;AACrC,mBAAmB,EAAE;AACrB,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC,mBAAmB,kBAAkB;AACrC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC,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,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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB,kBAAkB,QAAQ;AAC1B;AACA,kBAAkB,QAAQ;AAC1B,kBAAkB,gBAAgB;AAClC,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,mCAAmC,KAAK;AACxC;AACA,aAAa;AACb,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8JAA8J,gBAAgB,EAAE;AAChL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,oCAAoC,YAAY,uCAAuC;AACvF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,0FAA0F,EAAE;AAC5F,KAAK;AACL;AACA;AACA;AACA,uIAAuI,IAAI,kDAAkD,EAAE;AAC/L;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,seAAse;AACte;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sCAAsC,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO;AAC7E;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,gDAAgD,EAAE,MAAM,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG;AACxF;AACA;AACA;AACA,0CAA0C,EAAE;AAC5C;AACA,yBAAyB;AACzB;AACA;AACA,iBAAiB;AACjB;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,mBAAmB,YAAY;AAC/B,mBAAmB,OAAO;AAC1B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC,eAAe;AAChD;AACA,8BAA8B;AAC9B,8DAA8D;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;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,2EAA2E,2EAA2E,qEAAqE,gHAAgH,kIAAkI,0HAA0H,qBAAqB,yHAAyH,sEAAsE,wBAAwB,4HAA4H,yEAAyE,wBAAwB,4HAA4H,yEAAyE,aAAa,qEAAqE,0EAA0E,8EAA8E,2EAA2E;AACh3a;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB,mCAAmC,4DAAW;AAC9C,6BAA6B,4DAAW;AACxC;AACA;AACA;AACA;AACA;AACA,wBAAwB,qFAA+B;AACvD;AACA,qBAAqB,qFAAkC;AACvD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE;AACX,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qFAA+B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,+BAA+B,EAAE;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yGAAyG,sCAAsC,EAAE;AACjJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,gCAAgC,gBAAgB;AAChD,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB,EAAE;AACnB,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qFAA+B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,+CAA+C;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,aAAa;AACb,SAAS,EAAE,EAAE;AACb;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,aAAa;AACb,SAAS;AACT;AACA;AACA;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,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;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,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,EAAE,EAAE;AACb;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,2EAA2E,aAAa;AACxF;AACA;AACA,iBAAiB;AACjB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,8DAA8D,qFAA+B;AAC7F,8DAA8D,qFAA+B;AAC7F;AACA,8BAA8B,qFAA+B;AAC7D;AACA;AACA,gBAAgB,4DAAC,CAAC,oDAAI,GAAG,mBAAmB,4CAA4C,4DAAC,SAAS,qEAAqE,qBAAqB,EAAE,6BAA6B,qBAAqB,EAAE,EAAE,EAAE,4DAAC,gBAAgB,4DAAC,UAAU,eAAe;AACjS;AACA;AACA,8BAA8B,qFAA+B;AAC7D;AACA;AACA;AACA,YAAY,4DAAC,oBAAoB,yBAAyB;AAC1D,YAAY,4DAAC,SAAS,kBAAkB;AACxC;AACA;AACA;AACA,eAAe,4DAAC,SAAS,eAAe;AACxC;AACA;AACA,8BAA8B,qFAA+B;AAC7D;AACA;AACA,gBAAgB,4DAAC,SAAS,kBAAkB,8GAA8G,4DAAC,YAAY,4DAAC,UAAU,eAAe;AACjM;AACA;AACA,iDAAiD,kCAAkC,YAAY;AAC/F,eAAe,4DAAC,SAAS,iCAAiC;AAC1D;AACA;AACA,0BAA0B,QAAQ,4DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AAC4D","file":"0.render-page.js","sourcesContent":["var DeckdeckgoHighlightCodeTerminal;\n(function (DeckdeckgoHighlightCodeTerminal) {\n DeckdeckgoHighlightCodeTerminal[\"CARBON\"] = \"carbon\";\n DeckdeckgoHighlightCodeTerminal[\"UBUNTU\"] = \"ubuntu\";\n DeckdeckgoHighlightCodeTerminal[\"NONE\"] = \"none\";\n})(DeckdeckgoHighlightCodeTerminal || (DeckdeckgoHighlightCodeTerminal = {}));\nvar DeckdeckgoHighlightCodeCarbonTheme;\n(function (DeckdeckgoHighlightCodeCarbonTheme) {\n DeckdeckgoHighlightCodeCarbonTheme[\"3024-NIGHT\"] = \"3024-night\";\n DeckdeckgoHighlightCodeCarbonTheme[\"A11Y-DARK\"] = \"a11y-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BLACKBOARD\"] = \"blackboard\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-DARK\"] = \"base16-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-LIGHT\"] = \"base16-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"COBALT\"] = \"cobalt\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DRACULA\"] = \"dracula\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DUOTONE\"] = \"duotone\";\n DeckdeckgoHighlightCodeCarbonTheme[\"HOPSCOTCH\"] = \"hopscotch\";\n DeckdeckgoHighlightCodeCarbonTheme[\"LUCARIO\"] = \"lucario\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MATERIAL\"] = \"material\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MONOKAI\"] = \"monokai\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NIGHT-OWL\"] = \"night-owl\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NORD\"] = \"nord\";\n DeckdeckgoHighlightCodeCarbonTheme[\"OCEANIC-NEXT\"] = \"oceanic-next\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-LIGHT\"] = \"one-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-DARK\"] = \"one-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PANDA\"] = \"panda\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PARAISO\"] = \"paraiso\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SETI\"] = \"seti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SHADES-OF-PURPLE\"] = \"shades-of-purple\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-DARK\"] = \"solarized-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-LIGHT\"] = \"solarized-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SYNTHWAVE\"] = \"synthwave\";\n DeckdeckgoHighlightCodeCarbonTheme[\"TWILIGHT\"] = \"twilight\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VERMINAL\"] = \"verminal\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VSCODE\"] = \"vscode\";\n DeckdeckgoHighlightCodeCarbonTheme[\"YETI\"] = \"yeti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ZENBURN\"] = \"zenburn\";\n})(DeckdeckgoHighlightCodeCarbonTheme || (DeckdeckgoHighlightCodeCarbonTheme = {}));\nexport { DeckdeckgoHighlightCodeTerminal as D, DeckdeckgoHighlightCodeCarbonTheme as a };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-90f57bcb.js';\nimport { a as DeckdeckgoHighlightCodeCarbonTheme, D as DeckdeckgoHighlightCodeTerminal } from './deckdeckgo-highlight-code-carbon-theme-024790ad.js';\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nfunction createCommonjsModule(fn, basedir, module) {\n return module = {\n path: basedir,\n exports: {},\n require: function (path, base) {\n return commonjsRequire();\n }\n }, fn(module, module.exports), module.exports;\n}\nfunction commonjsRequire() {\n throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\nvar prism = createCommonjsModule(function (module) {\n /* **********************************************\n Begin prism-core.js\n ********************************************** */\n /// <reference lib=\"WebWorker\"/>\n var _self = (typeof window !== 'undefined')\n ? window // if in browser\n : ((typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n ? self // if in worker\n : {} // if in node js\n );\n /**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\n var Prism = (function (_self) {\n // Private helper vars\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n var uniqueId = 0;\n var _ = {\n /**\n * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n * additional languages or plugins yourself.\n *\n * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n *\n * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n * empty Prism object into the global scope before loading the Prism script like this:\n *\n * ```js\n * window.Prism = window.Prism || {};\n * Prism.manual = true;\n * // add a new <script> to load Prism's script\n * ```\n *\n * @default false\n * @type {boolean}\n * @memberof Prism\n * @public\n */\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n }\n else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n }\n else {\n return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n }\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function (o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function (obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', { value: ++uniqueId });\n }\n return obj['__id'];\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone, id;\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record<string, any>} */ ({});\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return /** @type {any} */ (clone);\n case 'Array':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n ( /** @type {Array} */( /** @type {any} */(o))).forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return /** @type {any} */ (clone);\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function (element) {\n while (element && !lang.test(element.className)) {\n element = element.parentElement;\n }\n if (element) {\n return (element.className.match(lang) || [, 'none'])[1].toLowerCase();\n }\n return 'none';\n },\n /**\n * Returns the script element that is currently executing.\n *\n * This does __not__ work for line script element.\n *\n * @returns {HTMLScriptElement | null}\n */\n currentScript: function () {\n if (typeof document === 'undefined') {\n return null;\n }\n if ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n return /** @type {any} */ (document.currentScript);\n }\n // IE11 workaround\n // we'll get the src of the current script by parsing IE11's error stack trace\n // this will not work for inline scripts\n try {\n throw new Error();\n }\n catch (err) {\n // Get file src url from stack. Specifically works with the format of stack traces in IE.\n // A stack will look like this:\n //\n // Error\n // at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n // at Global code (http://localhost/components/prism-core.js:606:1)\n var src = (/at [^(\\r\\n]*\\((.*):.+:.+\\)$/i.exec(err.stack) || [])[1];\n if (src) {\n var scripts = document.getElementsByTagName('script');\n for (var i in scripts) {\n if (scripts[i].src == src) {\n return scripts[i];\n }\n }\n }\n return null;\n }\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function (element, className, defaultActivation) {\n var no = 'no-' + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang[key] = redef[key];\n }\n return lang;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function (inside, before, insert, root) {\n root = root || /** @type {any} */ (_.languages);\n var grammar = root[inside];\n /** @type {Grammar} */\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n // Do not insert token which also occur in insert. See #1525\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n // Update references in other language definitions\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i], propertyType = _.util.type(property);\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n }\n else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n /**\n * This is the most high-level function in Prism’s API.\n * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n * each one of them.\n *\n * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n *\n * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n * @memberof Prism\n * @public\n */\n highlightAll: function (async, callback) {\n _.highlightAllUnder(document, async, callback);\n },\n /**\n * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n * {@link Prism.highlightElement} on each one of them.\n *\n * The following hooks will be run:\n * 1. `before-highlightall`\n * 2. All hooks of {@link Prism.highlightElement} for each element.\n *\n * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n * @memberof Prism\n * @public\n */\n highlightAllUnder: function (container, async, callback) {\n var env = {\n callback: callback,\n container: container,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n _.hooks.run('before-highlightall', env);\n env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n _.hooks.run('before-all-elements-highlight', env);\n for (var i = 0, element; element = env.elements[i++];) {\n _.highlightElement(element, async === true, env.callback);\n }\n },\n /**\n * Highlights the code inside a single element.\n *\n * The following hooks will be run:\n * 1. `before-sanity-check`\n * 2. `before-highlight`\n * 3. All hooks of {@link Prism.highlight}. These hooks will only be run by the current worker if `async` is `true`.\n * 4. `before-insert`\n * 5. `after-highlight`\n * 6. `complete`\n *\n * @param {Element} element The element containing the code.\n * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n *\n * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n * asynchronous highlighting to work. You can build your own bundle on the\n * [Download page](https://prismjs.com/download.html).\n * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n * @memberof Prism\n * @public\n */\n highlightElement: function (element, async, callback) {\n // Find language\n var language = _.util.getLanguage(element);\n var grammar = _.languages[language];\n // Set language on the element, if not present\n element.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n // Set language on the parent, for styling\n var parent = element.parentElement;\n if (parent && parent.nodeName.toLowerCase() === 'pre') {\n parent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n }\n var code = element.textContent;\n var env = {\n element: element,\n language: language,\n grammar: grammar,\n code: code\n };\n function insertHighlightedCode(highlightedCode) {\n env.highlightedCode = highlightedCode;\n _.hooks.run('before-insert', env);\n env.element.innerHTML = env.highlightedCode;\n _.hooks.run('after-highlight', env);\n _.hooks.run('complete', env);\n callback && callback.call(env.element);\n }\n _.hooks.run('before-sanity-check', env);\n if (!env.code) {\n _.hooks.run('complete', env);\n callback && callback.call(env.element);\n return;\n }\n _.hooks.run('before-highlight', env);\n if (!env.grammar) {\n insertHighlightedCode(_.util.encode(env.code));\n return;\n }\n if (async && _self.Worker) {\n var worker = new Worker(_.filename);\n worker.onmessage = function (evt) {\n insertHighlightedCode(evt.data);\n };\n worker.postMessage(JSON.stringify({\n language: env.language,\n code: env.code,\n immediateClose: true\n }));\n }\n else {\n insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n }\n },\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function (text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n _.hooks.run('before-tokenize', env);\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run('after-tokenize', env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function (text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function (name, callback) {\n var hooks = _.hooks.all;\n hooks[name] = hooks[name] || [];\n hooks[name].push(callback);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function (name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++];) {\n callback(env);\n }\n }\n },\n Token: Token\n };\n _self.Prism = _;\n // Typescript note:\n // The following can be used to import the Token type in JSDoc:\n //\n // @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n /**\n * Creates a new token.\n *\n * @param {string} type See {@link Token#type type}\n * @param {string | TokenStream} content See {@link Token#content content}\n * @param {string|string[]} [alias] The alias(es) of the token.\n * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n * @class\n * @global\n * @public\n */\n function Token(type, content, alias, matchedStr) {\n /**\n * The type of the token.\n *\n * This is usually the key of a pattern in a {@link Grammar}.\n *\n * @type {string}\n * @see GrammarToken\n * @public\n */\n this.type = type;\n /**\n * The strings or tokens contained by this token.\n *\n * This will be a token stream if the pattern matched also defined an `inside` grammar.\n *\n * @type {string | TokenStream}\n * @public\n */\n this.content = content;\n /**\n * The alias(es) of the token.\n *\n * @type {string|string[]}\n * @see GrammarToken\n * @public\n */\n this.alias = alias;\n // Copy of the full string this token was created from\n this.length = (matchedStr || '').length | 0;\n }\n /**\n * A token stream is an array of strings and {@link Token Token} objects.\n *\n * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n * them.\n *\n * 1. No adjacent strings.\n * 2. No empty strings.\n *\n * The only exception here is the token stream that only contains the empty string and nothing else.\n *\n * @typedef {Array<string | Token>} TokenStream\n * @global\n * @public\n */\n /**\n * Converts the given token or token stream to an HTML representation.\n *\n * The following hooks will be run:\n * 1. `wrap`: On each {@link Token}.\n *\n * @param {string | Token | TokenStream} o The token or token stream to be converted.\n * @param {string} language The name of current language.\n * @returns {string} The HTML representation of the token or token stream.\n * @memberof Token\n * @static\n */\n Token.stringify = function stringify(o, language) {\n if (typeof o == 'string') {\n return o;\n }\n if (Array.isArray(o)) {\n var s = '';\n o.forEach(function (e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: 'span',\n classes: ['token', o.type],\n attributes: {},\n language: language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n }\n else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run('wrap', env);\n var attributes = '';\n for (var name in env.attributes) {\n attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n }\n return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n };\n /**\n * @param {string} text\n * @param {LinkedList<string | Token>} tokenList\n * @param {any} grammar\n * @param {LinkedListNode<string | Token>} startNode\n * @param {number} startPos\n * @param {RematchOptions} [rematch]\n * @returns {void}\n * @private\n *\n * @typedef RematchOptions\n * @property {string} cause\n * @property {number} reach\n */\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + ',' + j) {\n return;\n }\n var patternObj = patterns[j], inside = patternObj.inside, lookbehind = !!patternObj.lookbehind, greedy = !!patternObj.greedy, lookbehindLength = 0, alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n }\n /** @type {RegExp} */\n var pattern = patternObj.pattern || patternObj;\n for ( // iterate the token list and keep track of the current token/string position\n var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1; // this is the to parameter of removeBetween\n if (greedy && currentNode != tokenList.tail.prev) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (!match) {\n break;\n }\n var from = match.index + (lookbehind && match[1] ? match[1].length : 0);\n var to = match.index + match[0].length;\n var p = pos;\n // find the node that contains the match\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n // adjust pos (and p)\n p -= currentNode.value.length;\n pos = p;\n // the current node is a Token, then the match starts inside another Token, which is invalid\n if (currentNode.value instanceof Token) {\n continue;\n }\n // find the last node which is affected by this match\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n // replace with the new match\n str = text.slice(pos, p);\n match.index -= pos;\n }\n else {\n pattern.lastIndex = 0;\n var match = pattern.exec(str);\n }\n if (!match) {\n continue;\n }\n if (lookbehind) {\n lookbehindLength = match[1] ? match[1].length : 0;\n }\n var from = match.index + lookbehindLength, matchStr = match[0].slice(lookbehindLength), to = from + matchStr.length, before = str.slice(0, from), after = str.slice(to);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n // at least one Token object was removed, so we have to do some rematching\n // this can only happen if the current pattern is greedy\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, {\n cause: token + ',' + j,\n reach: reach\n });\n }\n }\n }\n }\n }\n /**\n * @typedef LinkedListNode\n * @property {T} value\n * @property {LinkedListNode<T> | null} prev The previous node.\n * @property {LinkedListNode<T> | null} next The next node.\n * @template T\n * @private\n */\n /**\n * @template T\n * @private\n */\n function LinkedList() {\n /** @type {LinkedListNode<T>} */\n var head = { value: null, prev: null, next: null };\n /** @type {LinkedListNode<T>} */\n var tail = { value: null, prev: head, next: null };\n head.next = tail;\n /** @type {LinkedListNode<T>} */\n this.head = head;\n /** @type {LinkedListNode<T>} */\n this.tail = tail;\n this.length = 0;\n }\n /**\n * Adds a new node with the given value to the list.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {T} value\n * @returns {LinkedListNode<T>} The added node.\n * @template T\n */\n function addAfter(list, node, value) {\n // assumes that node != list.tail && values.length >= 0\n var next = node.next;\n var newNode = { value: value, prev: node, next: next };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n /**\n * Removes `count` nodes after the given node. The given node will not be removed.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {number} count\n * @template T\n */\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n /**\n * @param {LinkedList<T>} list\n * @returns {T[]}\n * @template T\n */\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n if (!_self.document) {\n if (!_self.addEventListener) {\n // in Node.js\n return _;\n }\n if (!_.disableWorkerMessageHandler) {\n // In worker\n _self.addEventListener('message', function (evt) {\n var message = JSON.parse(evt.data), lang = message.language, code = message.code, immediateClose = message.immediateClose;\n _self.postMessage(_.highlight(code, _.languages[lang], lang));\n if (immediateClose) {\n _self.close();\n }\n }, false);\n }\n return _;\n }\n // Get current script and highlight\n var script = _.util.currentScript();\n if (script) {\n _.filename = script.src;\n if (script.hasAttribute('data-manual')) {\n _.manual = true;\n }\n }\n function highlightAutomaticallyCallback() {\n if (!_.manual) {\n _.highlightAll();\n }\n }\n if (!_.manual) {\n // If the document state is \"loading\", then we'll use DOMContentLoaded.\n // If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n // DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n // might take longer one animation frame to execute which can create a race condition where only some plugins have\n // been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n // See https://github.com/PrismJS/prism/issues/2102\n var readyState = document.readyState;\n if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n }\n else {\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(highlightAutomaticallyCallback);\n }\n else {\n window.setTimeout(highlightAutomaticallyCallback, 16);\n }\n }\n }\n return _;\n })(_self);\n if (module.exports) {\n module.exports = Prism;\n }\n // hack for components to work correctly in node.js\n if (typeof commonjsGlobal !== 'undefined') {\n commonjsGlobal.Prism = Prism;\n }\n // some additional documentation/types\n /**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n /**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n /**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n /**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n /* **********************************************\n Begin prism-markup.js\n ********************************************** */\n Prism.languages.markup = {\n 'comment': /<!--[\\s\\S]*?-->/,\n 'prolog': /<\\?[\\s\\S]+?\\?>/,\n 'doctype': {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n 'string': {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n 'punctuation': /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/,\n 'name': /[^\\s<>'\"]+/\n }\n },\n 'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n 'punctuation': [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n 'namespace': /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n 'entity': [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n };\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n Prism.languages.markup['entity'];\n Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n });\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n });\n Prism.languages.html = Prism.languages.markup;\n Prism.languages.mathml = Prism.languages.markup;\n Prism.languages.svg = Prism.languages.markup;\n Prism.languages.xml = Prism.languages.extend('markup', {});\n Prism.languages.ssml = Prism.languages.xml;\n Prism.languages.atom = Prism.languages.xml;\n Prism.languages.rss = Prism.languages.xml;\n /* **********************************************\n Begin prism-css.js\n ********************************************** */\n (function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: /@[\\w-]+[\\s\\S]*?(?:;|(?=\\s*\\{))/,\n inside: {\n 'rule': /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern: /(\\bselector\\s*\\((?!\\s*\\))\\s*)(?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n 'keyword': {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n }\n // See rest below\n }\n },\n 'url': {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n greedy: true,\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/,\n 'string': {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n 'selector': RegExp('[^{}\\\\s](?:[^{};\"\\']|' + string.source + ')*?(?=\\\\s*\\\\{)'),\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n 'important': /!important\\b/i,\n 'function': /[-a-z0-9]+(?=\\()/i,\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n if (markup) {\n markup.tag.addInlined('style', 'css');\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n 'attr-name': {\n pattern: /^\\s*style/i,\n inside: markup.tag.inside\n },\n 'punctuation': /^\\s*=\\s*['\"]|['\"]\\s*$/,\n 'attr-value': {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: 'language-css'\n }\n }, markup.tag);\n }\n }(Prism));\n /* **********************************************\n Begin prism-clike.js\n ********************************************** */\n Prism.languages.clike = {\n 'comment': [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n 'punctuation': /[.\\\\]/\n }\n },\n 'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'function': /\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n 'punctuation': /[{}[\\];(),.:]/\n };\n /* **********************************************\n Begin prism-javascript.js\n ********************************************** */\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: true\n }\n ],\n 'keyword': [\n {\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: true\n },\n {\n pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\\s*[\\[$\\w\\xA0-\\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n },\n ],\n 'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n 'function': /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n });\n Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\n Prism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [\n {\n pattern: /(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n },\n {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n });\n Prism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n });\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n }\n Prism.languages.js = Prism.languages.javascript;\n /* **********************************************\n Begin prism-file-highlight.js\n ********************************************** */\n (function () {\n if (typeof self === 'undefined' || !self.Prism || !self.document) {\n return;\n }\n var Prism = window.Prism;\n var LOADING_MESSAGE = 'Loading…';\n var FAILURE_MESSAGE = function (status, message) {\n return '✖ Error ' + status + ' while fetching file: ' + message;\n };\n var FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n var EXTENSIONS = {\n 'js': 'javascript',\n 'py': 'python',\n 'rb': 'ruby',\n 'ps1': 'powershell',\n 'psm1': 'powershell',\n 'sh': 'bash',\n 'bat': 'batch',\n 'h': 'c',\n 'tex': 'latex'\n };\n var STATUS_ATTR = 'data-src-status';\n var STATUS_LOADING = 'loading';\n var STATUS_LOADED = 'loaded';\n var STATUS_FAILED = 'failed';\n var SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n + ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n /**\n * Sets the Prism `language-xxxx` or `lang-xxxx` class to the given language.\n *\n * @param {HTMLElement} element\n * @param {string} language\n * @returns {void}\n */\n function setLanguageClass(element, language) {\n var className = element.className;\n className = className.replace(lang, ' ') + ' language-' + language;\n element.className = className.replace(/\\s+/g, ' ').trim();\n }\n Prism.hooks.add('before-highlightall', function (env) {\n env.selector += ', ' + SELECTOR;\n });\n Prism.hooks.add('before-sanity-check', function (env) {\n var pre = /** @type {HTMLPreElement} */ (env.element);\n if (pre.matches(SELECTOR)) {\n env.code = ''; // fast-path the whole thing and go to complete\n pre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n // add code element with loading message\n var code = pre.appendChild(document.createElement('CODE'));\n code.textContent = LOADING_MESSAGE;\n var src = pre.getAttribute('data-src');\n var language = env.language;\n if (language === 'none') {\n // the language might be 'none' because there is no language set;\n // in this case, we want to use the extension as the language\n var extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n language = EXTENSIONS[extension] || extension;\n }\n // set language classes\n setLanguageClass(code, language);\n setLanguageClass(pre, language);\n // preload the language\n var autoloader = Prism.plugins.autoloader;\n if (autoloader) {\n autoloader.loadLanguages(language);\n }\n // load file\n var xhr = new XMLHttpRequest();\n xhr.open('GET', src, true);\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status < 400 && xhr.responseText) {\n // mark as loaded\n pre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n // highlight code\n code.textContent = xhr.responseText;\n Prism.highlightElement(code);\n }\n else {\n // mark as failed\n pre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n if (xhr.status >= 400) {\n code.textContent = FAILURE_MESSAGE(xhr.status, xhr.statusText);\n }\n else {\n code.textContent = FAILURE_EMPTY_MESSAGE;\n }\n }\n }\n };\n xhr.send(null);\n }\n });\n Prism.plugins.fileHighlight = {\n /**\n * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n *\n * Note: Elements which are already loaded or currently loading will not be touched by this method.\n *\n * @param {ParentNode} [container=document]\n */\n highlight: function highlight(container) {\n var elements = (container || document).querySelectorAll(SELECTOR);\n for (var i = 0, element; element = elements[i++];) {\n Prism.highlightElement(element);\n }\n }\n };\n var logged = false;\n /** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n Prism.fileHighlight = function () {\n if (!logged) {\n console.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n logged = true;\n }\n Prism.plugins.fileHighlight.highlight.apply(this, arguments);\n };\n })();\n});\nfunction injectCSS(id, src) {\n return new Promise(function (resolve, reject) {\n if (!document) {\n resolve();\n return;\n }\n if (document.getElementById(id)) {\n resolve('CSS already loaded.');\n return;\n }\n var link = document.createElement('link');\n link.id = id;\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('href', src);\n link.addEventListener('load', function () { return resolve('CSS loaded.'); });\n link.addEventListener('error', function () { return reject('Error loading css.'); });\n link.addEventListener('abort', function () { return reject('CSS loading aborted.'); });\n document.head.appendChild(link);\n });\n}\nfunction loadTheme(theme) {\n if (!theme || theme === undefined) {\n return undefined;\n }\n switch (theme) {\n case DeckdeckgoHighlightCodeCarbonTheme['3024-NIGHT']:\n return import('./3024-night-8138cc8f.js');\n case DeckdeckgoHighlightCodeCarbonTheme['A11Y-DARK']:\n return import('./a11y-dark-533291b3.js');\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-DARK']:\n return import('./base16-dark-12f375e0.js');\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-LIGHT']:\n return import('./base16-light-52469b64.js');\n case DeckdeckgoHighlightCodeCarbonTheme.BLACKBOARD:\n return import('./blackboard-db1ca116.js');\n case DeckdeckgoHighlightCodeCarbonTheme.COBALT:\n return import('./cobalt-5d681c9a.js');\n case DeckdeckgoHighlightCodeCarbonTheme.DUOTONE:\n return import('./duotone-acd564a2.js');\n case DeckdeckgoHighlightCodeCarbonTheme.HOPSCOTCH:\n return import('./hopscotch-4820dd1a.js');\n case DeckdeckgoHighlightCodeCarbonTheme.LUCARIO:\n return import('./lucario-59b2ad39.js');\n case DeckdeckgoHighlightCodeCarbonTheme.MATERIAL:\n return import('./material-8e59c55f.js');\n case DeckdeckgoHighlightCodeCarbonTheme.MONOKAI:\n return import('./monokai-c3bd40c3.js');\n case DeckdeckgoHighlightCodeCarbonTheme['NIGHT-OWL']:\n return import('./night-owl-36dc5565.js');\n case DeckdeckgoHighlightCodeCarbonTheme.NORD:\n return import('./nord-ce9f3484.js');\n case DeckdeckgoHighlightCodeCarbonTheme['OCEANIC-NEXT']:\n return import('./oceanic-next-e3f20f17.js');\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-DARK']:\n return import('./one-dark-3da1a5b7.js');\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-LIGHT']:\n return import('./one-light-81b6cd67.js');\n case DeckdeckgoHighlightCodeCarbonTheme.PANDA:\n return import('./panda-2e75c11f.js');\n case DeckdeckgoHighlightCodeCarbonTheme.PARAISO:\n return import('./paraiso-cc30311f.js');\n case DeckdeckgoHighlightCodeCarbonTheme.SETI:\n return import('./seti-977c4512.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SHADES-OF-PURPLE']:\n return import('./shades-of-purple-649a9b24.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-DARK']:\n return import('./solarized-dark-d1ab5e8b.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-LIGHT']:\n return import('./solarized-light-429511f1.js');\n case DeckdeckgoHighlightCodeCarbonTheme.SYNTHWAVE:\n return import('./synthwave-af3bb869.js');\n case DeckdeckgoHighlightCodeCarbonTheme.TWILIGHT:\n return import('./twilight-68d946d8.js');\n case DeckdeckgoHighlightCodeCarbonTheme.VERMINAL:\n return import('./verminal-f2bc4235.js');\n case DeckdeckgoHighlightCodeCarbonTheme.VSCODE:\n return import('./vscode-1e0057d8.js');\n case DeckdeckgoHighlightCodeCarbonTheme.YETI:\n return import('./yeti-67a4664e.js');\n case DeckdeckgoHighlightCodeCarbonTheme.ZENBURN:\n return import('./zenburn-a2e7f052.js');\n default:\n return import('./dracula-0eb4b4d6.js');\n }\n}\nvar CarbonThemeStyle = function (_a) {\n var style = _a.style;\n return (h(\"style\", null, \"\\n :host \" + style + \";\\n \"));\n};\nvar deckdeckgoHighlightCodeLanguages = {\n markup: { title: 'Markup' },\n css: { title: 'CSS' },\n clike: { title: 'C-like' },\n javascript: { title: 'JavaScript' },\n abap: { title: 'ABAP' },\n abnf: { title: 'ABNF' },\n actionscript: { title: 'ActionScript' },\n ada: { title: 'Ada' },\n agda: { title: 'Agda' },\n al: { title: 'AL' },\n antlr4: { title: 'ANTLR4' },\n apacheconf: { title: 'Apache Configuration' },\n apl: { title: 'APL' },\n applescript: { title: 'AppleScript' },\n aql: { title: 'AQL' },\n arduino: { title: 'Arduino', require: ['cpp'] },\n arff: { title: 'ARFF' },\n asciidoc: { title: 'AsciiDoc' },\n aspnet: { title: 'ASP.NET (C#)', require: ['markup', 'csharp'] },\n asm6502: { title: '6502 Assembly' },\n autohotkey: { title: 'AutoHotkey' },\n autoit: { title: 'AutoIt' },\n bash: { title: 'Bash' },\n basic: { title: 'BASIC' },\n batch: { title: 'Batch' },\n bbcode: { title: 'BBcode' },\n bison: { title: 'Bison', require: ['c'] },\n bnf: { title: 'BNF' },\n brainfuck: { title: 'Brainfuck' },\n brightscript: { title: 'BrightScript' },\n bro: { title: 'Bro' },\n bsl: { title: 'BSL (1C:Enterprise)' },\n c: { title: 'C' },\n csharp: { title: 'C#' },\n cpp: { title: 'C++', require: ['c'] },\n cil: { title: 'CIL' },\n clojure: { title: 'Clojure' },\n cmake: { title: 'CMake' },\n coffeescript: { title: 'CoffeeScript' },\n concurnas: { title: 'Concurnas' },\n csp: { title: 'Content-Security-Policy' },\n crystal: { title: 'Crystal', require: ['ruby'] },\n 'css-extras': { title: 'CSS Extras', require: ['css'] },\n cypher: { title: 'Cypher' },\n d: { title: 'D' },\n dart: { title: 'Dart' },\n dax: { title: 'DAX' },\n dhall: { title: 'Dhall' },\n diff: { title: 'Diff' },\n django: { title: 'Django/Jinja2', require: ['markup-templating'] },\n 'dns-zone-file': { title: 'DNS zone file' },\n docker: { title: 'Docker' },\n ebnf: { title: 'EBNF' },\n editorconfig: { title: 'EditorConfig' },\n eiffel: { title: 'Eiffel' },\n ejs: { title: 'EJS', require: ['markup-templating'] },\n elixir: { title: 'Elixir' },\n elm: { title: 'Elm' },\n etlua: { title: 'Embedded Lua templating', require: ['lua', 'markup-templating'] },\n erb: { title: 'ERB', require: ['ruby', 'markup-templating'] },\n erlang: { title: 'Erlang' },\n 'excel-formula': { title: 'Excel Formula' },\n fsharp: { title: 'F#' },\n factor: { title: 'Factor' },\n 'firestore-security-rules': { title: 'Firestore security rules' },\n flow: { title: 'Flow' },\n fortran: { title: 'Fortran' },\n ftl: { title: 'FreeMarker Template Language', require: ['markup-templating'] },\n gml: { title: 'GameMaker Language' },\n gcode: { title: 'G-code' },\n gdscript: { title: 'GDScript' },\n gedcom: { title: 'GEDCOM' },\n gherkin: { title: 'Gherkin' },\n git: { title: 'Git' },\n glsl: { title: 'GLSL', require: ['c'] },\n go: { title: 'Go' },\n graphql: { title: 'GraphQL' },\n groovy: { title: 'Groovy' },\n haml: { title: 'Haml', require: ['ruby'] },\n handlebars: { title: 'Handlebars', require: ['markup-templating'] },\n haskell: { title: 'Haskell' },\n haxe: { title: 'Haxe' },\n hcl: { title: 'HCL' },\n hlsl: { title: 'HLSL', require: ['c'] },\n http: { title: 'HTTP' },\n hpkp: { title: 'HTTP Public-Key-Pins' },\n hsts: { title: 'HTTP Strict-Transport-Security' },\n ichigojam: { title: 'IchigoJam' },\n icon: { title: 'Icon' },\n ignore: { title: '.ignore' },\n inform7: { title: 'Inform 7' },\n ini: { title: 'Ini' },\n io: { title: 'Io' },\n j: { title: 'J' },\n java: { title: 'Java' },\n javadoc: { title: 'JavaDoc', require: ['markup', 'java', 'javadoclike'] },\n javadoclike: { title: 'JavaDoc-like' },\n javastacktrace: { title: 'Java stack trace' },\n jolie: { title: 'Jolie' },\n jq: { title: 'JQ' },\n jsdoc: { title: 'JSDoc', require: ['javadoclike', 'typescript'] },\n 'js-extras': { title: 'JS Extras' },\n json: { title: 'JSON' },\n json5: { title: 'JSON5', require: ['json'] },\n jsonp: { title: 'JSONP', require: ['json'] },\n jsstacktrace: { title: 'JS stack trace' },\n 'js-templates': { title: 'JS Templates' },\n julia: { title: 'Julia' },\n keyman: { title: 'Keyman' },\n kotlin: { title: 'Kotlin' },\n latex: { title: 'LaTeX' },\n latte: { title: 'Latte', require: ['markup-templating', 'php'] },\n less: { title: 'Less', require: ['css'] },\n lilypond: { title: 'LilyPond', require: ['scheme'] },\n liquid: { title: 'Liquid' },\n lisp: { title: 'Lisp' },\n livescript: { title: 'LiveScript' },\n llvm: { title: 'LLVM IR' },\n lolcode: { title: 'LOLCODE' },\n lua: { title: 'Lua' },\n makefile: { title: 'Makefile' },\n markdown: { title: 'Markdown', require: ['markup'] },\n 'markup-templating': { title: 'Markup templating', require: ['markup'] },\n matlab: { title: 'MATLAB' },\n mel: { title: 'MEL' },\n mizar: { title: 'Mizar' },\n mongodb: { title: 'MongoDB' },\n monkey: { title: 'Monkey' },\n moonscript: { title: 'MoonScript' },\n n1ql: { title: 'N1QL' },\n n4js: { title: 'N4JS' },\n 'nand2tetris-hdl': { title: 'Nand To Tetris HDL' },\n naniscript: { title: 'Naninovel Script' },\n nasm: { title: 'NASM' },\n neon: { title: 'NEON' },\n nginx: { title: 'nginx' },\n nim: { title: 'Nim' },\n nix: { title: 'Nix' },\n nsis: { title: 'NSIS' },\n objectivec: { title: 'Objective-C', require: ['c'] },\n ocaml: { title: 'OCaml' },\n opencl: { title: 'OpenCL', require: ['c'] },\n oz: { title: 'Oz' },\n parigp: { title: 'PARI/GP' },\n parser: { title: 'Parser', require: ['markup'] },\n pascal: { title: 'Pascal' },\n pascaligo: { title: 'Pascaligo' },\n pcaxis: { title: 'PC-Axis' },\n peoplecode: { title: 'PeopleCode' },\n perl: { title: 'Perl' },\n php: { title: 'PHP', require: ['markup-templating'] },\n phpdoc: { title: 'PHPDoc', require: ['php', 'javadoclike'] },\n 'php-extras': { title: 'PHP Extras', require: ['php'] },\n plsql: { title: 'PL/SQL', require: ['sql'] },\n powerquery: { title: 'PowerQuery' },\n powershell: { title: 'PowerShell' },\n processing: { title: 'Processing' },\n prolog: { title: 'Prolog' },\n properties: { title: '.properties' },\n protobuf: { title: 'Protocol Buffers' },\n pug: { title: 'Pug', require: ['markup'] },\n puppet: { title: 'Puppet' },\n pure: { title: 'Pure' },\n purebasic: { title: 'PureBasic' },\n python: { title: 'Python' },\n q: { title: 'Q (kdb+ database)' },\n qml: { title: 'QML' },\n qore: { title: 'Qore' },\n r: { title: 'R' },\n racket: { title: 'Racket', require: ['scheme'] },\n jsx: { title: 'React JSX', require: ['markup'] },\n tsx: { title: 'React TSX', require: ['jsx', 'typescript'] },\n reason: { title: 'Reason' },\n regex: { title: 'Regex' },\n renpy: { title: \"Ren'py\" },\n rest: { title: 'reST (reStructuredText)' },\n rip: { title: 'Rip' },\n roboconf: { title: 'Roboconf' },\n robotframework: { title: 'Robot Framework' },\n ruby: { title: 'Ruby' },\n rust: { title: 'Rust' },\n sas: { title: 'SAS' },\n sass: { title: 'Sass (Sass)', require: ['css'] },\n scss: { title: 'Sass (Scss)', require: ['css'] },\n scala: { title: 'Scala', require: ['java'] },\n scheme: { title: 'Scheme' },\n 'shell-session': { title: 'Shell session', require: ['bash'] },\n smali: { title: 'Smali' },\n smalltalk: { title: 'Smalltalk' },\n smarty: { title: 'Smarty', require: ['markup-templating'] },\n solidity: { title: 'Solidity (Ethereum)' },\n 'solution-file': { title: 'Solution file' },\n soy: { title: 'Soy (Closure Template)', require: ['markup-templating'] },\n sparql: { title: 'SPARQL', require: ['turtle'] },\n 'splunk-spl': { title: 'Splunk SPL' },\n sqf: { title: 'SQF: Status Quo Function (Arma 3)' },\n sql: { title: 'SQL' },\n stan: { title: 'Stan' },\n iecst: { title: 'Structured Text (IEC 61131-3)' },\n stylus: { title: 'Stylus' },\n swift: { title: 'Swift' },\n 't4-templating': { title: 'T4 templating' },\n 't4-cs': { title: 'T4 Text Templates (C#)', require: ['t4-templating', 'csharp'] },\n 't4-vb': { title: 'T4 Text Templates (VB)', require: ['t4-templating', 'vbnet'] },\n tap: { title: 'TAP', require: ['yaml'] },\n tcl: { title: 'Tcl' },\n tt2: { title: 'Template Toolkit 2', require: ['markup-templating'] },\n textile: { title: 'Textile', require: ['markup'] },\n toml: { title: 'TOML' },\n turtle: { title: 'Turtle' },\n twig: { title: 'Twig', require: ['markup'] },\n typescript: { title: 'TypeScript' },\n typoscript: { title: 'TypoScript' },\n unrealscript: { title: 'UnrealScript' },\n vala: { title: 'Vala' },\n vbnet: { title: 'VB.Net', require: ['basic'] },\n velocity: { title: 'Velocity', require: ['markup'] },\n verilog: { title: 'Verilog' },\n vhdl: { title: 'VHDL' },\n vim: { title: 'vim' },\n 'visual-basic': { title: 'Visual Basic' },\n warpscript: { title: 'WarpScript' },\n wasm: { title: 'WebAssembly' },\n wiki: { title: 'Wiki markup', require: ['markup'] },\n xeora: { title: 'Xeora', require: ['markup'] },\n 'xml-doc': { title: 'XML doc (.net)', require: ['markup'] },\n xojo: { title: 'Xojo (REALbasic)' },\n xquery: { title: 'XQuery', require: ['markup'] },\n yaml: { title: 'YAML' },\n yang: { title: 'YANG' },\n zig: { title: 'Zig' },\n};\nvar deckdeckgoHighlightCodeCss = \"code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=\\\"language-\\\"]::-moz-selection,pre[class*=\\\"language-\\\"] ::-moz-selection,code[class*=\\\"language-\\\"]::-moz-selection,code[class*=\\\"language-\\\"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=\\\"language-\\\"]::-moz-selection,pre[class*=\\\"language-\\\"] ::-moz-selection,code[class*=\\\"language-\\\"]::-moz-selection,code[class*=\\\"language-\\\"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=\\\"language-\\\"]::selection,pre[class*=\\\"language-\\\"] ::selection,code[class*=\\\"language-\\\"]::selection,code[class*=\\\"language-\\\"] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{text-shadow:none}}pre[class*=\\\"language-\\\"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{background:#f5f2f0}:not(pre)>code[class*=\\\"language-\\\"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:hsla(0, 0%, 100%, .5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}:host ::slotted([slot=code]){display:none}:host(.deckgo-highlight-code-edit) ::slotted([slot=code]){display:block;white-space:pre-wrap}:host(.deckgo-highlight-code-edit) code{display:none}:host([editable]) code:empty:not(:focus):after{content:var(--deckgo-highlight-code-empty-text, \\\"Click to add your code\\\")}:host(.deckgo-highlight-code-carbon){display:var(--deckgo-highlight-code-carbon-display, block);overflow:var(--deckgo-highlight-code-carbon-overflow, auto);border:var(--deckgo-highlight-code-carbon-border);border-radius:var(--deckgo-highlight-code-carbon-border-radius, 4px);background:var(--deckgo-highlight-code-carbon-background, #282a36);color:var(--deckgo-highlight-code-carbon-color, white);-webkit-box-shadow:var(--deckgo-highlight-code-carbon-box-shadow, rgba(0, 0, 0, 0.55) 0 8px 16px);box-shadow:var(--deckgo-highlight-code-carbon-box-shadow, rgba(0, 0, 0, 0.55) 0 8px 16px);margin:var(--deckgo-highlight-code-carbon-margin, 16px 0)}:host(.deckgo-highlight-code-carbon) div.deckgo-highlight-code-container{margin:var(--deckgo-highlight-code-margin, 0 0 16px)}:host(.deckgo-highlight-code-carbon) div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{background:var(--deckgo-highlight-code-carbon-background, transparent);border-color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4));color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4))}:host(.deckgo-highlight-code-carbon) ::slotted([slot=code]){color:var(--deckgo-highlight-code-carbon-color, white)}:host(.deckgo-highlight-code-ubuntu){display:var(--deckgo-highlight-code-ubuntu-display, block);overflow:var(--deckgo-highlight-code-ubuntu-overflow, auto);border:var(--deckgo-highlight-code-ubuntu-border);border-radius:var(--deckgo-highlight-code-ubuntu-border-radius, 6px 6px 0 0);background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d);color:var(--deckgo-highlight-code-ubuntu-color, #ddd);-webkit-box-shadow:var(--deckgo-highlight-code-ubuntu-box-shadow, 2px 4px 10px rgba(0, 0, 0, 0.5));box-shadow:var(--deckgo-highlight-code-ubuntu-box-shadow, 2px 4px 10px rgba(0, 0, 0, 0.5));margin:var(--deckgo-highlight-code-ubuntu-margin, 16px 0)}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container{margin:var(--deckgo-highlight-code-margin, 0 0 16px);padding:var(--deckgo-highlight-code-padding, 2px 0 0);background:transparent}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container code{font-family:var(--deckgo-highlight-code-font-family, \\\"Ubuntu mono\\\")}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d)}:host(.deckgo-highlight-code-ubuntu) ::slotted([slot=code]){color:var(--deckgo-highlight-code-ubuntu-color, #ddd)}div.deckgo-highlight-code-container{color:var(--deckgo-highlight-code-color, inherit);background:var(--deckgo-highlight-code-background);padding:var(--deckgo-highlight-code-padding, 0 16px);border-radius:var(--deckgo-highlight-code-border-radius);margin:var(--deckgo-highlight-code-margin, 16px 0);-webkit-transform-origin:bottom left;transform-origin:bottom left;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scale(var(--deckgo-highlight-code-zoom, 1));transform:scale(var(--deckgo-highlight-code-zoom, 1));direction:var(--deckgo-highlight-code-direction, ltr);text-align:var(--deckgo-highlight-code-text-align, start);width:var(--deckgo-highlight-code-container-width);height:var(--deckgo-highlight-code-container-height);display:var(--deckgo-highlight-code-container-display, block);-ms-flex-pack:var(--deckgo-highlight-code-container-justify-content);justify-content:var(--deckgo-highlight-code-container-justify-content);-ms-flex-direction:var(--deckgo-highlight-code-container-flex-direction);flex-direction:var(--deckgo-highlight-code-container-flex-direction);-ms-flex-align:var(--deckgo-highlight-code-container-align-items);align-items:var(--deckgo-highlight-code-container-align-items)}div.deckgo-highlight-code-container code{overflow-y:var(--deckgo-highlight-code-scroll, auto);white-space:var(--deckgo-highlight-code-white-space, pre-wrap);font-size:var(--deckgo-highlight-code-font-size);font-family:var(--deckgo-highlight-code-font-family, monospace);display:var(--deckgo-highlight-code-display, block);counter-reset:linenumber;height:100%;}div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number{counter-increment:linenumber;position:relative;padding-left:3.5em}div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{content:counter(linenumber);display:inline-block;position:absolute;top:0;bottom:0;left:0;width:2.5em;background:var(--deckgo-highlight-code-background);border-right:1px solid var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4));color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4))}div.deckgo-highlight-code-container code span.deckgo-highlight-code-anchor-hidden{visibility:hidden}div.deckgo-highlight-code-container code .deckgo-highlight-code-line{background:var(--deckgo-highlight-code-line-background, #3e4564);border-top:var(--deckgo-highlight-code-line-border-top);border-bottom:var(--deckgo-highlight-code-line-border-bottom)}div.deckgo-highlight-code-container code .language-css .token.string:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .style .token.string:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.entity:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.operator:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.url:not(.deckgo-highlight-code-line){background:inherit}div.deckgo-highlight-code-container code .token.comment,div.deckgo-highlight-code-container code .token.prolog,div.deckgo-highlight-code-container code .token.doctype,div.deckgo-highlight-code-container code .token.cdata{color:var(--deckgo-highlight-code-token-comment, #6272a4)}div.deckgo-highlight-code-container code .token.punctuation{color:var(--deckgo-highlight-code-token-punctuation, #6272a4)}div.deckgo-highlight-code-container code .token.property,div.deckgo-highlight-code-container code .token.tag,div.deckgo-highlight-code-container code .token.boolean,div.deckgo-highlight-code-container code .token.number,div.deckgo-highlight-code-container code .token.constant,div.deckgo-highlight-code-container code .token.symbol,div.deckgo-highlight-code-container code .token.deleted{color:var(--deckgo-highlight-code-token-property, #bd93f9)}div.deckgo-highlight-code-container code .token.selector,div.deckgo-highlight-code-container code .token.attr-name,div.deckgo-highlight-code-container code .token.string,div.deckgo-highlight-code-container code .token.char,div.deckgo-highlight-code-container code .token.builtin,div.deckgo-highlight-code-container code .token.inserted{color:var(--deckgo-highlight-code-token-selector, #50fa7b)}div.deckgo-highlight-code-container code .token.operator,div.deckgo-highlight-code-container code .token.entity,div.deckgo-highlight-code-container code .token.url,div.deckgo-highlight-code-container code .language-css .token.string,div.deckgo-highlight-code-container code .style .token.string{color:var(--deckgo-highlight-code-token-operator, #ff79c6)}div.deckgo-highlight-code-container code .token.atrule,div.deckgo-highlight-code-container code .token.attr-value,div.deckgo-highlight-code-container code .token.keyword{color:var(--deckgo-highlight-code-token-atrule, #ff79c6)}div.deckgo-highlight-code-container code .token.function,div.deckgo-highlight-code-container code .token.class-name{color:var(--deckgo-highlight-code-token-function, #ffb86c)}div.deckgo-highlight-code-container code .token.regex,div.deckgo-highlight-code-container code .token.important,div.deckgo-highlight-code-container code .token.variable{color:var(--deckgo-highlight-code-token-regex, #f1fa8c)}div.carbon{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;padding:var(--deckgo-highlight-code-carbon-header-padding, 16px)}div.carbon>div{width:var(--deckgo-highlight-code-carbon-header-button-width, 12px);height:var(--deckgo-highlight-code-carbon-header-button-height, 12px);border-radius:var(--deckgo-highlight-code-carbon-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-carbon-header-button-margin, 0 6px 0 0)}div.carbon>div.red{background:var(--deckgo-highlight-code-carbon-header-button-red-background, #ff5f56);border:var(--deckgo-highlight-code-carbon-header-button-red-border, 0.5px solid #e0443e)}div.carbon>div.yellow{background:var(--deckgo-highlight-code-carbon-header-button-yellow-background, #ffbd2e);border:var(--deckgo-highlight-code-carbon-header-button-yellow-border, 0.5px solid #dea123)}div.carbon>div.green{background:var(--deckgo-highlight-code-carbon-header-button-green-background, #27c93f);border:var(--deckgo-highlight-code-carbon-header-button-green-border, 0.5px solid #1aab29)}div.ubuntu{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;padding:var(--deckgo-highlight-code-ubuntu-header-padding, 0 8px);height:var(--deckgo-highlight-code-ubuntu-header-height, 25px);background:var(--deckgo-highlight-code-ubuntu-header-background, linear-gradient(#504b45 0%, #3c3b37 100%));font-family:var(--deckgo-highlight-code-ubuntu-header-font-family, \\\"Ubuntu\\\")}div.ubuntu>div{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:var(--deckgo-highlight-code-carbon-header-button-width, 12px);height:var(--deckgo-highlight-code-carbon-header-button-height, 12px);border-radius:var(--deckgo-highlight-code-carbon-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-carbon-header-button-margin, 0 4px 0 0);font-size:var(--deckgo-highlight-code-carbon-header-button-font-size, 7px);color:var(--deckgo-highlight-code-carbon-header-button-color, black);text-shadow:var(--deckgo-highlight-code-carbon-header-button-text-shadow, 0px 1px 0px rgba(255, 255, 255, 0.2));-webkit-box-shadow:var(--deckgo-highlight-code-carbon-header-button-box-shadow, 0px 0px 1px 0px #41403a, 0px 1px 1px 0px #474642);box-shadow:var(--deckgo-highlight-code-carbon-header-button-box-shadow, 0px 0px 1px 0px #41403a, 0px 1px 1px 0px #474642)}div.ubuntu>div.close{background:var(--deckgo-highlight-code-carbon-header-button-close-background, linear-gradient(#f37458 0%, #de4c12 100%));border:var(--deckgo-highlight-code-carbon-header-button-close-border)}div.ubuntu>div.minimize{background:var(--deckgo-highlight-code-carbon-header-button-minimize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-carbon-header-button-minimize-border)}div.ubuntu>div.maximize{background:var(--deckgo-highlight-code-carbon-header-button-maximize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-carbon-header-button-maximize-border)}div.ubuntu>p{color:var(--deckgo-highlight-code-carbon-header-user-color, #d5d0ce);font-size:var(--deckgo-highlight-code-carbon-header-user-font-size, 12px);line-height:var(--deckgo-highlight-code-carbon-header-user-line-height, 14px);margin:var(--deckgo-highlight-code-carbon-header-user-margin, 0 0 1px 4px)}\";\nvar DeckdeckgoHighlightCode = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.prismLanguageLoaded = createEvent(this, \"prismLanguageLoaded\", 7);\n this.codeDidChange = createEvent(this, \"codeDidChange\", 7);\n this.anchor = '// DeckDeckGo';\n this.anchorZoom = '// DeckDeckGoZoom';\n this.hideAnchor = true;\n this.language = 'javascript';\n this.lineNumbers = false;\n this.terminal = DeckdeckgoHighlightCodeTerminal.CARBON;\n this.editable = false;\n this.theme = DeckdeckgoHighlightCodeCarbonTheme.DRACULA;\n this.editing = false;\n this.anchorOffsetTop = 0;\n this.fetchOrParseAfterUpdate = false;\n this.loaded = false;\n this.catchNewLine = function ($event) { return __awaiter(_this, void 0, void 0, function () {\n var selection, charCode;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!($event && $event.key === 'Enter')) return [3 /*break*/, 2];\n $event.preventDefault();\n return [4 /*yield*/, this.getSelection()];\n case 1:\n selection = _a.sent();\n if (selection && selection.focusNode && selection.focusNode.textContent && selection.focusOffset > 0) {\n charCode = selection.focusNode.textContent.charCodeAt(window.getSelection().focusOffset);\n document.execCommand('insertHTML', false, charCode === 10 || charCode === 13 ? '\\n' : '\\n\\n');\n }\n else {\n document.execCommand('insertHTML', false, '\\n\\n');\n }\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); };\n this.applyCode = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.stopEditing()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.parseSlottedCode()];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n }\n class_1.prototype.componentWillLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.loadGoogleFonts()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.loadTheme()];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.componentDidLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n var languageWasLoaded;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.languageDidLoad()];\n case 1:\n languageWasLoaded = _a.sent();\n return [4 /*yield*/, this.loadLanguages()];\n case 2:\n _a.sent();\n if (!languageWasLoaded) return [3 /*break*/, 4];\n return [4 /*yield*/, this.fetchOrParse()];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.componentDidUpdate = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.fetchOrParseAfterUpdate) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchOrParse()];\n case 1:\n _a.sent();\n this.fetchOrParseAfterUpdate = false;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.loadTheme = function () {\n return __awaiter(this, void 0, void 0, function () {\n var theme;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON || !this.theme) {\n this.themeStyle = undefined;\n return [2 /*return*/];\n }\n return [4 /*yield*/, loadTheme(this.theme)];\n case 1:\n theme = (_a.sent()).theme;\n this.themeStyle = theme;\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.languageLoaded = function ($event) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!$event || !$event.detail) {\n return [2 /*return*/];\n }\n if (this.languagesToLoad) {\n this.languagesToLoad = this.languagesToLoad.filter(function (lang) { return lang !== $event.detail; });\n }\n if (!(this.language && !this.loaded && (this.languagesToLoad === undefined || this.languagesToLoad.length <= 0))) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchOrParse()];\n case 1:\n _a.sent();\n this.loaded = true;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.fetchOrParse = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.src) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchCode()];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.parseSlottedCode()];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.languageDidLoad = function () {\n var _this = this;\n return new Promise(function (resolve) {\n if (!document || !_this.language || _this.language === '') {\n resolve(false);\n return;\n }\n var scripts = document.querySelector(\"[deckdeckgo-prism-loaded='\" + _this.language + \"']\");\n if (scripts) {\n resolve(true);\n }\n else {\n resolve(false);\n }\n });\n };\n class_1.prototype.onLanguage = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.loadLanguages(true)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.loadLanguages = function (reload) {\n if (reload === void 0) { reload = false; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.loaded = false;\n return [4 /*yield*/, this.initLanguagesToLoad()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.loadLanguagesRequire()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.loadScript(this.language, reload)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.initLanguagesToLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n var definition;\n return __generator(this, function (_a) {\n if (!this.language) {\n return [2 /*return*/];\n }\n definition = deckdeckgoHighlightCodeLanguages[this.language];\n this.languagesToLoad = definition.require && definition.require.length > 0 ? __spreadArrays([this.language], definition.require) : [this.language];\n return [2 /*return*/];\n });\n });\n };\n class_1.prototype.loadLanguagesRequire = function () {\n return __awaiter(this, void 0, void 0, function () {\n var promises, definition;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promises = [];\n definition = deckdeckgoHighlightCodeLanguages[this.language];\n if (definition.require) {\n promises.push.apply(promises, definition.require.map(function (extraScript) { return _this.loadScript(extraScript); }));\n }\n if (promises.length <= 0) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, Promise.all(promises)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.loadScript = function (lang, reload) {\n var _this = this;\n if (reload === void 0) { reload = false; }\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n var scripts, script;\n var _this = this;\n return __generator(this, function (_a) {\n if (!document || !lang || lang === '') {\n resolve();\n return [2 /*return*/];\n }\n // No need to load javascript, it is there\n if (lang === 'javascript') {\n this.prismLanguageLoaded.emit('javascript');\n resolve();\n return [2 /*return*/];\n }\n scripts = document.querySelector(\"[deckdeckgo-prism='\" + lang + \"']\");\n if (scripts) {\n if (reload) {\n this.prismLanguageLoaded.emit(lang);\n }\n resolve();\n return [2 /*return*/];\n }\n script = document.createElement('script');\n script.onload = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n script.setAttribute('deckdeckgo-prism-loaded', lang);\n this.prismLanguageLoaded.emit(lang);\n return [2 /*return*/];\n });\n }); };\n script.onerror = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (script.parentElement) {\n script.parentElement.removeChild(script);\n }\n // if the language definition doesn't exist or if unpkg is down, display code anyway\n this.prismLanguageLoaded.emit(lang);\n return [2 /*return*/];\n });\n }); };\n script.src = 'https://unpkg.com/prismjs@latest/components/prism-' + lang + '.js';\n script.setAttribute('deckdeckgo-prism', lang);\n script.defer = true;\n document.head.appendChild(script);\n resolve();\n return [2 /*return*/];\n });\n }); });\n };\n class_1.prototype.onLineNumbersChange = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.fetchOrParse()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.onCarbonChange = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.fetchOrParseAfterUpdate = true;\n return [4 /*yield*/, this.loadGoogleFonts()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.loadGoogleFonts = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU)) return [3 /*break*/, 2];\n return [4 /*yield*/, injectCSS('google-fonts-ubuntu', 'https://fonts.googleapis.com/css?family=Ubuntu|Ubuntu+Mono&display=swap')];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.load = function () {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.language || this.language === '') {\n resolve();\n return [2 /*return*/];\n }\n if (!(this.language === 'javascript')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchOrParse()];\n case 1:\n _a.sent();\n resolve();\n return [2 /*return*/];\n case 2:\n if (!document.querySelector(\"[deckdeckgo-prism-loaded='\" + this.language + \"']\")) return [3 /*break*/, 4];\n return [4 /*yield*/, this.fetchOrParse()];\n case 3:\n _a.sent();\n return [3 /*break*/, 6];\n case 4: return [4 /*yield*/, this.loadLanguages()];\n case 5:\n _a.sent();\n _a.label = 6;\n case 6:\n resolve();\n return [2 /*return*/];\n }\n });\n }); });\n };\n class_1.prototype.parseSlottedCode = function () {\n var code = this.el.querySelector(\"[slot='code']\");\n if (code) {\n return this.parseCode(code.innerText ? code.innerText.trim() : code.innerText);\n }\n else {\n return new Promise(function (resolve) {\n resolve();\n });\n }\n };\n class_1.prototype.fetchCode = function () {\n return __awaiter(this, void 0, void 0, function () {\n var fetchedCode, response, e_1, container;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.src) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 5, , 6]);\n return [4 /*yield*/, fetch(this.src)];\n case 2:\n response = _a.sent();\n return [4 /*yield*/, response.text()];\n case 3:\n fetchedCode = _a.sent();\n return [4 /*yield*/, this.parseCode(fetchedCode)];\n case 4:\n _a.sent();\n return [3 /*break*/, 6];\n case 5:\n e_1 = _a.sent();\n container = this.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n if (container && fetchedCode) {\n container.children[0].innerHTML = fetchedCode;\n }\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.parseCode = function (code) {\n var _this = this;\n return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var container, regEx, match, err_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n container = this.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n if (!code || code === undefined || code === '') {\n resolve();\n return [2 /*return*/];\n }\n if (!container) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n // clear the container first\n container.children[0].innerHTML = '';\n regEx = RegExp(/\\n(?!$)/g);\n match = code.split(regEx);\n match.forEach(function (m, idx, array) {\n // On last element\n if (idx === array.length - 1) {\n _this.attachHighlightObserver(container);\n }\n var div = document.createElement('div');\n if (_this.lineNumbers) {\n div.classList.add('deckgo-highlight-code-line-number');\n }\n var highlight = prism.highlight(m, prism.languages[_this.language], _this.language);\n // If empty, use \\u200B as zero width text spacer\n div.innerHTML = highlight && highlight !== '' ? highlight : '\\u200B';\n container.children[0].appendChild(div);\n });\n return [4 /*yield*/, this.addAnchors()];\n case 2:\n _a.sent();\n resolve();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n reject(err_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); });\n };\n class_1.prototype.attachHighlightObserver = function (container) {\n var _this = this;\n if (window && 'ResizeObserver' in window) {\n // @ts-ignore\n var observer_1 = new ResizeObserver(function (_entries) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.addHighlight()];\n case 1:\n _a.sent();\n observer_1.disconnect();\n return [2 /*return*/];\n }\n });\n }); });\n observer_1.observe(container);\n }\n else {\n // Back in my days...\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.addHighlight()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, 100);\n }\n };\n class_1.prototype.addAnchors = function () {\n var _this = this;\n return new Promise(function (resolve) {\n var elements = _this.el.shadowRoot.querySelectorAll('span.comment');\n if (elements) {\n var elementsArray = Array.from(elements);\n var anchors = elementsArray.filter(function (element) {\n return _this.hasLineAnchor(element.innerHTML);\n });\n if (anchors) {\n anchors.forEach(function (anchor) {\n anchor.classList.add('deckgo-highlight-code-anchor');\n if (_this.hideAnchor) {\n anchor.classList.add('deckgo-highlight-code-anchor-hidden');\n }\n });\n }\n }\n resolve();\n });\n };\n class_1.prototype.hasLineAnchor = function (line) {\n return line && this.anchor && line.indexOf('@Prop') === -1 && line.split(' ').join('').indexOf(this.anchor.split(' ').join('')) > -1;\n };\n class_1.prototype.addHighlight = function () {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n var rows_1, containerCode, elements, rowIndex_1, lastOffsetTop_1, offsetHeight_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.highlightLines && this.highlightLines.length > 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.findRowsToHighlight()];\n case 1:\n rows_1 = _a.sent();\n if (rows_1 && rows_1.length > 0) {\n containerCode = this.el.shadowRoot.querySelector('code');\n if (containerCode && containerCode.hasChildNodes()) {\n elements = Array.prototype.slice.call(containerCode.childNodes);\n rowIndex_1 = 0;\n lastOffsetTop_1 = -1;\n offsetHeight_1 = -1;\n elements.forEach(function (element) {\n var editElement;\n // We need to convert text entries to an element in order to be able to style it\n if (element.nodeName === '#text') {\n var span = document.createElement('span');\n if (element.previousElementSibling) {\n element.previousElementSibling.insertAdjacentElement('afterend', span);\n }\n else {\n element.parentNode.prepend(span);\n }\n span.appendChild(element);\n editElement = span;\n }\n else {\n editElement = element;\n }\n // We try to find the row index with the offset of the element\n rowIndex_1 = editElement.offsetTop > lastOffsetTop_1 ? rowIndex_1 + 1 : rowIndex_1;\n lastOffsetTop_1 = editElement.offsetTop;\n // For some reason, some converted text element are displayed on two lines, that's why we should consider the 2nd one as index\n offsetHeight_1 = offsetHeight_1 === -1 || offsetHeight_1 > editElement.offsetHeight ? editElement.offsetHeight : offsetHeight_1;\n var rowsIndexToCompare = editElement.offsetHeight > offsetHeight_1 ? rowIndex_1 + 1 : rowIndex_1;\n if (rows_1.indexOf(rowsIndexToCompare) > -1) {\n editElement.classList.add('deckgo-highlight-code-line');\n }\n });\n }\n }\n _a.label = 2;\n case 2:\n resolve();\n return [2 /*return*/];\n }\n });\n }); });\n };\n class_1.prototype.findRowsToHighlight = function () {\n var _this = this;\n return new Promise(function (resolve) {\n var results = [];\n var rows = _this.highlightLines.split(' ');\n if (rows && rows.length > 0) {\n rows.forEach(function (row) {\n var index = row.split(',');\n if (index && index.length >= 1) {\n var start = parseInt(index[0], 0);\n var end = parseInt(index[1], 0);\n for (var i = start; i <= end; i++) {\n results.push(i);\n }\n }\n });\n }\n resolve(results);\n });\n };\n class_1.prototype.findNextAnchor = function (enter) {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n var elements, elementsArray, anchor, elementCode;\n var _this = this;\n return __generator(this, function (_a) {\n elements = this.el.shadowRoot.querySelectorAll('span.deckgo-highlight-code-anchor');\n if (elements) {\n elementsArray = enter ? Array.from(elements) : Array.from(elements).reverse();\n anchor = elementsArray.find(function (element) {\n return enter ? element.offsetTop > _this.anchorOffsetTop : element.offsetTop < _this.anchorOffsetTop;\n });\n if (anchor) {\n this.anchorOffsetTop = anchor.offsetTop;\n resolve({\n offsetTop: anchor.offsetTop,\n hasLineZoom: this.hasLineZoom(anchor.textContent),\n });\n }\n else if (!enter) {\n elementCode = this.el.shadowRoot.querySelector('code');\n if (elementCode && elementCode.firstElementChild) {\n this.anchorOffsetTop = 0;\n resolve({\n offsetTop: 0,\n hasLineZoom: false,\n });\n }\n else {\n resolve(null);\n }\n }\n else {\n resolve(null);\n }\n }\n else {\n resolve(null);\n }\n return [2 /*return*/];\n });\n }); });\n };\n class_1.prototype.zoomCode = function (zoom) {\n var _this = this;\n return new Promise(function (resolve) {\n var container = _this.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n if (container) {\n container.style.setProperty('--deckgo-highlight-code-zoom', zoom ? '1.3' : '1');\n }\n resolve();\n });\n };\n class_1.prototype.hasLineZoom = function (line) {\n return line && this.anchorZoom && line.indexOf('@Prop') === -1 && line.split(' ').join('').indexOf(this.anchorZoom.split(' ').join('')) > -1;\n };\n class_1.prototype.edit = function () {\n var _this = this;\n return new Promise(function (resolve) {\n if (!_this.editable) {\n resolve();\n return;\n }\n _this.editing = true;\n var slottedCode = _this.el.querySelector(\"[slot='code']\");\n if (slottedCode) {\n setTimeout(function () {\n slottedCode.setAttribute('contentEditable', 'true');\n slottedCode.addEventListener('blur', _this.applyCode, { once: true });\n slottedCode.addEventListener('keydown', _this.catchNewLine);\n slottedCode.focus();\n }, 100);\n }\n resolve();\n });\n };\n class_1.prototype.getSelection = function () {\n return new Promise(function (resolve) {\n var selectedSelection = null;\n if (window && window.getSelection) {\n selectedSelection = window.getSelection();\n }\n else if (document && document.getSelection) {\n selectedSelection = document.getSelection();\n }\n else if (document && document.selection) {\n selectedSelection = document.selection.createRange().text;\n }\n resolve(selectedSelection);\n });\n };\n class_1.prototype.stopEditing = function () {\n var _this = this;\n return new Promise(function (resolve) {\n _this.editing = false;\n var slottedCode = _this.el.querySelector(\"[slot='code']\");\n if (slottedCode) {\n slottedCode.removeAttribute('contentEditable');\n if (slottedCode.innerHTML) {\n slottedCode.innerHTML = slottedCode.innerHTML.trim();\n }\n _this.codeDidChange.emit(_this.el);\n }\n resolve();\n });\n };\n class_1.prototype.render = function () {\n var _this = this;\n var hostClass = {\n 'deckgo-highlight-code-edit': this.editing,\n 'deckgo-highlight-code-carbon': this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON,\n 'deckgo-highlight-code-ubuntu': this.terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU,\n };\n if (this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON) {\n hostClass[\"deckgo-highlight-code-theme-\" + this.theme] = true;\n }\n return (h(Host, { class: hostClass }, this.renderCarbon(), this.renderUbuntu(), h(\"div\", { class: \"deckgo-highlight-code-container\", onMouseDown: function () { return _this.edit(); }, onTouchStart: function () { return _this.edit(); } }, h(\"code\", null), h(\"slot\", { name: \"code\" }))));\n };\n class_1.prototype.renderCarbon = function () {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON) {\n return undefined;\n }\n return [\n h(CarbonThemeStyle, { style: this.themeStyle }),\n h(\"div\", { class: \"carbon\" }, this.renderCarbonCircle('red'), this.renderCarbonCircle('yellow'), this.renderCarbonCircle('green')),\n ];\n };\n class_1.prototype.renderCarbonCircle = function (color) {\n return h(\"div\", { class: color });\n };\n class_1.prototype.renderUbuntu = function () {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.UBUNTU) {\n return undefined;\n }\n return (h(\"div\", { class: \"ubuntu\" }, this.renderUbuntuCircle('close'), this.renderUbuntuCircle('minimize'), this.renderUbuntuCircle('maximize'), h(\"p\", null, h(\"slot\", { name: \"user\" }))));\n };\n class_1.prototype.renderUbuntuCircle = function (mode) {\n var symbol = mode === 'close' ? '✕' : mode === 'minimize' ? '─' : '◻';\n return h(\"div\", { class: mode, innerHTML: symbol });\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(class_1, \"watchers\", {\n get: function () {\n return {\n \"theme\": [\"loadTheme\"],\n \"language\": [\"onLanguage\"],\n \"lineNumbers\": [\"onLineNumbersChange\"],\n \"terminal\": [\"onCarbonChange\"]\n };\n },\n enumerable: false,\n configurable: true\n });\n return class_1;\n}());\nDeckdeckgoHighlightCode.style = deckdeckgoHighlightCodeCss;\nexport { DeckdeckgoHighlightCode as deckgo_highlight_code };\n"],"sourceRoot":""}