123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145 |
- var requirejs, require, define;
- (function (global, setTimeout) {
- var req, s, head, baseElement, dataMain, src,
- interactiveScript, currentlyAddingScript, mainScript, subPath,
- version = '2.3.5',
- commentRegExp = /\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,
- cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
- jsSuffixRegExp = /\.js$/,
- currDirRegExp = /^\.\//,
- op = Object.prototype,
- ostring = op.toString,
- hasOwn = op.hasOwnProperty,
- isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
- isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
-
-
-
-
- readyRegExp = isBrowser && navigator.platform === 'PLAYSTATION 3' ?
- /^complete$/ : /^(complete|loaded)$/,
- defContextName = '_',
-
- isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]',
- contexts = {},
- cfg = {},
- globalDefQueue = [],
- useInteractive = false;
-
- function commentReplace(match, singlePrefix) {
- return singlePrefix || '';
- }
- function isFunction(it) {
- return ostring.call(it) === '[object Function]';
- }
- function isArray(it) {
- return ostring.call(it) === '[object Array]';
- }
-
- function each(ary, func) {
- if (ary) {
- var i;
- for (i = 0; i < ary.length; i += 1) {
- if (ary[i] && func(ary[i], i, ary)) {
- break;
- }
- }
- }
- }
-
- function eachReverse(ary, func) {
- if (ary) {
- var i;
- for (i = ary.length - 1; i > -1; i -= 1) {
- if (ary[i] && func(ary[i], i, ary)) {
- break;
- }
- }
- }
- }
- function hasProp(obj, prop) {
- return hasOwn.call(obj, prop);
- }
- function getOwn(obj, prop) {
- return hasProp(obj, prop) && obj[prop];
- }
-
- function eachProp(obj, func) {
- var prop;
- for (prop in obj) {
- if (hasProp(obj, prop)) {
- if (func(obj[prop], prop)) {
- break;
- }
- }
- }
- }
-
- function mixin(target, source, force, deepStringMixin) {
- if (source) {
- eachProp(source, function (value, prop) {
- if (force || !hasProp(target, prop)) {
- if (deepStringMixin && typeof value === 'object' && value &&
- !isArray(value) && !isFunction(value) &&
- !(value instanceof RegExp)) {
- if (!target[prop]) {
- target[prop] = {};
- }
- mixin(target[prop], value, force, deepStringMixin);
- } else {
- target[prop] = value;
- }
- }
- });
- }
- return target;
- }
-
-
- function bind(obj, fn) {
- return function () {
- return fn.apply(obj, arguments);
- };
- }
- function scripts() {
- return document.getElementsByTagName('script');
- }
- function defaultOnError(err) {
- throw err;
- }
-
-
- function getGlobal(value) {
- if (!value) {
- return value;
- }
- var g = global;
- each(value.split('.'), function (part) {
- g = g[part];
- });
- return g;
- }
-
- function makeError(id, msg, err, requireModules) {
- var e = new Error(msg + '\nhttp://requirejs.org/docs/errors.html#' + id);
- e.requireType = id;
- e.requireModules = requireModules;
- if (err) {
- e.originalError = err;
- }
- return e;
- }
- if (typeof define !== 'undefined') {
-
-
- return;
- }
- if (typeof requirejs !== 'undefined') {
- if (isFunction(requirejs)) {
-
- return;
- }
- cfg = requirejs;
- requirejs = undefined;
- }
-
- if (typeof require !== 'undefined' && !isFunction(require)) {
-
- cfg = require;
- require = undefined;
- }
- function newContext(contextName) {
- var inCheckLoaded, Module, context, handlers,
- checkLoadedTimeoutId,
- config = {
-
-
-
- waitSeconds: 7,
- baseUrl: './',
- paths: {},
- bundles: {},
- pkgs: {},
- shim: {},
- config: {}
- },
- registry = {},
-
-
-
- enabledRegistry = {},
- undefEvents = {},
- defQueue = [],
- defined = {},
- urlFetched = {},
- bundlesMap = {},
- requireCounter = 1,
- unnormalizedCounter = 1;
-
- function trimDots(ary) {
- var i, part;
- for (i = 0; i < ary.length; i++) {
- part = ary[i];
- if (part === '.') {
- ary.splice(i, 1);
- i -= 1;
- } else if (part === '..') {
-
-
-
-
-
- if (i === 0 || (i === 1 && ary[2] === '..') || ary[i - 1] === '..') {
- continue;
- } else if (i > 0) {
- ary.splice(i - 1, 2);
- i -= 2;
- }
- }
- }
- }
-
- function normalize(name, baseName, applyMap) {
- var pkgMain, mapValue, nameParts, i, j, nameSegment, lastIndex,
- foundMap, foundI, foundStarMap, starI, normalizedBaseParts,
- baseParts = (baseName && baseName.split('/')),
- map = config.map,
- starMap = map && map['*'];
-
- if (name) {
- name = name.split('/');
- lastIndex = name.length - 1;
-
-
-
-
- if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
- name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
- }
-
- if (name[0].charAt(0) === '.' && baseParts) {
-
-
-
-
-
- normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
- name = normalizedBaseParts.concat(name);
- }
- trimDots(name);
- name = name.join('/');
- }
-
- if (applyMap && map && (baseParts || starMap)) {
- nameParts = name.split('/');
- outerLoop: for (i = nameParts.length; i > 0; i -= 1) {
- nameSegment = nameParts.slice(0, i).join('/');
- if (baseParts) {
-
-
- for (j = baseParts.length; j > 0; j -= 1) {
- mapValue = getOwn(map, baseParts.slice(0, j).join('/'));
-
-
- if (mapValue) {
- mapValue = getOwn(mapValue, nameSegment);
- if (mapValue) {
-
- foundMap = mapValue;
- foundI = i;
- break outerLoop;
- }
- }
- }
- }
-
-
-
- if (!foundStarMap && starMap && getOwn(starMap, nameSegment)) {
- foundStarMap = getOwn(starMap, nameSegment);
- starI = i;
- }
- }
- if (!foundMap && foundStarMap) {
- foundMap = foundStarMap;
- foundI = starI;
- }
- if (foundMap) {
- nameParts.splice(0, foundI, foundMap);
- name = nameParts.join('/');
- }
- }
-
-
- pkgMain = getOwn(config.pkgs, name);
- return pkgMain ? pkgMain : name;
- }
- function removeScript(name) {
- if (isBrowser) {
- each(scripts(), function (scriptNode) {
- if (scriptNode.getAttribute('data-requiremodule') === name &&
- scriptNode.getAttribute('data-requirecontext') === context.contextName) {
- scriptNode.parentNode.removeChild(scriptNode);
- return true;
- }
- });
- }
- }
- function hasPathFallback(id) {
- var pathConfig = getOwn(config.paths, id);
- if (pathConfig && isArray(pathConfig) && pathConfig.length > 1) {
-
-
- pathConfig.shift();
- context.require.undef(id);
-
-
- context.makeRequire(null, {
- skipMap: true
- })([id]);
- return true;
- }
- }
-
-
-
- function splitPrefix(name) {
- var prefix,
- index = name ? name.indexOf('!') : -1;
- if (index > -1) {
- prefix = name.substring(0, index);
- name = name.substring(index + 1, name.length);
- }
- return [prefix, name];
- }
-
- function makeModuleMap(name, parentModuleMap, isNormalized, applyMap) {
- var url, pluginModule, suffix, nameParts,
- prefix = null,
- parentName = parentModuleMap ? parentModuleMap.name : null,
- originalName = name,
- isDefine = true,
- normalizedName = '';
-
-
- if (!name) {
- isDefine = false;
- name = '_@r' + (requireCounter += 1);
- }
- nameParts = splitPrefix(name);
- prefix = nameParts[0];
- name = nameParts[1];
- if (prefix) {
- prefix = normalize(prefix, parentName, applyMap);
- pluginModule = getOwn(defined, prefix);
- }
-
- if (name) {
- if (prefix) {
- if (isNormalized) {
- normalizedName = name;
- } else if (pluginModule && pluginModule.normalize) {
-
- normalizedName = pluginModule.normalize(name, function (name) {
- return normalize(name, parentName, applyMap);
- });
- } else {
-
-
-
-
-
-
-
- normalizedName = name.indexOf('!') === -1 ?
- normalize(name, parentName, applyMap) :
- name;
- }
- } else {
-
- normalizedName = normalize(name, parentName, applyMap);
-
-
-
- nameParts = splitPrefix(normalizedName);
- prefix = nameParts[0];
- normalizedName = nameParts[1];
- isNormalized = true;
- url = context.nameToUrl(normalizedName);
- }
- }
-
-
-
- suffix = prefix && !pluginModule && !isNormalized ?
- '_unnormalized' + (unnormalizedCounter += 1) :
- '';
- return {
- prefix: prefix,
- name: normalizedName,
- parentMap: parentModuleMap,
- unnormalized: !!suffix,
- url: url,
- originalName: originalName,
- isDefine: isDefine,
- id: (prefix ?
- prefix + '!' + normalizedName :
- normalizedName) + suffix
- };
- }
- function getModule(depMap) {
- var id = depMap.id,
- mod = getOwn(registry, id);
- if (!mod) {
- mod = registry[id] = new context.Module(depMap);
- }
- return mod;
- }
- function on(depMap, name, fn) {
- var id = depMap.id,
- mod = getOwn(registry, id);
- if (hasProp(defined, id) &&
- (!mod || mod.defineEmitComplete)) {
- if (name === 'defined') {
- fn(defined[id]);
- }
- } else {
- mod = getModule(depMap);
- if (mod.error && name === 'error') {
- fn(mod.error);
- } else {
- mod.on(name, fn);
- }
- }
- }
- function onError(err, errback) {
- var ids = err.requireModules,
- notified = false;
- if (errback) {
- errback(err);
- } else {
- each(ids, function (id) {
- var mod = getOwn(registry, id);
- if (mod) {
-
- mod.error = err;
- if (mod.events.error) {
- notified = true;
- mod.emit('error', err);
- }
- }
- });
- if (!notified) {
- req.onError(err);
- }
- }
- }
-
- function takeGlobalQueue() {
-
- if (globalDefQueue.length) {
- each(globalDefQueue, function(queueItem) {
- var id = queueItem[0];
- if (typeof id === 'string') {
- context.defQueueMap[id] = true;
- }
- defQueue.push(queueItem);
- });
- globalDefQueue = [];
- }
- }
- handlers = {
- 'require': function (mod) {
- if (mod.require) {
- return mod.require;
- } else {
- return (mod.require = context.makeRequire(mod.map));
- }
- },
- 'exports': function (mod) {
- mod.usingExports = true;
- if (mod.map.isDefine) {
- if (mod.exports) {
- return (defined[mod.map.id] = mod.exports);
- } else {
- return (mod.exports = defined[mod.map.id] = {});
- }
- }
- },
- 'module': function (mod) {
- if (mod.module) {
- return mod.module;
- } else {
- return (mod.module = {
- id: mod.map.id,
- uri: mod.map.url,
- config: function () {
- return getOwn(config.config, mod.map.id) || {};
- },
- exports: mod.exports || (mod.exports = {})
- });
- }
- }
- };
- function cleanRegistry(id) {
-
- delete registry[id];
- delete enabledRegistry[id];
- }
- function breakCycle(mod, traced, processed) {
- var id = mod.map.id;
- if (mod.error) {
- mod.emit('error', mod.error);
- } else {
- traced[id] = true;
- each(mod.depMaps, function (depMap, i) {
- var depId = depMap.id,
- dep = getOwn(registry, depId);
-
-
-
-
- if (dep && !mod.depMatched[i] && !processed[depId]) {
- if (getOwn(traced, depId)) {
- mod.defineDep(i, defined[depId]);
- mod.check();
- } else {
- breakCycle(dep, traced, processed);
- }
- }
- });
- processed[id] = true;
- }
- }
- function checkLoaded() {
- var err, usingPathFallback,
- waitInterval = config.waitSeconds * 1000,
-
- expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(),
- noLoads = [],
- reqCalls = [],
- stillLoading = false,
- needCycleCheck = true;
-
- if (inCheckLoaded) {
- return;
- }
- inCheckLoaded = true;
-
- eachProp(enabledRegistry, function (mod) {
- var map = mod.map,
- modId = map.id;
-
- if (!mod.enabled) {
- return;
- }
- if (!map.isDefine) {
- reqCalls.push(mod);
- }
- if (!mod.error) {
-
-
- if (!mod.inited && expired) {
- if (hasPathFallback(modId)) {
- usingPathFallback = true;
- stillLoading = true;
- } else {
- noLoads.push(modId);
- removeScript(modId);
- }
- } else if (!mod.inited && mod.fetched && map.isDefine) {
- stillLoading = true;
- if (!map.prefix) {
-
-
-
-
-
- return (needCycleCheck = false);
- }
- }
- }
- });
- if (expired && noLoads.length) {
-
- err = makeError('timeout', 'Load timeout for modules: ' + noLoads, null, noLoads);
- err.contextName = context.contextName;
- return onError(err);
- }
-
- if (needCycleCheck) {
- each(reqCalls, function (mod) {
- breakCycle(mod, {}, {});
- });
- }
-
-
-
- if ((!expired || usingPathFallback) && stillLoading) {
-
-
- if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) {
- checkLoadedTimeoutId = setTimeout(function () {
- checkLoadedTimeoutId = 0;
- checkLoaded();
- }, 50);
- }
- }
- inCheckLoaded = false;
- }
- Module = function (map) {
- this.events = getOwn(undefEvents, map.id) || {};
- this.map = map;
- this.shim = getOwn(config.shim, map.id);
- this.depExports = [];
- this.depMaps = [];
- this.depMatched = [];
- this.pluginMaps = {};
- this.depCount = 0;
-
- };
- Module.prototype = {
- init: function (depMaps, factory, errback, options) {
- options = options || {};
-
-
-
- if (this.inited) {
- return;
- }
- this.factory = factory;
- if (errback) {
-
- this.on('error', errback);
- } else if (this.events.error) {
-
-
- errback = bind(this, function (err) {
- this.emit('error', err);
- });
- }
-
-
-
-
-
- this.depMaps = depMaps && depMaps.slice(0);
- this.errback = errback;
-
- this.inited = true;
- this.ignore = options.ignore;
-
-
-
-
- if (options.enabled || this.enabled) {
-
-
- this.enable();
- } else {
- this.check();
- }
- },
- defineDep: function (i, depExports) {
-
-
- if (!this.depMatched[i]) {
- this.depMatched[i] = true;
- this.depCount -= 1;
- this.depExports[i] = depExports;
- }
- },
- fetch: function () {
- if (this.fetched) {
- return;
- }
- this.fetched = true;
- context.startTime = (new Date()).getTime();
- var map = this.map;
-
-
- if (this.shim) {
- context.makeRequire(this.map, {
- enableBuildCallback: true
- })(this.shim.deps || [], bind(this, function () {
- return map.prefix ? this.callPlugin() : this.load();
- }));
- } else {
-
- return map.prefix ? this.callPlugin() : this.load();
- }
- },
- load: function () {
- var url = this.map.url;
-
- if (!urlFetched[url]) {
- urlFetched[url] = true;
- context.load(this.map.id, url);
- }
- },
-
- check: function () {
- if (!this.enabled || this.enabling) {
- return;
- }
- var err, cjsModule,
- id = this.map.id,
- depExports = this.depExports,
- exports = this.exports,
- factory = this.factory;
- if (!this.inited) {
-
- if (!hasProp(context.defQueueMap, id)) {
- this.fetch();
- }
- } else if (this.error) {
- this.emit('error', this.error);
- } else if (!this.defining) {
-
-
-
-
- this.defining = true;
- if (this.depCount < 1 && !this.defined) {
- if (isFunction(factory)) {
-
-
-
-
-
-
- if ((this.events.error && this.map.isDefine) ||
- req.onError !== defaultOnError) {
- try {
- exports = context.execCb(id, factory, depExports, exports);
- } catch (e) {
- err = e;
- }
- } else {
- exports = context.execCb(id, factory, depExports, exports);
- }
-
-
-
- if (this.map.isDefine && exports === undefined) {
- cjsModule = this.module;
- if (cjsModule) {
- exports = cjsModule.exports;
- } else if (this.usingExports) {
-
- exports = this.exports;
- }
- }
- if (err) {
- err.requireMap = this.map;
- err.requireModules = this.map.isDefine ? [this.map.id] : null;
- err.requireType = this.map.isDefine ? 'define' : 'require';
- return onError((this.error = err));
- }
- } else {
-
- exports = factory;
- }
- this.exports = exports;
- if (this.map.isDefine && !this.ignore) {
- defined[id] = exports;
- if (req.onResourceLoad) {
- var resLoadMaps = [];
- each(this.depMaps, function (depMap) {
- resLoadMaps.push(depMap.normalizedMap || depMap);
- });
- req.onResourceLoad(context, this.map, resLoadMaps);
- }
- }
-
- cleanRegistry(id);
- this.defined = true;
- }
-
-
-
- this.defining = false;
- if (this.defined && !this.defineEmitted) {
- this.defineEmitted = true;
- this.emit('defined', this.exports);
- this.defineEmitComplete = true;
- }
- }
- },
- callPlugin: function () {
- var map = this.map,
- id = map.id,
-
- pluginMap = makeModuleMap(map.prefix);
-
-
- this.depMaps.push(pluginMap);
- on(pluginMap, 'defined', bind(this, function (plugin) {
- var load, normalizedMap, normalizedMod,
- bundleId = getOwn(bundlesMap, this.map.id),
- name = this.map.name,
- parentName = this.map.parentMap ? this.map.parentMap.name : null,
- localRequire = context.makeRequire(map.parentMap, {
- enableBuildCallback: true
- });
-
-
- if (this.map.unnormalized) {
-
- if (plugin.normalize) {
- name = plugin.normalize(name, function (name) {
- return normalize(name, parentName, true);
- }) || '';
- }
-
-
- normalizedMap = makeModuleMap(map.prefix + '!' + name,
- this.map.parentMap,
- true);
- on(normalizedMap,
- 'defined', bind(this, function (value) {
- this.map.normalizedMap = normalizedMap;
- this.init([], function () { return value; }, null, {
- enabled: true,
- ignore: true
- });
- }));
- normalizedMod = getOwn(registry, normalizedMap.id);
- if (normalizedMod) {
-
-
- this.depMaps.push(normalizedMap);
- if (this.events.error) {
- normalizedMod.on('error', bind(this, function (err) {
- this.emit('error', err);
- }));
- }
- normalizedMod.enable();
- }
- return;
- }
-
-
- if (bundleId) {
- this.map.url = context.nameToUrl(bundleId);
- this.load();
- return;
- }
- load = bind(this, function (value) {
- this.init([], function () { return value; }, null, {
- enabled: true
- });
- });
- load.error = bind(this, function (err) {
- this.inited = true;
- this.error = err;
- err.requireModules = [id];
-
-
- eachProp(registry, function (mod) {
- if (mod.map.id.indexOf(id + '_unnormalized') === 0) {
- cleanRegistry(mod.map.id);
- }
- });
- onError(err);
- });
-
-
- load.fromText = bind(this, function (text, textAlt) {
-
- var moduleName = map.name,
- moduleMap = makeModuleMap(moduleName),
- hasInteractive = useInteractive;
-
-
-
-
- if (textAlt) {
- text = textAlt;
- }
-
-
- if (hasInteractive) {
- useInteractive = false;
- }
-
-
- getModule(moduleMap);
-
- if (hasProp(config.config, id)) {
- config.config[moduleName] = config.config[id];
- }
- try {
- req.exec(text);
- } catch (e) {
- return onError(makeError('fromtexteval',
- 'fromText eval for ' + id +
- ' failed: ' + e,
- e,
- [id]));
- }
- if (hasInteractive) {
- useInteractive = true;
- }
-
-
- this.depMaps.push(moduleMap);
-
- context.completeLoad(moduleName);
-
-
- localRequire([moduleName], load);
- });
-
-
-
- plugin.load(map.name, localRequire, load, config);
- }));
- context.enable(pluginMap, this);
- this.pluginMaps[pluginMap.id] = pluginMap;
- },
- enable: function () {
- enabledRegistry[this.map.id] = this;
- this.enabled = true;
-
-
-
-
- this.enabling = true;
-
- each(this.depMaps, bind(this, function (depMap, i) {
- var id, mod, handler;
- if (typeof depMap === 'string') {
-
-
- depMap = makeModuleMap(depMap,
- (this.map.isDefine ? this.map : this.map.parentMap),
- false,
- !this.skipMap);
- this.depMaps[i] = depMap;
- handler = getOwn(handlers, depMap.id);
- if (handler) {
- this.depExports[i] = handler(this);
- return;
- }
- this.depCount += 1;
- on(depMap, 'defined', bind(this, function (depExports) {
- if (this.undefed) {
- return;
- }
- this.defineDep(i, depExports);
- this.check();
- }));
- if (this.errback) {
- on(depMap, 'error', bind(this, this.errback));
- } else if (this.events.error) {
-
-
-
- on(depMap, 'error', bind(this, function(err) {
- this.emit('error', err);
- }));
- }
- }
- id = depMap.id;
- mod = registry[id];
-
-
-
- if (!hasProp(handlers, id) && mod && !mod.enabled) {
- context.enable(depMap, this);
- }
- }));
-
-
- eachProp(this.pluginMaps, bind(this, function (pluginMap) {
- var mod = getOwn(registry, pluginMap.id);
- if (mod && !mod.enabled) {
- context.enable(pluginMap, this);
- }
- }));
- this.enabling = false;
- this.check();
- },
- on: function (name, cb) {
- var cbs = this.events[name];
- if (!cbs) {
- cbs = this.events[name] = [];
- }
- cbs.push(cb);
- },
- emit: function (name, evt) {
- each(this.events[name], function (cb) {
- cb(evt);
- });
- if (name === 'error') {
-
-
-
- delete this.events[name];
- }
- }
- };
- function callGetModule(args) {
-
- if (!hasProp(defined, args[0])) {
- getModule(makeModuleMap(args[0], null, true)).init(args[1], args[2]);
- }
- }
- function removeListener(node, func, name, ieName) {
-
-
-
- if (node.detachEvent && !isOpera) {
-
-
- if (ieName) {
- node.detachEvent(ieName, func);
- }
- } else {
- node.removeEventListener(name, func, false);
- }
- }
-
- function getScriptData(evt) {
-
-
-
- var node = evt.currentTarget || evt.srcElement;
-
- removeListener(node, context.onScriptLoad, 'load', 'onreadystatechange');
- removeListener(node, context.onScriptError, 'error');
- return {
- node: node,
- id: node && node.getAttribute('data-requiremodule')
- };
- }
- function intakeDefines() {
- var args;
-
- takeGlobalQueue();
-
- while (defQueue.length) {
- args = defQueue.shift();
- if (args[0] === null) {
- return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' +
- args[args.length - 1]));
- } else {
-
-
- callGetModule(args);
- }
- }
- context.defQueueMap = {};
- }
- context = {
- config: config,
- contextName: contextName,
- registry: registry,
- defined: defined,
- urlFetched: urlFetched,
- defQueue: defQueue,
- defQueueMap: {},
- Module: Module,
- makeModuleMap: makeModuleMap,
- nextTick: req.nextTick,
- onError: onError,
-
- configure: function (cfg) {
-
- if (cfg.baseUrl) {
- if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== '/') {
- cfg.baseUrl += '/';
- }
- }
-
- if (typeof cfg.urlArgs === 'string') {
- var urlArgs = cfg.urlArgs;
- cfg.urlArgs = function(id, url) {
- return (url.indexOf('?') === -1 ? '?' : '&') + urlArgs;
- };
- }
-
-
- var shim = config.shim,
- objs = {
- paths: true,
- bundles: true,
- config: true,
- map: true
- };
- eachProp(cfg, function (value, prop) {
- if (objs[prop]) {
- if (!config[prop]) {
- config[prop] = {};
- }
- mixin(config[prop], value, true, true);
- } else {
- config[prop] = value;
- }
- });
-
- if (cfg.bundles) {
- eachProp(cfg.bundles, function (value, prop) {
- each(value, function (v) {
- if (v !== prop) {
- bundlesMap[v] = prop;
- }
- });
- });
- }
-
- if (cfg.shim) {
- eachProp(cfg.shim, function (value, id) {
-
- if (isArray(value)) {
- value = {
- deps: value
- };
- }
- if ((value.exports || value.init) && !value.exportsFn) {
- value.exportsFn = context.makeShimExports(value);
- }
- shim[id] = value;
- });
- config.shim = shim;
- }
-
- if (cfg.packages) {
- each(cfg.packages, function (pkgObj) {
- var location, name;
- pkgObj = typeof pkgObj === 'string' ? {name: pkgObj} : pkgObj;
- name = pkgObj.name;
- location = pkgObj.location;
- if (location) {
- config.paths[name] = pkgObj.location;
- }
-
-
-
-
-
- config.pkgs[name] = pkgObj.name + '/' + (pkgObj.main || 'main')
- .replace(currDirRegExp, '')
- .replace(jsSuffixRegExp, '');
- });
- }
-
-
-
- eachProp(registry, function (mod, id) {
-
-
-
- if (!mod.inited && !mod.map.unnormalized) {
- mod.map = makeModuleMap(id, null, true);
- }
- });
-
-
-
- if (cfg.deps || cfg.callback) {
- context.require(cfg.deps || [], cfg.callback);
- }
- },
- makeShimExports: function (value) {
- function fn() {
- var ret;
- if (value.init) {
- ret = value.init.apply(global, arguments);
- }
- return ret || (value.exports && getGlobal(value.exports));
- }
- return fn;
- },
- makeRequire: function (relMap, options) {
- options = options || {};
- function localRequire(deps, callback, errback) {
- var id, map, requireMod;
- if (options.enableBuildCallback && callback && isFunction(callback)) {
- callback.__requireJsBuild = true;
- }
- if (typeof deps === 'string') {
- if (isFunction(callback)) {
-
- return onError(makeError('requireargs', 'Invalid require call'), errback);
- }
-
-
-
- if (relMap && hasProp(handlers, deps)) {
- return handlers[deps](registry[relMap.id]);
- }
-
-
- if (req.get) {
- return req.get(context, deps, relMap, localRequire);
- }
-
- map = makeModuleMap(deps, relMap, false, true);
- id = map.id;
- if (!hasProp(defined, id)) {
- return onError(makeError('notloaded', 'Module name "' +
- id +
- '" has not been loaded yet for context: ' +
- contextName +
- (relMap ? '' : '. Use require([])')));
- }
- return defined[id];
- }
-
- intakeDefines();
-
- context.nextTick(function () {
-
-
- intakeDefines();
- requireMod = getModule(makeModuleMap(null, relMap));
-
-
- requireMod.skipMap = options.skipMap;
- requireMod.init(deps, callback, errback, {
- enabled: true
- });
- checkLoaded();
- });
- return localRequire;
- }
- mixin(localRequire, {
- isBrowser: isBrowser,
-
- toUrl: function (moduleNamePlusExt) {
- var ext,
- index = moduleNamePlusExt.lastIndexOf('.'),
- segment = moduleNamePlusExt.split('/')[0],
- isRelative = segment === '.' || segment === '..';
-
-
- if (index !== -1 && (!isRelative || index > 1)) {
- ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length);
- moduleNamePlusExt = moduleNamePlusExt.substring(0, index);
- }
- return context.nameToUrl(normalize(moduleNamePlusExt,
- relMap && relMap.id, true), ext, true);
- },
- defined: function (id) {
- return hasProp(defined, makeModuleMap(id, relMap, false, true).id);
- },
- specified: function (id) {
- id = makeModuleMap(id, relMap, false, true).id;
- return hasProp(defined, id) || hasProp(registry, id);
- }
- });
-
- if (!relMap) {
- localRequire.undef = function (id) {
-
-
- takeGlobalQueue();
- var map = makeModuleMap(id, relMap, true),
- mod = getOwn(registry, id);
- mod.undefed = true;
- removeScript(id);
- delete defined[id];
- delete urlFetched[map.url];
- delete undefEvents[id];
-
-
-
- eachReverse(defQueue, function(args, i) {
- if (args[0] === id) {
- defQueue.splice(i, 1);
- }
- });
- delete context.defQueueMap[id];
- if (mod) {
-
-
-
- if (mod.events.defined) {
- undefEvents[id] = mod.events;
- }
- cleanRegistry(id);
- }
- };
- }
- return localRequire;
- },
-
- enable: function (depMap) {
- var mod = getOwn(registry, depMap.id);
- if (mod) {
- getModule(depMap).enable();
- }
- },
-
- completeLoad: function (moduleName) {
- var found, args, mod,
- shim = getOwn(config.shim, moduleName) || {},
- shExports = shim.exports;
- takeGlobalQueue();
- while (defQueue.length) {
- args = defQueue.shift();
- if (args[0] === null) {
- args[0] = moduleName;
-
-
-
- if (found) {
- break;
- }
- found = true;
- } else if (args[0] === moduleName) {
-
- found = true;
- }
- callGetModule(args);
- }
- context.defQueueMap = {};
-
-
- mod = getOwn(registry, moduleName);
- if (!found && !hasProp(defined, moduleName) && mod && !mod.inited) {
- if (config.enforceDefine && (!shExports || !getGlobal(shExports))) {
- if (hasPathFallback(moduleName)) {
- return;
- } else {
- return onError(makeError('nodefine',
- 'No define call for ' + moduleName,
- null,
- [moduleName]));
- }
- } else {
-
-
- callGetModule([moduleName, (shim.deps || []), shim.exportsFn]);
- }
- }
- checkLoaded();
- },
-
- nameToUrl: function (moduleName, ext, skipExt) {
- var paths, syms, i, parentModule, url,
- parentPath, bundleId,
- pkgMain = getOwn(config.pkgs, moduleName);
- if (pkgMain) {
- moduleName = pkgMain;
- }
- bundleId = getOwn(bundlesMap, moduleName);
- if (bundleId) {
- return context.nameToUrl(bundleId, ext, skipExt);
- }
-
-
-
-
- if (req.jsExtRegExp.test(moduleName)) {
-
-
-
- url = moduleName + (ext || '');
- } else {
-
- paths = config.paths;
- syms = moduleName.split('/');
-
-
-
- for (i = syms.length; i > 0; i -= 1) {
- parentModule = syms.slice(0, i).join('/');
- parentPath = getOwn(paths, parentModule);
- if (parentPath) {
-
-
- if (isArray(parentPath)) {
- parentPath = parentPath[0];
- }
- syms.splice(0, i, parentPath);
- break;
- }
- }
-
- url = syms.join('/');
- url += (ext || (/^data\:|^blob\:|\?/.test(url) || skipExt ? '' : '.js'));
- url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
- }
- return config.urlArgs && !/^blob\:/.test(url) ?
- url + config.urlArgs(moduleName, url) : url;
- },
-
-
- load: function (id, url) {
- req.load(context, id, url);
- },
-
- execCb: function (name, callback, args, exports) {
- return callback.apply(exports, args);
- },
-
- onScriptLoad: function (evt) {
-
-
-
- if (evt.type === 'load' ||
- (readyRegExp.test((evt.currentTarget || evt.srcElement).readyState))) {
-
-
- interactiveScript = null;
-
- var data = getScriptData(evt);
- context.completeLoad(data.id);
- }
- },
-
- onScriptError: function (evt) {
- var data = getScriptData(evt);
- if (!hasPathFallback(data.id)) {
- var parents = [];
- eachProp(registry, function(value, key) {
- if (key.indexOf('_@r') !== 0) {
- each(value.depMaps, function(depMap) {
- if (depMap.id === data.id) {
- parents.push(key);
- return true;
- }
- });
- }
- });
- return onError(makeError('scripterror', 'Script error for "' + data.id +
- (parents.length ?
- '", needed by: ' + parents.join(', ') :
- '"'), evt, [data.id]));
- }
- }
- };
- context.require = context.makeRequire();
- return context;
- }
-
- req = requirejs = function (deps, callback, errback, optional) {
-
- var context, config,
- contextName = defContextName;
-
- if (!isArray(deps) && typeof deps !== 'string') {
-
- config = deps;
- if (isArray(callback)) {
-
- deps = callback;
- callback = errback;
- errback = optional;
- } else {
- deps = [];
- }
- }
- if (config && config.context) {
- contextName = config.context;
- }
- context = getOwn(contexts, contextName);
- if (!context) {
- context = contexts[contextName] = req.s.newContext(contextName);
- }
- if (config) {
- context.configure(config);
- }
- return context.require(deps, callback, errback);
- };
-
- req.config = function (config) {
- return req(config);
- };
-
- req.nextTick = typeof setTimeout !== 'undefined' ? function (fn) {
- setTimeout(fn, 4);
- } : function (fn) { fn(); };
-
- if (!require) {
- require = req;
- }
- req.version = version;
-
- req.jsExtRegExp = /^\/|:|\?|\.js$/;
- req.isBrowser = isBrowser;
- s = req.s = {
- contexts: contexts,
- newContext: newContext
- };
-
- req({});
-
- each([
- 'toUrl',
- 'undef',
- 'defined',
- 'specified'
- ], function (prop) {
-
-
-
- req[prop] = function () {
- var ctx = contexts[defContextName];
- return ctx.require[prop].apply(ctx, arguments);
- };
- });
- if (isBrowser) {
- head = s.head = document.getElementsByTagName('head')[0];
-
-
-
- baseElement = document.getElementsByTagName('base')[0];
- if (baseElement) {
- head = s.head = baseElement.parentNode;
- }
- }
-
- req.onError = defaultOnError;
-
- req.createNode = function (config, moduleName, url) {
- var node = config.xhtml ?
- document.createElementNS('http://www.w3.org/1999/xhtml', 'html:script') :
- document.createElement('script');
- node.type = config.scriptType || 'text/javascript';
- node.charset = 'utf-8';
- node.async = true;
- return node;
- };
-
- req.load = function (context, moduleName, url) {
- var config = (context && context.config) || {},
- node;
- if (isBrowser) {
-
- node = req.createNode(config, moduleName, url);
- node.setAttribute('data-requirecontext', context.contextName);
- node.setAttribute('data-requiremodule', moduleName);
-
-
-
-
-
-
-
-
- if (node.attachEvent &&
-
-
-
-
-
-
-
- !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0) &&
- !isOpera) {
-
-
-
-
-
- useInteractive = true;
- node.attachEvent('onreadystatechange', context.onScriptLoad);
-
-
-
-
-
-
-
-
-
-
-
- } else {
- node.addEventListener('load', context.onScriptLoad, false);
- node.addEventListener('error', context.onScriptError, false);
- }
- node.src = url;
-
-
- if (config.onNodeCreated) {
- config.onNodeCreated(node, config, moduleName, url);
- }
-
-
-
-
- currentlyAddingScript = node;
- if (baseElement) {
- head.insertBefore(node, baseElement);
- } else {
- head.appendChild(node);
- }
- currentlyAddingScript = null;
- return node;
- } else if (isWebWorker) {
- try {
-
-
-
-
-
-
-
-
-
- setTimeout(function() {}, 0);
- importScripts(url);
-
- context.completeLoad(moduleName);
- } catch (e) {
- context.onError(makeError('importscripts',
- 'importScripts failed for ' +
- moduleName + ' at ' + url,
- e,
- [moduleName]));
- }
- }
- };
- function getInteractiveScript() {
- if (interactiveScript && interactiveScript.readyState === 'interactive') {
- return interactiveScript;
- }
- eachReverse(scripts(), function (script) {
- if (script.readyState === 'interactive') {
- return (interactiveScript = script);
- }
- });
- return interactiveScript;
- }
-
- if (isBrowser && !cfg.skipDataMain) {
-
- eachReverse(scripts(), function (script) {
-
-
- if (!head) {
- head = script.parentNode;
- }
-
-
-
- dataMain = script.getAttribute('data-main');
- if (dataMain) {
-
- mainScript = dataMain;
-
-
-
- if (!cfg.baseUrl && mainScript.indexOf('!') === -1) {
-
-
- src = mainScript.split('/');
- mainScript = src.pop();
- subPath = src.length ? src.join('/') + '/' : './';
- cfg.baseUrl = subPath;
- }
-
-
- mainScript = mainScript.replace(jsSuffixRegExp, '');
-
- if (req.jsExtRegExp.test(mainScript)) {
- mainScript = dataMain;
- }
-
- cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript];
- return true;
- }
- });
- }
-
- define = function (name, deps, callback) {
- var node, context;
-
- if (typeof name !== 'string') {
-
- callback = deps;
- deps = name;
- name = null;
- }
-
- if (!isArray(deps)) {
- callback = deps;
- deps = null;
- }
-
-
- if (!deps && isFunction(callback)) {
- deps = [];
-
-
-
- if (callback.length) {
- callback
- .toString()
- .replace(commentRegExp, commentReplace)
- .replace(cjsRequireRegExp, function (match, dep) {
- deps.push(dep);
- });
-
-
-
-
-
- deps = (callback.length === 1 ? ['require'] : ['require', 'exports', 'module']).concat(deps);
- }
- }
-
-
- if (useInteractive) {
- node = currentlyAddingScript || getInteractiveScript();
- if (node) {
- if (!name) {
- name = node.getAttribute('data-requiremodule');
- }
- context = contexts[node.getAttribute('data-requirecontext')];
- }
- }
-
-
-
-
-
-
- if (context) {
- context.defQueue.push([name, deps, callback]);
- context.defQueueMap[name] = true;
- } else {
- globalDefQueue.push([name, deps, callback]);
- }
- };
- define.amd = {
- jQuery: true
- };
-
- req.exec = function (text) {
-
- return eval(text);
- };
-
- req(cfg);
- }(this, (typeof setTimeout === 'undefined' ? undefined : setTimeout)));
|