{"version":3,"file":"static/js/4449.77b61fee.chunk.js","mappings":"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","sources":["components/BasicBanner/BasicBanner.js","components/casconPages/2023/Cascon2023.js","components/casconPages/2023/Sections/About.js","components/casconPages/2023/Sections/AcceptedContent.js","components/casconPages/2023/Sections/CasconArchivesInfo.js","components/casconPages/2023/Sections/FilterMenu.js","components/casconPages/2023/Sections/FilterMenuComponents/MenuItem.js","components/casconPages/2023/Sections/MIPCommittee.js","components/casconPages/2023/Sections/Organization.js","components/casconPages/2023/Sections/Program.js","components/casconPages/2023/Sections/SteeringComittee.js","webpack://cascon/./src/components/BasicBanner/_BasicBanner.scss?957b"],"sourcesContent":["import React from 'react';\nimport { Grid, Column } from '@carbon/react';\nimport defaultBannerImage from '../../images/backgrounds/Banner.jpg';\nimport BannerLogo from '../../images/backgrounds/Logo.png';\n\nimport { ArrowLeft24 } from '@carbon/icons-react';\nconst defaultBannerImageAlt = 'Advanced Studies Team Members and Collaborators';\nimport './_BasicBanner.scss';\n\nconst BasicBanner = ({\n    bannerImage,\n    bannerTitleTop,\n    bannerTitleBottom,\n    style,\n    back,\n    hiddenLogo\n}) => {\n    return (\n        <div className=\"basic-banner\" style={style}>\n            \n            <div className=\"basic-banner__bg-image-container\">\n                <img\n                    className=\"basic-banner__bg-image\"\n                    alt={bannerImage?.alt || defaultBannerImageAlt}\n                    src={bannerImage?.src || defaultBannerImage}\n                />\n            </div>\n        \n            <div className=\"basic-banner__bg-gradient\" />\n            <Grid className=\"basic-banner__content\">\n                <Column lg={12} md={6} sm={4}>\n                    {back && (\n                        <div\n                            className=\"basic-banner__back\"\n                            onClick={() => back.to()}\n                        >\n                            <ArrowLeft24\n                                style={{\n                                    marginRight: '1em'\n                                }}\n                            />\n                            <div>{back.message}</div>\n                        </div>\n                    )}\n                    <div className=\"basic-banner__header\">\n                        {!hiddenLogo && (\n                            <img\n                                className=\"basic-banner__logo\"\n                                src={BannerLogo}\n                                alt=\"Advanced Studies Logo\"\n                            />\n                        )}\n                        <div\n                            role=\"heading\"\n                            aria-level=\"1\"\n                            className=\"basic-banner__title\"\n                        >\n                            <div>{bannerTitleTop}</div>\n                            <div>{bannerTitleBottom}</div>\n                        </div>\n                    </div>\n                </Column>\n            </Grid>\n        </div>\n    );\n};\n\nexport default BasicBanner;\n","import React from 'react';\r\nimport Header from '../../Header/Header';\r\nimport Banner from '../../BasicBanner/BasicBanner';\r\nimport About from './Sections/About';\r\nimport AcceptedContent from './Sections/AcceptedContent';\r\nimport CasconArchivesInfo from './Sections/CasconArchivesInfo';\r\nimport FilterMenu from './Sections/FilterMenu';\r\nimport Organization from './Sections/Organization';\r\nimport Program from './Sections/Program';\r\nimport MIPCommittee from './Sections/MIPCommittee';\r\nimport SteeringComittee from './Sections/SteeringComittee';\r\n\r\nimport { Tabs, TabList, Tab, TabPanels, TabPanel } from '@carbon/react';\r\n\r\nconst Cascon2023 = () => {\r\n    return (\r\n        <div>\r\n            <Header currentTab={4} />\r\n            <Banner bannerTitleTop=\"CASCON 2023\" style={{ marginTop: '6em' }} />\r\n            <Tabs aria-label=\"List of tabs\">\r\n                <TabList className=\"tabBackground\">\r\n                    <Tab className=\"tab2023\">Accepted Content</Tab>\r\n                    <Tab className=\"tab2023\">CASCON 2023 Team</Tab>\r\n                </TabList>\r\n                <TabPanels>\r\n                    <TabPanel>\r\n                        <About />\r\n                        <AcceptedContent />\r\n                        <FilterMenu />\r\n                        <CasconArchivesInfo />\r\n                    </TabPanel>\r\n\r\n                    <TabPanel className=\"casconTeamTab\">\r\n                        <About />\r\n                        <Organization />\r\n                        <Program />\r\n                        <MIPCommittee />\r\n                        <SteeringComittee />\r\n                        <CasconArchivesInfo />\r\n                    </TabPanel>\r\n                </TabPanels>\r\n            </Tabs>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default Cascon2023;\r\n","import React from 'react';\r\nimport { Column, Grid, Button } from '@carbon/react';\r\n\r\nconst About = () => {\r\n    return (\r\n        <div className=\"cascon2023AboutContainer\">\r\n            <div style={{ padding: '4em', background: 'white' }}>\r\n                <Grid>\r\n                    <Column lg={3} md={8} sm={4}>\r\n                        <div\r\n                            style={{\r\n                                fontSize: '36px',\r\n                                color: 'black',\r\n                                fontWeight: '500'\r\n                            }}\r\n                        >\r\n                            CASCON 2023\r\n                        </div>\r\n                        <br />\r\n                        <p>September 11-14, 2023</p>\r\n                        <p>Las Vegas, NV, US</p>\r\n                    </Column>\r\n                    <Column\r\n                        lg={2}\r\n                        md={8}\r\n                        sm={4}\r\n                        style={{\r\n                            paddingBottom: '2em'\r\n                        }}\r\n                    ></Column>\r\n                    <Column lg={11} md={8} sm={4}>\r\n                        <p>\r\n                            CASCON is the premier industrial and academic\r\n                            conference for advanced studies in computer science\r\n                            and software engineering sponsored by the IBM Canada\r\n                            Laboratory. Since 1991, CASCON has attracted\r\n                            software developers, researchers, innovators,\r\n                            technologists and decision-makers from academia,\r\n                            industry, and government, who come together to learn\r\n                            about technology trends, present papers, participate\r\n                            in workshops, and exhibit prototypes and solutions.\r\n                        </p>\r\n\r\n                        <br />\r\n\r\n                        <p>\r\n                            The conference program features thought- provoking\r\n                            keynotes, original research papers, stimulating\r\n                            workshops, and an engaging technology expo.\r\n                            Conference proceedings are published in the ACM\r\n                            Digital Library\r\n                        </p>\r\n                        <p>\r\n                            (\r\n                            <a\r\n                                target=\"_blank\"\r\n                                href=\"https://dl.acm.org/conference/cascon\"\r\n                                style={{ color: 'black' }}\r\n                            >\r\n                                https://dl.acm.org/conference/cascon\r\n                            </a>\r\n                            ).\r\n                        </p>\r\n\r\n                        <br />\r\n\r\n                        <p>\r\n                            We are happy to announce that this year CASCON will\r\n                            be co-located at the 1st IBM TechXchange Conference,\r\n                            a new IBM global event series specifically designed\r\n                            for technical communities and experts from Sept\r\n                            11-14, 2023 at Las Vegas, NV, US. The call for\r\n                            workshops and technical talks will follow in April.\r\n                        </p>\r\n\r\n                        <br />\r\n                        <br />\r\n\r\n                        <div className=\"row2023\">\r\n                            <div\r\n                                style={{\r\n                                    display: 'flex',\r\n                                    gap: '2em',\r\n                                    flexWrap: 'wrap'\r\n                                }}\r\n                            >\r\n                                <Button\r\n                                    kind=\"tertiary\"\r\n                                    target=\"_blank\"\r\n                                    href=\"/ibm/cas/cascon/2023/cfp\"\r\n                                >\r\n                                    Call for Papers\r\n                                </Button>\r\n                                <Button\r\n                                    kind=\"tertiary\"\r\n                                    target=\"_blank\"\r\n                                    href=\"/ibm/cas/cascon/2023/cfw\"\r\n                                >\r\n                                    Call for Workshops\r\n                                </Button>\r\n                            </div>\r\n                            <Button\r\n                                className=\"about2023\"\r\n                                kind=\"primary\"\r\n                                target=\"_blank\"\r\n                                href=\"https://reg.tools.ibm.com/flow/ibm/techxchange23/landing/page/landing\"\r\n                            >\r\n                                Non-Presenters ONLY: Register for IBM\r\n                                TechXchange Conference\r\n                            </Button>\r\n                        </div>\r\n                    </Column>\r\n                </Grid>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default About;\r\n","import React from 'react';\r\nimport { Button, Column, Grid } from '@carbon/react';\r\n\r\nimport GrayArrow from '../../../../images/icons/GrayArrowSymbol.png';\r\n\r\nconst AcceptedContent = () => {\r\n    return (\r\n        <div className=\"cascon2023AboutContainer\">\r\n            <div style={{ padding: '4em', background: '#F1F4F8' }}>\r\n                <Grid style={{ alignItems: 'center' }}>\r\n                    <Column lg={3} md={8} sm={4}>\r\n                        <div className=\"rowSectionTitle\">\r\n                            <img src={GrayArrow} className=\"grayArrow\" />\r\n                            <div\r\n                                style={{\r\n                                    fontSize: '36px',\r\n                                    color: 'black',\r\n                                    fontWeight: '500'\r\n                                }}\r\n                            >\r\n                                Accepted Content\r\n                            </div>\r\n                        </div>\r\n                    </Column>\r\n                    <Column\r\n                        lg={2}\r\n                        md={8}\r\n                        sm={4}\r\n                        style={{\r\n                            paddingBottom: '2em'\r\n                        }}\r\n                    ></Column>\r\n                    <Column lg={11} md={8} sm={4}>\r\n                        <p>\r\n                            This year CASCON is integrated into IBM TechXchange.\r\n                            You can build your custom timetable, explore\r\n                            different tracks and discover content on the\r\n                            TechXChange website.\r\n                        </p>\r\n                        <Button\r\n                            kind=\"primary\"\r\n                            target=\"_blank\"\r\n                            href=\"https://ibm.box.com/s/hc4vltwqanner5m520vu13js4zup0o1z\"\r\n                            style={{ marginTop: '2em' }}\r\n                        >\r\n                            View All Accepted Content\r\n                        </Button>\r\n                    </Column>\r\n                </Grid>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default AcceptedContent;\r\n","import React from 'react';\r\n\r\nimport icon from '../../../../images/icons/cascon2022Symbol.png'\r\nimport { Column, Grid, Button } from '@carbon/react';\r\n\r\nconst CasconArchives = () => {\r\n\r\n    return (\r\n        <div className='casconArchivesInfoContainer'>\r\n            <div style={{ padding: '4em' }}>\r\n                <Grid>\r\n                    <Column lg={3} md={8} sm={4}>\r\n                        <div className='rowSectionTitle'>\r\n                            <img src={icon} className=\"grayArrow\" />\r\n                            <div\r\n                                style={{\r\n                                    fontSize: '36px',\r\n                                    color: 'black',\r\n                                    fontWeight: '500'\r\n                                }}\r\n                            >\r\n                                CASCON Archives\r\n                            </div>\r\n                        </div>\r\n                    </Column>\r\n                    <Column\r\n                        lg={2}\r\n                        md={8}\r\n                        sm={4}\r\n                        style={{\r\n                            paddingBottom: '2em'\r\n                        }}\r\n                    ></Column>\r\n                    <Column lg={11} md={8} sm={4}>\r\n                        <p>Since 1991, CASCON has attracted software developers, researchers, innovators, technologists and decision-makers from academia, industry, and government, who come together to learn about technology trends, present papers, participate in workshops, and exhibit prototypes and solutions.</p>\r\n                        <br />\r\n                        <br />\r\n                        <br />\r\n                        <div className='row2023'>\r\n                            <Button className=\"about2023\" target=\"_blank\" href=\"/ibm/cas/cascon/archives\">View past conferences</Button>\r\n                        </div>\r\n                    </Column>\r\n                </Grid>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default CasconArchives;","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Column, Grid, Search } from '@carbon/react';\r\n\r\nconst FILTER_SPLIT_IDENTIFIER = '!`@';\r\nconst CHECKBOX_SELECT = 'CHECKBOX_SELECT';\r\nconst SEARCH_INPUT = 'SEARCH_INPUT';\r\nconst CLEAR_FILTERS = 'CLEAR_FILTERS';\r\n\r\nimport DDSFilterPanelComposite from '@carbon/ibmdotcom-web-components/es/components-react/filter-panel/filter-panel-composite';\r\nimport DDSFilterPanelHeading from '@carbon/ibmdotcom-web-components/es/components-react/filter-panel/filter-panel-heading';\r\nimport DDSFilterGroup from '@carbon/ibmdotcom-web-components/es/components-react/filter-panel/filter-group';\r\nimport DDSFilterGroupItem from '@carbon/ibmdotcom-web-components/es/components-react/filter-panel/filter-group-item';\r\nimport DDSFilterPanelCheckbox from '@carbon/ibmdotcom-web-components/es/components-react/filter-panel/filter-panel-checkbox';\r\n\r\nimport entries from '../../../../assets/json/acceptedContent.json';\r\n\r\nimport MenuItem from './FilterMenuComponents/MenuItem';\r\n\r\nconst datesFilterOptions = [\r\n    {\r\n        DayName: 'Monday',\r\n        Month: 'September',\r\n        DayNum: '11',\r\n        Year: '2023'\r\n    },\r\n    {\r\n        DayName: 'Tuesday',\r\n        Month: 'September',\r\n        DayNum: '12',\r\n        Year: '2023'\r\n    },\r\n    {\r\n        DayName: 'Wednesday',\r\n        Month: 'September',\r\n        DayNum: '13',\r\n        Year: '2023'\r\n    },\r\n    {\r\n        DayName: 'Thursday',\r\n        Month: 'September',\r\n        DayNum: '14',\r\n        Year: '2023'\r\n    }\r\n];\r\n\r\nconst typesFilterOptions = [\r\n    {\r\n        Title: 'Workshop',\r\n        idType: 'Workshop'\r\n    },\r\n    {\r\n        Title: 'Talk',\r\n        idType: 'Talk'\r\n    },\r\n    {\r\n        Title: 'Short Paper',\r\n        idType: 'Short Paper'\r\n    },\r\n    {\r\n        Title: 'Regular Paper',\r\n        idType: 'Regular Paper'\r\n    }\r\n];\r\n\r\nconst themeFilters = [\r\n    ...new Set(entries.map(entry => entry.Theme).filter(entry => entry.trim()))\r\n];\r\n\r\nconst allSubThemeFilters = [\r\n    ...new Set(\r\n        entries.map(entry => entry['Sub-Theme']).filter(entry => entry.trim())\r\n    )\r\n];\r\n\r\nconst FilterMenu = () => {\r\n    const [filterState, setFilterState] = useState({\r\n        dates: [],\r\n        types: [],\r\n        themes: [],\r\n        subThemes: []\r\n    });\r\n\r\n    const [currentArray, setCurrentArray] = useState(\r\n        entries.sort(\r\n            (x, y) =>\r\n                new Date(\r\n                    x.Year +\r\n                        '-' +\r\n                        x.MonthNum +\r\n                        '-' +\r\n                        x.DayNum +\r\n                        'T' +\r\n                        x.StartTimeNum\r\n                ) -\r\n                new Date(\r\n                    y.Year +\r\n                        '-' +\r\n                        y.MonthNum +\r\n                        '-' +\r\n                        y.DayNum +\r\n                        'T' +\r\n                        y.StartTimeNum\r\n                )\r\n        )\r\n    );\r\n\r\n    const [subThemeFilters, setSubThemeFilters] = useState(allSubThemeFilters);\r\n\r\n    const onSelectionClearHandler = () => {\r\n        setCurrentArray(entries);\r\n        setSearchArray(search(searchQuery, currentArray));\r\n\r\n        setFilterState({\r\n            dates: [],\r\n            types: [],\r\n            themes: [],\r\n            subThemes: []\r\n        });\r\n    };\r\n\r\n    const onCheckboxSelectHandler = event => {\r\n        // extract checkbox title and value\r\n        let [checkboxSection, checkboxId] = event.detail.value.split(\r\n            FILTER_SPLIT_IDENTIFIER\r\n        );\r\n\r\n        let allChecked;\r\n\r\n        const checkboxDOMElement = document\r\n            .querySelector('dds-filter-panel-composite')\r\n            .shadowRoot.querySelector(\r\n                `dds-filter-panel-checkbox[value=\"${event.detail.value}\"]`\r\n            );\r\n        if (\r\n            checkboxDOMElement &&\r\n            checkboxDOMElement.getAttribute('data-ignore-click-once') === 'true'\r\n        ) {\r\n            checkboxDOMElement.removeAttribute('data-ignore-click-once');\r\n            return;\r\n        }\r\n\r\n        if (checkboxId === 'All') {\r\n            const checkSections = document\r\n                .querySelector('dds-filter-panel-composite')\r\n                .shadowRoot.querySelector('dds-filter-panel')\r\n                .querySelector('dds-filter-group')\r\n                .querySelectorAll('dds-filter-group-item');\r\n\r\n            var checkboxDOMElements = undefined;\r\n\r\n            if (checkboxSection === 'dates') {\r\n                checkboxDOMElements = checkSections[0].querySelectorAll(\r\n                    'dds-filter-panel-checkbox'\r\n                );\r\n            } else if (checkboxSection === 'type') {\r\n                checkboxDOMElements = checkSections[1].querySelectorAll(\r\n                    'dds-filter-panel-checkbox'\r\n                );\r\n            } else if (checkboxSection === 'theme') {\r\n                checkboxDOMElements = checkSections[2].querySelectorAll(\r\n                    'dds-filter-panel-checkbox'\r\n                );\r\n            } else if (checkboxSection === 'subTheme') {\r\n                checkboxDOMElements = checkSections[3].querySelectorAll(\r\n                    'dds-filter-panel-checkbox'\r\n                );\r\n            }\r\n\r\n            allChecked =\r\n                checkboxDOMElements[0].shadowRoot.querySelector(\r\n                    'input#checkbox'\r\n                ).checked;\r\n            checkboxDOMElements.forEach(checkboxDOMElement => {\r\n                let input =\r\n                    checkboxDOMElement.shadowRoot.querySelector(\r\n                        'input#checkbox'\r\n                    );\r\n                if (allChecked && !input.checked) {\r\n                    checkboxDOMElement.setAttribute(\r\n                        'data-ignore-click-once',\r\n                        'true'\r\n                    );\r\n                    input.click();\r\n                } else if (!allChecked && input.checked) {\r\n                    checkboxDOMElement.setAttribute(\r\n                        'data-ignore-click-once',\r\n                        'true'\r\n                    );\r\n                    input.click();\r\n                }\r\n            });\r\n        }\r\n\r\n        //var tempArray = entries;\r\n\r\n        var newState = {\r\n            dates: filterState.dates,\r\n            types: filterState.types,\r\n            themes: filterState.themes,\r\n            subThemes: filterState.subThemes\r\n        };\r\n\r\n        if (checkboxSection === 'dates') {\r\n            if (checkboxId === 'All') {\r\n                if (allChecked) {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        dates: datesFilterOptions.map(item => item.DayNum)\r\n                    });\r\n                } else {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        dates: []\r\n                    });\r\n                }\r\n            } else {\r\n                const index = newState.dates.indexOf(checkboxId);\r\n                if (index === -1) {\r\n                    newState = {\r\n                        ...newState,\r\n                        dates: [...newState.dates, checkboxId]\r\n                    };\r\n                } else {\r\n                    newState = {\r\n                        ...newState,\r\n                        dates: newState.dates.filter(\r\n                            item => item !== checkboxId\r\n                        )\r\n                    };\r\n                }\r\n                setFilterState(newState);\r\n            }\r\n        } else if (checkboxSection === 'type') {\r\n            if (checkboxId === 'All') {\r\n                if (allChecked) {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        types: typesFilterOptions.map(item => item.Title)\r\n                    });\r\n                } else {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        types: []\r\n                    });\r\n                }\r\n            } else {\r\n                const index = newState.types.indexOf(checkboxId);\r\n                if (index === -1) {\r\n                    newState = {\r\n                        ...newState,\r\n                        types: [...newState.types, checkboxId]\r\n                    };\r\n                } else {\r\n                    newState = {\r\n                        ...newState,\r\n                        types: newState.types.filter(\r\n                            item => item !== checkboxId\r\n                        )\r\n                    };\r\n                }\r\n                setFilterState(newState);\r\n            }\r\n        } else if (checkboxSection === 'theme') {\r\n            if (checkboxId === 'All') {\r\n                if (allChecked) {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        themes: themeFilters\r\n                    });\r\n                } else {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        themes: []\r\n                    });\r\n                }\r\n            } else {\r\n                const index = newState.themes.indexOf(checkboxId);\r\n                if (index === -1) {\r\n                    newState = {\r\n                        ...newState,\r\n                        themes: [...newState.themes, checkboxId]\r\n                    };\r\n                } else {\r\n                    newState = {\r\n                        ...newState,\r\n                        themes: newState.themes.filter(\r\n                            item => item !== checkboxId\r\n                        )\r\n                    };\r\n                }\r\n                setFilterState(newState);\r\n            }\r\n        } else if (checkboxSection === 'subTheme') {\r\n            if (checkboxId === 'All') {\r\n                if (allChecked) {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        subThemes: subThemeFilters\r\n                    });\r\n                } else {\r\n                    setFilterState({\r\n                        ...newState,\r\n                        subThemes: []\r\n                    });\r\n                }\r\n            } else {\r\n                const index = newState.subThemes.indexOf(checkboxId);\r\n                if (index === -1) {\r\n                    newState = {\r\n                        ...newState,\r\n                        subThemes: [...newState.subThemes, checkboxId]\r\n                    };\r\n                } else {\r\n                    newState = {\r\n                        ...newState,\r\n                        subThemes: newState.subThemes.filter(\r\n                            item => item !== checkboxId\r\n                        )\r\n                    };\r\n                }\r\n                setFilterState(newState);\r\n            }\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        var tempArray = entries;\r\n\r\n        if (filterState.dates.length) {\r\n            tempArray = tempArray.filter(entry =>\r\n                filterState.dates.includes(entry.DayNum)\r\n            );\r\n        }\r\n\r\n        if (filterState.types.length) {\r\n            tempArray = tempArray.filter(entry =>\r\n                filterState.types.includes(entry.Type)\r\n            );\r\n        }\r\n\r\n        if (filterState.themes.length) {\r\n            tempArray = tempArray.filter(entry =>\r\n                filterState.themes.includes(entry.Theme)\r\n            );\r\n        }\r\n\r\n        if (filterState.subThemes.length) {\r\n            tempArray = tempArray.filter(entry =>\r\n                filterState.subThemes.includes(entry['Sub-Theme'])\r\n            );\r\n        }\r\n\r\n        setCurrentArray(\r\n            tempArray.sort(\r\n                (x, y) =>\r\n                    new Date(\r\n                        x.Year +\r\n                            '-' +\r\n                            x.MonthNum +\r\n                            '-' +\r\n                            x.DayNum +\r\n                            'T' +\r\n                            x.StartTimeNum\r\n                    ) -\r\n                    new Date(\r\n                        y.Year +\r\n                            '-' +\r\n                            y.MonthNum +\r\n                            '-' +\r\n                            y.DayNum +\r\n                            'T' +\r\n                            y.StartTimeNum\r\n                    )\r\n            )\r\n        );\r\n    }, [filterState]);\r\n\r\n    useEffect(() => {\r\n        const checkSections = document\r\n            ?.querySelector('dds-filter-panel-composite')\r\n            ?.shadowRoot.querySelector('dds-filter-panel')\r\n            ?.querySelector('dds-filter-group')\r\n            ?.querySelectorAll('dds-filter-group-item');\r\n\r\n        if (checkSections) {\r\n            let checkboxDOMElements = checkSections[3].querySelectorAll(\r\n                'dds-filter-panel-checkbox'\r\n            );\r\n\r\n            checkboxDOMElements.forEach((checkboxDOMElement, index) => {\r\n                let input =\r\n                    checkboxDOMElement.shadowRoot.querySelector(\r\n                        'input#checkbox'\r\n                    );\r\n                if (input.checked === true) {\r\n                    checkboxDOMElement.setAttribute(\r\n                        'data-ignore-click-once',\r\n                        'false'\r\n                    );\r\n                    input.click();\r\n                }\r\n            });\r\n        }\r\n        if (filterState.themes.length) {\r\n            setSubThemeFilters([\r\n                ...new Set(\r\n                    entries\r\n                        .filter(entry =>\r\n                            filterState.themes.includes(entry.Theme)\r\n                        )\r\n                        .map(entry => entry['Sub-Theme'])\r\n                        .filter(entry => entry.trim())\r\n                )\r\n            ]);\r\n        } else {\r\n            setSubThemeFilters(allSubThemeFilters);\r\n        }\r\n        setFilterState({\r\n            ...filterState,\r\n            subThemes: []\r\n        });\r\n    }, [filterState.themes]);\r\n\r\n    const search = (toSearch, objects) => {\r\n        let terms = toSearch.toLowerCase().split(' ');\r\n        return objects.filter(object =>\r\n            terms.every(term =>\r\n                Object.values(object).some(value =>\r\n                    value.toLowerCase().includes(term)\r\n                )\r\n            )\r\n        );\r\n    };\r\n\r\n    const [searchQuery, setSearchQuery] = useState('');\r\n    const [searchArray, setSearchArray] = useState([]);\r\n\r\n    useEffect(() => {\r\n        setSearchArray(search(searchQuery, currentArray));\r\n    }, [searchQuery, currentArray]);\r\n\r\n    return (\r\n        <div className=\"FilterContainer\">\r\n            <div style={{ padding: '4em', background: 'white' }}>\r\n                <Grid>\r\n                    <Column lg={4} md={8} sm={4}>\r\n                        <div className=\"FilterSection\">\r\n                            <DDSFilterPanelComposite\r\n                                onSelectionClear={onSelectionClearHandler}\r\n                                onCheckboxSelect={onCheckboxSelectHandler}\r\n                                style={{ backgroundColor: 'white !important' }}\r\n                            >\r\n                                <DDSFilterPanelHeading slot=\"heading\">\r\n                                    Filters\r\n                                </DDSFilterPanelHeading>\r\n\r\n                                <DDSFilterGroup>\r\n                                    <DDSFilterGroupItem\r\n                                        title-text=\"Date\"\r\n                                        open\r\n                                        data-group-item-id=\"dates\"\r\n                                    >\r\n                                        <DDSFilterPanelCheckbox\r\n                                            id={'datesALL'}\r\n                                            value={\r\n                                                'dates' +\r\n                                                FILTER_SPLIT_IDENTIFIER +\r\n                                                'All'\r\n                                            }\r\n                                            key={`filter0123`}\r\n                                        >\r\n                                            Select all dates\r\n                                        </DDSFilterPanelCheckbox>\r\n\r\n                                        {datesFilterOptions.map(\r\n                                            (dateItem, index) => {\r\n                                                return (\r\n                                                    <DDSFilterPanelCheckbox\r\n                                                        id={dateItem.DayNum}\r\n                                                        value={\r\n                                                            'dates' +\r\n                                                            FILTER_SPLIT_IDENTIFIER +\r\n                                                            dateItem.DayNum\r\n                                                        }\r\n                                                        key={`date filter ${index}`}\r\n                                                    >\r\n                                                        {dateItem.DayName}\r\n                                                    </DDSFilterPanelCheckbox>\r\n                                                );\r\n                                            }\r\n                                        )}\r\n                                    </DDSFilterGroupItem>\r\n\r\n                                    <DDSFilterGroupItem\r\n                                        title-text=\"Content type\"\r\n                                        open\r\n                                        data-group-item-id=\"types\"\r\n                                    >\r\n                                        <DDSFilterPanelCheckbox\r\n                                            id={'typesALL'}\r\n                                            value={\r\n                                                'type' +\r\n                                                FILTER_SPLIT_IDENTIFIER +\r\n                                                'All'\r\n                                            }\r\n                                            key={`Types0123`}\r\n                                        >\r\n                                            Select all project types\r\n                                        </DDSFilterPanelCheckbox>\r\n\r\n                                        {typesFilterOptions.map(\r\n                                            (typeItem, index) => {\r\n                                                return (\r\n                                                    <DDSFilterPanelCheckbox\r\n                                                        id={typeItem.idType}\r\n                                                        value={\r\n                                                            'type' +\r\n                                                            FILTER_SPLIT_IDENTIFIER +\r\n                                                            typeItem.Title\r\n                                                        }\r\n                                                        key={`type filter ${index}`}\r\n                                                    >\r\n                                                        {typeItem.Title}\r\n                                                    </DDSFilterPanelCheckbox>\r\n                                                );\r\n                                            }\r\n                                        )}\r\n                                    </DDSFilterGroupItem>\r\n\r\n                                    <DDSFilterGroupItem\r\n                                        title-text=\"Themes\"\r\n                                        open\r\n                                        data-group-item-id=\"themes\"\r\n                                    >\r\n                                        <DDSFilterPanelCheckbox\r\n                                            id={'themesALL'}\r\n                                            value={\r\n                                                'theme' +\r\n                                                FILTER_SPLIT_IDENTIFIER +\r\n                                                'All'\r\n                                            }\r\n                                            key={`Types0123`}\r\n                                        >\r\n                                            Select all themes\r\n                                        </DDSFilterPanelCheckbox>\r\n\r\n                                        {themeFilters.map((item, index) => {\r\n                                            return (\r\n                                                <DDSFilterPanelCheckbox\r\n                                                    id={item}\r\n                                                    value={\r\n                                                        'theme' +\r\n                                                        FILTER_SPLIT_IDENTIFIER +\r\n                                                        item\r\n                                                    }\r\n                                                    key={`theme filter ${index}`}\r\n                                                >\r\n                                                    {item}\r\n                                                </DDSFilterPanelCheckbox>\r\n                                            );\r\n                                        })}\r\n                                    </DDSFilterGroupItem>\r\n                                    <DDSFilterGroupItem\r\n                                        title-text=\"Subthemes\"\r\n                                        open\r\n                                        data-group-item-id=\"subThemes\"\r\n                                    >\r\n                                        <DDSFilterPanelCheckbox\r\n                                            id={'subThemesALL'}\r\n                                            value={\r\n                                                'subTheme' +\r\n                                                FILTER_SPLIT_IDENTIFIER +\r\n                                                'All'\r\n                                            }\r\n                                            key={`Types0123`}\r\n                                        >\r\n                                            Select all Sub Themes\r\n                                        </DDSFilterPanelCheckbox>\r\n\r\n                                        {subThemeFilters.map((item, index) => {\r\n                                            return (\r\n                                                <DDSFilterPanelCheckbox\r\n                                                    id={item}\r\n                                                    value={\r\n                                                        'subTheme' +\r\n                                                        FILTER_SPLIT_IDENTIFIER +\r\n                                                        item\r\n                                                    }\r\n                                                    key={`subTheme filter ${index}`}\r\n                                                >\r\n                                                    {item}\r\n                                                </DDSFilterPanelCheckbox>\r\n                                            );\r\n                                        })}\r\n                                    </DDSFilterGroupItem>\r\n                                </DDSFilterGroup>\r\n                            </DDSFilterPanelComposite>\r\n                        </div>\r\n                    </Column>\r\n\r\n                    <Column lg={12} md={8} sm={4} style={{ marginTop: '1rem' }}>\r\n                        <div style={{ marginBottom: '2em' }}>\r\n                            <Search\r\n                                size=\"lg\"\r\n                                placeholder=\"Search\"\r\n                                onChange={e => setSearchQuery(e.target.value)}\r\n                                value={searchQuery}\r\n                            />\r\n                        </div>\r\n                        {searchArray.map(entry => {\r\n                            return (\r\n                                <MenuItem\r\n                                    id={entry.ID}\r\n                                    key={entry.ID}\r\n                                    title={entry.Titles}\r\n                                    type={entry.Type}\r\n                                    date={\r\n                                        entry.DayName +\r\n                                        ' - ' +\r\n                                        entry.Month +\r\n                                        ' ' +\r\n                                        entry.DayNum +\r\n                                        ', ' +\r\n                                        entry.Year\r\n                                    }\r\n                                    room={entry.Room}\r\n                                    time={entry.Time}\r\n                                    authors={entry['Authors with Institution']}\r\n                                    theme={entry.Theme}\r\n                                    subTheme={entry['Sub-Theme']}\r\n                                    description={entry.Abstract}\r\n                                    detailsUrl={entry.detailsUrl}\r\n                                    imgPath={entry.imgPath}\r\n                                />\r\n                            );\r\n                        })}\r\n                    </Column>\r\n                </Grid>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default FilterMenu;\r\n","import React from 'react';\r\n\r\nimport { Button, Tag, Theme } from '@carbon/react';\r\n\r\nimport CONSTANTS, { ROUTE_PREFIX } from '../../../../../constants';\r\n\r\nimport ShareButtons from '../../../../ShareButtons/ShareButtons';\r\n\r\nconst MenuItem = ({\r\n    id,\r\n    room,\r\n    title,\r\n    date,\r\n    type,\r\n    authors,\r\n    time,\r\n    description,\r\n    detailsUrl,\r\n    theme,\r\n    subTheme\r\n}) => {\r\n    return (\r\n        <>\r\n            <div className=\"menuItemContainer\">\r\n                <div className=\"menuItemRow\">\r\n                    <h2\r\n                        style={{\r\n                            marginBottom: '1rem',\r\n                            fontSize: '1.5rem',\r\n                            fontWeight: '500'\r\n                        }}\r\n                    >\r\n                        {title}\r\n                    </h2>\r\n\r\n                    <div className=\"menuItemRow\">\r\n                        <Tag\r\n                            className=\"menuItemTag\"\r\n                            type=\"red\"\r\n                            size=\"sm\"\r\n                            title={date}\r\n                        >\r\n                            {date}\r\n                        </Tag>\r\n                        <Tag\r\n                            className=\"menuItemTag\"\r\n                            type=\"cyan\"\r\n                            size=\"sm\"\r\n                            title={type}\r\n                        >\r\n                            {type}\r\n                        </Tag>\r\n                        {theme?.trim() && (\r\n                            <Tag\r\n                                className=\"menuItemTag\"\r\n                                type=\"green\"\r\n                                size=\"sm\"\r\n                                title={theme}\r\n                            >\r\n                                {theme}\r\n                            </Tag>\r\n                        )}\r\n                        {subTheme?.trim() && (\r\n                            <Tag\r\n                                className=\"menuItemTag\"\r\n                                type=\"green\"\r\n                                size=\"sm\"\r\n                                title={subTheme}\r\n                            >\r\n                                {subTheme}\r\n                            </Tag>\r\n                        )}\r\n                    </div>\r\n                </div>\r\n                <br />\r\n                <p>{authors}</p>\r\n                <br />\r\n                  <p>\r\n                    <strong>Time: </strong>\r\n                    {time},{' '}\r\n                    {id.trim() && (\r\n                        <>\r\n                            <strong>Session ID: </strong>\r\n                            {id}\r\n                        </>\r\n                    )}\r\n                    ,{' '}\r\n                    {room.trim() && (\r\n                        <>\r\n                            <strong>Room Number: </strong>\r\n                            {room}\r\n                        </>\r\n                    )}\r\n                </p>\r\n                <br />\r\n                <br />\r\n                <p\r\n                    dangerouslySetInnerHTML={{\r\n                        __html: description\r\n                    }}\r\n                />\r\n                <br />\r\n                <br />\r\n                {detailsUrl?.trim() ? (\r\n                    <Button\r\n                        className=\"menuButton\"\r\n                        kind=\"tertiary\"\r\n                        href={detailsUrl}\r\n                    >\r\n                        View details\r\n                    </Button>\r\n                ) : (\r\n                    <Button\r\n                        className=\"menuButton\"\r\n                        kind=\"tertiary\"\r\n                        onClick={() =>\r\n                            window.open(\r\n                                '/ibm/cas/cascon/2023/content?id=' + id,\r\n                                '_blank'\r\n                            )\r\n                        }\r\n                        target=\"_blank\"\r\n                    >\r\n                        View details\r\n                    </Button>\r\n                )}\r\n                <br />\r\n                <br />\r\n                <div className=\"iconShareRow\">\r\n                    <div style={{ marginRight: '1rem' }}>Share</div>{' '}\r\n                    <ShareButtons\r\n                        shareLink={\r\n                            window.location.origin +\r\n                            CONSTANTS.ROUTE_PREFIX +\r\n                            `/2023/content?id=${escape(id)}`\r\n                        }\r\n                    />\r\n                </div>\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default MenuItem;\r\n","import React from 'react';\n\nimport icon from '../../../../images/icons/cyanArrowIcon.png'\n\nimport WaterlooLogo from '../../../../images/logos/UniversityOfWaterloo.png';\nimport QueensLogo from '../../../../images/logos/QueensUniversity.png';\n\nimport mipCommitteeMembers from '../../../../assets/json/mipSelectionCommittee.json';\n\nconst MIPCommittee = () => {\n    return (\n        <div className='programContainer'>\n            <div className='orgTitle'>\n                <img className=\"dualArrow\" src={icon} />\n                <br />\n                <h1 className='memberTitle'>MIP Selection Committee</h1>\n            </div>\n            <br />\n            <div className='programSection'>\n                <div className='programRow'>\n                    <div className='programSubRow'>\n                        <img src={WaterlooLogo} className='programLogo' />\n                        <div className='programCol'>\n                            <h3 className=\"programProfName\">Prof. Krzysztof Czarnecki</h3>\n                            <p className='programSubText'>University of Waterloo, MIP Selection Committee Co-chair</p>\n                        </div>\n                    </div>\n\n                    <div className='programSubRow'>\n                        <img src={QueensLogo} className='programLogo' />\n                        <div className='programCol'>\n                            <h3 className=\"programProfName\">Prof. James R. Cordy</h3>\n                            <p className='programSubText'>Queen's University, MIP Selection Committee Co-chair</p>\n                        </div>\n                    </div>\n                </div>\n\n                {mipCommitteeMembers.map(member => {\n                    return (\n                        <div className='programRow'>\n                            {member.map(subMemberGroup => {\n                                return (\n                                    <div className='programSubRow'>\n                                        {subMemberGroup.map(subMember => {\n                                            return (\n                                                <div className='programCol'>\n                                                    <h3>{subMember.name}</h3>\n                                                    <p className='programSubText'>{subMember.position}</p>\n                                                </div>\n                                            );\n                                        })}\n\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    );\n                })\n\n                }\n            </div>\n        </div>\n    );\n};\n\nexport default MIPCommittee;","import React, { useState, useEffect, useCallback } from 'react';\r\n\r\nimport dualArrow from '../../../../images/icons/dualArrowIcon.png'\r\n\r\nimport jsonDoc from '../../../../assets/json/organization.json'\r\n\r\n\r\nconst Organization = () => {\r\n    const [orgMemberImages, setOrgMemberImages] = useState({});\r\n\r\n    const loadImage = useCallback(imagePath => {\r\n        return import(`../../../../${imagePath}`)\r\n            .then(image => {\r\n                return image.default;\r\n            })\r\n            .catch(() => {\r\n                return null;\r\n            });\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (!jsonDoc) {\r\n            return;\r\n        }\r\n\r\n        const loadOrgMembersImages = async () => {\r\n            const imagePromises = jsonDoc.map(orgMember => {\r\n                return loadImage(orgMember.img).then(image => {\r\n                    return { id: orgMember.id, image: image };\r\n                });\r\n            });\r\n\r\n            await Promise.all(imagePromises).then(orgImages => {\r\n                setOrgMemberImages(orgImages.reduce((result, orgImage) => {\r\n                    return {\r\n                        ...result,\r\n                        [orgImage.id]: orgImage.image\r\n                    }\r\n                }, {}));\r\n            });\r\n        };\r\n\r\n        loadOrgMembersImages();\r\n    }, [jsonDoc]);\r\n\r\n    return (\r\n        <div className='organizationContainer'>\r\n            <div className='orgTitle'>\r\n                <img className = \"dualArrow\" src={dualArrow}/>\r\n                <br/>\r\n                <h1 className = 'memberTitle'>Organization Committee</h1>\r\n            </div>\r\n            <br/>\r\n            <br/>\r\n            <br/>\r\n            <div className='orgMembers'>\r\n                {jsonDoc.map(entry => {\r\n                    return (\r\n                        <div className='section'>\r\n                            <div className='memberSection'>\r\n                                <div className='memberImgCircle'><img className=\"memberImg\" src={ orgMemberImages[entry.id]}/></div>\r\n                                <br/>\r\n                                <p className='memberName'>{entry.name}</p>\r\n                                <p className='memberLocation'>{entry.location}</p>\r\n                                <br/>\r\n                                <br/>\r\n                                <a className='memberPosition'>{entry.position}</a>\r\n                            </div>\r\n                        </div>\r\n                    );\r\n                })}\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default Organization;","import React from 'react';\r\n\r\nimport icon from '../../../../images/icons/cyanArrowIcon.png'\r\n\r\nimport IbmLogo from '../../../../images/logo.png';\r\nimport OttawaLogo from '../../../../images/logos/ottawaLogo.png';\r\n\r\nimport programCommiteeMembers from '../../../../assets/json/programCommitee.json';\r\n\r\nconst Program = () => {\r\n\r\n    return (\r\n        <div className='programContainer'>\r\n            <div className='orgTitle'>\r\n                <img className = \"dualArrow\" src={icon}/>\r\n                <br/>\r\n                <h1 className = 'memberTitle'>Program Committee</h1>\r\n            </div>\r\n            <br/>\r\n            <div className='programSection'>\r\n                <div className='programRow'>\r\n                    <div className='programSubRow'>\r\n                        <img src={OttawaLogo} className='programLogo'/>\r\n                        <div className='programCol'>\r\n                            <h3 className=\"programProfName\">Prof. Paula Branco</h3>\r\n                            <p className='programSubText'>University of Ottawa, Program Co-chair</p>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div className='programSubRow'>\r\n                        <img src={IbmLogo} className='programLogo'/>\r\n                        <div className='programCol'>\r\n                            <h3 className=\"programProfName\">Vio Onut, Ph.D.</h3>\r\n                            <p className='programSubText'>IBM Canada Ltd., Program Co-chair</p>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n\r\n            \r\n                { programCommiteeMembers.map(member => {\r\n                    return (\r\n                        <div className='programRow'>\r\n                            {member.map(subMemberGroup => {\r\n                                return (\r\n                                    <div className='programSubRow'>\r\n                                        {subMemberGroup.map(subMember => {\r\n                                            return (\r\n                                                <div className='programCol'>\r\n                                                    <h3>{subMember.name}</h3>\r\n                                                    <p className='programSubText'>{subMember.position}</p>\r\n                                                </div>\r\n                                            );\r\n                                        })}\r\n                                        \r\n                                    </div>\r\n                                );\r\n                            })}\r\n                        </div>\r\n                    );\r\n                })\r\n                    \r\n                }\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default Program;","import React, { useState, useEffect, useCallback } from 'react';\r\n\r\nimport dualArrow from '../../../../images/icons/dualArrowIcon.png';\r\n\r\nimport jsonDoc from '../../../../assets/json/steeringComitee.json';\r\n\r\nconst SteeringComittee = () => {\r\n    const [committeeMemberImages, setCommitteeMemberImages] = useState({});\r\n\r\n    const loadImage = useCallback(imagePath => {\r\n        return import(`../../../../${imagePath}`)\r\n            .then(image => {\r\n                return image.default;\r\n            })\r\n            .catch(() => {\r\n                return null;\r\n            });\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (!jsonDoc) {\r\n            return;\r\n        }\r\n\r\n        const loadCommitteeMembersImages = async () => {\r\n            const imagePromises = jsonDoc.map(committeeMember => {\r\n                return loadImage(committeeMember.img).then(image => {\r\n                    return { id: committeeMember.id, image: image };\r\n                });\r\n            });\r\n\r\n            await Promise.all(imagePromises).then(memberImages => {\r\n                setCommitteeMemberImages(memberImages.reduce((result, memberImage) => {\r\n                    return {\r\n                        ...result,\r\n                        [memberImage.id]: memberImage.image\r\n                    }\r\n                }, {}));\r\n            });\r\n        };\r\n\r\n        loadCommitteeMembersImages();\r\n    }, [jsonDoc]);\r\n\r\n    return (\r\n        <div className=\"organizationContainer\">\r\n            <div className=\"orgTitle\">\r\n                <img className=\"dualArrow\" src={dualArrow} />\r\n                <br />\r\n                <h1 className=\"memberTitle\">Steering Committee</h1>\r\n            </div>\r\n            <br />\r\n            <br />\r\n            <br />\r\n            <div className=\"orgMembers\">\r\n                {Array.isArray(jsonDoc) &&\r\n                    jsonDoc.map(committeeMember => {\r\n                        return (\r\n                            <div\r\n                                key={committeeMember.name}\r\n                                className=\"memberSection\"\r\n                            >\r\n                                <div className=\"memberImgCircle\">\r\n                                    <img\r\n                                        className=\"memberImg\"\r\n                                        src={\r\n                                            committeeMemberImages[\r\n                                                committeeMember.id\r\n                                            ]\r\n                                        }\r\n                                    />\r\n                                </div>\r\n                                <br />\r\n                                <p className=\"memberName\">\r\n                                    {committeeMember.name}\r\n                                </p>\r\n                                <p className=\"memberLocation\">\r\n                                    {committeeMember.institution}\r\n                                </p>\r\n                            </div>\r\n                        );\r\n                    })}\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default SteeringComittee;\r\n","// extracted by mini-css-extract-plugin\nexport default {};"],"names":["bannerImage","bannerTitleTop","bannerTitleBottom","style","back","hiddenLogo","className","alt","src","defaultBannerImage","lg","md","sm","onClick","to","marginRight","message","BannerLogo","role","currentTab","marginTop","padding","background","fontSize","color","fontWeight","paddingBottom","target","href","display","gap","flexWrap","kind","alignItems","GrayArrow","icon","FILTER_SPLIT_IDENTIFIER","datesFilterOptions","DayName","Month","DayNum","Year","typesFilterOptions","Title","idType","themeFilters","Set","entries","entry","Theme","filter","trim","allSubThemeFilters","useState","dates","types","themes","subThemes","filterState","setFilterState","x","y","Date","MonthNum","StartTimeNum","currentArray","setCurrentArray","subThemeFilters","setSubThemeFilters","useEffect","tempArray","length","includes","Type","sort","checkSections","document","querySelector","shadowRoot","querySelectorAll","forEach","checkboxDOMElement","index","input","checked","setAttribute","click","map","search","toSearch","objects","terms","toLowerCase","split","object","every","term","Object","values","some","value","searchQuery","setSearchQuery","searchArray","setSearchArray","onSelectionClear","onCheckboxSelect","event","allChecked","detail","checkboxSection","checkboxId","getAttribute","removeAttribute","checkboxDOMElements","undefined","newState","item","indexOf","backgroundColor","slot","open","id","dateItem","typeItem","marginBottom","size","placeholder","onChange","e","ID","title","Titles","type","date","room","Room","time","Time","authors","theme","subTheme","description","Abstract","detailsUrl","imgPath","dangerouslySetInnerHTML","__html","window","shareLink","location","origin","CONSTANTS","escape","WaterlooLogo","QueensLogo","mipCommitteeMembers","member","subMemberGroup","subMember","name","position","orgMemberImages","setOrgMemberImages","loadImage","useCallback","imagePath","then","image","default","catch","jsonDoc","loadOrgMembersImages","imagePromises","orgMember","img","Promise","all","orgImages","reduce","result","orgImage","dualArrow","OttawaLogo","IbmLogo","programCommiteeMembers","committeeMemberImages","setCommitteeMemberImages","loadCommitteeMembersImages","committeeMember","memberImages","memberImage","Array","isArray","institution"],"sourceRoot":""}