{"ast":null,"code":"/** @license React v0.19.1\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function () {\n    'use strict';\n\n    var enableSchedulerDebugging = false;\n    var enableProfiling = true;\n    var _requestHostCallback;\n    var requestHostTimeout;\n    var cancelHostTimeout;\n    var shouldYieldToHost;\n    var requestPaint;\n    if (\n    // If Scheduler runs in a non-DOM environment, it falls back to a naive\n    // implementation using setTimeout.\n    typeof window === 'undefined' ||\n    // Check if MessageChannel is supported, too.\n    typeof MessageChannel !== 'function') {\n      // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,\n      // fallback to a naive implementation.\n      var _callback = null;\n      var _timeoutID = null;\n      var _flushCallback2 = function _flushCallback() {\n        if (_callback !== null) {\n          try {\n            var currentTime = exports.unstable_now();\n            var hasRemainingTime = true;\n            _callback(hasRemainingTime, currentTime);\n            _callback = null;\n          } catch (e) {\n            setTimeout(_flushCallback2, 0);\n            throw e;\n          }\n        }\n      };\n      var initialTime = Date.now();\n      exports.unstable_now = function () {\n        return Date.now() - initialTime;\n      };\n      _requestHostCallback = function requestHostCallback(cb) {\n        if (_callback !== null) {\n          // Protect against re-entrancy.\n          setTimeout(_requestHostCallback, 0, cb);\n        } else {\n          _callback = cb;\n          setTimeout(_flushCallback2, 0);\n        }\n      };\n      requestHostTimeout = function requestHostTimeout(cb, ms) {\n        _timeoutID = setTimeout(cb, ms);\n      };\n      cancelHostTimeout = function cancelHostTimeout() {\n        clearTimeout(_timeoutID);\n      };\n      shouldYieldToHost = function shouldYieldToHost() {\n        return false;\n      };\n      requestPaint = exports.unstable_forceFrameRate = function () {};\n    } else {\n      // Capture local references to native APIs, in case a polyfill overrides them.\n      var performance = window.performance;\n      var _Date = window.Date;\n      var _setTimeout = window.setTimeout;\n      var _clearTimeout = window.clearTimeout;\n      if (typeof console !== 'undefined') {\n        // TODO: Scheduler no longer requires these methods to be polyfilled. But\n        // maybe we want to continue warning if they don't exist, to preserve the\n        // option to rely on it in the future?\n        var requestAnimationFrame = window.requestAnimationFrame;\n        var cancelAnimationFrame = window.cancelAnimationFrame; // TODO: Remove fb.me link\n\n        if (typeof requestAnimationFrame !== 'function') {\n          // Using console['error'] to evade Babel and ESLint\n          console['error'](\"This browser doesn't support requestAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\n        }\n        if (typeof cancelAnimationFrame !== 'function') {\n          // Using console['error'] to evade Babel and ESLint\n          console['error'](\"This browser doesn't support cancelAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\n        }\n      }\n      if (typeof performance === 'object' && typeof performance.now === 'function') {\n        exports.unstable_now = function () {\n          return performance.now();\n        };\n      } else {\n        var _initialTime = _Date.now();\n        exports.unstable_now = function () {\n          return _Date.now() - _initialTime;\n        };\n      }\n      var isMessageLoopRunning = false;\n      var scheduledHostCallback = null;\n      var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n      // thread, like user events. By default, it yields multiple times per frame.\n      // It does not attempt to align with frame boundaries, since most tasks don't\n      // need to be frame aligned; for those that do, use requestAnimationFrame.\n\n      var yieldInterval = 5;\n      var deadline = 0; // TODO: Make this configurable\n\n      {\n        // `isInputPending` is not available. Since we have no way of knowing if\n        // there's pending input, always yield at the end of the frame.\n        shouldYieldToHost = function shouldYieldToHost() {\n          return exports.unstable_now() >= deadline;\n        }; // Since we yield every frame regardless, `requestPaint` has no effect.\n\n        requestPaint = function requestPaint() {};\n      }\n      exports.unstable_forceFrameRate = function (fps) {\n        if (fps < 0 || fps > 125) {\n          // Using console['error'] to evade Babel and ESLint\n          console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing framerates higher than 125 fps is not unsupported');\n          return;\n        }\n        if (fps > 0) {\n          yieldInterval = Math.floor(1000 / fps);\n        } else {\n          // reset the framerate\n          yieldInterval = 5;\n        }\n      };\n      var performWorkUntilDeadline = function performWorkUntilDeadline() {\n        if (scheduledHostCallback !== null) {\n          var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync\n          // cycle. This means there's always time remaining at the beginning of\n          // the message event.\n\n          deadline = currentTime + yieldInterval;\n          var hasTimeRemaining = true;\n          try {\n            var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n            if (!hasMoreWork) {\n              isMessageLoopRunning = false;\n              scheduledHostCallback = null;\n            } else {\n              // If there's more work, schedule the next message event at the end\n              // of the preceding one.\n              port.postMessage(null);\n            }\n          } catch (error) {\n            // If a scheduler task throws, exit the current browser task so the\n            // error can be observed.\n            port.postMessage(null);\n            throw error;\n          }\n        } else {\n          isMessageLoopRunning = false;\n        } // Yielding to the browser will give it a chance to paint, so we can\n      };\n      var channel = new MessageChannel();\n      var port = channel.port2;\n      channel.port1.onmessage = performWorkUntilDeadline;\n      _requestHostCallback = function _requestHostCallback(callback) {\n        scheduledHostCallback = callback;\n        if (!isMessageLoopRunning) {\n          isMessageLoopRunning = true;\n          port.postMessage(null);\n        }\n      };\n      requestHostTimeout = function requestHostTimeout(callback, ms) {\n        taskTimeoutID = _setTimeout(function () {\n          callback(exports.unstable_now());\n        }, ms);\n      };\n      cancelHostTimeout = function cancelHostTimeout() {\n        _clearTimeout(taskTimeoutID);\n        taskTimeoutID = -1;\n      };\n    }\n    function push(heap, node) {\n      var index = heap.length;\n      heap.push(node);\n      siftUp(heap, node, index);\n    }\n    function peek(heap) {\n      var first = heap[0];\n      return first === undefined ? null : first;\n    }\n    function pop(heap) {\n      var first = heap[0];\n      if (first !== undefined) {\n        var last = heap.pop();\n        if (last !== first) {\n          heap[0] = last;\n          siftDown(heap, last, 0);\n        }\n        return first;\n      } else {\n        return null;\n      }\n    }\n    function siftUp(heap, node, i) {\n      var index = i;\n      while (true) {\n        var parentIndex = index - 1 >>> 1;\n        var parent = heap[parentIndex];\n        if (parent !== undefined && compare(parent, node) > 0) {\n          // The parent is larger. Swap positions.\n          heap[parentIndex] = node;\n          heap[index] = parent;\n          index = parentIndex;\n        } else {\n          // The parent is smaller. Exit.\n          return;\n        }\n      }\n    }\n    function siftDown(heap, node, i) {\n      var index = i;\n      var length = heap.length;\n      while (index < length) {\n        var leftIndex = (index + 1) * 2 - 1;\n        var left = heap[leftIndex];\n        var rightIndex = leftIndex + 1;\n        var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n        if (left !== undefined && compare(left, node) < 0) {\n          if (right !== undefined && compare(right, left) < 0) {\n            heap[index] = right;\n            heap[rightIndex] = node;\n            index = rightIndex;\n          } else {\n            heap[index] = left;\n            heap[leftIndex] = node;\n            index = leftIndex;\n          }\n        } else if (right !== undefined && compare(right, node) < 0) {\n          heap[index] = right;\n          heap[rightIndex] = node;\n          index = rightIndex;\n        } else {\n          // Neither child is smaller. Exit.\n          return;\n        }\n      }\n    }\n    function compare(a, b) {\n      // Compare sort index first, then task id.\n      var diff = a.sortIndex - b.sortIndex;\n      return diff !== 0 ? diff : a.id - b.id;\n    }\n\n    // TODO: Use symbols?\n    var NoPriority = 0;\n    var ImmediatePriority = 1;\n    var UserBlockingPriority = 2;\n    var NormalPriority = 3;\n    var LowPriority = 4;\n    var IdlePriority = 5;\n    var runIdCounter = 0;\n    var mainThreadIdCounter = 0;\n    var profilingStateSize = 4;\n    var sharedProfilingBuffer =\n    // $FlowFixMe Flow doesn't know about SharedArrayBuffer\n    typeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) :\n    // $FlowFixMe Flow doesn't know about ArrayBuffer\n    typeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9\n    ;\n    var profilingState = sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks\n\n    var PRIORITY = 0;\n    var CURRENT_TASK_ID = 1;\n    var CURRENT_RUN_ID = 2;\n    var QUEUE_SIZE = 3;\n    {\n      profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue\n      // array might include canceled tasks.\n\n      profilingState[QUEUE_SIZE] = 0;\n      profilingState[CURRENT_TASK_ID] = 0;\n    } // Bytes per element is 4\n\n    var INITIAL_EVENT_LOG_SIZE = 131072;\n    var MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes\n\n    var eventLogSize = 0;\n    var eventLogBuffer = null;\n    var eventLog = null;\n    var eventLogIndex = 0;\n    var TaskStartEvent = 1;\n    var TaskCompleteEvent = 2;\n    var TaskErrorEvent = 3;\n    var TaskCancelEvent = 4;\n    var TaskRunEvent = 5;\n    var TaskYieldEvent = 6;\n    var SchedulerSuspendEvent = 7;\n    var SchedulerResumeEvent = 8;\n    function logEvent(entries) {\n      if (eventLog !== null) {\n        var offset = eventLogIndex;\n        eventLogIndex += entries.length;\n        if (eventLogIndex + 1 > eventLogSize) {\n          eventLogSize *= 2;\n          if (eventLogSize > MAX_EVENT_LOG_SIZE) {\n            // Using console['error'] to evade Babel and ESLint\n            console['error'](\"Scheduler Profiling: Event log exceeded maximum size. Don't \" + 'forget to call `stopLoggingProfilingEvents()`.');\n            stopLoggingProfilingEvents();\n            return;\n          }\n          var newEventLog = new Int32Array(eventLogSize * 4);\n          newEventLog.set(eventLog);\n          eventLogBuffer = newEventLog.buffer;\n          eventLog = newEventLog;\n        }\n        eventLog.set(entries, offset);\n      }\n    }\n    function startLoggingProfilingEvents() {\n      eventLogSize = INITIAL_EVENT_LOG_SIZE;\n      eventLogBuffer = new ArrayBuffer(eventLogSize * 4);\n      eventLog = new Int32Array(eventLogBuffer);\n      eventLogIndex = 0;\n    }\n    function stopLoggingProfilingEvents() {\n      var buffer = eventLogBuffer;\n      eventLogSize = 0;\n      eventLogBuffer = null;\n      eventLog = null;\n      eventLogIndex = 0;\n      return buffer;\n    }\n    function markTaskStart(task, ms) {\n      {\n        profilingState[QUEUE_SIZE]++;\n        if (eventLog !== null) {\n          // performance.now returns a float, representing milliseconds. When the\n          // event is logged, it's coerced to an int. Convert to microseconds to\n          // maintain extra degrees of precision.\n          logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);\n        }\n      }\n    }\n    function markTaskCompleted(task, ms) {\n      {\n        profilingState[PRIORITY] = NoPriority;\n        profilingState[CURRENT_TASK_ID] = 0;\n        profilingState[QUEUE_SIZE]--;\n        if (eventLog !== null) {\n          logEvent([TaskCompleteEvent, ms * 1000, task.id]);\n        }\n      }\n    }\n    function markTaskCanceled(task, ms) {\n      {\n        profilingState[QUEUE_SIZE]--;\n        if (eventLog !== null) {\n          logEvent([TaskCancelEvent, ms * 1000, task.id]);\n        }\n      }\n    }\n    function markTaskErrored(task, ms) {\n      {\n        profilingState[PRIORITY] = NoPriority;\n        profilingState[CURRENT_TASK_ID] = 0;\n        profilingState[QUEUE_SIZE]--;\n        if (eventLog !== null) {\n          logEvent([TaskErrorEvent, ms * 1000, task.id]);\n        }\n      }\n    }\n    function markTaskRun(task, ms) {\n      {\n        runIdCounter++;\n        profilingState[PRIORITY] = task.priorityLevel;\n        profilingState[CURRENT_TASK_ID] = task.id;\n        profilingState[CURRENT_RUN_ID] = runIdCounter;\n        if (eventLog !== null) {\n          logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);\n        }\n      }\n    }\n    function markTaskYield(task, ms) {\n      {\n        profilingState[PRIORITY] = NoPriority;\n        profilingState[CURRENT_TASK_ID] = 0;\n        profilingState[CURRENT_RUN_ID] = 0;\n        if (eventLog !== null) {\n          logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);\n        }\n      }\n    }\n    function markSchedulerSuspended(ms) {\n      {\n        mainThreadIdCounter++;\n        if (eventLog !== null) {\n          logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);\n        }\n      }\n    }\n    function markSchedulerUnsuspended(ms) {\n      {\n        if (eventLog !== null) {\n          logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);\n        }\n      }\n    }\n\n    /* eslint-disable no-var */\n    // Math.pow(2, 30) - 1\n    // 0b111111111111111111111111111111\n\n    var maxSigned31BitInt = 1073741823; // Times out immediately\n\n    var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\n    var USER_BLOCKING_PRIORITY = 250;\n    var NORMAL_PRIORITY_TIMEOUT = 5000;\n    var LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\n    var IDLE_PRIORITY = maxSigned31BitInt; // Tasks are stored on a min heap\n\n    var taskQueue = [];\n    var timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\n    var taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\n    var currentTask = null;\n    var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.\n\n    var isPerformingWork = false;\n    var isHostCallbackScheduled = false;\n    var isHostTimeoutScheduled = false;\n    function advanceTimers(currentTime) {\n      // Check for tasks that are no longer delayed and add them to the queue.\n      var timer = peek(timerQueue);\n      while (timer !== null) {\n        if (timer.callback === null) {\n          // Timer was cancelled.\n          pop(timerQueue);\n        } else if (timer.startTime <= currentTime) {\n          // Timer fired. Transfer to the task queue.\n          pop(timerQueue);\n          timer.sortIndex = timer.expirationTime;\n          push(taskQueue, timer);\n          {\n            markTaskStart(timer, currentTime);\n            timer.isQueued = true;\n          }\n        } else {\n          // Remaining timers are pending.\n          return;\n        }\n        timer = peek(timerQueue);\n      }\n    }\n    function handleTimeout(currentTime) {\n      isHostTimeoutScheduled = false;\n      advanceTimers(currentTime);\n      if (!isHostCallbackScheduled) {\n        if (peek(taskQueue) !== null) {\n          isHostCallbackScheduled = true;\n          _requestHostCallback(flushWork);\n        } else {\n          var firstTimer = peek(timerQueue);\n          if (firstTimer !== null) {\n            requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n          }\n        }\n      }\n    }\n    function flushWork(hasTimeRemaining, initialTime) {\n      {\n        markSchedulerUnsuspended(initialTime);\n      } // We'll need a host callback the next time work is scheduled.\n\n      isHostCallbackScheduled = false;\n      if (isHostTimeoutScheduled) {\n        // We scheduled a timeout but it's no longer needed. Cancel it.\n        isHostTimeoutScheduled = false;\n        cancelHostTimeout();\n      }\n      isPerformingWork = true;\n      var previousPriorityLevel = currentPriorityLevel;\n      try {\n        if (enableProfiling) {\n          try {\n            return workLoop(hasTimeRemaining, initialTime);\n          } catch (error) {\n            if (currentTask !== null) {\n              var currentTime = exports.unstable_now();\n              markTaskErrored(currentTask, currentTime);\n              currentTask.isQueued = false;\n            }\n            throw error;\n          }\n        } else {\n          // No catch in prod codepath.\n          return workLoop(hasTimeRemaining, initialTime);\n        }\n      } finally {\n        currentTask = null;\n        currentPriorityLevel = previousPriorityLevel;\n        isPerformingWork = false;\n        {\n          var _currentTime = exports.unstable_now();\n          markSchedulerSuspended(_currentTime);\n        }\n      }\n    }\n    function workLoop(hasTimeRemaining, initialTime) {\n      var currentTime = initialTime;\n      advanceTimers(currentTime);\n      currentTask = peek(taskQueue);\n      while (currentTask !== null && !enableSchedulerDebugging) {\n        if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n          // This currentTask hasn't expired, and we've reached the deadline.\n          break;\n        }\n        var callback = currentTask.callback;\n        if (callback !== null) {\n          currentTask.callback = null;\n          currentPriorityLevel = currentTask.priorityLevel;\n          var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n          markTaskRun(currentTask, currentTime);\n          var continuationCallback = callback(didUserCallbackTimeout);\n          currentTime = exports.unstable_now();\n          if (typeof continuationCallback === 'function') {\n            currentTask.callback = continuationCallback;\n            markTaskYield(currentTask, currentTime);\n          } else {\n            {\n              markTaskCompleted(currentTask, currentTime);\n              currentTask.isQueued = false;\n            }\n            if (currentTask === peek(taskQueue)) {\n              pop(taskQueue);\n            }\n          }\n          advanceTimers(currentTime);\n        } else {\n          pop(taskQueue);\n        }\n        currentTask = peek(taskQueue);\n      } // Return whether there's additional work\n\n      if (currentTask !== null) {\n        return true;\n      } else {\n        var firstTimer = peek(timerQueue);\n        if (firstTimer !== null) {\n          requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n        }\n        return false;\n      }\n    }\n    function unstable_runWithPriority(priorityLevel, eventHandler) {\n      switch (priorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n        case LowPriority:\n        case IdlePriority:\n          break;\n        default:\n          priorityLevel = NormalPriority;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_next(eventHandler) {\n      var priorityLevel;\n      switch (currentPriorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n          // Shift down to normal priority\n          priorityLevel = NormalPriority;\n          break;\n        default:\n          // Anything lower than normal priority should remain at the current level.\n          priorityLevel = currentPriorityLevel;\n          break;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_wrapCallback(callback) {\n      var parentPriorityLevel = currentPriorityLevel;\n      return function () {\n        // This is a fork of runWithPriority, inlined for performance.\n        var previousPriorityLevel = currentPriorityLevel;\n        currentPriorityLevel = parentPriorityLevel;\n        try {\n          return callback.apply(this, arguments);\n        } finally {\n          currentPriorityLevel = previousPriorityLevel;\n        }\n      };\n    }\n    function timeoutForPriorityLevel(priorityLevel) {\n      switch (priorityLevel) {\n        case ImmediatePriority:\n          return IMMEDIATE_PRIORITY_TIMEOUT;\n        case UserBlockingPriority:\n          return USER_BLOCKING_PRIORITY;\n        case IdlePriority:\n          return IDLE_PRIORITY;\n        case LowPriority:\n          return LOW_PRIORITY_TIMEOUT;\n        case NormalPriority:\n        default:\n          return NORMAL_PRIORITY_TIMEOUT;\n      }\n    }\n    function unstable_scheduleCallback(priorityLevel, callback, options) {\n      var currentTime = exports.unstable_now();\n      var startTime;\n      var timeout;\n      if (typeof options === 'object' && options !== null) {\n        var delay = options.delay;\n        if (typeof delay === 'number' && delay > 0) {\n          startTime = currentTime + delay;\n        } else {\n          startTime = currentTime;\n        }\n        timeout = typeof options.timeout === 'number' ? options.timeout : timeoutForPriorityLevel(priorityLevel);\n      } else {\n        timeout = timeoutForPriorityLevel(priorityLevel);\n        startTime = currentTime;\n      }\n      var expirationTime = startTime + timeout;\n      var newTask = {\n        id: taskIdCounter++,\n        callback: callback,\n        priorityLevel: priorityLevel,\n        startTime: startTime,\n        expirationTime: expirationTime,\n        sortIndex: -1\n      };\n      {\n        newTask.isQueued = false;\n      }\n      if (startTime > currentTime) {\n        // This is a delayed task.\n        newTask.sortIndex = startTime;\n        push(timerQueue, newTask);\n        if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n          // All tasks are delayed, and this is the task with the earliest delay.\n          if (isHostTimeoutScheduled) {\n            // Cancel an existing timeout.\n            cancelHostTimeout();\n          } else {\n            isHostTimeoutScheduled = true;\n          } // Schedule a timeout.\n\n          requestHostTimeout(handleTimeout, startTime - currentTime);\n        }\n      } else {\n        newTask.sortIndex = expirationTime;\n        push(taskQueue, newTask);\n        {\n          markTaskStart(newTask, currentTime);\n          newTask.isQueued = true;\n        } // Schedule a host callback, if needed. If we're already performing work,\n        // wait until the next time we yield.\n\n        if (!isHostCallbackScheduled && !isPerformingWork) {\n          isHostCallbackScheduled = true;\n          _requestHostCallback(flushWork);\n        }\n      }\n      return newTask;\n    }\n    function unstable_pauseExecution() {}\n    function unstable_continueExecution() {\n      if (!isHostCallbackScheduled && !isPerformingWork) {\n        isHostCallbackScheduled = true;\n        _requestHostCallback(flushWork);\n      }\n    }\n    function unstable_getFirstCallbackNode() {\n      return peek(taskQueue);\n    }\n    function unstable_cancelCallback(task) {\n      {\n        if (task.isQueued) {\n          var currentTime = exports.unstable_now();\n          markTaskCanceled(task, currentTime);\n          task.isQueued = false;\n        }\n      } // Null out the callback to indicate the task has been canceled. (Can't\n      // remove from the queue because you can't remove arbitrary nodes from an\n      // array based heap, only the first one.)\n\n      task.callback = null;\n    }\n    function unstable_getCurrentPriorityLevel() {\n      return currentPriorityLevel;\n    }\n    function unstable_shouldYield() {\n      var currentTime = exports.unstable_now();\n      advanceTimers(currentTime);\n      var firstTask = peek(taskQueue);\n      return firstTask !== currentTask && currentTask !== null && firstTask !== null && firstTask.callback !== null && firstTask.startTime <= currentTime && firstTask.expirationTime < currentTask.expirationTime || shouldYieldToHost();\n    }\n    var unstable_requestPaint = requestPaint;\n    var unstable_Profiling = {\n      startLoggingProfilingEvents: startLoggingProfilingEvents,\n      stopLoggingProfilingEvents: stopLoggingProfilingEvents,\n      sharedProfilingBuffer: sharedProfilingBuffer\n    };\n    exports.unstable_IdlePriority = IdlePriority;\n    exports.unstable_ImmediatePriority = ImmediatePriority;\n    exports.unstable_LowPriority = LowPriority;\n    exports.unstable_NormalPriority = NormalPriority;\n    exports.unstable_Profiling = unstable_Profiling;\n    exports.unstable_UserBlockingPriority = UserBlockingPriority;\n    exports.unstable_cancelCallback = unstable_cancelCallback;\n    exports.unstable_continueExecution = unstable_continueExecution;\n    exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\n    exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\n    exports.unstable_next = unstable_next;\n    exports.unstable_pauseExecution = unstable_pauseExecution;\n    exports.unstable_requestPaint = unstable_requestPaint;\n    exports.unstable_runWithPriority = unstable_runWithPriority;\n    exports.unstable_scheduleCallback = unstable_scheduleCallback;\n    exports.unstable_shouldYield = unstable_shouldYield;\n    exports.unstable_wrapCallback = unstable_wrapCallback;\n  })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","enableSchedulerDebugging","enableProfiling","requestHostCallback","requestHostTimeout","cancelHostTimeout","shouldYieldToHost","requestPaint","window","MessageChannel","_callback","_timeoutID","_flushCallback","currentTime","exports","unstable_now","hasRemainingTime","e","setTimeout","initialTime","Date","now","cb","ms","clearTimeout","unstable_forceFrameRate","performance","_Date","_setTimeout","_clearTimeout","console","requestAnimationFrame","cancelAnimationFrame","_initialTime","isMessageLoopRunning","scheduledHostCallback","taskTimeoutID","yieldInterval","deadline","fps","Math","floor","performWorkUntilDeadline","hasTimeRemaining","hasMoreWork","port","postMessage","error","channel","port2","port1","onmessage","callback","push","heap","node","index","length","siftUp","peek","first","undefined","pop","last","siftDown","i","parentIndex","parent","compare","leftIndex","left","rightIndex","right","a","b","diff","sortIndex","id","NoPriority","ImmediatePriority","UserBlockingPriority","NormalPriority","LowPriority","IdlePriority","runIdCounter","mainThreadIdCounter","profilingStateSize","sharedProfilingBuffer","SharedArrayBuffer","Int32Array","BYTES_PER_ELEMENT","ArrayBuffer","profilingState","PRIORITY","CURRENT_TASK_ID","CURRENT_RUN_ID","QUEUE_SIZE","INITIAL_EVENT_LOG_SIZE","MAX_EVENT_LOG_SIZE","eventLogSize","eventLogBuffer","eventLog","eventLogIndex","TaskStartEvent","TaskCompleteEvent","TaskErrorEvent","TaskCancelEvent","TaskRunEvent","TaskYieldEvent","SchedulerSuspendEvent","SchedulerResumeEvent","logEvent","entries","offset","stopLoggingProfilingEvents","newEventLog","set","buffer","startLoggingProfilingEvents","markTaskStart","task","priorityLevel","markTaskCompleted","markTaskCanceled","markTaskErrored","markTaskRun","markTaskYield","markSchedulerSuspended","markSchedulerUnsuspended","maxSigned31BitInt","IMMEDIATE_PRIORITY_TIMEOUT","USER_BLOCKING_PRIORITY","NORMAL_PRIORITY_TIMEOUT","LOW_PRIORITY_TIMEOUT","IDLE_PRIORITY","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","advanceTimers","timer","startTime","expirationTime","isQueued","handleTimeout","flushWork","firstTimer","previousPriorityLevel","workLoop","_currentTime","didUserCallbackTimeout","continuationCallback","unstable_runWithPriority","eventHandler","unstable_next","unstable_wrapCallback","parentPriorityLevel","apply","arguments","timeoutForPriorityLevel","unstable_scheduleCallback","options","timeout","delay","newTask","unstable_pauseExecution","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_cancelCallback","unstable_getCurrentPriorityLevel","unstable_shouldYield","firstTask","unstable_requestPaint","unstable_Profiling","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_UserBlockingPriority"],"sources":["C:/ldt/LDT/management/node_modules/scheduler/cjs/scheduler.development.js"],"sourcesContent":["/** @license React v0.19.1\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar enableSchedulerDebugging = false;\nvar enableProfiling = true;\n\nvar requestHostCallback;\nvar requestHostTimeout;\nvar cancelHostTimeout;\nvar shouldYieldToHost;\nvar requestPaint;\n\nif ( // If Scheduler runs in a non-DOM environment, it falls back to a naive\n// implementation using setTimeout.\ntypeof window === 'undefined' || // Check if MessageChannel is supported, too.\ntypeof MessageChannel !== 'function') {\n  // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,\n  // fallback to a naive implementation.\n  var _callback = null;\n  var _timeoutID = null;\n\n  var _flushCallback = function () {\n    if (_callback !== null) {\n      try {\n        var currentTime = exports.unstable_now();\n        var hasRemainingTime = true;\n\n        _callback(hasRemainingTime, currentTime);\n\n        _callback = null;\n      } catch (e) {\n        setTimeout(_flushCallback, 0);\n        throw e;\n      }\n    }\n  };\n\n  var initialTime = Date.now();\n\n  exports.unstable_now = function () {\n    return Date.now() - initialTime;\n  };\n\n  requestHostCallback = function (cb) {\n    if (_callback !== null) {\n      // Protect against re-entrancy.\n      setTimeout(requestHostCallback, 0, cb);\n    } else {\n      _callback = cb;\n      setTimeout(_flushCallback, 0);\n    }\n  };\n\n  requestHostTimeout = function (cb, ms) {\n    _timeoutID = setTimeout(cb, ms);\n  };\n\n  cancelHostTimeout = function () {\n    clearTimeout(_timeoutID);\n  };\n\n  shouldYieldToHost = function () {\n    return false;\n  };\n\n  requestPaint = exports.unstable_forceFrameRate = function () {};\n} else {\n  // Capture local references to native APIs, in case a polyfill overrides them.\n  var performance = window.performance;\n  var _Date = window.Date;\n  var _setTimeout = window.setTimeout;\n  var _clearTimeout = window.clearTimeout;\n\n  if (typeof console !== 'undefined') {\n    // TODO: Scheduler no longer requires these methods to be polyfilled. But\n    // maybe we want to continue warning if they don't exist, to preserve the\n    // option to rely on it in the future?\n    var requestAnimationFrame = window.requestAnimationFrame;\n    var cancelAnimationFrame = window.cancelAnimationFrame; // TODO: Remove fb.me link\n\n    if (typeof requestAnimationFrame !== 'function') {\n      // Using console['error'] to evade Babel and ESLint\n      console['error'](\"This browser doesn't support requestAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\n    }\n\n    if (typeof cancelAnimationFrame !== 'function') {\n      // Using console['error'] to evade Babel and ESLint\n      console['error'](\"This browser doesn't support cancelAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\n    }\n  }\n\n  if (typeof performance === 'object' && typeof performance.now === 'function') {\n    exports.unstable_now = function () {\n      return performance.now();\n    };\n  } else {\n    var _initialTime = _Date.now();\n\n    exports.unstable_now = function () {\n      return _Date.now() - _initialTime;\n    };\n  }\n\n  var isMessageLoopRunning = false;\n  var scheduledHostCallback = null;\n  var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n  // thread, like user events. By default, it yields multiple times per frame.\n  // It does not attempt to align with frame boundaries, since most tasks don't\n  // need to be frame aligned; for those that do, use requestAnimationFrame.\n\n  var yieldInterval = 5;\n  var deadline = 0; // TODO: Make this configurable\n\n  {\n    // `isInputPending` is not available. Since we have no way of knowing if\n    // there's pending input, always yield at the end of the frame.\n    shouldYieldToHost = function () {\n      return exports.unstable_now() >= deadline;\n    }; // Since we yield every frame regardless, `requestPaint` has no effect.\n\n\n    requestPaint = function () {};\n  }\n\n  exports.unstable_forceFrameRate = function (fps) {\n    if (fps < 0 || fps > 125) {\n      // Using console['error'] to evade Babel and ESLint\n      console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing framerates higher than 125 fps is not unsupported');\n      return;\n    }\n\n    if (fps > 0) {\n      yieldInterval = Math.floor(1000 / fps);\n    } else {\n      // reset the framerate\n      yieldInterval = 5;\n    }\n  };\n\n  var performWorkUntilDeadline = function () {\n    if (scheduledHostCallback !== null) {\n      var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync\n      // cycle. This means there's always time remaining at the beginning of\n      // the message event.\n\n      deadline = currentTime + yieldInterval;\n      var hasTimeRemaining = true;\n\n      try {\n        var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n\n        if (!hasMoreWork) {\n          isMessageLoopRunning = false;\n          scheduledHostCallback = null;\n        } else {\n          // If there's more work, schedule the next message event at the end\n          // of the preceding one.\n          port.postMessage(null);\n        }\n      } catch (error) {\n        // If a scheduler task throws, exit the current browser task so the\n        // error can be observed.\n        port.postMessage(null);\n        throw error;\n      }\n    } else {\n      isMessageLoopRunning = false;\n    } // Yielding to the browser will give it a chance to paint, so we can\n  };\n\n  var channel = new MessageChannel();\n  var port = channel.port2;\n  channel.port1.onmessage = performWorkUntilDeadline;\n\n  requestHostCallback = function (callback) {\n    scheduledHostCallback = callback;\n\n    if (!isMessageLoopRunning) {\n      isMessageLoopRunning = true;\n      port.postMessage(null);\n    }\n  };\n\n  requestHostTimeout = function (callback, ms) {\n    taskTimeoutID = _setTimeout(function () {\n      callback(exports.unstable_now());\n    }, ms);\n  };\n\n  cancelHostTimeout = function () {\n    _clearTimeout(taskTimeoutID);\n\n    taskTimeoutID = -1;\n  };\n}\n\nfunction push(heap, node) {\n  var index = heap.length;\n  heap.push(node);\n  siftUp(heap, node, index);\n}\nfunction peek(heap) {\n  var first = heap[0];\n  return first === undefined ? null : first;\n}\nfunction pop(heap) {\n  var first = heap[0];\n\n  if (first !== undefined) {\n    var last = heap.pop();\n\n    if (last !== first) {\n      heap[0] = last;\n      siftDown(heap, last, 0);\n    }\n\n    return first;\n  } else {\n    return null;\n  }\n}\n\nfunction siftUp(heap, node, i) {\n  var index = i;\n\n  while (true) {\n    var parentIndex = index - 1 >>> 1;\n    var parent = heap[parentIndex];\n\n    if (parent !== undefined && compare(parent, node) > 0) {\n      // The parent is larger. Swap positions.\n      heap[parentIndex] = node;\n      heap[index] = parent;\n      index = parentIndex;\n    } else {\n      // The parent is smaller. Exit.\n      return;\n    }\n  }\n}\n\nfunction siftDown(heap, node, i) {\n  var index = i;\n  var length = heap.length;\n\n  while (index < length) {\n    var leftIndex = (index + 1) * 2 - 1;\n    var left = heap[leftIndex];\n    var rightIndex = leftIndex + 1;\n    var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n    if (left !== undefined && compare(left, node) < 0) {\n      if (right !== undefined && compare(right, left) < 0) {\n        heap[index] = right;\n        heap[rightIndex] = node;\n        index = rightIndex;\n      } else {\n        heap[index] = left;\n        heap[leftIndex] = node;\n        index = leftIndex;\n      }\n    } else if (right !== undefined && compare(right, node) < 0) {\n      heap[index] = right;\n      heap[rightIndex] = node;\n      index = rightIndex;\n    } else {\n      // Neither child is smaller. Exit.\n      return;\n    }\n  }\n}\n\nfunction compare(a, b) {\n  // Compare sort index first, then task id.\n  var diff = a.sortIndex - b.sortIndex;\n  return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar NoPriority = 0;\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nvar runIdCounter = 0;\nvar mainThreadIdCounter = 0;\nvar profilingStateSize = 4;\nvar sharedProfilingBuffer =  // $FlowFixMe Flow doesn't know about SharedArrayBuffer\ntypeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer\ntypeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9\n;\nvar profilingState =  sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks\n\nvar PRIORITY = 0;\nvar CURRENT_TASK_ID = 1;\nvar CURRENT_RUN_ID = 2;\nvar QUEUE_SIZE = 3;\n\n{\n  profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue\n  // array might include canceled tasks.\n\n  profilingState[QUEUE_SIZE] = 0;\n  profilingState[CURRENT_TASK_ID] = 0;\n} // Bytes per element is 4\n\n\nvar INITIAL_EVENT_LOG_SIZE = 131072;\nvar MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes\n\nvar eventLogSize = 0;\nvar eventLogBuffer = null;\nvar eventLog = null;\nvar eventLogIndex = 0;\nvar TaskStartEvent = 1;\nvar TaskCompleteEvent = 2;\nvar TaskErrorEvent = 3;\nvar TaskCancelEvent = 4;\nvar TaskRunEvent = 5;\nvar TaskYieldEvent = 6;\nvar SchedulerSuspendEvent = 7;\nvar SchedulerResumeEvent = 8;\n\nfunction logEvent(entries) {\n  if (eventLog !== null) {\n    var offset = eventLogIndex;\n    eventLogIndex += entries.length;\n\n    if (eventLogIndex + 1 > eventLogSize) {\n      eventLogSize *= 2;\n\n      if (eventLogSize > MAX_EVENT_LOG_SIZE) {\n        // Using console['error'] to evade Babel and ESLint\n        console['error'](\"Scheduler Profiling: Event log exceeded maximum size. Don't \" + 'forget to call `stopLoggingProfilingEvents()`.');\n        stopLoggingProfilingEvents();\n        return;\n      }\n\n      var newEventLog = new Int32Array(eventLogSize * 4);\n      newEventLog.set(eventLog);\n      eventLogBuffer = newEventLog.buffer;\n      eventLog = newEventLog;\n    }\n\n    eventLog.set(entries, offset);\n  }\n}\n\nfunction startLoggingProfilingEvents() {\n  eventLogSize = INITIAL_EVENT_LOG_SIZE;\n  eventLogBuffer = new ArrayBuffer(eventLogSize * 4);\n  eventLog = new Int32Array(eventLogBuffer);\n  eventLogIndex = 0;\n}\nfunction stopLoggingProfilingEvents() {\n  var buffer = eventLogBuffer;\n  eventLogSize = 0;\n  eventLogBuffer = null;\n  eventLog = null;\n  eventLogIndex = 0;\n  return buffer;\n}\nfunction markTaskStart(task, ms) {\n  {\n    profilingState[QUEUE_SIZE]++;\n\n    if (eventLog !== null) {\n      // performance.now returns a float, representing milliseconds. When the\n      // event is logged, it's coerced to an int. Convert to microseconds to\n      // maintain extra degrees of precision.\n      logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);\n    }\n  }\n}\nfunction markTaskCompleted(task, ms) {\n  {\n    profilingState[PRIORITY] = NoPriority;\n    profilingState[CURRENT_TASK_ID] = 0;\n    profilingState[QUEUE_SIZE]--;\n\n    if (eventLog !== null) {\n      logEvent([TaskCompleteEvent, ms * 1000, task.id]);\n    }\n  }\n}\nfunction markTaskCanceled(task, ms) {\n  {\n    profilingState[QUEUE_SIZE]--;\n\n    if (eventLog !== null) {\n      logEvent([TaskCancelEvent, ms * 1000, task.id]);\n    }\n  }\n}\nfunction markTaskErrored(task, ms) {\n  {\n    profilingState[PRIORITY] = NoPriority;\n    profilingState[CURRENT_TASK_ID] = 0;\n    profilingState[QUEUE_SIZE]--;\n\n    if (eventLog !== null) {\n      logEvent([TaskErrorEvent, ms * 1000, task.id]);\n    }\n  }\n}\nfunction markTaskRun(task, ms) {\n  {\n    runIdCounter++;\n    profilingState[PRIORITY] = task.priorityLevel;\n    profilingState[CURRENT_TASK_ID] = task.id;\n    profilingState[CURRENT_RUN_ID] = runIdCounter;\n\n    if (eventLog !== null) {\n      logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);\n    }\n  }\n}\nfunction markTaskYield(task, ms) {\n  {\n    profilingState[PRIORITY] = NoPriority;\n    profilingState[CURRENT_TASK_ID] = 0;\n    profilingState[CURRENT_RUN_ID] = 0;\n\n    if (eventLog !== null) {\n      logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);\n    }\n  }\n}\nfunction markSchedulerSuspended(ms) {\n  {\n    mainThreadIdCounter++;\n\n    if (eventLog !== null) {\n      logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);\n    }\n  }\n}\nfunction markSchedulerUnsuspended(ms) {\n  {\n    if (eventLog !== null) {\n      logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);\n    }\n  }\n}\n\n/* eslint-disable no-var */\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false;\n\nfunction advanceTimers(currentTime) {\n  // Check for tasks that are no longer delayed and add them to the queue.\n  var timer = peek(timerQueue);\n\n  while (timer !== null) {\n    if (timer.callback === null) {\n      // Timer was cancelled.\n      pop(timerQueue);\n    } else if (timer.startTime <= currentTime) {\n      // Timer fired. Transfer to the task queue.\n      pop(timerQueue);\n      timer.sortIndex = timer.expirationTime;\n      push(taskQueue, timer);\n\n      {\n        markTaskStart(timer, currentTime);\n        timer.isQueued = true;\n      }\n    } else {\n      // Remaining timers are pending.\n      return;\n    }\n\n    timer = peek(timerQueue);\n  }\n}\n\nfunction handleTimeout(currentTime) {\n  isHostTimeoutScheduled = false;\n  advanceTimers(currentTime);\n\n  if (!isHostCallbackScheduled) {\n    if (peek(taskQueue) !== null) {\n      isHostCallbackScheduled = true;\n      requestHostCallback(flushWork);\n    } else {\n      var firstTimer = peek(timerQueue);\n\n      if (firstTimer !== null) {\n        requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n      }\n    }\n  }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n  {\n    markSchedulerUnsuspended(initialTime);\n  } // We'll need a host callback the next time work is scheduled.\n\n\n  isHostCallbackScheduled = false;\n\n  if (isHostTimeoutScheduled) {\n    // We scheduled a timeout but it's no longer needed. Cancel it.\n    isHostTimeoutScheduled = false;\n    cancelHostTimeout();\n  }\n\n  isPerformingWork = true;\n  var previousPriorityLevel = currentPriorityLevel;\n\n  try {\n    if (enableProfiling) {\n      try {\n        return workLoop(hasTimeRemaining, initialTime);\n      } catch (error) {\n        if (currentTask !== null) {\n          var currentTime = exports.unstable_now();\n          markTaskErrored(currentTask, currentTime);\n          currentTask.isQueued = false;\n        }\n\n        throw error;\n      }\n    } else {\n      // No catch in prod codepath.\n      return workLoop(hasTimeRemaining, initialTime);\n    }\n  } finally {\n    currentTask = null;\n    currentPriorityLevel = previousPriorityLevel;\n    isPerformingWork = false;\n\n    {\n      var _currentTime = exports.unstable_now();\n\n      markSchedulerSuspended(_currentTime);\n    }\n  }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n  var currentTime = initialTime;\n  advanceTimers(currentTime);\n  currentTask = peek(taskQueue);\n\n  while (currentTask !== null && !(enableSchedulerDebugging )) {\n    if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n      // This currentTask hasn't expired, and we've reached the deadline.\n      break;\n    }\n\n    var callback = currentTask.callback;\n\n    if (callback !== null) {\n      currentTask.callback = null;\n      currentPriorityLevel = currentTask.priorityLevel;\n      var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n      markTaskRun(currentTask, currentTime);\n      var continuationCallback = callback(didUserCallbackTimeout);\n      currentTime = exports.unstable_now();\n\n      if (typeof continuationCallback === 'function') {\n        currentTask.callback = continuationCallback;\n        markTaskYield(currentTask, currentTime);\n      } else {\n        {\n          markTaskCompleted(currentTask, currentTime);\n          currentTask.isQueued = false;\n        }\n\n        if (currentTask === peek(taskQueue)) {\n          pop(taskQueue);\n        }\n      }\n\n      advanceTimers(currentTime);\n    } else {\n      pop(taskQueue);\n    }\n\n    currentTask = peek(taskQueue);\n  } // Return whether there's additional work\n\n\n  if (currentTask !== null) {\n    return true;\n  } else {\n    var firstTimer = peek(timerQueue);\n\n    if (firstTimer !== null) {\n      requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n    }\n\n    return false;\n  }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n  switch (priorityLevel) {\n    case ImmediatePriority:\n    case UserBlockingPriority:\n    case NormalPriority:\n    case LowPriority:\n    case IdlePriority:\n      break;\n\n    default:\n      priorityLevel = NormalPriority;\n  }\n\n  var previousPriorityLevel = currentPriorityLevel;\n  currentPriorityLevel = priorityLevel;\n\n  try {\n    return eventHandler();\n  } finally {\n    currentPriorityLevel = previousPriorityLevel;\n  }\n}\n\nfunction unstable_next(eventHandler) {\n  var priorityLevel;\n\n  switch (currentPriorityLevel) {\n    case ImmediatePriority:\n    case UserBlockingPriority:\n    case NormalPriority:\n      // Shift down to normal priority\n      priorityLevel = NormalPriority;\n      break;\n\n    default:\n      // Anything lower than normal priority should remain at the current level.\n      priorityLevel = currentPriorityLevel;\n      break;\n  }\n\n  var previousPriorityLevel = currentPriorityLevel;\n  currentPriorityLevel = priorityLevel;\n\n  try {\n    return eventHandler();\n  } finally {\n    currentPriorityLevel = previousPriorityLevel;\n  }\n}\n\nfunction unstable_wrapCallback(callback) {\n  var parentPriorityLevel = currentPriorityLevel;\n  return function () {\n    // This is a fork of runWithPriority, inlined for performance.\n    var previousPriorityLevel = currentPriorityLevel;\n    currentPriorityLevel = parentPriorityLevel;\n\n    try {\n      return callback.apply(this, arguments);\n    } finally {\n      currentPriorityLevel = previousPriorityLevel;\n    }\n  };\n}\n\nfunction timeoutForPriorityLevel(priorityLevel) {\n  switch (priorityLevel) {\n    case ImmediatePriority:\n      return IMMEDIATE_PRIORITY_TIMEOUT;\n\n    case UserBlockingPriority:\n      return USER_BLOCKING_PRIORITY;\n\n    case IdlePriority:\n      return IDLE_PRIORITY;\n\n    case LowPriority:\n      return LOW_PRIORITY_TIMEOUT;\n\n    case NormalPriority:\n    default:\n      return NORMAL_PRIORITY_TIMEOUT;\n  }\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n  var currentTime = exports.unstable_now();\n  var startTime;\n  var timeout;\n\n  if (typeof options === 'object' && options !== null) {\n    var delay = options.delay;\n\n    if (typeof delay === 'number' && delay > 0) {\n      startTime = currentTime + delay;\n    } else {\n      startTime = currentTime;\n    }\n\n    timeout = typeof options.timeout === 'number' ? options.timeout : timeoutForPriorityLevel(priorityLevel);\n  } else {\n    timeout = timeoutForPriorityLevel(priorityLevel);\n    startTime = currentTime;\n  }\n\n  var expirationTime = startTime + timeout;\n  var newTask = {\n    id: taskIdCounter++,\n    callback: callback,\n    priorityLevel: priorityLevel,\n    startTime: startTime,\n    expirationTime: expirationTime,\n    sortIndex: -1\n  };\n\n  {\n    newTask.isQueued = false;\n  }\n\n  if (startTime > currentTime) {\n    // This is a delayed task.\n    newTask.sortIndex = startTime;\n    push(timerQueue, newTask);\n\n    if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n      // All tasks are delayed, and this is the task with the earliest delay.\n      if (isHostTimeoutScheduled) {\n        // Cancel an existing timeout.\n        cancelHostTimeout();\n      } else {\n        isHostTimeoutScheduled = true;\n      } // Schedule a timeout.\n\n\n      requestHostTimeout(handleTimeout, startTime - currentTime);\n    }\n  } else {\n    newTask.sortIndex = expirationTime;\n    push(taskQueue, newTask);\n\n    {\n      markTaskStart(newTask, currentTime);\n      newTask.isQueued = true;\n    } // Schedule a host callback, if needed. If we're already performing work,\n    // wait until the next time we yield.\n\n\n    if (!isHostCallbackScheduled && !isPerformingWork) {\n      isHostCallbackScheduled = true;\n      requestHostCallback(flushWork);\n    }\n  }\n\n  return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n  if (!isHostCallbackScheduled && !isPerformingWork) {\n    isHostCallbackScheduled = true;\n    requestHostCallback(flushWork);\n  }\n}\n\nfunction unstable_getFirstCallbackNode() {\n  return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n  {\n    if (task.isQueued) {\n      var currentTime = exports.unstable_now();\n      markTaskCanceled(task, currentTime);\n      task.isQueued = false;\n    }\n  } // Null out the callback to indicate the task has been canceled. (Can't\n  // remove from the queue because you can't remove arbitrary nodes from an\n  // array based heap, only the first one.)\n\n\n  task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n  return currentPriorityLevel;\n}\n\nfunction unstable_shouldYield() {\n  var currentTime = exports.unstable_now();\n  advanceTimers(currentTime);\n  var firstTask = peek(taskQueue);\n  return firstTask !== currentTask && currentTask !== null && firstTask !== null && firstTask.callback !== null && firstTask.startTime <= currentTime && firstTask.expirationTime < currentTask.expirationTime || shouldYieldToHost();\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling =  {\n  startLoggingProfilingEvents: startLoggingProfilingEvents,\n  stopLoggingProfilingEvents: stopLoggingProfilingEvents,\n  sharedProfilingBuffer: sharedProfilingBuffer\n} ;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = unstable_shouldYield;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n  })();\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}