client/packages/local/tpaxx-core/.sencha/package/Boot.js
function (url) {
                // *WARNING WARNING WARNING*
                // This method yields the most correct result we can get but it is EXPENSIVE!
                // In ALL browsers! When called multiple times in a sequence, as if when
                // we resolve dependencies for entries, it will cause garbage collection events
                // and overall painful slowness. This is why we try to avoid it as much as we can.
                // 
                // @TODO - see if we need this fallback logic
                // http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue
                resolverEl.href = url;

                var ret = resolverEl.href,
                    dc = _config.disableCachingParam,
                    pos = dc ? ret.indexOf(dc + '=') : -1,
                    c, end;

                // If we have a _dc query parameter we need to remove it from the canonical
                // URL.
                if (pos > 0 && ((c = ret.charAt(pos - 1)) === '?' || c === '&')) {
                    end = ret.indexOf('&', pos);
                    end = (end < 0) ? '' : ret.substring(end);
                    if (end && c === '?') {
                        ++pos; // keep the '?'
                        end = end.substring(1); // remove the '&'
                    }
                    ret = ret.substring(0, pos - 1) + end;
                }

                return ret;
            }
function (url) {
                // *WARNING WARNING WARNING*
                // This method yields the most correct result we can get but it is EXPENSIVE!
                // In ALL browsers! When called multiple times in a sequence, as if when
                // we resolve dependencies for entries, it will cause garbage collection events
                // and overall painful slowness. This is why we try to avoid it as much as we can.
                // 
                // @TODO - see if we need this fallback logic
                // http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue
                resolverEl.href = url;

                var ret = resolverEl.href,
                    dc = _config.disableCachingParam,
                    pos = dc ? ret.indexOf(dc + '=') : -1,
                    c, end;

                // If we have a _dc query parameter we need to remove it from the canonical
                // URL.
                if (pos > 0 && ((c = ret.charAt(pos - 1)) === '?' || c === '&')) {
                    end = ret.indexOf('&', pos);
                    end = (end < 0) ? '' : ret.substring(end);
                    if (end && c === '?') {
                        ++pos; // keep the '?'
                        end = end.substring(1); // remove the '&'
                    }
                    ret = ret.substring(0, pos - 1) + end;
                }

                return ret;
            }
function ( url ) { // *WARNING WARNING WARNING* // This method yields the most correct result we can get but it is EXPENSIVE! // In ALL browsers! When called multiple times in a sequence, as if when // we resolve dependencies for entries, it will cause garbage collection events // and overall painful slowness. This is why we try to avoid it as much as we can. //  // @TODO - see if we need this fallback logic // http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue resolverEl . href = url ; var ret = resolverEl . href , dc = _config . disableCachingParam , pos = dc ? ret . indexOf ( dc + '=' ) : - 1 , c , end ; // If we have a _dc query parameter we need to remove it from the canonical // URL. if ( pos > 0 && ( ( c = ret . charAt ( pos - 1 ) ) === '?' || c === '&' ) ) { end = ret . indexOf ( '&' , pos ) ; end = ( end < 0 ) ? '' : ret . substring ( end ) ; if ( end && c === '?' ) { ++ pos ; // keep the '?' end = end . substring ( 1 ) ; // remove the '&' } ret = ret . substring ( 0 , pos - 1 ) + end ; } return ret ; }
This method returns a canonical URL for the given URL.

For example, the following all produce the same canonical URL (which is the
last one):

http://foo.com/bar/baz/zoo/derp/../../goo/Thing.js?_dc=12345
http://foo.com/bar/baz/zoo/derp/../../goo/Thing.js
http://foo.com/bar/baz/zoo/derp/../jazz/../../goo/Thing.js
http://foo.com/bar/baz/zoo/../goo/Thing.js
http://foo.com/bar/baz/goo/Thing.js

@private
This method returns a canonical URL for the given URL .