Template:SDU-Denmark/js/simple/app

// default/src/index.jsx $fsx.f[55] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); const ReactDOM = $fsx.r(7); const Application_1 = $fsx.r(52); $fsx.r(53); $fsx.r(54); ReactDOM.render(React.createElement(Application_1.Application, null), document.getElementById("root")); //# sourceMappingURL=index.js.map } // default/src/components/application/Application.jsx $fsx.f[52] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); const react_router_dom_1 = $fsx.r(29); $fsx.r(30); const sitemap_1 = $fsx.r(51); class Application extends React.Component {

   render() {
       return (React.createElement("div", { className: "Application" },
           React.createElement("div", { className: "top" },
               React.createElement("div", { className: "logo" })),
           React.createElement("div", { className: "welcome" }, "iGEM \u2764\uFE0F JSX/TSX "),
           React.createElement(react_router_dom_1.BrowserRouter, { basename: "/Team:SDU-Denmark/simple" },
               React.createElement("div", null,
                   React.createElement("ul", null, sitemap_1.default.items.map((item, index) => {
                       return (React.createElement("li", { key: index },
                           React.createElement(react_router_dom_1.Link, { to: item.path }, item.displayName)));
                   })),
                   React.createElement("hr", null),
                   sitemap_1.default.items.map((item, index) => {
                       return React.createElement(react_router_dom_1.Route, { exact: true, key: index, path: item.path, component: item.comp });
                   })))));
   }

} exports.Application = Application; //# sourceMappingURL=Application.js.map } // default/src/sitemap.js $fsx.f[51] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Home_1 = $fsx.r(32); const Description_1 = $fsx.r(33); const Results_1 = $fsx.r(34); const About_1 = $fsx.r(36); const Attributions_1 = $fsx.r(39); const PublicEngagement_1 = $fsx.r(41); const partners_1 = $fsx.r(43); const Parts_1 = $fsx.r(45); const Design_1 = $fsx.r(47); const Model_1 = $fsx.r(48); const Test_1 = $fsx.r(50); let items = [

   {
       path: "/",
       comp: Home_1.Home,
       displayName: "Home"
   },
   {
       path: "/Description",
       comp: Description_1.Description,
       displayName: "Description & Inspiration"
   },
   {
       path: "/Design",
       comp: Design_1.Design,
       displayName: "Design"
   },
   {
       path: "/Results",
       comp: Results_1.Results,
       displayName: "But Does it Work?"
   },
   {
       path: "/Model",
       comp: Model_1.Model,
       displayName: "Conjugation Model"
   },
   {
       path: "/Parts",
       comp: Parts_1.Parts,
       displayName: "Parts Catalogue"
   },
   {
       path: "/about",
       comp: About_1.About,
       displayName: "About"
   },
   {
       path: "/Attributions",
       comp: Attributions_1.Attributions,
       displayName: "Attributions"
   },
   {
       path: "/Public_Engagement",
       comp: PublicEngagement_1.PublicEngagement,
       displayName: "Public Engagement"
   },
   {
       path: "/Sponsors",
       comp: partners_1.PartnersSponsors,
       displayName: "Sponsors & Partners"
   },
   {
       path: "/test",
       comp: Test_1.Test,
       displayName: "TestPage"
   }

]; let Sitemap = {

   items: items

}; exports.default = Sitemap; //# sourceMappingURL=sitemap.js.map } // default/src/components/Content/home/Home.jsx $fsx.f[32] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); class Home extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(31);
       });
   }
   render() {
       return (React.createElement("div", { className: "Details" },
           React.createElement("h2", null, "This is homepage"),
           React.createElement("div", { className: "repo-link" },
               React.createElement("a", { href: "https://2019.igem.org/Team:SDU-Denmark", target: "_blank" }, "https://2019.igem.org/Team:SDU-Denmark")),
           React.createElement("div", { className: "try-updating" }, "Try changing any of the components, You will get an isntant update without a page refresh"),
           React.createElement("div", { className: "hint" }, "Whoop Whoop")));
   }

} exports.Home = Home; //# sourceMappingURL=Home.js.map } // default/src/components/Content/Project_Description/Description.jsx $fsx.f[33] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); class Description extends React.Component {

   render() {
       return (React.createElement("div", null, "hej"));
   }

} exports.Description = Description; //# sourceMappingURL=Description.js.map } // default/src/components/Content/Project/But_Does_It_work/Results.jsx $fsx.f[34] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); class Results extends React.Component {

   render() {
       return (React.createElement("div", null, "results"));
   }

} exports.Results = Results; //# sourceMappingURL=Results.js.map } // default/src/components/about/About.jsx $fsx.f[36] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); class About extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(35);
       });
   }
   render() {
       return (React.createElement("div", { className: "about-container" },
           React.createElement("h2", { className: "text-red-500" }, "This is About page")));
   }

} exports.About = About; //# sourceMappingURL=About.js.map } // default/src/components/Content/People involved/Attributions/Attributions.jsx $fsx.f[39] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); const AccordionWidget_1 = $fsx.r(37); class Attributions extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(38);
       });
   }
   render() {
       let accordionData = {
           backgroundColor: "bg-green-400",
           title: "Public Engagement Activities",
           itemTitleColor: "text-green-800",
           items: [
               {
                   title: "Human Practices",
                   content: `

Symposium

OUH

Providing the facilities, catering and live-streaming services for our symposium on antibiotic resistance on Wednesday the 4th of September.

Ute Wolff Sönksen, Chief physician at Statens Serum Institut

For speaking at our symposium.

E-book

OUH

Providing the facilities, catering and live-streaming services for our symposium on antibiotic resistance on Wednesday the 4th of September.

Ute Wolff Sönksen, Chief physician at Statens Serum Institut

For speaking at our symposium.

`
               },
               {
                   title: "Overskrift 2",
                   content: "bla bla bla text 2"
               },
               {
                   title: "Overskrift 3",
                   content: "Bla bla bla bla text 3"
               }
           ]
       };
       return (React.createElement("div", { className: "" },
           React.createElement("div", { className: "header header_img_attributions" },
               React.createElement("div", { className: "header-overlay bg-green-400" }),
               React.createElement("svg", { className: "curve", "data-name": "Lag 1", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 1406 438.14" },
                   React.createElement("path", { className: "cls-1", d: "M1397.41,606.36H0V168.23c145.82,162,264.74,203,353.91,211.58,155.45,14.95,175.12-70,385.51-57.2,132.72,8.09,282.8,50.72,357.17,80.85a1224,1224,0,0,1,298.86,173.86L1406,591v15.41h-8.59Z", transform: "translate(0 -168.23)" })),
               React.createElement("div", { className: "inner-header" },
                   React.createElement("h1", { className: "text-6xl" }, "Attributions"))),
           React.createElement("div", { className: "content" },
               React.createElement("div", { className: "row" },
                   React.createElement("h4", null, " There are limitations to what we are able to accomplish by ourselves, which is why we would like to say a big THANK YOU to the people who have aided us in our project:")),
               React.createElement(AccordionWidget_1.AccordionWidget, { model: accordionData }))));
   }

} exports.Attributions = Attributions; //# sourceMappingURL=Attributions.js.map } // default/src/components/widgets/AccordionWidget.jsx $fsx.f[37] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); function AccordionWidget(props) {

   return (React.createElement("nav", { className: "accordion arrows" },
       React.createElement("header", { className: "box ".concat(props.model.backgroundColor) },
           React.createElement("label", { htmlFor: "acc-close", className: "box-title" }, props.model.title)),
       props.model.items.map((element, index) => {
           return (React.createElement("div", null,
               React.createElement("input", { type: "radio", name: "accordion", id: index }),
               React.createElement("section", { className: "box" },
                   React.createElement("label", { className: "box-title ".concat(props.model.itemTitleColor), htmlFor: index }, element.title),
                   React.createElement("label", { className: "box-close", htmlFor: "acc-close" }),
                   React.createElement("div", { className: "box-content", dangerouslySetInnerHTML: { __html: element.content } }))));
       }),
       React.createElement("input", { type: "radio", name: "accordion", id: "acc-close" })));

} exports.AccordionWidget = AccordionWidget;

//# sourceMappingURL=AccordionWidget.js.map } // default/src/components/Content/Human_Practices/Public_Engagement/PublicEngagement.jsx $fsx.f[41] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); const AccordionWidget_1 = $fsx.r(37); class PublicEngagement extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(40);
       });
   }
   render() {
       let accordionData = {
           backgroundColor: "bg-pink-600",
           title: "Public Engagement Activities",
           itemTitleColor: "text-pink-600",
           items: [
               {
                   title: "Overskrift 1",
content: `

Hello

`
               },
               {
                   title: "Overskrift 2",
                   content: "bla bla bla text 2"
               },
               {
                   title: "Overskrift 3",
                   content: "Bla bla bla bla text 3"
               }
           ]
       };
       return (React.createElement("div", { className: "bg-white" },
           React.createElement("div", { className: "header" },
               React.createElement("div", { className: "header-overlay bg-pink-600" }),
               React.createElement("svg", { className: "curve", "data-name": "Lag 1", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 1406 438.14" },
                   React.createElement("path", { className: "cls-1", d: "M1397.41,606.36H0V168.23c145.82,162,264.74,203,353.91,211.58,155.45,14.95,175.12-70,385.51-57.2,132.72,8.09,282.8,50.72,357.17,80.85a1224,1224,0,0,1,298.86,173.86L1406,591v15.41h-8.59Z", transform: "translate(0 -168.23)" })),
               React.createElement("div", { className: "inner-header" },
                   React.createElement("h1", { className: "text-5xl" }, "Public Engagement"))),
           React.createElement("div", { className: "px-50 bg-white" },
               React.createElement("div", { className: "px-3 text-justify" },
                   " Scientists can\u2019t combat antibiotic resistance on their own, they must also have the support of the government and of the public. It is not possible to support what you don\u2019t know about, which is why outreach/public engagement is imperative when it comes to science. Therefore, the following was one of our most important goals withing Human Practices:",
                   React.createElement("div", { className: "quote" },
                       " ",
                       React.createElement("p", { className: "font-black" }, "  Increasing public knowledge of antibiotic resistance and synthetic biology "),
                       " "),
                   React.createElement("p", null, "We have done so in two different ways:"),
                   React.createElement("div", { className: "quote" },
                       React.createElement("span", { className: "text-xl" }, "1."),
                       " ",
                       React.createElement("span", { className: "font-black" }, " Educating the youth on antibiotic resistance and synthetic biology through our educatioal material and workshops for several high schools."),
                       " "),
                   React.createElement("div", { className: "quote" },
                       React.createElement("span", { className: "text-xl" }, "2."),
                       " ",
                       React.createElement("span", { className: "font-black" }, " Reaching out to Danish legislators and local communities and having open discussions with them about antibiotic resistance and the use of synthetic biology.")),
                   React.createElement("p", null, "We hope that this will help the public and the legislators to make educated decisions that concern antibiotic resistance and synthetic biology for the well being of all of us.")),
               React.createElement(AccordionWidget_1.AccordionWidget, { model: accordionData }))));
   }

} exports.PublicEngagement = PublicEngagement; //# sourceMappingURL=PublicEngagement.js.map } // default/src/components/Content/People involved/Partners/partners.jsx $fsx.f[43] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); class PartnersSponsors extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(42);
       });
   }
   render() {
       return (React.createElement("div", { className: "body_partners" },
           React.createElement("div", { className: "content_sponsors" },
               React.createElement("p", { className: "headerz" }, "Codecademy"),
               React.createElement("img", { src: "T--SDU-Denmark--igem-icon.png" }),
               React.createElement("p", { className: "text-justify" }, "Codecademy has helped over 45 million people upgrade their careers with engaging, accessible, and flexible education on programming and data skills. We provide over 200 hands-on interactive lessons ranging from Python to R to Javascript and everything in between. Our learners have gone on to start companies, new jobs, and new lives thanks to what they\u2019ve learned with Codecademy.")),
           React.createElement("div", { className: "content_sponsors" },
               React.createElement("p", { className: "headerz" }, "Webflow"),
               React.createElement("img", { src: "T--SDU-Denmark--igem-icon.png" }),
               React.createElement("p", { className: "text-justify" }, "Webflow is an online platform where you can design, develop, and manage completely custom websites, harnessing all the power of HTML, CSS, and JavaScript in a visual canvas. Webflow is the only design tool that lets you create production-level code."))));
   }

} exports.PartnersSponsors = PartnersSponsors; //# sourceMappingURL=partners.js.map } // default/src/components/Content/Lab_Process_And_Parts/Parts/Parts.jsx $fsx.f[45] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); class Parts extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(44);
       });
   }
   render() {
       return (React.createElement("div", { className: "overflow-x-auto" },
           React.createElement("table", { id: "basic_parts" },
               React.createElement("caption", null, "Basic Parts"),
               React.createElement("thead", null,
                   React.createElement("tr", null,
                       React.createElement("th", null, "No."),
                       React.createElement("th", null, "Name"),
                       React.createElement("th", null, "Type"),
                       React.createElement("th", null, "Description"),
                       React.createElement("th", null, "Designer"),
                       React.createElement("th", null, "Length (bp)"))),
               React.createElement("tbody", null,
                   React.createElement("tr", null,
                       React.createElement("td", null, "1"),
                       React.createElement("td", null,
                           React.createElement("a", { href: "https://www.facebook.com", target: "_blank" }, "BBa_K873003")),
                       React.createElement("td", null, "Conjugation"),
                       React.createElement("td", null, "Conjugative transfer of RFG"),
                       React.createElement("td", null, "Christian Gejl Christensen"),
                       React.createElement("td", null, "1302")),
                   React.createElement("tr", null,
                       React.createElement("td", null, "1"),
                       React.createElement("td", null,
                           React.createElement("a", { href: "https://www.w3schools.com", target: "_blank" }, "BBa_K873003")),
                       React.createElement("td", null, "Conjugation"),
                       React.createElement("td", null, "Conjugative transfer of RFG"),
                       React.createElement("td", null, "Christian Gejl Christensen"),
                       React.createElement("td", null, "1302")),
                   React.createElement("tr", null,
                       React.createElement("td", null, "1"),
                       React.createElement("td", null,
                           React.createElement("a", { href: "https://www.w3schools.com", target: "_blank" }, "BBa_K873003")),
                       React.createElement("td", null, "Conjugation"),
                       React.createElement("td", null, "Conjugativeasdasd transfer of RFG Conjugative transadsfer of RFG"),
                       React.createElement("td", null, "Christian Gejl Christensend naksdnasdnakjndkansdkas jndkjasdnas kjdnjkasnd"),
                       React.createElement("td", null, "1302")),
                   React.createElement("tr", null,
                       React.createElement("td", null, "1"),
                       React.createElement("td", null,
                           React.createElement("a", { href: "https://www.w3schools.com", target: "_blank" }, "BBa_K873003")),
                       React.createElement("td", null, "Conjugation"),
                       React.createElement("td", null, "Conjugative transfer of RFG"),
                       React.createElement("td", null, "Christian Gejl Christensen"),
                       React.createElement("td", null, "1302"))))));
   }

} exports.Parts = Parts; //# sourceMappingURL=Parts.js.map } // default/src/components/Content/Project/System_Design/Design.jsx $fsx.f[47] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); const AccordionWidget_1 = $fsx.r(37); $fsx.r(46); class Design extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(46);
       });
   }
   render() {
       let accordionData = {
           backgroundColor: "bg-blue-800",
           title: "References",
           itemTitleColor: "text-blue-800",
           items: [
               {
                   title: "System Design References",
                   content: `
  1. <a href="https://www.facebook.com/christiangejl" target="_blank" class="references">Christian Gejl, T.M., & Cullis, P.R., 2013. iposomal drug delivery systems: From concept to clinical applications. Adv Drug Deliv Rev. 65(1), pp 36-48.</a>
  2. <a href="https://www.facebook.com/christiangejl" target="_blank" class="references">Christian Gejl, T.M., & Cullis, P.R., 2013. iposomal drug delivery systems: From concept to clinical applications. Adv Drug Deliv Rev. 65(1), pp 36-48.</a>
`
               },
               {
                   title: "Overskrift 2",
                   content: "bla bla bla text 2"
               },
               {
                   title: "Overskrift 2",
                   content: "bla bla bla text 2"
               }
           ]
       };
       return (React.createElement("div", null,
           React.createElement("div", { className: "parallax-bg" }),
           React.createElement("div", { className: "content" },
               React.createElement("div", { className: "row" },
                   React.createElement("h2", { className: "text-blue-800" }, "Introduction"),
                   React.createElement("h3", null, "The gastrointestinal tract serves as a major gathering place for a widespread number of bacterial species. "),
                   React.createElement("p", null,
                       " The problem with conjugation is that bacteria frequently transfer antibiotic-resistant plasmids between the bacterial community in the gut, thereby leading to the spread of resistant bacteria (",
                       React.createElement("a", { href: "#figure1" }, "see figure 1"),
                       ") . On top of that, resistant bacteria that do not colonize and ",
                       React.createElement("br", null),
                       " live in the gastrointestinal tract still have the ability to transfer their resistant plasmids to colonizing bacteria which potentially can lead to a resistant gut flora [",
                       React.createElement("a", { href: "https://www.facebook.com/christiangejl", target: "_blank", className: "references" }, "Gejl et al. 2020"),
                       "] . This event serves as an increasing threat to healthcare systems and to the community in general. Therefore, on the one hand, conjugation can serve as a disadvantage when thinking of the ability of bacteria to spread resistant plasmids to neighbouring bacteria. On the other hand, conjugation can be utilized for our purpose to spread our designed plasmid containing the CRISPR/dCas-system ",
                       React.createElement("br", null)),
                   React.createElement("div", { className: "figure_container" },
                       React.createElement("img", { id: "figure1", className: "", src: "T--SDU-Denmark--conjugation.png" }),
                       React.createElement("p", { className: "figure_name text-blue-800" }, "Figure 1.: Schematic overview of Conjugation"),
                       React.createElement("p", { className: "figure_text" },
                           " to the bacterial community in the gastrointestinal tract, in the same manner, assuming that our system can be transferred as the plasmids containing antibiotics.(",
                           React.createElement("a", { href: "https://www.facebook.com/christiangejl", target: "_blank", className: "references" }, "Gejl et al. 2020"),
                           ")In this way, our donor bacteria initiate a domino-like event leading to the dispers")),
                   React.createElement("p", null, "to the bacterial community in the gastrointestinal tract, in the same manner, assuming that our system can be transferred as the plasmids containing antibiotics. In this way, our donor bacteria initiate a domino-like event leading to the dispersal of the CRISPR/dCas-tool to the colonizing bacteria and thereby sensitizing them to specific antibiotics.")),
               React.createElement("div", { className: "row" },
                   React.createElement("h2", { className: "text-blue-800" }, "Introduction"),
                   React.createElement("h3", null, "The gastrointestinal tract serves as a major gathering place for a widespread number of bacterial species. "),
                   React.createElement("p", null,
                       " The problem with conjugation is that bacteria frequently transfer antibiotic-resistant plasmids between the bacterial community in the gut, thereby leading to the spread of resistant bacteria (",
                       React.createElement("a", { href: "#figure1" }, "see figure 1"),
                       ") . On top of that, resistant bacteria that do not colonize and ",
                       React.createElement("br", null),
                       " live in the gastrointestinal tract still have the ability to transfer their resistant plasmids to colonizing bacteria which potentially can lead to a resistant gut flora [",
                       React.createElement("a", { href: "https://www.facebook.com/christiangejl", target: "_blank", className: "references" }, "Gejl et al. 2020"),
                       "] . This event serves as an increasing threat to healthcare systems and to the community in general. Therefore, on the one hand, conjugation can serve as a disadvantage when thinking of the ability of bacteria to spread resistant plasmids to neighbouring bacteria. On the other hand, conjugation can be utilized for our purpose to spread our designed plasmid containing the CRISPR/dCas-system ",
                       React.createElement("br", null)),
                   React.createElement("div", { className: "figure_container" },
                       React.createElement("img", { id: "figure1", className: "", src: "T--SDU-Denmark--conjugation.png" }),
                       React.createElement("p", { className: "figure_name text-blue-800" }, "Figure 1.: Schematic overview of Conjugation"),
                       React.createElement("p", { className: "figure_text" },
                           " to the bacterial community in the gastrointestinal tract, in the same manner, assuming that our system can be transferred as the plasmids containing antibiotics.(",
                           React.createElement("a", { href: "https://www.facebook.com/christiangejl", target: "_blank", className: "references" }, "Gejl et al. 2020"),
                           ")In this way, our donor bacteria initiate a domino-like event leading to the dispers")),
                   React.createElement("p", null, "to the bacterial community in the gastrointestinal tract, in the same manner, assuming that our system can be transferred as the plasmids containing antibiotics. In this way, our donor bacteria initiate a domino-like event leading to the dispersal of the CRISPR/dCas-tool to the colonizing bacteria and thereby sensitizing them to specific antibiotics.")),
               React.createElement(AccordionWidget_1.AccordionWidget, { model: accordionData }))));
   }

} exports.Design = Design; //# sourceMappingURL=Design.js.map } // default/src/components/Content/Project/Conjugation_model/Model.jsx $fsx.f[48] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = $fsx.r(3); class Model extends React.Component {

   render() {
       return (React.createElement("div", null, "results"));
   }

} exports.Model = Model; //# sourceMappingURL=Model.js.map } // default/src/components/test/Test.jsx $fsx.f[50] = (module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = $fsx.r(8); const React = $fsx.r(3); class Test extends React.Component {

   componentWillMount() {
       return tslib_1.__awaiter(this, void 0, void 0, function* () {
           $fsx.r(49);
       });
   }
   render() {
       return React.createElement("div", { className: "test" }, "Test of Test class");
   }

} exports.Test = Test; //# sourceMappingURL=Test.js.map } // Importing a single entry $fsx.r(55);

//# sourceMappingURL=49364ef-app.js.map