{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap f43ddecf445780f21c7f","webpack:///./~/pug-runtime/index.js","webpack:///./~/autobind-decorator/lib/index.js","webpack:///./app/components/base-target/index.js","webpack:///./~/array-from/index.js","webpack:///./~/array-from/polyfill.js","webpack:///./app/components/base-component.js","webpack:///./~/clipboard/lib/clipboard-action.js","webpack:///./~/clipboard/lib/clipboard.js","webpack:///./~/closest/index.js","webpack:///./~/delegate/src/delegate.js","webpack:///./~/good-listener/src/is.js","webpack:///./~/good-listener/src/listen.js","webpack:///./~/matches-selector/index.js","webpack:///./app/components/base-target/after-content.pug","webpack:///./app/components/base-target/base-target.pug","webpack:///./app/components/base-target/before-content.pug","webpack:///./app/components/base-target/download-link.pug","webpack:///./app/components/base-target/title.pug","webpack:///./~/select/src/select.js","webpack:///./app/components/base-target/base-target.svg","webpack:///./~/tiny-emitter/index.js","webpack:///fs (ignored)","webpack:///./modules/custom-target.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;ACrDA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yCAAyC;AACzC,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iDAAiD;AAC5D,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA,+BAA+B,EAAE;AACjC,8BAA8B,EAAE;AAChC,6BAA6B,EAAE;AAC/B,6BAA6B,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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KAHjB,UAIS,YAJT,GAIwB,gBAAgB,EAJxC,UAKS,QALT,GAKoB,CAChB,EAAC,IAAO,EAAP,oBAAD,EAA6B,kBAA7B,EADgB,CALpB;AAYD,C,+EA2FA,0D,8JAuFA,0D;;;;;;;ACtNH;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,UAAU;AAClC,4CAA4C,eAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnND;;AAEA;AACA,IAAM,oBAAoB,uBAA1B;;IAEqB,a;AAKnB,2BAAuB;AAAA;;AAAA,QAAX,IAAW,yDAAJ,EAAI;;AAAA;;AACrB,aAAc,IAAd,EAAoB;AAClB,eAAS,IADS;AAElB,YAAM;AAFY,KAApB,EAGG,IAHH;;AADqB,QAMd,UANc,GAMA,KAAK,WANL,CAMd,UANc;AAAA,wBAOsC,KAAK,KAAL,CAAW,MAPjD;AAAA,QAOL,aAPK,iBAOd,OAPc;AAAA,QAOoB,cAPpB,iBAOU,QAPV;;;AASrB,QAAM,mBAAmB,SAAnB,gBAAmB,GAAM;AAC7B,UAAI,CAAC,UAAD,IAAe,eAAe,IAAf,CAAoB,QAApB,CAA6B,MAAK,WAAL,CAAiB,KAA9C,CAAnB,EAAyE;AACzE;AACA,UAAM,QAAQ,MAAK,WAAL,CAAiB,KAAjB,GAAyB,eAAe,aAAf,CAA6B,OAA7B,CAAvC;;AAEA,YAAM,SAAN,GAAkB,UAAlB;AACA,qBAAe,IAAf,CAAoB,WAApB,CAAgC,KAAhC;AACD,KAPD;;AASA,QAAI,eAAe,IAAnB,EAAyB,mBAAzB,KACK,cAAc,gBAAd,CAA+B,MAA/B,EAAuC,gBAAvC;AACN;;0BAED,S,wBAAY;AACV,QAAI,KAAK,KAAL,CAAW,IAAX,KAAoB,QAAxB,EAAkC;;AAElC,QAAM,eAAe,KAAK,OAAL,CAAa,aAAb,CAA2B,aAA3B,CAArB;;AAEA,QAAI,YAAJ,EAAkB,aAAa,KAAb;AACnB,G;;AAED;AACA;;;0BACA,U,yBAAa;AAAA,QACJ,IADI,GACI,IADJ,CACJ,IADI;;;AAGX,uDACQ,KAAK,OAAL,CAAa,gBAAb,CAA8B,YAA9B,CADR,EAEG,OAFH,CAEW,mBAAW;AAClB,UAAM,YAAY,QAAQ,YAAR,CAAqB,UAArB,CAAlB;;AADkB,6BAEQ,UAAU,KAAV,CAAgB,iBAAhB,CAFR;;AAAA,UAET,GAFS;AAAA,UAEJ,QAFI;;;AAIlB,UAAI,QAAJ,EAAc;AACZ;AACA,YAAI,CAAC,MAAM,OAAN,CAAc,KAAK,GAAL,CAAd,CAAL,EAA+B,KAAK,GAAL,IAAY,EAAZ;;AAE/B,aAAK,GAAL,EAAU,IAAV,CAAe,OAAf;AACD,OALD,MAMK;AACH;AACA,aAAK,GAAL,IAAY,OAAZ;AACD;;AAED,cAAQ,eAAR,CAAwB,UAAxB;AACD,KAlBH;AAmBD,G;;0BAED,S,sBAAU,Q,EAA6B;AAAA,QAAnB,YAAmB,yDAAJ,EAAI;;AACrC;AACA,QAAM,aAAa,SAAS,aAAT,CAAuB,KAAvB,CAAnB;;AAEA,QAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC;AAClC,iBAAW,SAAX,GAAuB,SAAS,IAAT,CAAc,IAAd;AACrB,gBAAQ,KAAK,KADQ;AAErB,eAAO,KAAK;AAFS,SAGlB,YAHkB,EAAvB;AAKD,KAND,MAOK;AACH,iBAAW,SAAX,GAAuB,QAAvB;AACD;;AAED,WAAO,WAAW,UAAlB;AACD,G;;0BAED,e,8BAAmC;AAAA,QAAnB,YAAmB,yDAAJ,EAAI;AAAA,QAC1B,QAD0B,GACd,KAAK,WADS,CAC1B,QAD0B;;;AAGjC,SAAK,OAAL,GAAe,KAAK,SAAL,CAAe,QAAf,EAAyB,YAAzB,CAAf;AACA,SAAK,UAAL;;AAEA,WAAO,KAAK,OAAZ;AACD,G;;0BAGD,K,kBAAM,G,EAAK;AAAA,QACF,KADE,GACO,IADP,CACF,KADE;;AAET,QAAM,QAAQ,MAAM,MAAN,CAAa,GAAb,CAAd;;AAEA,WAAO,OAAO,KAAP,KAAiB,UAAjB,GAA8B,MAAM,KAAN,CAA9B,GAA6C,KAApD;AACD,G;;0BAED,Y,yBAAa,O,EAAS,O,EAAS;AAC7B,YAAQ,UAAR,CAAmB,YAAnB,CAAgC,OAAhC,EAAyC,OAAzC;AACD,G;;0BAED,a,0BAAc,O,EAAS;AACrB,QAAI,CAAC,OAAD,IAAY,CAAC,QAAQ,UAAzB,EAAqC,OAAO,IAAP;;AAErC,WAAO,QAAQ,UAAR,CAAmB,WAAnB,CAA+B,OAA/B,CAAP;AACD,G;;0BAED,M,qBAAS;AACP,WAAO,KAAK,eAAL,EAAP;AACD,G;;0BAED,c,2BAAe,O,EAAS,I,EAAM;AAC5B,YAAQ,UAAR,CAAmB,YAAnB,CAAgC,IAAhC,EAAsC,OAAtC;AACA,YAAQ,UAAR,CAAmB,WAAnB,CAA+B,OAA/B;;AAEA,SAAK,QAAL,GAAgB,QAAQ,QAAxB;;AAEA,SAAK,UAAL;AACD,G;;;aApHM,Q,GAAW,I,UACX,U,GAAa,I,UACb,K,GAAQ,I,iEAqFd,0D;;;;;;;AC7FH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA,CAAC,E;;;;;;ACjOD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,2CAA2C;AAC9D,mBAAmB,OAAO;AAC1B;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA,kFAAkF;;AAElF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,E;;;;;;AC9JD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACTA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3CA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;;;;;;AChDA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;;;;;;;AC7FA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,C;;;;;;ACvCA;;AAEA,2BAA2B,kCAAkC,cAAc,mCAAmC,EAAE,oBAAoB;AACpI;AACA,EAAE,8GAA8G;AAChH,0B;;;;;;ACLA;;AAEA,2BAA2B,kCAAkC,aAAa,iXAAiX;AAC3b,0B;;;;;;ACHA;;AAEA,2BAA2B,kCAAkC,cAAc,mCAAmC,EAAE,oBAAoB;AACpI;AACA,EAAE,8GAA8G;AAChH,0B;;;;;;ACLA;;AAEA,2BAA2B,kCAAkC,aAAa,4YAA4Y;AACtd,0B;;;;;;ACHA;;AAEA,2BAA2B,kCAAkC,aAAa;AAC1E;AACA;AACA;AACA;AACA;;AAEA,yDAAyD,0BAA0B;AACnF;;AAEA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,kDAAkD;AAClD,0B;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC3BA,ugB;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACjEA,e;;;;;;ACAA;AACA,IAAM,aAAa,oBAAQ,CAAR,EAAyC,OAA5D;;AAEA,OAAO,OAAP,GAAiB,UAAjB,C","file":"embed-box-custom-target.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"EmbedBoxCustomTarget\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"EmbedBoxCustomTarget\"] = factory();\n\telse\n\t\troot[\"EmbedBoxCustomTarget\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f43ddecf445780f21c7f","'use strict';\n\nvar pug_has_own_property = Object.prototype.hasOwnProperty;\n\n/**\n * Merge two attribute objects giving precedence\n * to values in object `b`. Classes are special-cased\n * allowing for arrays and merging/joining appropriately\n * resulting in a string.\n *\n * @param {Object} a\n * @param {Object} b\n * @return {Object} a\n * @api private\n */\n\nexports.merge = pug_merge;\nfunction pug_merge(a, b) {\n if (arguments.length === 1) {\n var attrs = a[0];\n for (var i = 1; i < a.length; i++) {\n attrs = pug_merge(attrs, a[i]);\n }\n return attrs;\n }\n\n for (var key in b) {\n if (key === 'class') {\n var valA = a[key] || [];\n a[key] = (Array.isArray(valA) ? valA : [valA]).concat(b[key] || []);\n } else if (key === 'style') {\n var valA = pug_style(a[key]);\n var valB = pug_style(b[key]);\n a[key] = valA + (valA && valB && ';') + valB;\n } else {\n a[key] = b[key];\n }\n }\n\n return a;\n};\n\n/**\n * Process array, object, or string as a string of classes delimited by a space.\n *\n * If `val` is an array, all members of it and its subarrays are counted as\n * classes. If `escaping` is an array, then whether or not the item in `val` is\n * escaped depends on the corresponding item in `escaping`. If `escaping` is\n * not an array, no escaping is done.\n *\n * If `val` is an object, all the keys whose value is truthy are counted as\n * classes. No escaping is done.\n *\n * If `val` is a string, it is counted as a class. No escaping is done.\n *\n * @param {(Array.|Object.|string)} val\n * @param {?Array.} escaping\n * @return {String}\n */\nexports.classes = pug_classes;\nfunction pug_classes_array(val, escaping) {\n var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping);\n for (var i = 0; i < val.length; i++) {\n className = pug_classes(val[i]);\n if (!className) continue;\n escapeEnabled && escaping[i] && (className = pug_escape(className));\n classString = classString + padding + className;\n padding = ' ';\n }\n return classString;\n}\nfunction pug_classes_object(val) {\n var classString = '', padding = '';\n for (var key in val) {\n if (key && val[key] && pug_has_own_property.call(val, key)) {\n classString = classString + padding + key;\n padding = ' ';\n }\n }\n return classString;\n}\nfunction pug_classes(val, escaping) {\n if (Array.isArray(val)) {\n return pug_classes_array(val, escaping);\n } else if (val && typeof val === 'object') {\n return pug_classes_object(val);\n } else {\n return val || '';\n }\n}\n\n/**\n * Convert object or string to a string of CSS styles delimited by a semicolon.\n *\n * @param {(Object.|string)} val\n * @return {String}\n */\n\nexports.style = pug_style;\nfunction pug_style(val) {\n if (!val) return '';\n if (typeof val === 'object') {\n var out = '', delim = '';\n for (var style in val) {\n /* istanbul ignore else */\n if (pug_has_own_property.call(val, style)) {\n out = out + delim + style + ':' + val[style];\n delim = ';';\n }\n }\n return out;\n } else {\n val = '' + val;\n if (val[val.length - 1] === ';') return val.slice(0, -1);\n return val;\n }\n};\n\n/**\n * Render the given attribute.\n *\n * @param {String} key\n * @param {String} val\n * @param {Boolean} escaped\n * @param {Boolean} terse\n * @return {String}\n */\nexports.attr = pug_attr;\nfunction pug_attr(key, val, escaped, terse) {\n if (val === false || val == null || !val && (key === 'class' || key === 'style')) {\n return '';\n }\n if (val === true) {\n return ' ' + (terse ? key : key + '=\"' + key + '\"');\n }\n if (typeof val.toJSON === 'function') {\n val = val.toJSON();\n }\n if (typeof val !== 'string') {\n val = JSON.stringify(val);\n if (!escaped && val.indexOf('\"') !== -1) {\n return ' ' + key + '=\\'' + val.replace(/'/g, ''') + '\\'';\n }\n }\n if (escaped) val = pug_escape(val);\n return ' ' + key + '=\"' + val + '\"';\n};\n\n/**\n * Render the given attributes object.\n *\n * @param {Object} obj\n * @param {Object} terse whether to use HTML5 terse boolean attributes\n * @return {String}\n */\nexports.attrs = pug_attrs;\nfunction pug_attrs(obj, terse){\n var attrs = '';\n\n for (var key in obj) {\n if (pug_has_own_property.call(obj, key)) {\n var val = obj[key];\n\n if ('class' === key) {\n val = pug_classes(val);\n attrs = pug_attr(key, val, false, terse) + attrs;\n continue;\n }\n if ('style' === key) {\n val = pug_style(val);\n }\n attrs += pug_attr(key, val, false, terse);\n }\n }\n\n return attrs;\n};\n\n/**\n * Escape the given string of `html`.\n *\n * @param {String} html\n * @return {String}\n * @api private\n */\n\nvar pug_match_html = /[\"&<>]/;\nexports.escape = pug_escape;\nfunction pug_escape(_html){\n var html = '' + _html;\n var regexResult = pug_match_html.exec(html);\n if (!regexResult) return _html;\n\n var result = '';\n var i, lastIndex, escape;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34: escape = '"'; break;\n case 38: escape = '&'; break;\n case 60: escape = '<'; break;\n case 62: escape = '>'; break;\n default: continue;\n }\n if (lastIndex !== i) result += html.substring(lastIndex, i);\n lastIndex = i + 1;\n result += escape;\n }\n if (lastIndex !== i) return result + html.substring(lastIndex, i);\n else return result;\n};\n\n/**\n * Re-throw the given `err` in context to the\n * the pug in `filename` at the given `lineno`.\n *\n * @param {Error} err\n * @param {String} filename\n * @param {String} lineno\n * @param {String} str original source\n * @api private\n */\n\nexports.rethrow = pug_rethrow;\nfunction pug_rethrow(err, filename, lineno, str){\n if (!(err instanceof Error)) throw err;\n if ((typeof window != 'undefined' || !filename) && !str) {\n err.message += ' on line ' + lineno;\n throw err;\n }\n try {\n str = str || require('fs').readFileSync(filename, 'utf8')\n } catch (ex) {\n pug_rethrow(err, null, lineno)\n }\n var context = 3\n , lines = str.split('\\n')\n , start = Math.max(lineno - context, 0)\n , end = Math.min(lines.length, lineno + context);\n\n // Error context\n var context = lines.slice(start, end).map(function(line, i){\n var curr = i + start + 1;\n return (curr == lineno ? ' > ' : ' ')\n + curr\n + '| '\n + line;\n }).join('\\n');\n\n // Alter exception message\n err.path = filename;\n err.message = (filename || 'Pug') + ':' + lineno\n + '\\n' + context + '\\n\\n' + err.message;\n throw err;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/pug-runtime/index.js\n// module id = 0\n// module chunks = 0","/**\n * @copyright 2015, Andrey Popp <8mayday@gmail.com>\n *\n * The decorator may be used on classes or methods\n * ```\n * @autobind\n * class FullBound {}\n *\n * class PartBound {\n * @autobind\n * method () {}\n * }\n * ```\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = autobind;\n\nfunction autobind() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1) {\n return boundClass.apply(undefined, args);\n } else {\n return boundMethod.apply(undefined, args);\n }\n}\n\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\nfunction boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys = undefined;\n // Use Reflect if exists\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype);\n // use symbols if support is provided\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key);\n\n // Only methods need binding\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\n\n/**\n * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nfunction boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new Error('@autobind decorator can only be applied to methods not: ' + typeof fn);\n }\n\n return {\n configurable: true,\n get: function get() {\n if (this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true\n });\n return boundFn;\n }\n };\n}\nmodule.exports = exports['default'];\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/autobind-decorator/lib/index.js\n// module id = 1\n// module chunks = 0","import template from \"./base-target.pug\"\nimport titleTemplate from \"./title.pug\"\nimport downloadLinkTemplate from \"./download-link.pug\"\nimport beforeContentTemplate from \"./before-content.pug\"\nimport afterContentTemplate from \"./after-content.pug\"\nimport defaultIcon from \"./base-target.svg\"\n\nimport autobind from \"autobind-decorator\"\nimport BaseComponent from \"components/base-component\"\nimport Clipboard from \"clipboard\"\n\nexport default class BaseTarget extends BaseComponent {\n static template = template;\n static titleTemplate = titleTemplate;\n static beforeContentTemplate = beforeContentTemplate;\n static afterContentTemplate = afterContentTemplate;\n static downloadLinkTemplate = downloadLinkTemplate;\n\n static supports = {};\n\n static extend = function extend({icon, id, label, template, templateVars} = {}) {\n if (!id) throw new Error(\"EmbedBox: Target must have `id`\")\n if (!label) throw new Error(\"EmbedBox: Target must have `label`\")\n\n return class CustomTarget extends BaseTarget {\n static icon = icon;\n static id = id;\n static label = label;\n static templateVars = templateVars || {};\n static versions = [\n {id: `${id}-custom-version`, template}\n ];\n static isConstructable() {\n return true\n }\n }\n };\n\n static isConstructable(config, store) {\n const supportsPlugin = this.supports.plugin\n const hasLocalEmbed = !!config.embedCode\n const hasGlobalEmbed = !!store.embedCode\n const embedCodePresent = hasLocalEmbed || hasGlobalEmbed\n const hasPluginURL = !!config.pluginURL\n\n if (supportsPlugin) return hasPluginURL || embedCodePresent\n\n return hasPluginURL && hasLocalEmbed || !hasPluginURL && embedCodePresent\n }\n\n constructor(spec = {}) {\n super(spec)\n\n this.versionID = this.config.versionID || this.versionIDs[0]\n }\n\n compileTemplate() {\n BaseComponent.prototype.compileTemplate.call(this, this.templateVars)\n\n this.element.setAttribute(\"data-component\", `${this.id}-target`)\n this.element.setAttribute(\"data-flow\", \"column\")\n this.element.setAttribute(\"autofocus\", \"\")\n this.element.className = `target-instructions ${this.element.className || \"\"}`\n\n return this.element\n }\n\n get autoDownloadLabel() {\n return this.store.autoDownload ? \"(Your download should begin automatically.)\" : \"\"\n }\n\n get downloadLabel() {\n const supportsPlugin = this.constructor.supports.plugin\n\n return supportsPlugin ? `Download the ${this.label} plugin` : `Download ${this.store.name}`\n }\n\n get pluginURL() {\n return this.config.pluginURL\n }\n\n get copyText() {\n return this.config.embedCode || this.store.embedCode\n }\n\n get label() {\n return this.constructor.label\n }\n\n get location() {\n const targetUsesHead = this.config.insertInHead\n const storeUsesHead = this.store.insertInHead\n\n // Respect target specific falsey values.\n const insertInHead = typeof targetUsesHead !== \"undefined\" ? targetUsesHead : storeUsesHead\n\n return insertInHead ? \"head\" : \"body\"\n }\n\n get icon() {\n return this.constructor.icon || defaultIcon\n }\n\n get id() {\n return this.constructor.id\n }\n\n get instructionsLabel() {\n return `Instructions for ${this.label} version`\n }\n\n get modalTitle() {\n return `Installing ${this.store.name} ${this.label}`\n }\n\n get templateVars() {\n return this.constructor.templateVars\n }\n\n get title() {\n return `Installing ${this.store.name} onto a ${this.label} site.`\n }\n\n get versionIDs() {\n return this.constructor.versions.map(version => version.id)\n }\n\n @autobind\n handleVersionChange({target: {value}}) {\n this.versionID = value\n this.render()\n }\n\n bindCopyButtons() {\n const {iframe} = this.store\n const {copyButtons = []} = this.refs\n\n copyButtons.forEach(copyButton => {\n const copyableContent = copyButton.parentNode.querySelector(\".copyable\")\n\n copyableContent.addEventListener(\"click\", () => {\n const range = iframe.document.createRange()\n const selection = iframe.window.getSelection()\n\n range.selectNodeContents(copyableContent)\n selection.removeAllRanges()\n selection.addRange(range)\n })\n\n const clipboard = new Clipboard(copyButton, {text: () => copyableContent.textContent})\n\n clipboard.on(\"success\", () => {\n copyButton.setAttribute(\"data-status\", \"copied\")\n setTimeout(() => copyButton.removeAttribute(\"data-status\"), 600)\n })\n })\n }\n\n renderSteps() {\n const {stepsMount} = this.refs\n const [version] = this.constructor.versions.filter(version => version.id === this.versionID)\n const stepsElement = this.serialize(version.template, this.templateVars)\n\n this.refs.screenshotMounts = []\n this.replaceElement(stepsMount, stepsElement)\n this.updateRefs()\n\n const {screenshotMounts = []} = this.refs\n\n screenshotMounts.forEach(screenshotMount => {\n const Screenshot = version.screenshots[screenshotMount.getAttribute(\"data-screenshot\")]\n const screenshot = new Screenshot()\n\n this.replaceElement(screenshotMount, screenshot.render(this))\n })\n }\n\n render() {\n const previousElement = this.element\n\n this.compileTemplate()\n this.renderSteps()\n\n const {versionSelector} = this.refs\n\n if (versionSelector) {\n versionSelector.addEventListener(\"change\", this.handleVersionChange)\n }\n\n this.bindCopyButtons()\n\n if (previousElement) this.replaceElement(previousElement, this.element)\n\n return this.element\n }\n\n renderTitle() {\n return this.constructor.titleTemplate.call(this, {\n config: this.store\n })\n }\n\n renderDownloadLink() {\n return this.constructor.downloadLinkTemplate.call(this, {config: this.store})\n }\n\n renderBeforeContent() {\n return this.constructor.beforeContentTemplate.call(this, {config: this.store})\n }\n\n renderAfterContent() {\n return this.constructor.afterContentTemplate.call(this, {config: this.store})\n }\n\n @autobind\n startDownload() {\n const downloadIframe = document.createElement(\"iframe\")\n\n downloadIframe.className = \"embed-box-download-iframe\"\n downloadIframe.src = this.pluginURL\n document.body.appendChild(downloadIframe)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/components/base-target/index.js","module.exports = (typeof Array.from === 'function' ?\n Array.from :\n require('./polyfill')\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/array-from/index.js\n// module id = 3\n// module chunks = 0","// Production steps of ECMA-262, Edition 6, 22.1.2.1\n// Reference: http://www.ecma-international.org/ecma-262/6.0/#sec-array.from\nmodule.exports = (function() {\n var isCallable = function(fn) {\n return typeof fn === 'function';\n };\n var toInteger = function (value) {\n var number = Number(value);\n if (isNaN(number)) { return 0; }\n if (number === 0 || !isFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n };\n var maxSafeInteger = Math.pow(2, 53) - 1;\n var toLength = function (value) {\n var len = toInteger(value);\n return Math.min(Math.max(len, 0), maxSafeInteger);\n };\n var iteratorProp = function(value) {\n if(value != null) {\n if(['string','number','boolean','symbol'].indexOf(typeof value) > -1){\n return Symbol.iterator;\n } else if (\n (typeof Symbol !== 'undefined') &&\n ('iterator' in Symbol) &&\n (Symbol.iterator in value)\n ) {\n return Symbol.iterator;\n }\n // Support \"@@iterator\" placeholder, Gecko 27 to Gecko 35\n else if ('@@iterator' in value) {\n return '@@iterator';\n }\n }\n };\n var getMethod = function(O, P) {\n // Assert: IsPropertyKey(P) is true.\n if (O != null && P != null) {\n // Let func be GetV(O, P).\n var func = O[P];\n // ReturnIfAbrupt(func).\n // If func is either undefined or null, return undefined.\n if(func == null) {\n return void 0;\n }\n // If IsCallable(func) is false, throw a TypeError exception.\n if (!isCallable(func)) {\n throw new TypeError(func + ' is not a function');\n }\n return func;\n }\n };\n var iteratorStep = function(iterator) {\n // Let result be IteratorNext(iterator).\n // ReturnIfAbrupt(result).\n var result = iterator.next();\n // Let done be IteratorComplete(result).\n // ReturnIfAbrupt(done).\n var done = Boolean(result.done);\n // If done is true, return false.\n if(done) {\n return false;\n }\n // Return result.\n return result;\n };\n\n // The length property of the from method is 1.\n return function from(items /*, mapFn, thisArg */ ) {\n 'use strict';\n\n // 1. Let C be the this value.\n var C = this;\n\n // 2. If mapfn is undefined, let mapping be false.\n var mapFn = arguments.length > 1 ? arguments[1] : void 0;\n\n var T;\n if (typeof mapFn !== 'undefined') {\n // 3. else\n // a. If IsCallable(mapfn) is false, throw a TypeError exception.\n if (!isCallable(mapFn)) {\n throw new TypeError(\n 'Array.from: when provided, the second argument must be a function'\n );\n }\n\n // b. If thisArg was supplied, let T be thisArg; else let T\n // be undefined.\n if (arguments.length > 2) {\n T = arguments[2];\n }\n // c. Let mapping be true (implied by mapFn)\n }\n\n var A, k;\n\n // 4. Let usingIterator be GetMethod(items, @@iterator).\n // 5. ReturnIfAbrupt(usingIterator).\n var usingIterator = getMethod(items, iteratorProp(items));\n\n // 6. If usingIterator is not undefined, then\n if (usingIterator !== void 0) {\n // a. If IsConstructor(C) is true, then\n // i. Let A be the result of calling the [[Construct]]\n // internal method of C with an empty argument list.\n // b. Else,\n // i. Let A be the result of the abstract operation ArrayCreate\n // with argument 0.\n // c. ReturnIfAbrupt(A).\n A = isCallable(C) ? Object(new C()) : [];\n\n // d. Let iterator be GetIterator(items, usingIterator).\n var iterator = usingIterator.call(items);\n\n // e. ReturnIfAbrupt(iterator).\n if (iterator == null) {\n throw new TypeError(\n 'Array.from requires an array-like or iterable object'\n );\n }\n\n // f. Let k be 0.\n k = 0;\n\n // g. Repeat\n var next, nextValue;\n while (true) {\n // i. Let Pk be ToString(k).\n // ii. Let next be IteratorStep(iterator).\n // iii. ReturnIfAbrupt(next).\n next = iteratorStep(iterator);\n\n // iv. If next is false, then\n if (!next) {\n\n // 1. Let setStatus be Set(A, \"length\", k, true).\n // 2. ReturnIfAbrupt(setStatus).\n A.length = k;\n\n // 3. Return A.\n return A;\n }\n // v. Let nextValue be IteratorValue(next).\n // vi. ReturnIfAbrupt(nextValue)\n nextValue = next.value;\n\n // vii. If mapping is true, then\n // 1. Let mappedValue be Call(mapfn, T, «nextValue, k»).\n // 2. If mappedValue is an abrupt completion, return\n // IteratorClose(iterator, mappedValue).\n // 3. Let mappedValue be mappedValue.[[value]].\n // viii. Else, let mappedValue be nextValue.\n // ix. Let defineStatus be the result of\n // CreateDataPropertyOrThrow(A, Pk, mappedValue).\n // x. [TODO] If defineStatus is an abrupt completion, return\n // IteratorClose(iterator, defineStatus).\n if (mapFn) {\n A[k] = mapFn.call(T, nextValue, k);\n }\n else {\n A[k] = nextValue;\n }\n // xi. Increase k by 1.\n k++;\n }\n // 7. Assert: items is not an Iterable so assume it is\n // an array-like object.\n } else {\n\n // 8. Let arrayLike be ToObject(items).\n var arrayLike = Object(items);\n\n // 9. ReturnIfAbrupt(items).\n if (items == null) {\n throw new TypeError(\n 'Array.from requires an array-like object - not null or undefined'\n );\n }\n\n // 10. Let len be ToLength(Get(arrayLike, \"length\")).\n // 11. ReturnIfAbrupt(len).\n var len = toLength(arrayLike.length);\n\n // 12. If IsConstructor(C) is true, then\n // a. Let A be Construct(C, «len»).\n // 13. Else\n // a. Let A be ArrayCreate(len).\n // 14. ReturnIfAbrupt(A).\n A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n // 15. Let k be 0.\n k = 0;\n // 16. Repeat, while k < len… (also steps a - h)\n var kValue;\n while (k < len) {\n kValue = arrayLike[k];\n if (mapFn) {\n A[k] = mapFn.call(T, kValue, k);\n }\n else {\n A[k] = kValue;\n }\n k++;\n }\n // 17. Let setStatus be Set(A, \"length\", len, true).\n // 18. ReturnIfAbrupt(setStatus).\n A.length = len;\n // 19. Return A.\n }\n return A;\n };\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/array-from/polyfill.js\n// module id = 4\n// module chunks = 0","import autobind from \"autobind-decorator\"\n\n// Ends with brackets e.g. [data-ref=\"foo[]\"]\nconst ARRAY_REF_PATTERN = /([a-zA-Z\\d]*)(\\[?\\]?)/\n\nexport default class BaseComponent {\n static template = null;\n static stylesheet = null;\n static store = null;\n\n constructor(spec = {}) {\n Object.assign(this, {\n element: null,\n refs: {}\n }, spec)\n\n const {stylesheet} = this.constructor\n const {element: iframeElement, document: iframeDocument} = this.store.iframe\n\n const appendStylesheet = () => {\n if (!stylesheet || iframeDocument.head.contains(this.constructor.style)) return\n // Common style tag has yet to be inserted in iframe.\n const style = this.constructor.style = iframeDocument.createElement(\"style\")\n\n style.innerHTML = stylesheet\n iframeDocument.head.appendChild(style)\n }\n\n if (iframeDocument.head) appendStylesheet()\n else iframeElement.addEventListener(\"load\", appendStylesheet)\n }\n\n autofocus() {\n if (this.store.mode === \"inline\") return\n\n const focusElement = this.element.querySelector(\"[autofocus]\")\n\n if (focusElement) focusElement.focus()\n }\n\n // NOTE: Calling `updateRefs` multiple times from different tree depths may\n // allow parents to inherit a grandchild.\n updateRefs() {\n const {refs} = this\n\n Array\n .from(this.element.querySelectorAll(\"[data-ref]\"))\n .forEach(element => {\n const attribute = element.getAttribute(\"data-ref\")\n const [, key, arrayKey] = attribute.match(ARRAY_REF_PATTERN)\n\n if (arrayKey) {\n // Multiple elements\n if (!Array.isArray(refs[key])) refs[key] = []\n\n refs[key].push(element)\n }\n else {\n // Single element\n refs[key] = element\n }\n\n element.removeAttribute(\"data-ref\")\n })\n }\n\n serialize(template, templateVars = {}) {\n // `document` is used instead of iframe's document to prevent `instanceof` reference errors.\n const serializer = document.createElement(\"div\")\n\n if (typeof template === \"function\") {\n serializer.innerHTML = template.call(this, {\n config: this.store,\n label: this.label,\n ...templateVars\n })\n }\n else {\n serializer.innerHTML = template\n }\n\n return serializer.firstChild\n }\n\n compileTemplate(templateVars = {}) {\n const {template} = this.constructor\n\n this.element = this.serialize(template, templateVars)\n this.updateRefs()\n\n return this.element\n }\n\n @autobind\n label(key) {\n const {store} = this\n const value = store.labels[key]\n\n return typeof value === \"function\" ? value(store) : value\n }\n\n insertBefore(sibling, element) {\n element.parentNode.insertBefore(sibling, element)\n }\n\n removeElement(element) {\n if (!element || !element.parentNode) return null\n\n return element.parentNode.removeChild(element)\n }\n\n render() {\n return this.compileTemplate()\n }\n\n replaceElement(current, next) {\n current.parentNode.insertBefore(next, current)\n current.parentNode.removeChild(current)\n\n next.tabIndex = current.tabIndex\n\n this.updateRefs()\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/components/base-component.js","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n ClipboardAction.prototype.resolveOptions = function resolveOptions() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n this.action = options.action;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n };\n\n ClipboardAction.prototype.initSelection = function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n };\n\n ClipboardAction.prototype.selectFake = function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = document.body.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px';\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n document.body.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n };\n\n ClipboardAction.prototype.removeFake = function removeFake() {\n if (this.fakeHandler) {\n document.body.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n document.body.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n };\n\n ClipboardAction.prototype.selectTarget = function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n };\n\n ClipboardAction.prototype.copyText = function copyText() {\n var succeeded = undefined;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n };\n\n ClipboardAction.prototype.handleResult = function handleResult(succeeded) {\n if (succeeded) {\n this.emitter.emit('success', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n } else {\n this.emitter.emit('error', {\n action: this.action,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n };\n\n ClipboardAction.prototype.clearSelection = function clearSelection() {\n if (this.target) {\n this.target.blur();\n }\n\n window.getSelection().removeAllRanges();\n };\n\n ClipboardAction.prototype.destroy = function destroy() {\n this.removeFake();\n };\n\n _createClass(ClipboardAction, [{\n key: 'action',\n set: function set() {\n var action = arguments.length <= 0 || arguments[0] === undefined ? 'copy' : arguments[0];\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard-action.js\n// module id = 6\n// module chunks = 0","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, _Emitter.call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n Clipboard.prototype.resolveOptions = function resolveOptions() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n };\n\n Clipboard.prototype.listenClick = function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n };\n\n Clipboard.prototype.onClick = function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n trigger: trigger,\n emitter: this\n });\n };\n\n Clipboard.prototype.defaultAction = function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n };\n\n Clipboard.prototype.defaultTarget = function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n };\n\n Clipboard.prototype.defaultText = function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n };\n\n Clipboard.prototype.destroy = function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n };\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard.js\n// module id = 7\n// module chunks = 0","var matches = require('matches-selector')\r\n\r\nmodule.exports = function (element, selector, checkYoSelf) {\r\n var parent = checkYoSelf ? element : element.parentNode\r\n\r\n while (parent && parent !== document) {\r\n if (matches(parent, selector)) return parent;\r\n parent = parent.parentNode\r\n }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/closest/index.js\n// module id = 8\n// module chunks = 0","var closest = require('closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector, true);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/delegate/src/delegate.js\n// module id = 9\n// module chunks = 0","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/is.js\n// module id = 10\n// module chunks = 0","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/listen.js\n// module id = 11\n// module chunks = 0","\r\n/**\r\n * Element prototype.\r\n */\r\n\r\nvar proto = Element.prototype;\r\n\r\n/**\r\n * Vendor function.\r\n */\r\n\r\nvar vendor = proto.matchesSelector\r\n || proto.webkitMatchesSelector\r\n || proto.mozMatchesSelector\r\n || proto.msMatchesSelector\r\n || proto.oMatchesSelector;\r\n\r\n/**\r\n * Expose `match()`.\r\n */\r\n\r\nmodule.exports = match;\r\n\r\n/**\r\n * Match `el` to `selector`.\r\n *\r\n * @param {Element} el\r\n * @param {String} selector\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nfunction match(el, selector) {\r\n if (vendor) return vendor.call(el, selector);\r\n var nodes = el.parentNode.querySelectorAll(selector);\r\n for (var i = 0; i < nodes.length; ++i) {\r\n if (nodes[i] == el) return true;\r\n }\r\n return false;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/matches-selector/index.js\n// module id = 12\n// module chunks = 0","var pug = require(\"!./../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (config) {if (config.afterContent || this.config.afterContent) {\npug_html = pug_html + \"\\u003Cdiv data-content-slot=\\\"after\\\"\\u003E\\u003Cp\\u003E\" + (null == (pug_interp = config.afterContent) ? \"\" : pug_interp) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (null == (pug_interp = this.config.afterContent) ? \"\" : pug_interp) + \"\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"config\" in locals_for_with?locals_for_with.config:typeof config!==\"undefined\"?config:undefined));;return pug_html;};\nmodule.exports = template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/after-content.pug\n// module id = 13\n// module chunks = 0","var pug = require(\"!./../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Csection\\u003E\" + (null == (pug_interp = this.renderTitle()) ? \"\" : pug_interp) + (null == (pug_interp = this.renderBeforeContent()) ? \"\" : pug_interp) + \"\\u003Cdiv class=\\\"steps-mount\\\" data-ref=\\\"stepsMount\\\"\\u003E\\u003C\\u002Fdiv\\u003E\" + (null == (pug_interp = this.renderAfterContent()) ? \"\" : pug_interp) + \"\\u003C\\u002Fsection\\u003E\";;return pug_html;};\nmodule.exports = template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/base-target.pug\n// module id = 14\n// module chunks = 0","var pug = require(\"!./../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (config) {if (config.beforeContent || this.config.beforeContent) {\npug_html = pug_html + \"\\u003Cdiv data-content-slot=\\\"before\\\"\\u003E\\u003Cp\\u003E\" + (null == (pug_interp = config.beforeContent) ? \"\" : pug_interp) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (null == (pug_interp = this.config.beforeContent) ? \"\" : pug_interp) + \"\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"config\" in locals_for_with?locals_for_with.config:typeof config!==\"undefined\"?config:undefined));;return pug_html;};\nmodule.exports = template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/before-content.pug\n// module id = 15\n// module chunks = 0","var pug = require(\"!./../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Ch2\\u003E\\u003Ca\" + (\" class=\\\"more\\\"\"+pug.attr(\"href\", this.pluginURL, true, true)+\" download target=\\\"_blank\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = this.downloadLabel) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = this.autoDownloadLabel) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fh2\\u003E\";;return pug_html;};\nmodule.exports = template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/download-link.pug\n// module id = 16\n// module chunks = 0","var pug = require(\"!./../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cheader class=\\\"target-title\\\" data-flow=\\\"column\\\"\\u003E\\u003Cdiv class=\\\"icon\\\"\\u003E\" + (null == (pug_interp = this.icon) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003Ch1\\u003E\" + (null == (pug_interp = this.title) ? \"\" : pug_interp) + \"\\u003C\\u002Fh1\\u003E\";\nif (this.versionIDs.length > 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"versions\\\"\\u003E\\u003Cdiv class=\\\"label\\\"\\u003E\" + (null == (pug_interp = this.instructionsLabel) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003Cselect data-ref=\\\"versionSelector\\\"\\u003E\";\n// iterate this.versionIDs\nvar pug_obj0 = this.versionIDs;\nif ('number' == typeof pug_obj0.length) {\n\n for (var pug_index0 = 0, pug_length0 = pug_obj0.length; pug_index0 < pug_length0; pug_index0++) {\n var versionID = pug_obj0[pug_index0];\n\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"selected\", (versionID === this.versionID), true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = versionID) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n\n} else {\n var pug_length0 = 0;\n for (var pug_index0 in pug_obj0) {\n pug_length0++;\n var versionID = pug_obj0[pug_index0];\n\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"selected\", (versionID === this.versionID), true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = versionID) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n\n}\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fheader\\u003E\";;return pug_html;};\nmodule.exports = template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/title.pug\n// module id = 17\n// module chunks = 0","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n element.focus();\n element.setSelectionRange(0, element.value.length);\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/select/src/select.js\n// module id = 18\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./app/components/base-target/base-target.svg\n// module id = 19\n// module chunks = 0","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tiny-emitter/index.js\n// module id = 20\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// fs (ignored)\n// module id = 21\n// module chunks = 0","/* eslint-env node, es6 */\nconst BaseTarget = require(\"../app/components/base-target\").default\n\nmodule.exports = BaseTarget\n\n\n\n// WEBPACK FOOTER //\n// ./modules/custom-target.js"],"sourceRoot":""}