require.js
function defaultGetCallingScript(offset = 0) {
	const stack = (new Error).stack.split(/$/m);
	const line = stack[(/^Error/).test(stack[0]) + 1 + offset];
	const parts = line.split(/@(?![^/]*?\.xpi)|\(|\s+/g);
	return parts[parts.length - 1].replace(/:\d+(?::\d+)?\)?$/, '');
}
function defaultGetCallingScript(offset = 0) {
	const stack = (new Error).stack.split(/$/m);
	const line = stack[(/^Error/).test(stack[0]) + 1 + offset];
	const parts = line.split(/@(?![^/]*?\.xpi)|\(|\s+/g);
	return parts[parts.length - 1].replace(/:\d+(?::\d+)?\)?$/, '');
}
function defaultGetCallingScript ( offset = 0 ) { const stack = ( new Error ) . stack . split ( / $ / m ) ; const line = stack [ ( / ^Error / ) . test ( stack [ 0 ] ) + 1 + offset ] ; const parts = line . split ( / @(?![^/]*?\.xpi)|\(|\s+ / g ) ; return parts [ parts . length - 1 ] . replace ( / :\d+(?::\d+)?\)?$ / , '' ) ; }
the other values in `loadConfig` will be interpreted later 
string parsers
the other values in loadConfig will be interpreted later string parsers