/* Copyright 2016 The Chromium Authors. All Rights Reserved.
 *
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file or at
 * https://developers.google.com/open-source/licenses/bsd
 */
/* eslint-disable no-var */

// Defined in framework/js:core_scripts
var _hideID;
var _showID;
var _hideEl;
var _showEl;
var _showInstead;
var _toggleHidden;

var _selectAllIssues;
var _selectNoneIssues;

var _toggleRows;
var _toggleColumn;
var _toggleColumnUpdate;
var _addGroupBy;
var _addcol;
var _checkRangeSelect;
var _setRowLinks;
var _makeIssueLink;

var _onload;

var _handleListActions;
var _handleDetailActions;

var _loadStatusSelect;
var _fetchOptions;
var _setACOptions;
var _openIssueUpdateForm;
var _addAttachmentFields;
var _ignoreWidgetIfOpIsClear;

var _formatContextQueryArgs;
var _ctxArgs;
var _ctxCan;
var _ctxQuery;
var _ctxSortspec;
var _ctxGroupBy;
var _ctxDefaultColspec;
var _ctxStart;
var _ctxNum;
var _ctxResultsPerPage;

var _filterTo;
var _sortUp;
var _sortDown;

var _closeAllPopups;
var _closeSubmenus;
var _showRight;
var _showBelow;
var _highlightRow;
var _highlightRowCallback;
var _allColumnNames;

var _setFieldIDs;
var _selectTemplate;
var _saveTemplate;
var _newTemplate;
var _deleteTemplate;
var _switchTemplate;
var _templateNames;

var _confirmNovelStatus;
var _confirmNovelLabel;
var _lfidprefix;
var _allOrigLabels;
var _vallab;
var _exposeExistingLabelFields;
var _confirmDiscardEntry;
var _confirmDiscardUpdate;
var _checkPlusOne;
var _checkUnrestrict;

var _clearOnFirstEvent;
var _forceProperTableWidth;

var _acof;
var _acmo;
var _acse;
var _acstore;
var _acreg;
var _accomp;
var _acrob;

var _d;

var _getColspec;

var issueRefs;

var kibbles;
var _setupKibblesOnEntryPage;
var _setupKibblesOnListPage;
var _setupKibblesOnDetailPage;

var CS_env;

var _checkFieldNameOnServer;
var _checkLeafName;

var _addMultiFieldValueWidget;
var _removeMultiFieldValueWidget;
var console;
var _trimCommas;

var _initDragAndDrop;
