<commit_before>/*
 * Wegas
 * http://wegas.albasim.ch
 *
 * Copyright (c) 2013-2018  School of Business and Engineering Vaud, Comem, MEI
 * Licensed under the MIT License
 */
/**
 * Wegas loader, contains module definitions.
 *
 * @fileoverview
 * @author <NAME> <<EMAIL>>
 */
/*global YUI_config, YUI:true*/
YUI().use(function(Y) {
    "use strict";
    var CSS = "css";
    if (!YUI_config) {
        YUI_config = {};
    }
    if (!YUI_config.groups) {
        YUI_config.groups = {
            inputex: {
                modulesByType: {}
            }
        };
    }
    if (!YUI_config.Wegas) {
        YUI_config.Wegas = {};
    }
    YUI_config.Wegas.modulesByType = {};
    /**
     *
     */
    YUI.addGroup = function(name, group) {
        YUI_config.groups[name] = group;
        group.combine = false;
        group.filter = YUI_config.debug ? "raw" : "min"; // Select raw files
        group.base = YUI_config.Wegas.base + group.root; // Set up path
        loadModules(group);
        //YUI.applyConfig(YUI_config);
    };
    YUI.addGroup("wegas", {
        base: "./wegas-app/",
        root: "/wegas-app/",
        modules: {
            /**
             * Base
             */
            "wegas-app": {
                requires: ["base", "plugin", "array-extras", "timers",
                    "wegas-alerts", "wegas-helper", "wegas-entity", "wegas-datasource", "font-awesome", "template-micro",
                    "wegas-i18n", "wegas-keyframescss", "wegas-lockmanager", "wegas-surveylistener"]
            },
            "wegas-alerts": {
                requires: ["widget"]
            },
            "wegas-keyframescss": {
                type: CSS
            },
            "wegas-editable": {
            },
            "wegas-i18n-global-fr": {
                path: 'js/i18n/i18n-global-fr-min.js'
            },
            "wegas-i18n-global-en": {
                path: 'js/i18n/i18n-global-en-min.js'
            },
            "wegas-i18n-global-de": {
                path: 'js/i18n/i18n-global-de-min.js'
            },
            "wegas-i18n-global-it": {
                path: 'js/i18n/i18n-global-it-min.js'
            },
            "wegas-i18n-global": {
                path: 'js/i18n/i18n-global-min.js',
                requires: ['wegas-i18n']
            },
            "wegas-i18n": {
                requires: ['datatype-number']
            },
            /**
             * Persistence
             */
            "wegas-datasource": {
                requires: ["datasource-io", "json", "widget", "gzip"]
            },
            "wegas-scripteval": {
                path: "js/persistence/wegas-scripteval-min.js",
                requires: "wegas-variabledescriptor-entities",
                ws_provides: "ScriptEval"
            },
            "wegas-websocketlistener": {
                path: "js/persistence/wegas-websocketlistener-min.js",
                requires: "wegas-cssloader",
                ws_provides: "WebSocketListener"
            },
            "wegas-pusher-connector": {
                path: "js/persistence/wegas-pusher-connector-min.js",
                requires: "pusher",
                ws_provides: "PusherDataSource"
            },
            "wegas-entity": {
                path: "js/persistence/wegas-entity-min.js",
                requires: "wegas-editable",
                ws_provides: ["Entity", "GameModel"]
            },
            "wegas-variabledescriptor-entities": {
                path: "js/persistence/wegas-variabledescriptor-entities-min.js",
                requires: ["wegas-entity", "promise"],
                ws_provides: [
                    "BooleanDescriptor",
                    "BooleantInstance",
                    "InboxDescriptor",
                    "InboxInstance",
                    "ListDescriptor",
                    "ListInstance",
                    "NumberDescriptor",
                    "NumberInstance",
                    "StringDescriptor",
                    "StringInstance",
                    "TextDescriptor",
                    "TextInstance",
                    "StaticTextDescriptor"
                ]
            },
            "wegas-statemachine-entities": {
                path: "js/persistence/wegas-statemachine-entities-min.js",
                ws_provides: [
                    "DialogueDescriptor",
                    "TriggerDescriptor",
                    "FSMDescriptor",
                    "FSMInstance"
                ]
            },
            "wegas-content-entities": {
                path: "js/persistence/wegas-content-entities-min.js"
            },
            "wegas-object-entities": {
                path: "js/persistence/wegas-object-entities-min.js",
                ws_provides: [
                    "ObjectDescriptor",
                    "ObjectInstance"
                ]
            },
            "wegas-resourcemanagement-entities": {
                path: "js/persistence/wegas-resourcemanagement-entities-min.js",
                requires: "arraysort",
                ws_provides: [
                    "ResourceDescriptor",
                    "ResourceInstance",
                    "TaskDescriptor",
                    "TaskInstance",
                    "BurndownDescriptor",
                    "BurndownInstance"
                ]
            },
            /**
             * Widgets
             */
            "wegas-widget": {
                requires: ["widget", "widget-child", "widget-parent", "wegas-editable"]
            },
            "wegas-parent": {
                requires: "wegas-widget"
            },
            "wegas-layout-panel": {
                path: "js/widget/wegas-layout-panel-min.js",
                requires: "panel",
                ws_provides: "PanelWidget"
            },
            "wegas-layout-list": {
                path: "js/widget/wegas-layout-list-min.js",
                requires: "wegas-parent",
                ws_provides: ["List", "FlexList"]
            },
            "wegas-layout-menu": {
                path: "js/widget/wegas-layout-menu-min.js",
                requires: ["wegas-parent", "wegas-layout-menucss"],
                ws_provides: ["LayoutMenu", "I18nMenu"]
            },
            "wegas-layout-menucss": {
                type: CSS
            },
            "wegas-layout-absolute": {
                path: "js/widget/wegas-layout-absolute-min.js",
                requires: ["wegas-plugin", "wegas-layout-absolutecss", "wegas-cssstyles-extra", "wegas-parent"],
                ws_provides: ["AbsoluteLayout", "Position"]
            },
            "wegas-layout-absolutecss": {
                type: CSS
            },
            "wegas-layout-choicelist": {
                path: "js/widget/wegas-layout-choicelist-min.js",
                requires: ["wegas-layout-list", "wegas-layout-choicelistcss"],
                ws_provides: "ChoiceList"
            },
            "wegas-layout-choicelistcss": {
                type: CSS
            },
            "wegas-layout-resizable": {
                path: "js/widget/wegas-layout-resizable-min.js",
                requires: ["wegas-widget", "widget-stdmod", "event-resize", "resize", "wegas-layout-resizablecss"],
                ws_provides: "ResizableLayout"
            },
            "wegas-layout-resizablecss": {
                type: CSS
            },
            "wegas-pageloader": {
                path: "js/widget/wegas-pageloader-min.js",
                ws_provides: ["PageLoader", "GetPageIdFromQueryString"],
                requires: ["wegas-plugin", "wegas-widget", "querystring-parse"]
            },
            "wegas-popuplistener": {
                path: "js/plugin/wegas-popuplistener-min.js",
                ws_provides: "PopupListener",
                requires: "wegas-panel"
            },
            "wegas-surveylistener": {
                path: "js/plugin/wegas-surveylistener-min.js",
                ws_provides: "SurveyListener",
            },
            "wegas-resizelistener": {
                path: "js/plugin/wegas-resizelistener-min.js",
                ws_provides: "ResizeListener"
                    //requires: "wegas-panel"
            },
            "wegas-button": {
                path: "js/widget/wegas-button-min.js",
                requires: ["wegas-widget", "wegas-plugin", "button", "wegas-tooltip", "wegas-button-css"],
                ws_provides: ["Button", "UnreadCount", "MarkAsUnread"]
            },
            "wegas-button-css": {
                type: CSS
            },
            "wegas-loginbutton": {
                path: "js/widget/wegas-loginbutton-min.js",
                requires: ["wegas-widgetmenu", "wegas-i18n-global"],
                ws_provides: ["LoginButton", "UserLoginButton", "RestartButton", "LanguageSelectionMenu"]
            },
            "wegas-chat": {
                path: "js/widget/wegas-chat-min.js",
                requires: ["button"],
                ws_provides: "Chat"
            },
            "wegas-chart-css": {
                type: CSS
            },
            "wegas-chart": {
                path: "js/widget/wegas-chart-min.js",
                requires: ["promise", "chartist", "wegas-chart-css"],
                ws_provides: "Chart"
            },
            "wegas-langselector": {
                path: "js/widget/wegas-langselector-min.js",
                ws_provides: "LangSelector"
            },
            "wegas-text-inputcss": {
                type: CSS
            },
            "wegas-text-input": {
                path: "js/widget/wegas-text-input-min.js",
                ws_provides: ["TextInput", "StringInput", "BooleanInput", "SaveStatusAggregator"],
                requires: ["sortable", "wegas-text-inputcss", "wegas-widget", "tinymce", "wegas-panel-fileselect", "wegas-button", "event-valuechange"]
            },
            "wegas-number-inputcss": {
                type: CSS
            },
            "wegas-number-input": {
                path: "js/widget/wegas-number-input-min.js",
                ws_provides: ["NumberInput", "BoxesNumberInput"],
                requires: ["wegas-number-inputcss", "wegas-widget", "wegas-button", "slider", "wegas-i18n-global", "event-valuechange"]
            },
            "wegas-pdf-print-css": {
                type: CSS
            },
            "wegas-prettyprinter": {
                path: "js/widget/wegas-prettyprinter-min.js",
                ws_provides: ["AbstractPrettyPrinter", "TextPrettyPrinter"],
                requires: ["wegas-widget", "wegas-pdf-print-css"]
            },
            "wegas-text": {
                path: "js/widget/wegas-text-min.js",
                ws_provides: ["Text", "String"],
                requires: "wegas-widget"
            },
            "wegas-image": {
                path: "js/widget/wegas-image-min.js",
                ws_provides: "Image"
            },
            "wegas-box": {
                path: "js/widget/wegas-box-min.js",
                ws_provides: ["Box", "Line"],
                requires: "wegas-widget"
            },
            "wegas-tabview": {
                path: "js/widget/wegas-tabview-min.js",
                requires: ["tabview", "wegas-parent", "wegas-tabviewcss", "wegas-popuplistener"],
                ws_provides: "TabView"
            },
            "wegas-tabviewcss": {
                type: CSS
            },
            "wegas-bscopeinspector": {
                path: "js/widget/wegas-bscopeinspector-min.js",
                ws_provides: "BScopeInspector"
            },
            "wegas-gaugedisplay": {
                path: "js/widget/wegas-gaugedisplay-min.js",
                requires: ["gauge", "wegas-templatecss"],
                ws_provides: "GaugeDisplay"
            },
            "wegas-inbox": {
                path: "js/widget/wegas-inbox-min.js",
                requires: ["wegas-responsive-tabview", "wegas-inboxcss"],
                ws_provides: "InboxDisplay"
            },
            "wegas-responsive-tabview": {
                path: "js/widget/wegas-responsive-tabview-min.js",
                requires: ["wegas-tabview", "wegas-tabviewcss",
                    "wegas-widgettoolbar", "wegas-responsive-tabviewcss", "wegas-i18n-global"],
                ws_provides: ["ReponsiveTabView"]
            },
            "wegas-responsive-tabviewcss": {
                type: CSS
            },
            "wegas-inboxcss": {
                type: CSS
            },
            "wegas-inbox-list": {
                path: "js/widget/wegas-inbox-list-min.js",
                requires: ["wegas-inbox", "wegas-inboxcss", "promise"],
                ws_provides: "InboxList"
            },
            "wegas-form": {
                path: "js/widget/wegas-form-min.js",
                requires: ["wegas-inputex", "wegas-widgettoolbar",
                    "inputex-group", "event-valuechange"],
                ws_provides: "Form"
            },
            "wegas-gallery": {
                path: "js/widget/wegas-gallery-min.js",
                requires: ["wegas-widget", "wegas-imageloader", "scrollview-base",
                    "scrollview-paginator", "scrollview-scrollbars", "wegas-gallerycss",
                    "stylesheet", "event-resize"],
                ws_provides: "Gallery"
            },
            "wegas-gallerycss": {
                type: CSS
            },
            "wegas-googletranslate": {
                path: "js/widget/wegas-googletranslate-min.js",
                requires: "googletranslate",
                ws_provides: "GoogleTranslate"
            },
            /** Plugins **/
            "wegas-plugin": {
                requires: ["timers", "wegas-widget"]
            },
            "wegas-userpreferences": {
                path: "js/plugin/wegas-userpreferences-min.js",
                requires: "wegas-plugin",
                ws_provides: "UserPreferences"
            },
            "wegas-tooltip": {
                path: "js/plugin/wegas-tooltip-min.js",
                requires: ["wegas-plugin", "event-mouseenter", "widget", "widget-stack",
                    "widget-position", "widget-position-constrain"],
                ws_provides: "Tooltip"
            },
            "wegas-templatecss": {
                type: CSS
            },
            "wegas-template": {
                path: "js/widget/wegas-template-min.js",
                requires: ["template-micro", "wegas-templatecss"],
                ws_provides: ["Template", "ValueboxTemplate", "BoxTemplate",
                    "NumberTemplate", "TitleTemplate", "FractionTemplate", "TextTemplate"]
            },
            "wegas-treeview": {
                path: "js/widget/wegas-treeview-min.js",
                requires: "treeview",
                ws_provides: "TreeViewWidget"
            },
            "wegas-injector": {
                path: "js/plugin/wegas-injector-min.js",
                ws_provides: "Injector"
            },
            "wegas-eventlogger": {
                path: "js/plugin/wegas-eventlogger-min.js",
                requires: "wegas-plugin",
                ws_provides: ["EventLogger"]
            },
            "wegas-lockmanager": {
                path: "js/plugin/wegas-lockmanager-min.js",
                requires: "wegas-plugin",
                ws_provides: ["LockManager", "Lockable"]
            },
            "wegas-cssloader": {
                path: "js/plugin/wegas-cssloader-min.js",
                requires: "stylesheet",
                ws_provides: "CSSLoader"
            },
            "wegas-slideshow": {
                path: "js/plugin/wegas-slideshow-min.js",
                requires: "wegas-plugin",
                ws_provides: "SlideShow"
            },
            "wegas-cssstyles": {
                path: "js/plugin/wegas-cssstyles-min.js",
                requires: "wegas-plugin",
                ws_provides: "CSSStyles"
            },
            "wegas-cssstyles-extra": {
                path: "js/plugin/wegas-cssstyles-extra-min.js",
                requires: "wegas-cssstyles",
                ws_provides: ["CSSBackground", "CSSBackgroundImage", "CSSText", "CSSPosition", "CSSSize"]
            },
            "wegas-conditionaldisplay": {
                path: "js/plugin/wegas-conditionaldisplay-min.js",
                ws_provides: "ConditionalDisplay"
            },
            "wegas-conditionaldisable": {
                path: "js/plugin/wegas-conditionaldisable-min.js",
                ws_provides: "ConditionalDisable"
            },
            "wegas-blockrightclick": {
                path: "js/plugin/wegas-blockrightclick-min.js",
                ws_provides: "BlockRightclick"
            },
            "wegas-editormode": {
                path: "js/plugin/wegas-editormode-min.js",
                ws_provides: "EditorMode"
            },
            "wegas-panel-pageloader": {
                path: "js/plugin/wegas-panel-pageloader-min.js",
                requires: ["wegas-plugin", "wegas-pageloader", "wegas-panel"],
                ws_provides: ["OpenPanelPageloader", "OpenPanelWithCfg", "ClosePanel"]
            },
            "wegas-visibilitytimer": {
                path: "js/plugin/wegas-visibilitytimer-min.js",
                requires: "wegas-plugin",
                ws_provides: ["ShowAfter", "HideAfter"]
            },
            "wegas-simpledialogue": {
                path: "js/widget/wegas-simpledialogue-min.js",
                requires: ["wegas-dialogcss"],
                ws_provides: "SimpleDialogue"
            },
            "wegas-historydialog": {
                path: "js/widget/wegas-historydialog-min.js",
                requires: ["wegas-simpledialogue", "wegas-dialogcss"],
                ws_provides: ["HistoryDialog"]
            },
            "wegas-dialogue-folder": {
                path: "js/widget/wegas-dialogue-folder-min.js",
                requires: ["wegas-entitychooser"],
                ws_provides: ["DialogueFolder"]
            },
            "wegas-dialogcss": {
                type: CSS
            },
            "wegas-entitychooser": {
                path: "js/widget/wegas-entitychooser-min.js",
                requires: ["wegas-entitychoosercss", "wegas-button", "wegas-react-form"],
                ws_provides: ["EntityChooser", "EntityChooser2", "ObjectPropertyEditor"]
            },
            "wegas-entitychoosercss": {
                type: CSS
            },
            "wegas-showoverlayonclickcss": {
                type: CSS
            },
            "wegas-showoverlayonclick": {
                path: "js/plugin/wegas-showoverlayonclick-min.js",
                requires: ["overlay", "wegas-showoverlayonclickcss"],
                ws_provides: ["ShowOverlayOnClick", "ShowInboxListOnClick"]
            },
            "wegas-chartistcss": {
                type: CSS
            },
            "wegas-spreadsheet": {
                path: "js/widget/wegas-spreadsheet-min.js",
                requires: ["wegas-spreadsheetcss", "wegas-mcq-viewcss", "wegas-panel", 
                    "wegas-i18n-global", "wegas-button"],
                ws_provides: "Spreadsheet"
            },
            "wegas-spreadsheetcss": {
                type: CSS
            }
        }
    });
    /**
     * Utilities
     */
    YUI.addGroup("wegas-util", {
        base: "./wegas-util/",
        root: "/wegas-util/",
        modules: {
            "wegas-helper": {},
            "wegas-script-helper": {
                requires: ["esprima"]
            },
            "datatable-csv": {
                ws_provides: "DatatableCSV"<commit_msg>Spreadsheet: reduce dependencies<commit_after>/*
 * Wegas
 * http://wegas.albasim.ch
 *
 * Copyright (c) 2013-2018  School of Business and Engineering Vaud, Comem, MEI
 * Licensed under the MIT License
 */
/**
 * Wegas loader, contains module definitions.
 *
 * @fileoverview
 * @author <NAME> <<EMAIL>>
 */
/*global YUI_config, YUI:true*/
YUI().use(function(Y) {
    "use strict";
    var CSS = "css";
    if (!YUI_config) {
        YUI_config = {};
    }
    if (!YUI_config.groups) {
        YUI_config.groups = {
            inputex: {
                modulesByType: {}
            }
        };
    }
    if (!YUI_config.Wegas) {
        YUI_config.Wegas = {};
    }
    YUI_config.Wegas.modulesByType = {};
    /**
     *
     */
    YUI.addGroup = function(name, group) {
        YUI_config.groups[name] = group;
        group.combine = false;
        group.filter = YUI_config.debug ? "raw" : "min"; // Select raw files
        group.base = YUI_config.Wegas.base + group.root; // Set up path
        loadModules(group);
        //YUI.applyConfig(YUI_config);
    };
    YUI.addGroup("wegas", {
        base: "./wegas-app/",
        root: "/wegas-app/",
        modules: {
            /**
             * Base
             */
            "wegas-app": {
                requires: ["base", "plugin", "array-extras", "timers",
                    "wegas-alerts", "wegas-helper", "wegas-entity", "wegas-datasource", "font-awesome", "template-micro",
                    "wegas-i18n", "wegas-keyframescss", "wegas-lockmanager", "wegas-surveylistener"]
            },
            "wegas-alerts": {
                requires: ["widget"]
            },
            "wegas-keyframescss": {
                type: CSS
            },
            "wegas-editable": {
            },
            "wegas-i18n-global-fr": {
                path: 'js/i18n/i18n-global-fr-min.js'
            },
            "wegas-i18n-global-en": {
                path: 'js/i18n/i18n-global-en-min.js'
            },
            "wegas-i18n-global-de": {
                path: 'js/i18n/i18n-global-de-min.js'
            },
            "wegas-i18n-global-it": {
                path: 'js/i18n/i18n-global-it-min.js'
            },
            "wegas-i18n-global": {
                path: 'js/i18n/i18n-global-min.js',
                requires: ['wegas-i18n']
            },
            "wegas-i18n": {
                requires: ['datatype-number']
            },
            /**
             * Persistence
             */
            "wegas-datasource": {
                requires: ["datasource-io", "json", "widget", "gzip"]
            },
            "wegas-scripteval": {
                path: "js/persistence/wegas-scripteval-min.js",
                requires: "wegas-variabledescriptor-entities",
                ws_provides: "ScriptEval"
            },
            "wegas-websocketlistener": {
                path: "js/persistence/wegas-websocketlistener-min.js",
                requires: "wegas-cssloader",
                ws_provides: "WebSocketListener"
            },
            "wegas-pusher-connector": {
                path: "js/persistence/wegas-pusher-connector-min.js",
                requires: "pusher",
                ws_provides: "PusherDataSource"
            },
            "wegas-entity": {
                path: "js/persistence/wegas-entity-min.js",
                requires: "wegas-editable",
                ws_provides: ["Entity", "GameModel"]
            },
            "wegas-variabledescriptor-entities": {
                path: "js/persistence/wegas-variabledescriptor-entities-min.js",
                requires: ["wegas-entity", "promise"],
                ws_provides: [
                    "BooleanDescriptor",
                    "BooleantInstance",
                    "InboxDescriptor",
                    "InboxInstance",
                    "ListDescriptor",
                    "ListInstance",
                    "NumberDescriptor",
                    "NumberInstance",
                    "StringDescriptor",
                    "StringInstance",
                    "TextDescriptor",
                    "TextInstance",
                    "StaticTextDescriptor"
                ]
            },
            "wegas-statemachine-entities": {
                path: "js/persistence/wegas-statemachine-entities-min.js",
                ws_provides: [
                    "DialogueDescriptor",
                    "TriggerDescriptor",
                    "FSMDescriptor",
                    "FSMInstance"
                ]
            },
            "wegas-content-entities": {
                path: "js/persistence/wegas-content-entities-min.js"
            },
            "wegas-object-entities": {
                path: "js/persistence/wegas-object-entities-min.js",
                ws_provides: [
                    "ObjectDescriptor",
                    "ObjectInstance"
                ]
            },
            "wegas-resourcemanagement-entities": {
                path: "js/persistence/wegas-resourcemanagement-entities-min.js",
                requires: "arraysort",
                ws_provides: [
                    "ResourceDescriptor",
                    "ResourceInstance",
                    "TaskDescriptor",
                    "TaskInstance",
                    "BurndownDescriptor",
                    "BurndownInstance"
                ]
            },
            /**
             * Widgets
             */
            "wegas-widget": {
                requires: ["widget", "widget-child", "widget-parent", "wegas-editable"]
            },
            "wegas-parent": {
                requires: "wegas-widget"
            },
            "wegas-layout-panel": {
                path: "js/widget/wegas-layout-panel-min.js",
                requires: "panel",
                ws_provides: "PanelWidget"
            },
            "wegas-layout-list": {
                path: "js/widget/wegas-layout-list-min.js",
                requires: "wegas-parent",
                ws_provides: ["List", "FlexList"]
            },
            "wegas-layout-menu": {
                path: "js/widget/wegas-layout-menu-min.js",
                requires: ["wegas-parent", "wegas-layout-menucss"],
                ws_provides: ["LayoutMenu", "I18nMenu"]
            },
            "wegas-layout-menucss": {
                type: CSS
            },
            "wegas-layout-absolute": {
                path: "js/widget/wegas-layout-absolute-min.js",
                requires: ["wegas-plugin", "wegas-layout-absolutecss", "wegas-cssstyles-extra", "wegas-parent"],
                ws_provides: ["AbsoluteLayout", "Position"]
            },
            "wegas-layout-absolutecss": {
                type: CSS
            },
            "wegas-layout-choicelist": {
                path: "js/widget/wegas-layout-choicelist-min.js",
                requires: ["wegas-layout-list", "wegas-layout-choicelistcss"],
                ws_provides: "ChoiceList"
            },
            "wegas-layout-choicelistcss": {
                type: CSS
            },
            "wegas-layout-resizable": {
                path: "js/widget/wegas-layout-resizable-min.js",
                requires: ["wegas-widget", "widget-stdmod", "event-resize", "resize", "wegas-layout-resizablecss"],
                ws_provides: "ResizableLayout"
            },
            "wegas-layout-resizablecss": {
                type: CSS
            },
            "wegas-pageloader": {
                path: "js/widget/wegas-pageloader-min.js",
                ws_provides: ["PageLoader", "GetPageIdFromQueryString"],
                requires: ["wegas-plugin", "wegas-widget", "querystring-parse"]
            },
            "wegas-popuplistener": {
                path: "js/plugin/wegas-popuplistener-min.js",
                ws_provides: "PopupListener",
                requires: "wegas-panel"
            },
            "wegas-surveylistener": {
                path: "js/plugin/wegas-surveylistener-min.js",
                ws_provides: "SurveyListener",
            },
            "wegas-resizelistener": {
                path: "js/plugin/wegas-resizelistener-min.js",
                ws_provides: "ResizeListener"
                    //requires: "wegas-panel"
            },
            "wegas-button": {
                path: "js/widget/wegas-button-min.js",
                requires: ["wegas-widget", "wegas-plugin", "button", "wegas-tooltip", "wegas-button-css"],
                ws_provides: ["Button", "UnreadCount", "MarkAsUnread"]
            },
            "wegas-button-css": {
                type: CSS
            },
            "wegas-loginbutton": {
                path: "js/widget/wegas-loginbutton-min.js",
                requires: ["wegas-widgetmenu", "wegas-i18n-global"],
                ws_provides: ["LoginButton", "UserLoginButton", "RestartButton", "LanguageSelectionMenu"]
            },
            "wegas-chat": {
                path: "js/widget/wegas-chat-min.js",
                requires: ["button"],
                ws_provides: "Chat"
            },
            "wegas-chart-css": {
                type: CSS
            },
            "wegas-chart": {
                path: "js/widget/wegas-chart-min.js",
                requires: ["promise", "chartist", "wegas-chart-css"],
                ws_provides: "Chart"
            },
            "wegas-langselector": {
                path: "js/widget/wegas-langselector-min.js",
                ws_provides: "LangSelector"
            },
            "wegas-text-inputcss": {
                type: CSS
            },
            "wegas-text-input": {
                path: "js/widget/wegas-text-input-min.js",
                ws_provides: ["TextInput", "StringInput", "BooleanInput", "SaveStatusAggregator"],
                requires: ["sortable", "wegas-text-inputcss", "wegas-widget", "tinymce", "wegas-panel-fileselect", "wegas-button", "event-valuechange"]
            },
            "wegas-number-inputcss": {
                type: CSS
            },
            "wegas-number-input": {
                path: "js/widget/wegas-number-input-min.js",
                ws_provides: ["NumberInput", "BoxesNumberInput"],
                requires: ["wegas-number-inputcss", "wegas-widget", "wegas-button", "slider", "wegas-i18n-global", "event-valuechange"]
            },
            "wegas-pdf-print-css": {
                type: CSS
            },
            "wegas-prettyprinter": {
                path: "js/widget/wegas-prettyprinter-min.js",
                ws_provides: ["AbstractPrettyPrinter", "TextPrettyPrinter"],
                requires: ["wegas-widget", "wegas-pdf-print-css"]
            },
            "wegas-text": {
                path: "js/widget/wegas-text-min.js",
                ws_provides: ["Text", "String"],
                requires: "wegas-widget"
            },
            "wegas-image": {
                path: "js/widget/wegas-image-min.js",
                ws_provides: "Image"
            },
            "wegas-box": {
                path: "js/widget/wegas-box-min.js",
                ws_provides: ["Box", "Line"],
                requires: "wegas-widget"
            },
            "wegas-tabview": {
                path: "js/widget/wegas-tabview-min.js",
                requires: ["tabview", "wegas-parent", "wegas-tabviewcss", "wegas-popuplistener"],
                ws_provides: "TabView"
            },
            "wegas-tabviewcss": {
                type: CSS
            },
            "wegas-bscopeinspector": {
                path: "js/widget/wegas-bscopeinspector-min.js",
                ws_provides: "BScopeInspector"
            },
            "wegas-gaugedisplay": {
                path: "js/widget/wegas-gaugedisplay-min.js",
                requires: ["gauge", "wegas-templatecss"],
                ws_provides: "GaugeDisplay"
            },
            "wegas-inbox": {
                path: "js/widget/wegas-inbox-min.js",
                requires: ["wegas-responsive-tabview", "wegas-inboxcss"],
                ws_provides: "InboxDisplay"
            },
            "wegas-responsive-tabview": {
                path: "js/widget/wegas-responsive-tabview-min.js",
                requires: ["wegas-tabview", "wegas-tabviewcss",
                    "wegas-widgettoolbar", "wegas-responsive-tabviewcss", "wegas-i18n-global"],
                ws_provides: ["ReponsiveTabView"]
            },
            "wegas-responsive-tabviewcss": {
                type: CSS
            },
            "wegas-inboxcss": {
                type: CSS
            },
            "wegas-inbox-list": {
                path: "js/widget/wegas-inbox-list-min.js",
                requires: ["wegas-inbox", "wegas-inboxcss", "promise"],
                ws_provides: "InboxList"
            },
            "wegas-form": {
                path: "js/widget/wegas-form-min.js",
                requires: ["wegas-inputex", "wegas-widgettoolbar",
                    "inputex-group", "event-valuechange"],
                ws_provides: "Form"
            },
            "wegas-gallery": {
                path: "js/widget/wegas-gallery-min.js",
                requires: ["wegas-widget", "wegas-imageloader", "scrollview-base",
                    "scrollview-paginator", "scrollview-scrollbars", "wegas-gallerycss",
                    "stylesheet", "event-resize"],
                ws_provides: "Gallery"
            },
            "wegas-gallerycss": {
                type: CSS
            },
            "wegas-googletranslate": {
                path: "js/widget/wegas-googletranslate-min.js",
                requires: "googletranslate",
                ws_provides: "GoogleTranslate"
            },
            /** Plugins **/
            "wegas-plugin": {
                requires: ["timers", "wegas-widget"]
            },
            "wegas-userpreferences": {
                path: "js/plugin/wegas-userpreferences-min.js",
                requires: "wegas-plugin",
                ws_provides: "UserPreferences"
            },
            "wegas-tooltip": {
                path: "js/plugin/wegas-tooltip-min.js",
                requires: ["wegas-plugin", "event-mouseenter", "widget", "widget-stack",
                    "widget-position", "widget-position-constrain"],
                ws_provides: "Tooltip"
            },
            "wegas-templatecss": {
                type: CSS
            },
            "wegas-template": {
                path: "js/widget/wegas-template-min.js",
                requires: ["template-micro", "wegas-templatecss"],
                ws_provides: ["Template", "ValueboxTemplate", "BoxTemplate",
                    "NumberTemplate", "TitleTemplate", "FractionTemplate", "TextTemplate"]
            },
            "wegas-treeview": {
                path: "js/widget/wegas-treeview-min.js",
                requires: "treeview",
                ws_provides: "TreeViewWidget"
            },
            "wegas-injector": {
                path: "js/plugin/wegas-injector-min.js",
                ws_provides: "Injector"
            },
            "wegas-eventlogger": {
                path: "js/plugin/wegas-eventlogger-min.js",
                requires: "wegas-plugin",
                ws_provides: ["EventLogger"]
            },
            "wegas-lockmanager": {
                path: "js/plugin/wegas-lockmanager-min.js",
                requires: "wegas-plugin",
                ws_provides: ["LockManager", "Lockable"]
            },
            "wegas-cssloader": {
                path: "js/plugin/wegas-cssloader-min.js",
                requires: "stylesheet",
                ws_provides: "CSSLoader"
            },
            "wegas-slideshow": {
                path: "js/plugin/wegas-slideshow-min.js",
                requires: "wegas-plugin",
                ws_provides: "SlideShow"
            },
            "wegas-cssstyles": {
                path: "js/plugin/wegas-cssstyles-min.js",
                requires: "wegas-plugin",
                ws_provides: "CSSStyles"
            },
            "wegas-cssstyles-extra": {
                path: "js/plugin/wegas-cssstyles-extra-min.js",
                requires: "wegas-cssstyles",
                ws_provides: ["CSSBackground", "CSSBackgroundImage", "CSSText", "CSSPosition", "CSSSize"]
            },
            "wegas-conditionaldisplay": {
                path: "js/plugin/wegas-conditionaldisplay-min.js",
                ws_provides: "ConditionalDisplay"
            },
            "wegas-conditionaldisable": {
                path: "js/plugin/wegas-conditionaldisable-min.js",
                ws_provides: "ConditionalDisable"
            },
            "wegas-blockrightclick": {
                path: "js/plugin/wegas-blockrightclick-min.js",
                ws_provides: "BlockRightclick"
            },
            "wegas-editormode": {
                path: "js/plugin/wegas-editormode-min.js",
                ws_provides: "EditorMode"
            },
            "wegas-panel-pageloader": {
                path: "js/plugin/wegas-panel-pageloader-min.js",
                requires: ["wegas-plugin", "wegas-pageloader", "wegas-panel"],
                ws_provides: ["OpenPanelPageloader", "OpenPanelWithCfg", "ClosePanel"]
            },
            "wegas-visibilitytimer": {
                path: "js/plugin/wegas-visibilitytimer-min.js",
                requires: "wegas-plugin",
                ws_provides: ["ShowAfter", "HideAfter"]
            },
            "wegas-simpledialogue": {
                path: "js/widget/wegas-simpledialogue-min.js",
                requires: ["wegas-dialogcss"],
                ws_provides: "SimpleDialogue"
            },
            "wegas-historydialog": {
                path: "js/widget/wegas-historydialog-min.js",
                requires: ["wegas-simpledialogue", "wegas-dialogcss"],
                ws_provides: ["HistoryDialog"]
            },
            "wegas-dialogue-folder": {
                path: "js/widget/wegas-dialogue-folder-min.js",
                requires: ["wegas-entitychooser"],
                ws_provides: ["DialogueFolder"]
            },
            "wegas-dialogcss": {
                type: CSS
            },
            "wegas-entitychooser": {
                path: "js/widget/wegas-entitychooser-min.js",
                requires: ["wegas-entitychoosercss", "wegas-button", "wegas-react-form"],
                ws_provides: ["EntityChooser", "EntityChooser2", "ObjectPropertyEditor"]
            },
            "wegas-entitychoosercss": {
                type: CSS
            },
            "wegas-showoverlayonclickcss": {
                type: CSS
            },
            "wegas-showoverlayonclick": {
                path: "js/plugin/wegas-showoverlayonclick-min.js",
                requires: ["overlay", "wegas-showoverlayonclickcss"],
                ws_provides: ["ShowOverlayOnClick", "ShowInboxListOnClick"]
            },
            "wegas-chartistcss": {
                type: CSS
            },
            "wegas-spreadsheet": {
                path: "js/widget/wegas-spreadsheet-min.js",
                requires: ["wegas-spreadsheetcss", "wegas-panel", 
                    "wegas-i18n-global", "wegas-button"],
                ws_provides: "Spreadsheet"
            },
            "wegas-spreadsheetcss": {
                type: CSS
            }
        }
    });
    /**
     * Utilities
     */
    YUI.addGroup("wegas-util", {
        base: "./wegas-util/",
        root: "/wegas-util/",
        modules: {
            "wegas-helper": {},
            "wegas-script-helper": {
                requires: ["esprima"]
            },
            "datatable-csv": {
                ws_provides: "DatatableCSV"
{'fraction_non_alphanumeric': 0.13715268991345717, 'fraction_numerical': 0.002783541677210385, 'mean_word_length': 1.3200070447340613, 'pattern_counts': {'":': 196, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2010016', 'n_tokens_mistral': 11840, 'n_tokens_neox': 11135, 'n_words': 1490}