{"version":3,"file":"vendor.jquery-ui-9adaaea6.740dca2917385ed1.bundle.js","mappings":"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","sources":["webpack://client-app/./node_modules/jquery-ui/ui/widgets/draggable.js","webpack://client-app/./node_modules/jquery-ui/ui/widgets/mouse.js"],"sourcesContent":["/*!\n * jQuery UI Draggable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Draggable\n//>>group: Interactions\n//>>description: Enables dragging functionality for any element.\n//>>docs: http://api.jqueryui.com/draggable/\n//>>demos: http://jqueryui.com/draggable/\n//>>css.structure: ../../themes/base/draggable.css\n\n( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [\n\t\t\t\"jquery\",\n\t\t\t\"./mouse\",\n\t\t\t\"../data\",\n\t\t\t\"../plugin\",\n\t\t\t\"../safe-active-element\",\n\t\t\t\"../safe-blur\",\n\t\t\t\"../scroll-parent\",\n\t\t\t\"../version\",\n\t\t\t\"../widget\"\n\t\t], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.widget( \"ui.draggable\", $.ui.mouse, {\n\tversion: \"1.13.2\",\n\twidgetEventPrefix: \"drag\",\n\toptions: {\n\t\taddClasses: true,\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectToSortable: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\tiframeFix: false,\n\t\topacity: false,\n\t\trefreshPositions: false,\n\t\trevert: false,\n\t\trevertDuration: 500,\n\t\tscope: \"default\",\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tsnap: false,\n\t\tsnapMode: \"both\",\n\t\tsnapTolerance: 20,\n\t\tstack: false,\n\t\tzIndex: false,\n\n\t\t// Callbacks\n\t\tdrag: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\t_create: function() {\n\n\t\tif ( this.options.helper === \"original\" ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\t\tif ( this.options.addClasses ) {\n\t\t\tthis._addClass( \"ui-draggable\" );\n\t\t}\n\t\tthis._setHandleClassName();\n\n\t\tthis._mouseInit();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._removeHandleClassName();\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_destroy: function() {\n\t\tif ( ( this.helper || this.element ).is( \".ui-draggable-dragging\" ) ) {\n\t\t\tthis.destroyOnClear = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._removeHandleClassName();\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function( event ) {\n\t\tvar o = this.options;\n\n\t\t// Among others, prevent a drag on a resizable-handle\n\t\tif ( this.helper || o.disabled ||\n\t\t\t\t$( event.target ).closest( \".ui-resizable-handle\" ).length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t//Quit if we're not on a valid handle\n\t\tthis.handle = this._getHandle( event );\n\t\tif ( !this.handle ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._blurActiveElement( event );\n\n\t\tthis._blockFrames( o.iframeFix === true ? \"iframe\" : o.iframeFix );\n\n\t\treturn true;\n\n\t},\n\n\t_blockFrames: function( selector ) {\n\t\tthis.iframeBlocks = this.document.find( selector ).map( function() {\n\t\t\tvar iframe = $( this );\n\n\t\t\treturn $( \"
\" )\n\t\t\t\t.css( \"position\", \"absolute\" )\n\t\t\t\t.appendTo( iframe.parent() )\n\t\t\t\t.outerWidth( iframe.outerWidth() )\n\t\t\t\t.outerHeight( iframe.outerHeight() )\n\t\t\t\t.offset( iframe.offset() )[ 0 ];\n\t\t} );\n\t},\n\n\t_unblockFrames: function() {\n\t\tif ( this.iframeBlocks ) {\n\t\t\tthis.iframeBlocks.remove();\n\t\t\tdelete this.iframeBlocks;\n\t\t}\n\t},\n\n\t_blurActiveElement: function( event ) {\n\t\tvar activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),\n\t\t\ttarget = $( event.target );\n\n\t\t// Don't blur if the event occurred on an element that is within\n\t\t// the currently focused element\n\t\t// See #10527, #12472\n\t\tif ( target.closest( activeElement ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Blur any element that currently has focus, see #4261\n\t\t$.ui.safeBlur( activeElement );\n\t},\n\n\t_mouseStart: function( event ) {\n\n\t\tvar o = this.options;\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper( event );\n\n\t\tthis._addClass( this.helper, \"ui-draggable-dragging\" );\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//If ddmanager is used for droppables, set the global draggable\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Store the helper's css position\n\t\tthis.cssPosition = this.helper.css( \"position\" );\n\t\tthis.scrollParent = this.helper.scrollParent( true );\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tthis.hasFixedAncestor = this.helper.parents().filter( function() {\n\t\t\t\treturn $( this ).css( \"position\" ) === \"fixed\";\n\t\t\t} ).length > 0;\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.positionAbs = this.element.offset();\n\t\tthis._refreshOffsets( event );\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this.position = this._generatePosition( event, false );\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\tif ( o.cursorAt ) {\n\t\t\tthis._adjustOffsetFromHelper( o.cursorAt );\n\t\t}\n\n\t\t//Set a containment if given in the options\n\t\tthis._setContainment();\n\n\t\t//Trigger event + callbacks\n\t\tif ( this._trigger( \"start\", event ) === false ) {\n\t\t\tthis._clear();\n\t\t\treturn false;\n\t\t}\n\n\t\t//Recache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//Prepare the droppable offsets\n\t\tif ( $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t}\n\n\t\t// Execute the drag once - this causes the helper not to be visible before getting its\n\t\t// correct position\n\t\tthis._mouseDrag( event, true );\n\n\t\t// If the ddmanager is used for droppables, inform the manager that dragging has started\n\t\t// (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStart( this, event );\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t_refreshOffsets: function( event ) {\n\t\tthis.offset = {\n\t\t\ttop: this.positionAbs.top - this.margins.top,\n\t\t\tleft: this.positionAbs.left - this.margins.left,\n\t\t\tscroll: false,\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset()\n\t\t};\n\n\t\tthis.offset.click = {\n\t\t\tleft: event.pageX - this.offset.left,\n\t\t\ttop: event.pageY - this.offset.top\n\t\t};\n\t},\n\n\t_mouseDrag: function( event, noPropagation ) {\n\n\t\t// reset any necessary cached properties (see #5009)\n\t\tif ( this.hasFixedAncestor ) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition( event, true );\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\t//Call plugins and callbacks and use the resulting position if something is returned\n\t\tif ( !noPropagation ) {\n\t\t\tvar ui = this._uiHash();\n\t\t\tif ( this._trigger( \"drag\", event, ui ) === false ) {\n\t\t\t\tthis._mouseUp( new $.Event( \"mouseup\", event ) );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.position = ui.position;\n\t\t}\n\n\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\n\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\n\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.drag( this, event );\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function( event ) {\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tvar that = this,\n\t\t\tdropped = false;\n\t\tif ( $.ui.ddmanager && !this.options.dropBehaviour ) {\n\t\t\tdropped = $.ui.ddmanager.drop( this, event );\n\t\t}\n\n\t\t//if a drop comes from outside (a sortable)\n\t\tif ( this.dropped ) {\n\t\t\tdropped = this.dropped;\n\t\t\tthis.dropped = false;\n\t\t}\n\n\t\tif ( ( this.options.revert === \"invalid\" && !dropped ) ||\n\t\t\t\t( this.options.revert === \"valid\" && dropped ) ||\n\t\t\t\tthis.options.revert === true || ( typeof this.options.revert === \"function\" &&\n\t\t\t\tthis.options.revert.call( this.element, dropped ) )\n\t\t) {\n\t\t\t$( this.helper ).animate(\n\t\t\t\tthis.originalPosition,\n\t\t\t\tparseInt( this.options.revertDuration, 10 ),\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( that._trigger( \"stop\", event ) !== false ) {\n\t\t\t\t\t\tthat._clear();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tif ( this._trigger( \"stop\", event ) !== false ) {\n\t\t\t\tthis._clear();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis._unblockFrames();\n\n\t\t// If the ddmanager is used for droppables, inform the manager that dragging has stopped\n\t\t// (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStop( this, event );\n\t\t}\n\n\t\t// Only need to focus if the event occurred on the draggable itself, see #10527\n\t\tif ( this.handleElement.is( event.target ) ) {\n\n\t\t\t// The interaction is over; whether or not the click resulted in a drag,\n\t\t\t// focus the element\n\t\t\tthis.element.trigger( \"focus\" );\n\t\t}\n\n\t\treturn $.ui.mouse.prototype._mouseUp.call( this, event );\n\t},\n\n\tcancel: function() {\n\n\t\tif ( this.helper.is( \".ui-draggable-dragging\" ) ) {\n\t\t\tthis._mouseUp( new $.Event( \"mouseup\", { target: this.element[ 0 ] } ) );\n\t\t} else {\n\t\t\tthis._clear();\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\t_getHandle: function( event ) {\n\t\treturn this.options.handle ?\n\t\t\t!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :\n\t\t\ttrue;\n\t},\n\n\t_setHandleClassName: function() {\n\t\tthis.handleElement = this.options.handle ?\n\t\t\tthis.element.find( this.options.handle ) : this.element;\n\t\tthis._addClass( this.handleElement, \"ui-draggable-handle\" );\n\t},\n\n\t_removeHandleClassName: function() {\n\t\tthis._removeClass( this.handleElement, \"ui-draggable-handle\" );\n\t},\n\n\t_createHelper: function( event ) {\n\n\t\tvar o = this.options,\n\t\t\thelperIsFunction = typeof o.helper === \"function\",\n\t\t\thelper = helperIsFunction ?\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :\n\t\t\t\t( o.helper === \"clone\" ?\n\t\t\t\t\tthis.element.clone().removeAttr( \"id\" ) :\n\t\t\t\t\tthis.element );\n\n\t\tif ( !helper.parents( \"body\" ).length ) {\n\t\t\thelper.appendTo( ( o.appendTo === \"parent\" ?\n\t\t\t\tthis.element[ 0 ].parentNode :\n\t\t\t\to.appendTo ) );\n\t\t}\n\n\t\t// Http://bugs.jqueryui.com/ticket/9446\n\t\t// a helper function can return the original element\n\t\t// which wouldn't have been set to relative in _create\n\t\tif ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\n\t\tif ( helper[ 0 ] !== this.element[ 0 ] &&\n\t\t\t\t!( /(fixed|absolute)/ ).test( helper.css( \"position\" ) ) ) {\n\t\t\thelper.css( \"position\", \"absolute\" );\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_setPositionRelative: function() {\n\t\tif ( !( /^(?:r|a|f)/ ).test( this.element.css( \"position\" ) ) ) {\n\t\t\tthis.element[ 0 ].style.position = \"relative\";\n\t\t}\n\t},\n\n\t_adjustOffsetFromHelper: function( obj ) {\n\t\tif ( typeof obj === \"string\" ) {\n\t\t\tobj = obj.split( \" \" );\n\t\t}\n\t\tif ( Array.isArray( obj ) ) {\n\t\t\tobj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };\n\t\t}\n\t\tif ( \"left\" in obj ) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ( \"right\" in obj ) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ( \"top\" in obj ) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ( \"bottom\" in obj ) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_isRootNode: function( element ) {\n\t\treturn ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tvar po = this.offsetParent.offset(),\n\t\t\tdocument = this.document[ 0 ];\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the\n\t\t// following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the\n\t\t// next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't\n\t\t// the document, which means that the scroll is included in the initial calculation of the\n\t\t// offset of the parent, and never recalculated upon drag\n\t\tif ( this.cssPosition === \"absolute\" && this.scrollParent[ 0 ] !== document &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + ( parseInt( this.offsetParent.css( \"borderTopWidth\" ), 10 ) || 0 ),\n\t\t\tleft: po.left + ( parseInt( this.offsetParent.css( \"borderLeftWidth\" ), 10 ) || 0 )\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\t\tif ( this.cssPosition !== \"relative\" ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\tvar p = this.element.position(),\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: p.top - ( parseInt( this.helper.css( \"top\" ), 10 ) || 0 ) +\n\t\t\t\t( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),\n\t\t\tleft: p.left - ( parseInt( this.helper.css( \"left\" ), 10 ) || 0 ) +\n\t\t\t\t( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )\n\t\t};\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: ( parseInt( this.element.css( \"marginLeft\" ), 10 ) || 0 ),\n\t\t\ttop: ( parseInt( this.element.css( \"marginTop\" ), 10 ) || 0 ),\n\t\t\tright: ( parseInt( this.element.css( \"marginRight\" ), 10 ) || 0 ),\n\t\t\tbottom: ( parseInt( this.element.css( \"marginBottom\" ), 10 ) || 0 )\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar isUserScrollable, c, ce,\n\t\t\to = this.options,\n\t\t\tdocument = this.document[ 0 ];\n\n\t\tthis.relativeContainer = null;\n\n\t\tif ( !o.containment ) {\n\t\t\tthis.containment = null;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"window\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\t$( window ).scrollLeft() + $( window ).width() -\n\t\t\t\t\tthis.helperProportions.width - this.margins.left,\n\t\t\t\t$( window ).scrollTop() +\n\t\t\t\t\t( $( window ).height() || document.body.parentNode.scrollHeight ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"document\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t$( document ).width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t( $( document ).height() || document.body.parentNode.scrollHeight ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment.constructor === Array ) {\n\t\t\tthis.containment = o.containment;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"parent\" ) {\n\t\t\to.containment = this.helper[ 0 ].parentNode;\n\t\t}\n\n\t\tc = $( o.containment );\n\t\tce = c[ 0 ];\n\n\t\tif ( !ce ) {\n\t\t\treturn;\n\t\t}\n\n\t\tisUserScrollable = /(scroll|auto)/.test( c.css( \"overflow\" ) );\n\n\t\tthis.containment = [\n\t\t\t( parseInt( c.css( \"borderLeftWidth\" ), 10 ) || 0 ) +\n\t\t\t\t( parseInt( c.css( \"paddingLeft\" ), 10 ) || 0 ),\n\t\t\t( parseInt( c.css( \"borderTopWidth\" ), 10 ) || 0 ) +\n\t\t\t\t( parseInt( c.css( \"paddingTop\" ), 10 ) || 0 ),\n\t\t\t( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\n\t\t\t\t( parseInt( c.css( \"borderRightWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingRight\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.width -\n\t\t\t\tthis.margins.left -\n\t\t\t\tthis.margins.right,\n\t\t\t( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\n\t\t\t\t( parseInt( c.css( \"borderBottomWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingBottom\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.height -\n\t\t\t\tthis.margins.top -\n\t\t\t\tthis.margins.bottom\n\t\t];\n\t\tthis.relativeContainer = c;\n\t},\n\n\t_convertPositionTo: function( d, pos ) {\n\n\t\tif ( !pos ) {\n\t\t\tpos = this.position;\n\t\t}\n\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.top\t+\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top * mod -\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.top :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.left +\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left * mod\t-\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.left :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function( event, constrainPosition ) {\n\n\t\tvar containment, co, top, left,\n\t\t\to = this.options,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY;\n\n\t\t// Cache the scroll\n\t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\n\t\t\tthis.offset.scroll = {\n\t\t\t\ttop: this.scrollParent.scrollTop(),\n\t\t\t\tleft: this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\t// If we are not dragging yet, we won't check for options\n\t\tif ( constrainPosition ) {\n\t\t\tif ( this.containment ) {\n\t\t\t\tif ( this.relativeContainer ) {\n\t\t\t\t\tco = this.relativeContainer.offset();\n\t\t\t\t\tcontainment = [\n\t\t\t\t\t\tthis.containment[ 0 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 1 ] + co.top,\n\t\t\t\t\t\tthis.containment[ 2 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 3 ] + co.top\n\t\t\t\t\t];\n\t\t\t\t} else {\n\t\t\t\t\tcontainment = this.containment;\n\t\t\t\t}\n\n\t\t\t\tif ( event.pageX - this.offset.click.left < containment[ 0 ] ) {\n\t\t\t\t\tpageX = containment[ 0 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top < containment[ 1 ] ) {\n\t\t\t\t\tpageY = containment[ 1 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif ( event.pageX - this.offset.click.left > containment[ 2 ] ) {\n\t\t\t\t\tpageX = containment[ 2 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top > containment[ 3 ] ) {\n\t\t\t\t\tpageY = containment[ 3 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( o.grid ) {\n\n\t\t\t\t//Check for grid elements set to 0 to prevent divide by 0 error causing invalid\n\t\t\t\t// argument errors in IE (see ticket #6950)\n\t\t\t\ttop = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY -\n\t\t\t\t\tthis.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY;\n\t\t\t\tpageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] ||\n\t\t\t\t\ttop - this.offset.click.top > containment[ 3 ] ) ?\n\t\t\t\t\t\ttop :\n\t\t\t\t\t\t( ( top - this.offset.click.top >= containment[ 1 ] ) ?\n\t\t\t\t\t\t\ttop - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top;\n\n\t\t\t\tleft = o.grid[ 0 ] ? this.originalPageX +\n\t\t\t\t\tMath.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] :\n\t\t\t\t\tthis.originalPageX;\n\t\t\t\tpageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] ||\n\t\t\t\t\tleft - this.offset.click.left > containment[ 2 ] ) ?\n\t\t\t\t\t\tleft :\n\t\t\t\t\t\t( ( left - this.offset.click.left >= containment[ 0 ] ) ?\n\t\t\t\t\t\t\tleft - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"y\" ) {\n\t\t\t\tpageX = this.originalPageX;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"x\" ) {\n\t\t\t\tpageY = this.originalPageY;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageY -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.top -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top +\n\t\t\t\t( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.top :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.top ) )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageX -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.left -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left +\n\t\t\t\t( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.left :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.left ) )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_clear: function() {\n\t\tthis._removeClass( this.helper, \"ui-draggable-dragging\" );\n\t\tif ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) {\n\t\t\tthis.helper.remove();\n\t\t}\n\t\tthis.helper = null;\n\t\tthis.cancelHelperRemoval = false;\n\t\tif ( this.destroyOnClear ) {\n\t\t\tthis.destroy();\n\t\t}\n\t},\n\n\t// From now on bulk stuff - mainly helpers\n\n\t_trigger: function( type, event, ui ) {\n\t\tui = ui || this._uiHash();\n\t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\n\n\t\t// Absolute position and offset (see #6884 ) have to be recalculated after plugins\n\t\tif ( /^(drag|start|stop)/.test( type ) ) {\n\t\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\t\t\tui.offset = this.positionAbs;\n\t\t}\n\t\treturn $.Widget.prototype._trigger.call( this, type, event, ui );\n\t},\n\n\tplugins: {},\n\n\t_uiHash: function() {\n\t\treturn {\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\toriginalPosition: this.originalPosition,\n\t\t\toffset: this.positionAbs\n\t\t};\n\t}\n\n} );\n\n$.ui.plugin.add( \"draggable\", \"connectToSortable\", {\n\tstart: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t} );\n\n\t\tdraggable.sortables = [];\n\t\t$( draggable.options.connectToSortable ).each( function() {\n\t\t\tvar sortable = $( this ).sortable( \"instance\" );\n\n\t\t\tif ( sortable && !sortable.options.disabled ) {\n\t\t\t\tdraggable.sortables.push( sortable );\n\n\t\t\t\t// RefreshPositions is called at drag start to refresh the containerCache\n\t\t\t\t// which is used in drag. This ensures it's initialized and synchronized\n\t\t\t\t// with any changes that might have happened on the page since initialization.\n\t\t\t\tsortable.refreshPositions();\n\t\t\t\tsortable._trigger( \"activate\", event, uiSortable );\n\t\t\t}\n\t\t} );\n\t},\n\tstop: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t} );\n\n\t\tdraggable.cancelHelperRemoval = false;\n\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar sortable = this;\n\n\t\t\tif ( sortable.isOver ) {\n\t\t\t\tsortable.isOver = 0;\n\n\t\t\t\t// Allow this sortable to handle removing the helper\n\t\t\t\tdraggable.cancelHelperRemoval = true;\n\t\t\t\tsortable.cancelHelperRemoval = false;\n\n\t\t\t\t// Use _storedCSS To restore properties in the sortable,\n\t\t\t\t// as this also handles revert (#9675) since the draggable\n\t\t\t\t// may have modified them in unexpected ways (#8809)\n\t\t\t\tsortable._storedCSS = {\n\t\t\t\t\tposition: sortable.placeholder.css( \"position\" ),\n\t\t\t\t\ttop: sortable.placeholder.css( \"top\" ),\n\t\t\t\t\tleft: sortable.placeholder.css( \"left\" )\n\t\t\t\t};\n\n\t\t\t\tsortable._mouseStop( event );\n\n\t\t\t\t// Once drag has ended, the sortable should return to using\n\t\t\t\t// its original helper, not the shared helper from draggable\n\t\t\t\tsortable.options.helper = sortable.options._helper;\n\t\t\t} else {\n\n\t\t\t\t// Prevent this Sortable from removing the helper.\n\t\t\t\t// However, don't set the draggable to remove the helper\n\t\t\t\t// either as another connected Sortable may yet handle the removal.\n\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\tsortable._trigger( \"deactivate\", event, uiSortable );\n\t\t\t}\n\t\t} );\n\t},\n\tdrag: function( event, ui, draggable ) {\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar innermostIntersecting = false,\n\t\t\t\tsortable = this;\n\n\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\tsortable.positionAbs = draggable.positionAbs;\n\t\t\tsortable.helperProportions = draggable.helperProportions;\n\t\t\tsortable.offset.click = draggable.offset.click;\n\n\t\t\tif ( sortable._intersectsWith( sortable.containerCache ) ) {\n\t\t\t\tinnermostIntersecting = true;\n\n\t\t\t\t$.each( draggable.sortables, function() {\n\n\t\t\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\t\t\tthis.positionAbs = draggable.positionAbs;\n\t\t\t\t\tthis.helperProportions = draggable.helperProportions;\n\t\t\t\t\tthis.offset.click = draggable.offset.click;\n\n\t\t\t\t\tif ( this !== sortable &&\n\t\t\t\t\t\t\tthis._intersectsWith( this.containerCache ) &&\n\t\t\t\t\t\t\t$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {\n\t\t\t\t\t\tinnermostIntersecting = false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn innermostIntersecting;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( innermostIntersecting ) {\n\n\t\t\t\t// If it intersects, we use a little isOver variable and set it once,\n\t\t\t\t// so that the move-in stuff gets fired only once.\n\t\t\t\tif ( !sortable.isOver ) {\n\t\t\t\t\tsortable.isOver = 1;\n\n\t\t\t\t\t// Store draggable's parent in case we need to reappend to it later.\n\t\t\t\t\tdraggable._parent = ui.helper.parent();\n\n\t\t\t\t\tsortable.currentItem = ui.helper\n\t\t\t\t\t\t.appendTo( sortable.element )\n\t\t\t\t\t\t.data( \"ui-sortable-item\", true );\n\n\t\t\t\t\t// Store helper option to later restore it\n\t\t\t\t\tsortable.options._helper = sortable.options.helper;\n\n\t\t\t\t\tsortable.options.helper = function() {\n\t\t\t\t\t\treturn ui.helper[ 0 ];\n\t\t\t\t\t};\n\n\t\t\t\t\t// Fire the start events of the sortable with our passed browser event,\n\t\t\t\t\t// and our own helper (so it doesn't create a new one)\n\t\t\t\t\tevent.target = sortable.currentItem[ 0 ];\n\t\t\t\t\tsortable._mouseCapture( event, true );\n\t\t\t\t\tsortable._mouseStart( event, true, true );\n\n\t\t\t\t\t// Because the browser event is way off the new appended portlet,\n\t\t\t\t\t// modify necessary variables to reflect the changes\n\t\t\t\t\tsortable.offset.click.top = draggable.offset.click.top;\n\t\t\t\t\tsortable.offset.click.left = draggable.offset.click.left;\n\t\t\t\t\tsortable.offset.parent.left -= draggable.offset.parent.left -\n\t\t\t\t\t\tsortable.offset.parent.left;\n\t\t\t\t\tsortable.offset.parent.top -= draggable.offset.parent.top -\n\t\t\t\t\t\tsortable.offset.parent.top;\n\n\t\t\t\t\tdraggable._trigger( \"toSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is in a valid drop zone,\n\t\t\t\t\t// used solely in the revert option to handle \"valid/invalid\".\n\t\t\t\t\tdraggable.dropped = sortable.element;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables in the case that\n\t\t\t\t\t// adding to one sortable changes the location of the other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Hack so receive/update callbacks work (mostly)\n\t\t\t\t\tdraggable.currentItem = draggable.element;\n\t\t\t\t\tsortable.fromOutside = draggable;\n\t\t\t\t}\n\n\t\t\t\tif ( sortable.currentItem ) {\n\t\t\t\t\tsortable._mouseDrag( event );\n\n\t\t\t\t\t// Copy the sortable's position because the draggable's can potentially reflect\n\t\t\t\t\t// a relative position, while sortable is always absolute, which the dragged\n\t\t\t\t\t// element has now become. (#8809)\n\t\t\t\t\tui.position = sortable.position;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// If it doesn't intersect with the sortable, and it intersected before,\n\t\t\t\t// we fake the drag stop of the sortable, but make sure it doesn't remove\n\t\t\t\t// the helper by using cancelHelperRemoval.\n\t\t\t\tif ( sortable.isOver ) {\n\n\t\t\t\t\tsortable.isOver = 0;\n\t\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\t\t// Calling sortable's mouseStop would trigger a revert,\n\t\t\t\t\t// so revert must be temporarily false until after mouseStop is called.\n\t\t\t\t\tsortable.options._revert = sortable.options.revert;\n\t\t\t\t\tsortable.options.revert = false;\n\n\t\t\t\t\tsortable._trigger( \"out\", event, sortable._uiHash( sortable ) );\n\t\t\t\t\tsortable._mouseStop( event, true );\n\n\t\t\t\t\t// Restore sortable behaviors that were modfied\n\t\t\t\t\t// when the draggable entered the sortable area (#9481)\n\t\t\t\t\tsortable.options.revert = sortable.options._revert;\n\t\t\t\t\tsortable.options.helper = sortable.options._helper;\n\n\t\t\t\t\tif ( sortable.placeholder ) {\n\t\t\t\t\t\tsortable.placeholder.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\t// Restore and recalculate the draggable's offset considering the sortable\n\t\t\t\t\t// may have modified them in unexpected ways. (#8809, #10669)\n\t\t\t\t\tui.helper.appendTo( draggable._parent );\n\t\t\t\t\tdraggable._refreshOffsets( event );\n\t\t\t\t\tui.position = draggable._generatePosition( event, true );\n\n\t\t\t\t\tdraggable._trigger( \"fromSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is no longer in a valid drop zone\n\t\t\t\t\tdraggable.dropped = false;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables just in case removing\n\t\t\t\t\t// from one sortable changes the location of other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"cursor\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( \"body\" ),\n\t\t\to = instance.options;\n\n\t\tif ( t.css( \"cursor\" ) ) {\n\t\t\to._cursor = t.css( \"cursor\" );\n\t\t}\n\t\tt.css( \"cursor\", o.cursor );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif ( o._cursor ) {\n\t\t\t$( \"body\" ).css( \"cursor\", o._cursor );\n\t\t}\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"opacity\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\t\tif ( t.css( \"opacity\" ) ) {\n\t\t\to._opacity = t.css( \"opacity\" );\n\t\t}\n\t\tt.css( \"opacity\", o.opacity );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif ( o._opacity ) {\n\t\t\t$( ui.helper ).css( \"opacity\", o._opacity );\n\t\t}\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"scroll\", {\n\tstart: function( event, ui, i ) {\n\t\tif ( !i.scrollParentNotHidden ) {\n\t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\n\t\t}\n\n\t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&\n\t\t\t\ti.scrollParentNotHidden[ 0 ].tagName !== \"HTML\" ) {\n\t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\n\t\t}\n\t},\n\tdrag: function( event, ui, i ) {\n\n\t\tvar o = i.options,\n\t\t\tscrolled = false,\n\t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\n\t\t\tdocument = i.document[ 0 ];\n\n\t\tif ( scrollParent !== document && scrollParent.tagName !== \"HTML\" ) {\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\n\t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\n\t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\n\t\t\t\tif ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed );\n\t\t\t\t} else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\n\t\t\t\tif ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollLeft(\n\t\t\t\t\t\t$( document ).scrollLeft() - o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t} else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollLeft(\n\t\t\t\t\t\t$( document ).scrollLeft() + o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( i, event );\n\t\t}\n\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"snap\", {\n\tstart: function( event, ui, i ) {\n\n\t\tvar o = i.options;\n\n\t\ti.snapElements = [];\n\n\t\t$( o.snap.constructor !== String ? ( o.snap.items || \":data(ui-draggable)\" ) : o.snap )\n\t\t\t.each( function() {\n\t\t\t\tvar $t = $( this ),\n\t\t\t\t\t$o = $t.offset();\n\t\t\t\tif ( this !== i.element[ 0 ] ) {\n\t\t\t\t\ti.snapElements.push( {\n\t\t\t\t\t\titem: this,\n\t\t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n\t\t\t\t\t\ttop: $o.top, left: $o.left\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t},\n\tdrag: function( event, ui, inst ) {\n\n\t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\n\t\t\to = inst.options,\n\t\t\td = o.snapTolerance,\n\t\t\tx1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,\n\t\t\ty1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;\n\n\t\tfor ( i = inst.snapElements.length - 1; i >= 0; i-- ) {\n\n\t\t\tl = inst.snapElements[ i ].left - inst.margins.left;\n\t\t\tr = l + inst.snapElements[ i ].width;\n\t\t\tt = inst.snapElements[ i ].top - inst.margins.top;\n\t\t\tb = t + inst.snapElements[ i ].height;\n\n\t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d ||\n\t\t\t\t\t!$.contains( inst.snapElements[ i ].item.ownerDocument,\n\t\t\t\t\tinst.snapElements[ i ].item ) ) {\n\t\t\t\tif ( inst.snapElements[ i ].snapping ) {\n\t\t\t\t\tif ( inst.options.snap.release ) {\n\t\t\t\t\t\tinst.options.snap.release.call(\n\t\t\t\t\t\t\tinst.element,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t$.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinst.snapElements[ i ].snapping = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( o.snapMode !== \"inner\" ) {\n\t\t\t\tts = Math.abs( t - y2 ) <= d;\n\t\t\t\tbs = Math.abs( b - y1 ) <= d;\n\t\t\t\tls = Math.abs( l - x2 ) <= d;\n\t\t\t\trs = Math.abs( r - x1 ) <= d;\n\t\t\t\tif ( ts ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: t - inst.helperProportions.height,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( bs ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: b,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( ls ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: l - inst.helperProportions.width\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: r\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfirst = ( ts || bs || ls || rs );\n\n\t\t\tif ( o.snapMode !== \"outer\" ) {\n\t\t\t\tts = Math.abs( t - y1 ) <= d;\n\t\t\t\tbs = Math.abs( b - y2 ) <= d;\n\t\t\t\tls = Math.abs( l - x1 ) <= d;\n\t\t\t\trs = Math.abs( r - x2 ) <= d;\n\t\t\t\tif ( ts ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: t,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( bs ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: b - inst.helperProportions.height,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( ls ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: l\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: r - inst.helperProportions.width\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) {\n\t\t\t\tif ( inst.options.snap.snap ) {\n\t\t\t\t\tinst.options.snap.snap.call(\n\t\t\t\t\t\tinst.element,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\t$.extend( inst._uiHash(), {\n\t\t\t\t\t\t\tsnapItem: inst.snapElements[ i ].item\n\t\t\t\t\t\t} ) );\n\t\t\t\t}\n\t\t\t}\n\t\t\tinst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first );\n\n\t\t}\n\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"stack\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar min,\n\t\t\to = instance.options,\n\t\t\tgroup = $.makeArray( $( o.stack ) ).sort( function( a, b ) {\n\t\t\t\treturn ( parseInt( $( a ).css( \"zIndex\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( b ).css( \"zIndex\" ), 10 ) || 0 );\n\t\t\t} );\n\n\t\tif ( !group.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tmin = parseInt( $( group[ 0 ] ).css( \"zIndex\" ), 10 ) || 0;\n\t\t$( group ).each( function( i ) {\n\t\t\t$( this ).css( \"zIndex\", min + i );\n\t\t} );\n\t\tthis.css( \"zIndex\", ( min + group.length ) );\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"zIndex\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\n\t\tif ( t.css( \"zIndex\" ) ) {\n\t\t\to._zIndex = t.css( \"zIndex\" );\n\t\t}\n\t\tt.css( \"zIndex\", o.zIndex );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\n\t\tif ( o._zIndex ) {\n\t\t\t$( ui.helper ).css( \"zIndex\", o._zIndex );\n\t\t}\n\t}\n} );\n\nreturn $.ui.draggable;\n\n} );\n","/*!\n * jQuery UI Mouse 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Mouse\n//>>group: Widgets\n//>>description: Abstracts mouse-based interactions to assist in creating certain widgets.\n//>>docs: http://api.jqueryui.com/mouse/\n\n( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [\n\t\t\t\"jquery\",\n\t\t\t\"../ie\",\n\t\t\t\"../version\",\n\t\t\t\"../widget\"\n\t\t], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\nvar mouseHandled = false;\n$( document ).on( \"mouseup\", function() {\n\tmouseHandled = false;\n} );\n\nreturn $.widget( \"ui.mouse\", {\n\tversion: \"1.13.2\",\n\toptions: {\n\t\tcancel: \"input, textarea, button, select, option\",\n\t\tdistance: 1,\n\t\tdelay: 0\n\t},\n\t_mouseInit: function() {\n\t\tvar that = this;\n\n\t\tthis.element\n\t\t\t.on( \"mousedown.\" + this.widgetName, function( event ) {\n\t\t\t\treturn that._mouseDown( event );\n\t\t\t} )\n\t\t\t.on( \"click.\" + this.widgetName, function( event ) {\n\t\t\t\tif ( true === $.data( event.target, that.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t\t\t$.removeData( event.target, that.widgetName + \".preventClickEvent\" );\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\tthis.started = false;\n\t},\n\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\n\t// other instances of mouse\n\t_mouseDestroy: function() {\n\t\tthis.element.off( \".\" + this.widgetName );\n\t\tif ( this._mouseMoveDelegate ) {\n\t\t\tthis.document\n\t\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\t\t}\n\t},\n\n\t_mouseDown: function( event ) {\n\n\t\t// don't let more than one widget handle mouseStart\n\t\tif ( mouseHandled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._mouseMoved = false;\n\n\t\t// We may have missed mouseup (out of window)\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseUp( event );\n\t\t}\n\n\t\tthis._mouseDownEvent = event;\n\n\t\tvar that = this,\n\t\t\tbtnIsLeft = ( event.which === 1 ),\n\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\n\t\t\t// disabled inputs (#7620)\n\t\t\telIsCancel = ( typeof this.options.cancel === \"string\" && event.target.nodeName ?\n\t\t\t\t$( event.target ).closest( this.options.cancel ).length : false );\n\t\tif ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.mouseDelayMet = !this.options.delay;\n\t\tif ( !this.mouseDelayMet ) {\n\t\t\tthis._mouseDelayTimer = setTimeout( function() {\n\t\t\t\tthat.mouseDelayMet = true;\n\t\t\t}, this.options.delay );\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted = ( this._mouseStart( event ) !== false );\n\t\t\tif ( !this._mouseStarted ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Click event may never have fired (Gecko & Opera)\n\t\tif ( true === $.data( event.target, this.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t$.removeData( event.target, this.widgetName + \".preventClickEvent\" );\n\t\t}\n\n\t\t// These delegates are required to keep context\n\t\tthis._mouseMoveDelegate = function( event ) {\n\t\t\treturn that._mouseMove( event );\n\t\t};\n\t\tthis._mouseUpDelegate = function( event ) {\n\t\t\treturn that._mouseUp( event );\n\t\t};\n\n\t\tthis.document\n\t\t\t.on( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.on( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tevent.preventDefault();\n\n\t\tmouseHandled = true;\n\t\treturn true;\n\t},\n\n\t_mouseMove: function( event ) {\n\n\t\t// Only check for mouseups outside the document if you've moved inside the document\n\t\t// at least once. This prevents the firing of mouseup in the case of IE<9, which will\n\t\t// fire a mousemove event if content is placed under the cursor. See #7778\n\t\t// Support: IE <9\n\t\tif ( this._mouseMoved ) {\n\n\t\t\t// IE mouseup check - mouseup happened when mouse was out of window\n\t\t\tif ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) &&\n\t\t\t\t\t!event.button ) {\n\t\t\t\treturn this._mouseUp( event );\n\n\t\t\t// Iframe mouseup check - mouseup occurred in another document\n\t\t\t} else if ( !event.which ) {\n\n\t\t\t\t// Support: Safari <=8 - 9\n\t\t\t\t// Safari sets which to 0 if you press any of the following keys\n\t\t\t\t// during a drag (#14461)\n\t\t\t\tif ( event.originalEvent.altKey || event.originalEvent.ctrlKey ||\n\t\t\t\t\t\tevent.originalEvent.metaKey || event.originalEvent.shiftKey ) {\n\t\t\t\t\tthis.ignoreMissingWhich = true;\n\t\t\t\t} else if ( !this.ignoreMissingWhich ) {\n\t\t\t\t\treturn this._mouseUp( event );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( event.which || event.button ) {\n\t\t\tthis._mouseMoved = true;\n\t\t}\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseDrag( event );\n\t\t\treturn event.preventDefault();\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted =\n\t\t\t\t( this._mouseStart( this._mouseDownEvent, event ) !== false );\n\t\t\tif ( this._mouseStarted ) {\n\t\t\t\tthis._mouseDrag( event );\n\t\t\t} else {\n\t\t\t\tthis._mouseUp( event );\n\t\t\t}\n\t\t}\n\n\t\treturn !this._mouseStarted;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis.document\n\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseStarted = false;\n\n\t\t\tif ( event.target === this._mouseDownEvent.target ) {\n\t\t\t\t$.data( event.target, this.widgetName + \".preventClickEvent\", true );\n\t\t\t}\n\n\t\t\tthis._mouseStop( event );\n\t\t}\n\n\t\tif ( this._mouseDelayTimer ) {\n\t\t\tclearTimeout( this._mouseDelayTimer );\n\t\t\tdelete this._mouseDelayTimer;\n\t\t}\n\n\t\tthis.ignoreMissingWhich = false;\n\t\tmouseHandled = false;\n\t\tevent.preventDefault();\n\t},\n\n\t_mouseDistanceMet: function( event ) {\n\t\treturn ( Math.max(\n\t\t\t\tMath.abs( this._mouseDownEvent.pageX - event.pageX ),\n\t\t\t\tMath.abs( this._mouseDownEvent.pageY - event.pageY )\n\t\t\t) >= this.options.distance\n\t\t);\n\t},\n\n\t_mouseDelayMet: function( /* event */ ) {\n\t\treturn this.mouseDelayMet;\n\t},\n\n\t// These are placeholder methods, to be overriden by extending plugin\n\t_mouseStart: function( /* event */ ) {},\n\t_mouseDrag: function( /* event */ ) {},\n\t_mouseStop: function( /* event */ ) {},\n\t_mouseCapture: function( /* event */ ) {\n\t\treturn true;\n\t}\n} );\n\n} );\n"],"names":["factory","$","widget","ui","mouse","version","widgetEventPrefix","options","addClasses","appendTo","axis","connectToSortable","containment","cursor","cursorAt","grid","handle","helper","iframeFix","opacity","refreshPositions","revert","revertDuration","scope","scroll","scrollSensitivity","scrollSpeed","snap","snapMode","snapTolerance","stack","zIndex","drag","start","stop","_create","this","_setPositionRelative","_addClass","_setHandleClassName","_mouseInit","_setOption","key","value","_super","_removeHandleClassName","_destroy","element","is","destroyOnClear","_mouseDestroy","_mouseCapture","event","o","disabled","target","closest","length","_getHandle","_blurActiveElement","_blockFrames","selector","iframeBlocks","document","find","map","iframe","css","parent","outerWidth","outerHeight","offset","_unblockFrames","remove","activeElement","safeActiveElement","safeBlur","_mouseStart","_createHelper","_cacheHelperProportions","ddmanager","current","_cacheMargins","cssPosition","scrollParent","offsetParent","hasFixedAncestor","parents","filter","positionAbs","_refreshOffsets","originalPosition","position","_generatePosition","originalPageX","pageX","originalPageY","pageY","_adjustOffsetFromHelper","_setContainment","_trigger","_clear","dropBehaviour","prepareOffsets","_mouseDrag","dragStart","top","margins","left","_getParentOffset","relative","_getRelativeOffset","click","noPropagation","_convertPositionTo","_uiHash","_mouseUp","Event","style","_mouseStop","that","dropped","drop","call","animate","parseInt","dragStop","handleElement","trigger","prototype","cancel","_removeClass","helperIsFunction","apply","clone","removeAttr","parentNode","test","obj","split","Array","isArray","helperProportions","width","right","height","bottom","_isRootNode","tagName","po","contains","scrollLeft","scrollTop","p","scrollIsRootNode","isUserScrollable","c","ce","relativeContainer","constructor","Math","max","scrollWidth","offsetWidth","scrollHeight","offsetHeight","body","window","d","pos","mod","constrainPosition","co","round","cancelHelperRemoval","destroy","type","plugin","Widget","plugins","add","draggable","uiSortable","extend","item","sortables","each","sortable","push","isOver","_storedCSS","placeholder","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","data","fromOutside","_revert","instance","t","_cursor","_opacity","i","scrollParentNotHidden","overflowOffset","scrolled","snapElements","String","items","$t","$o","inst","ts","bs","ls","rs","l","r","b","first","x1","x2","y1","y2","ownerDocument","snapping","release","snapItem","abs","min","group","makeArray","sort","a","_zIndex","mouseHandled","on","distance","delay","widgetName","_mouseDown","removeData","stopImmediatePropagation","started","off","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseDownEvent","btnIsLeft","which","elIsCancel","nodeName","mouseDelayMet","_mouseDelayTimer","setTimeout","_mouseDistanceMet","_mouseDelayMet","preventDefault","_mouseMove","ie","documentMode","button","originalEvent","altKey","ctrlKey","metaKey","shiftKey","ignoreMissingWhich","clearTimeout"],"sourceRoot":""}