/*! modulejs v1.14.0 - https://larsjung.de/modulejs/ */ !function(n,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.modulejs=r():n.modulejs=r()}(this,function(){return function(n){function r(t){if(e[t])return e[t].exports;var i=e[t]={exports:{},id:t,loaded:!1};return n[t].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}var e={};return r.m=n,r.c=e,r.p="",r(0)}([function(n,r){"use strict";var e=Object.prototype,t=function(n){return function(r){return e.toString.call(r)==="[object "+n+"]"}},i=t("Array"),o=t("Function"),u=t("String"),s=function(n,r){return void 0!==n&&null!==n&&e.hasOwnProperty.call(n,r)},f=function(n,r){if(n&&n.length)for(var e=0,t=n.length;t>e;e+=1)r(n[e],e,n);else for(var i in n)s(n,i)&&r(n[i],i,n)},c=function(n,r){if(n&&n.length)for(var e=0,t=n.length;t>e;e+=1)if(n[e]===r)return!0;return!1},a=function(n){var r=[];return f(n,function(n){c(r,n)||r.push(n)}),r},d=function(n,r){if(!n)throw new Error("[modulejs] "+r)},p=function l(){var n={},r={},e=function y(e,t,i){d(u(e),"id must be string: "+e);var o=t===!0,p=(o?void 0:t)||r;if(!o&&s(p,e))return p[e];var l=n[e];d(l,"id not defined: "+e),i=(i||[]).slice(),i.push(e);var v=[];if(f(l.deps,function(n){d(!c(i,n),"circular dependencies: "+n+" in "+i),o?(v=v.concat(y(n,t,i)),v.push(n)):v.push(y(n,t,i))}),o)return a(v);var h=l.fn.apply(void 0,v);return p[e]=h,h},t=function(r,e,t){if(void 0===t){var f=[[],e];e=f[0],t=f[1]}d(u(r),"id must be string: "+r),d(!s(n,r),"id already defined: "+r),d(i(e),"deps must be array: "+r),n[r]={id:r,deps:e,fn:o(t)?t:function(){return t}}},p=function(n,r){return e(n,r)},v=function(){var t={};return f(n,function(n,i){t[i]={deps:n.deps.slice(),reqs:e(i,!0),init:s(r,i)}}),f(n,function(r,e){var i=[];f(n,function(n,r){c(t[r].reqs,e)&&i.push(r)}),t[e].reqd=i}),t},h=function(n){var r="\n";return f(v(),function(e,t){var i=n?e.reqd:e.reqs;r+=(e.init?"* ":" ")+t+" -> [ "+i.join(", ")+" ]\n"}),r};return{create:l,define:t,log:h,require:p,state:v,_private:{assert:d,contains:c,definitions:n,each:f,has:s,instances:r,isArray:i,isFunction:o,isString:u,resolve:e,uniq:a}}};n.exports=p()}])});