<!--
 * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <!--
    These resources should match the order and groups used in Main.html.
    -->
    <script src="External/CodeMirror/codemirror.js"></script>
    <script src="External/CodeMirror/css.js"></script>
    <script src="External/CodeMirror/htmlmixed.js"></script>
    <script src="External/CodeMirror/javascript.js"></script>
    <script src="External/Esprima/esprima.js"></script>

    <script src="Base/WebInspector.js"></script>
    <script src="Base/Platform.js"></script>
    <script src="Base/Debouncer.js"></script>
    <script src="Base/DebuggableType.js"></script>
    <script src="Base/IterableWeakSet.js"></script>
    <script src="Base/Multimap.js"></script>
    <script src="Base/Object.js"></script>
    <script src="Base/ReferencePage.js"></script>
    <script src="Base/TargetType.js"></script>
    <script src="Base/Throttler.js"></script>

    <script src="Test/TestHarness.js"></script>
    <script src="Test/FrontendTestHarness.js"></script>
    <script src="Test/TestSuite.js"></script>

    <script src="Test/Test.js"></script>
    <script src="Controllers/AppControllerBase.js"></script>
    <script src="Test/TestAppController.js"></script>
    <script src="Test/TestUtilities.js"></script>

    <script src="Base/BlobUtilities.js"></script>
    <script src="Base/DOMUtilities.js"></script>
    <script src="Base/FileUtilities.js"></script>
    <script src="Base/HTTPUtilities.js"></script>
    <script src="Base/ImageUtilities.js"></script>
    <script src="Base/MIMETypeUtilities.js"></script>
    <script src="Base/ObjectStore.js"></script>
    <script src="Base/URLUtilities.js"></script>
    <script src="Base/Utilities.js"></script>
    <script src="Base/Setting.js"></script>
    <script src="Base/YieldableTask.js"></script>

    <script src="Base/IDLExtensions.js"></script>

    <script src="Protocol/ProtocolTracer.js"></script>
    <script src="Protocol/LoggingProtocolTracer.js"></script>
    <script src="Protocol/InspectorBackend.js"></script>

    <script src="Protocol/Connection.js"></script>
    <script src="Protocol/InspectorFrontendAPI.js"></script>
    <script src="Protocol/LoadInspectorBackendCommands.js"></script>
    <script src="Protocol/MessageDispatcher.js"></script>
    <script src="Protocol/Target.js"></script>

    <script src="Protocol/DirectBackendTarget.js"></script>
    <script src="Protocol/MultiplexingBackendTarget.js"></script>
    <script src="Protocol/PageTarget.js"></script>
    <script src="Protocol/FrameTarget.js"></script>
    <script src="Protocol/WorkerTarget.js"></script>

    <script src="Protocol/InspectorObserver.js"></script>
    <script src="Protocol/AnimationObserver.js"></script>
    <script src="Protocol/BrowserObserver.js"></script>
    <script src="Protocol/CPUProfilerObserver.js"></script>
    <script src="Protocol/CSSObserver.js"></script>
    <script src="Protocol/CanvasObserver.js"></script>
    <script src="Protocol/ConsoleObserver.js"></script>
    <script src="Protocol/DOMObserver.js"></script>
    <script src="Protocol/DOMStorageObserver.js"></script>
    <script src="Protocol/DebuggerObserver.js"></script>
    <script src="Protocol/HeapObserver.js"></script>
    <script src="Protocol/InspectorObserver.js"></script>
    <script src="Protocol/LayerTreeObserver.js"></script>
    <script src="Protocol/MemoryObserver.js"></script>
    <script src="Protocol/NetworkObserver.js"></script>
    <script src="Protocol/PageObserver.js"></script>
    <script src="Protocol/RemoteObject.js"></script>
    <script src="Protocol/RuntimeObserver.js"></script>
    <script src="Protocol/ScriptProfilerObserver.js"></script>
    <script src="Protocol/TargetObserver.js"></script>
    <script src="Protocol/TimelineObserver.js"></script>
    <script src="Protocol/WorkerObserver.js"></script>

    <script src="Models/Breakpoint.js"></script>
    <script src="Models/BreakpointAction.js"></script>
    <script src="Models/Collection.js"></script>
    <script src="Models/ConsoleMessage.js"></script>
    <script src="Models/Instrument.js"></script>
    <script src="Models/SourceCode.js"></script>
    <script src="Models/SourceCodeLocation.js"></script>
    <script src="Models/SourceCodePosition.js"></script>
    <script src="Models/Timeline.js"></script>
    <script src="Models/TimelineRange.js"></script>
    <script src="Models/TimelineRecord.js"></script>

    <script src="Models/ResourceUtilities.js"></script>
    <script src="Models/Resource.js"></script>
    <script src="Models/Script.js"></script>
    <script src="Models/LocalScript.js"></script>

    <script src="Models/Animation.js"></script>
    <script src="Models/AnimationCollection.js"></script>
    <script src="Models/BoxShadow.js"></script>
    <script src="Models/CPUInstrument.js"></script>
    <script src="Models/CPUTimeline.js"></script>
    <script src="Models/CPUTimelineRecord.js"></script>
    <script src="Models/CSSCompletions.js"></script>
    <script src="Models/CSSGrouping.js"></script>
    <script src="Models/CSSKeywordCompletions.js"></script>
    <script src="Models/CSSProperty.js"></script>
    <script src="Models/CSSPropertyNameCompletions.js"></script>
    <script src="Models/CSSRule.js"></script>
    <script src="Models/CSSSelector.js"></script>
    <script src="Models/CSSStyleDeclaration.js"></script>
    <script src="Models/CSSStyleSheet.js"></script>
    <script src="Models/CallFrame.js"></script>
    <script src="Models/CallingContextTree.js"></script>
    <script src="Models/CallingContextTreeNode.js"></script>
    <script src="Models/Canvas.js"></script>
    <script src="Models/CollectionEntry.js"></script>
    <script src="Models/CollectionEntryPreview.js"></script>
    <script src="Models/CollectionTypes.js"></script>
    <script src="Models/Color.js"></script>
    <script src="Models/Completions.js"></script>
    <script src="Models/ConsoleCommandResultMessage.js"></script>
    <script src="Models/ConsoleSnippet.js"></script>
    <script src="Models/Cookie.js"></script>
    <script src="Models/CookieStorageObject.js"></script>
    <script src="Models/CubicBezierTimingFunction.js"></script>
    <script src="Models/DOMBreakpoint.js"></script>
    <script src="Models/DOMNode.js"></script>
    <script src="Models/DOMNodeStyles.js"></script>
    <script src="Models/DOMStorageObject.js"></script>
    <script src="Models/DOMStyleable.js"></script>
    <script src="Models/DOMTree.js"></script>
    <script src="Models/DebuggerData.js"></script>
    <script src="Models/EventBreakpoint.js"></script>
    <script src="Models/ExecutionContext.js"></script>
    <script src="Models/ExecutionContextList.js"></script>
    <script src="Models/FPSInstrument.js"></script>
    <script src="Models/Font.js"></script>
    <script src="Models/FontStyles.js"></script>
    <script src="Models/FontVariationAxis.js"></script>
    <script src="Models/Frame.js"></script>
    <script src="Models/GarbageCollection.js"></script>
    <script src="Models/Geometry.js"></script>
    <script src="Models/Gradient.js"></script>
    <script src="Models/HeapAllocationsInstrument.js"></script>
    <script src="Models/HeapAllocationsTimelineRecord.js"></script>
    <script src="Models/ImportedTarget.js"></script>
    <script src="Models/IndexedDatabase.js"></script>
    <script src="Models/IndexedDatabaseObjectStore.js"></script>
    <script src="Models/IndexedDatabaseObjectStoreIndex.js"></script>
    <script src="Models/IssueMessage.js"></script>
    <script src="Models/JavaScriptBreakpoint.js"></script>
    <script src="Models/Layer.js"></script>
    <script src="Models/LayoutInstrument.js"></script>
    <script src="Models/LayoutTimelineRecord.js"></script>
    <script src="Models/LazySourceCodeLocation.js"></script>
    <script src="Models/LinearTimingFunction.js"></script>
    <script src="Models/LocalResourceOverride.js"></script>
    <script src="Models/LoggingChannel.js"></script>
    <script src="Models/MediaInstrument.js"></script>
    <script src="Models/MediaTimeline.js"></script>
    <script src="Models/MediaTimelineRecord.js"></script>
    <script src="Models/MemoryCategory.js"></script>
    <script src="Models/MemoryInstrument.js"></script>
    <script src="Models/MemoryPressureEvent.js"></script>
    <script src="Models/MemoryTimeline.js"></script>
    <script src="Models/MemoryTimelineRecord.js"></script>
    <script src="Models/NetworkInstrument.js"></script>
    <script src="Models/NetworkTimeline.js"></script>
    <script src="Models/ObjectPreview.js"></script>
    <script src="Models/Probe.js"></script>
    <script src="Models/ProbeSet.js"></script>
    <script src="Models/ProbeSetDataFrame.js"></script>
    <script src="Models/ProbeSetDataTable.js"></script>
    <script src="Models/Profile.js"></script>
    <script src="Models/ProfileNode.js"></script>
    <script src="Models/ProfileNodeCall.js"></script>
    <script src="Models/PropertyDescriptor.js"></script>
    <script src="Models/PropertyPreview.js"></script>
    <script src="Models/QueryMatch.js"></script>
    <script src="Models/QueryResult.js"></script>
    <script src="Models/Recording.js"></script>
    <script src="Models/RecordingAction.js"></script>
    <script src="Models/RecordingFrame.js"></script>
    <script src="Models/RecordingInitialStateAction.js"></script>
    <script src="Models/RecordingState.js"></script>
    <script src="Models/Redirect.js"></script>
    <script src="Models/RenderingFrameTimelineRecord.js"></script>
    <script src="Models/ResourceCollection.js"></script>
    <script src="Models/ResourceQueryResult.js"></script>
    <script src="Models/ResourceTimelineRecord.js"></script>
    <script src="Models/ResourceTimingData.js"></script>
    <script src="Models/Revision.js"></script>
    <script src="Models/ScopeChainNode.js"></script>
    <script src="Models/ScreenshotsInstrument.js"></script>
    <script src="Models/ScreenshotsTimelineRecord.js"></script>
    <script src="Models/ScriptInstrument.js"></script>
    <script src="Models/ScriptSyntaxTree.js"></script>
    <script src="Models/ScriptTimeline.js"></script>
    <script src="Models/ScriptTimelineRecord.js"></script>
    <script src="Models/ServerTimingEntry.js"></script>
    <script src="Models/ShaderProgram.js"></script>
    <script src="Models/SourceCodeRevision.js"></script>
    <script src="Models/SourceCodeTimeline.js"></script>
    <script src="Models/SourceMap.js"></script>
    <script src="Models/SpringTimingFunction.js"></script>
    <script src="Models/StackTrace.js"></script>
    <script src="Models/StepsTimingFunction.js"></script>
    <script src="Models/SymbolicBreakpoint.js"></script>
    <script src="Models/TextRange.js"></script>
    <script src="Models/TimelineMarker.js"></script>
    <script src="Models/TimelineRecording.js"></script>
    <script src="Models/URLBreakpoint.js"></script>
    <script src="Models/WebInspectorExtension.js"></script>
    <script src="Models/WebSocketResource.js"></script>

    <script src="Models/LocalResource.js"></script>
    <script src="Models/SourceMapResource.js"></script>

    <script src="Models/AuditTestBase.js"></script>
    <script src="Models/AuditTestCase.js"></script>
    <script src="Models/AuditTestGroup.js"></script>
    <script src="Models/AuditTestResultBase.js"></script>
    <script src="Models/AuditTestCaseResult.js"></script>
    <script src="Models/AuditTestGroupResult.js"></script>

    <script src="Proxies/FormatterWorkerProxy.js"></script>
    <script src="Proxies/HeapSnapshotDiffProxy.js"></script>
    <script src="Proxies/HeapSnapshotEdgeProxy.js"></script>
    <script src="Proxies/HeapSnapshotNodeProxy.js"></script>
    <script src="Proxies/HeapSnapshotProxy.js"></script>
    <script src="Proxies/HeapSnapshotWorkerProxy.js"></script>

    <script src="Controllers/QueryController.js"></script>
    <script src="Controllers/CodeMirrorCompletionController.js"></script>
    <script src="Controllers/JavaScriptLogViewController.js"></script>
    <script src="Controllers/JavaScriptRuntimeCompletionProvider.js"></script>

    <script src="Controllers/AnimationManager.js"></script>
    <script src="Controllers/AuditManager.js"></script>
    <script src="Controllers/BreakpointLogMessageLexer.js"></script>
    <script src="Controllers/BrowserManager.js"></script>
    <script src="Controllers/CSSManager.js"></script>
    <script src="Controllers/CSSQueryController.js"></script>
    <script src="Controllers/CanvasManager.js"></script>
    <script src="Controllers/ConsoleManager.js"></script>
    <script src="Controllers/DOMDebuggerManager.js"></script>
    <script src="Controllers/DOMManager.js"></script>
    <script src="Controllers/DOMStorageManager.js"></script>
    <script src="Controllers/DebuggerManager.js"></script>
    <script src="Controllers/DeviceSettingsManager.js"></script>
    <script src="Controllers/FormatterSourceMap.js"></script>
    <script src="Controllers/HARBuilder.js"></script>
    <script src="Controllers/HeapManager.js"></script>
    <script src="Controllers/IndexedDBManager.js"></script>
    <script src="Controllers/LayerTreeManager.js"></script>
    <script src="Controllers/MemoryManager.js"></script>
    <script src="Controllers/NetworkManager.js"></script>
    <script src="Controllers/RuntimeManager.js"></script>
    <script src="Controllers/TargetManager.js"></script>
    <script src="Controllers/TimelineManager.js"></script>
    <script src="Controllers/WebInspectorExtensionController.js"></script>
    <script src="Controllers/WorkerManager.js"></script>

    <script src="Controllers/ResourceQueryController.js"></script>
    <script src="Controllers/SelectionController.js"></script>
    <script src="Workers/Formatter/FormatterContentBuilder.js"></script>
    <script src="Views/CodeMirrorAdditions.js"></script>
    <script src="Views/EditingSupport.js"></script>
    <script src="Views/View.js"></script>

    <script src="Controllers/DiagnosticController.js"></script>
    <script src="Controllers/DiagnosticEventRecorder.js"></script>

    <script src="Views/Resizer.js"></script>
    <script src="Views/Table.js"></script>
    <script src="Views/TableColumn.js"></script>
    <script src="Views/TreeElement.js"></script>
    <script src="Views/TreeOutline.js"></script>

    <script src="Debug/DOMManager.js"></script>

    <script src="NonMinified/DefaultAudits.js"></script>

    <script type="text/javascript">
        WI.sharedApp = new WI.TestAppController;
        WI.sharedApp.initialize();

        // Debug logging is synchronous on the test page.
        InspectorTest.forceDebugLogging = false;

        // Tee all TestHarness commands to stderr from within the Inspector.
        InspectorTest.dumpActivityToSystemConsole = false;

        // Best used in combination with dumpActivityToSystemConsole.
        InspectorBackend.dumpInspectorProtocolMessages = false;

        // Only needed when debugging issues related to the Target domain.
        InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages = true;
    </script>
</head>
<body>
</body>
</html>
