src/cm/media/js/lib/yui/yui_3.10.3/build/get-nodejs/get-nodejs.js
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('get', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    * NodeJS specific Get module used to load remote resources.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    * It contains the same signature as the default Get module so there is no code change needed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
    * @module get-nodejs
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
    * @class GetNodeJS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
    var Module = require('module'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
        path = require('path'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        fs = require('fs'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
        request = require('request'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
        end = function(cb, msg, result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
            if (Y.Lang.isFunction(cb.onEnd)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
                cb.onEnd.call(Y, msg, result);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        }, pass = function(cb) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
            if (Y.Lang.isFunction(cb.onSuccess)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
                cb.onSuccess.call(Y, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
            end(cb, 'success', 'success');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
        }, fail = function(cb, er) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
            er.errors = [er];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
            if (Y.Lang.isFunction(cb.onFailure)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
                cb.onFailure.call(Y, er, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
            end(cb, er, 'fail');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    Y.Get = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    //Setup the default config base path
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    Y.config.base = path.join(__dirname, '../');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    YUI.require = require;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    YUI.process = process;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    * Takes the raw JS files and wraps them to be executed in the YUI context so they can be loaded
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    * into the YUI object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    * @method _exec
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    * @param {String} data The JS to execute
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    * @param {String} url The path to the file that was parsed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    * @param {Callback} cb The callback to execute when this is completed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    * @param {Error} cb.err=null Error object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    * @param {String} cb.url The URL that was just parsed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    Y.Get._exec = function(data, url, cb) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
        if (data.charCodeAt(0) === 0xFEFF) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            data = data.slice(1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
        var mod = new Module(url, module);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        mod.filename = url;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        mod.paths = Module._nodeModulePaths(path.dirname(url));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        if (typeof YUI._getLoadHook === 'function') {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
            data = YUI._getLoadHook(data, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        mod._compile('module.exports = function (YUI) {' + data + '\n;return YUI;};', url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        /*global YUI:true */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        YUI = mod.exports(YUI);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        mod.loaded = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
        cb(null, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    * Fetches the content from a remote URL or a file from disc and passes the content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    * off to `_exec` for parsing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    * @method _include
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    * @param {String} url The URL/File path to fetch the content from
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    * @param {Callback} cb The callback to fire once the content has been executed via `_exec`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    Y.Get._include = function (url, cb) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        var cfg,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
            mod,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            self = this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
        if (url.match(/^https?:\/\//)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
            cfg = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
                url: url,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
                timeout: self.timeout
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
            };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
            request(cfg, function (err, response, body) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
                if (err) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
                    cb(err, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
                    Y.Get._exec(body, url, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
            try {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
                // Try to resolve paths relative to the module that required yui.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
                url = Module._findPath(url, Module._resolveLookupPaths(url, module.parent.parent)[1]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
                if (Y.config.useSync) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
                    //Needs to be in useSync
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
                    mod = fs.readFileSync(url,'utf8');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
                    fs.readFile(url, 'utf8', function (err, mod) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
                        if (err) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
                            cb(err, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
                        } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
                            Y.Get._exec(mod, url, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
                        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
                    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
                    return;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
            } catch (err) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
                cb(err, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
                return;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
            Y.Get._exec(mod, url, cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
    * Override for Get.script for loading local or remote YUI modules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    * @method js
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    * @param {Array|String} s The URL's to load into this context
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
    * @param {Object} options Transaction options
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
    Y.Get.js = function(s, options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        var urls = Y.Array(s), url, i, l = urls.length, c= 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
            check = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
                if (c === l) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
                    pass(options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
            };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        /*jshint loopfunc: true */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        for (i=0; i<l; i++) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            url = urls[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            if (Y.Lang.isObject(url)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
                url = url.url;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
            url = url.replace(/'/g, '%27');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
            Y.Get._include(url, function(err, url) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
                if (!Y.config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
                    Y.config = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
                        debug: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
                    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
                if (options.onProgress) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
                    options.onProgress.call(options.context || Y, url);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
                if (err) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
                    fail(options, err);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
                    c++;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
                    check();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        //Keeping Signature in the browser.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        return {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
            execute: function() {}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
    * Alias for `Y.Get.js`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
    * @method script
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    Y.Get.script = Y.Get.js;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    //Place holder for SS Dom access
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    Y.Get.css = function(s, cb) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
        pass(cb);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
}, '@VERSION@');