From 18f8a9c5a9fe1c02ecbda5f538147aa349b99b25 Mon Sep 17 00:00:00 2001 From: lauxley <tissotrobin@gmail.com> Date: Sun, 16 Dec 2018 20:22:17 +0100 Subject: [PATCH] Allow line creation, deletion, moving and resizing. --- app/apps/core/forms.py | 20 ++- app/apps/core/static/js/image_cards.js | 133 +++++++++++++++--- app/apps/core/urls.py | 1 - app/apps/core/views.py | 30 ++-- app/escriptorium/static/css/escriptorium.css | 18 ++- .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 342 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 316 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 3816 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 276 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 275 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 340 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../jquery/images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4549 bytes .../jquery/images/ui-icons_a83300_256x240.png | Bin 0 -> 4549 bytes .../jquery/images/ui-icons_cccccc_256x240.png | Bin 0 -> 6975 bytes .../jquery/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6299 bytes .../vendor/{ => jquery}/jquery-3.3.1.min.js | 0 .../static/vendor/jquery/jquery-ui.min.css | 7 + .../static/vendor/jquery/jquery-ui.min.js | 7 + .../vendor/jquery/jquery-ui.structure.min.css | 5 + .../vendor/jquery/jquery-ui.theme.min.css | 5 + app/escriptorium/templates/base.html | 2 +- .../templates/core/document_form.html | 11 +- 24 files changed, 195 insertions(+), 44 deletions(-) create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_glass_20_555555_1x400.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-icons_222222_256x240.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-icons_4b8e0b_256x240.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-icons_a83300_256x240.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-icons_cccccc_256x240.png create mode 100644 app/escriptorium/static/vendor/jquery/images/ui-icons_ffffff_256x240.png rename app/escriptorium/static/vendor/{ => jquery}/jquery-3.3.1.min.js (100%) create mode 100644 app/escriptorium/static/vendor/jquery/jquery-ui.min.css create mode 100644 app/escriptorium/static/vendor/jquery/jquery-ui.min.js create mode 100644 app/escriptorium/static/vendor/jquery/jquery-ui.structure.min.css create mode 100644 app/escriptorium/static/vendor/jquery/jquery-ui.theme.min.css diff --git a/app/apps/core/forms.py b/app/apps/core/forms.py index 74e495d5..cac2cb4e 100644 --- a/app/apps/core/forms.py +++ b/app/apps/core/forms.py @@ -1,9 +1,11 @@ +import json + from django import forms from django.forms.models import inlineformset_factory from django.utils.translation import gettext as _ from bootstrap.forms import BootstrapFormMixin -from core.models import Document, DocumentPart, DocumentMetadata, Typology +from core.models import Document, DocumentPart, DocumentMetadata, Typology, Line class DocumentForm(BootstrapFormMixin, forms.ModelForm): @@ -45,9 +47,9 @@ class MetadataForm(BootstrapFormMixin, forms.ModelForm): MetadataFormSet = inlineformset_factory(Document, DocumentMetadata, form=MetadataForm, extra=1, can_delete=True) - class DocumentPartUpdateForm(forms.ModelForm): index = forms.IntegerField(required=False, min_value=0) + lines = forms.CharField(required=False) class Meta: model = DocumentPart @@ -56,6 +58,20 @@ class DocumentPartUpdateForm(forms.ModelForm): def save(self, *args, **kwargs): if 'index' in self.cleaned_data and self.cleaned_data['index'] is not None: self.instance.to(self.cleaned_data['index']) + if 'lines' in self.cleaned_data and self.cleaned_data['lines']: + lines = json.loads(self.cleaned_data['lines']) + for line_ in lines: + if line_['pk'] is None: + Line.objects.create(document_part=self.instance, + box = line_['box']) + else: + line = Line.objects.get(pk=line_['pk']) + if 'delete' in line_ and line_['delete'] is True: + line.delete() + else: + line.box = line_['box'] + line.save() + return super().save(*args, **kwargs) diff --git a/app/apps/core/static/js/image_cards.js b/app/apps/core/static/js/image_cards.js index c9b84294..7f53f03c 100644 --- a/app/apps/core/static/js/image_cards.js +++ b/app/apps/core/static/js/image_cards.js @@ -34,7 +34,8 @@ class partCard { this.updateForm = $('.js-part-update-form', $new); this.deleteForm = $('.js-part-delete-form', $new); this.dropAfter = $('.js-drop', template).clone(); - + + // fill template $new.attr('id', $new.attr('id').replace('{pk}', this.pk)); $('img.card-img-top', $new).attr('data-src', this.thumbnailUrl); this.updateForm.attr('action', this.updateUrl); @@ -91,7 +92,7 @@ class partCard { this.deleteForm.on('submit', $.proxy(function(ev) { ev.preventDefault(); - if (!confirm("Are you sure?")) { return; } + if (!confirm("Do you really want to delete this image?")) { return; } this.delete(); }, this)); @@ -228,35 +229,43 @@ class partCard { } } - showLines() { - var box, line, ratio = $('#viewer-img').width() / this.sourceImg.width; + showLines(ratio) { + var line; for (var i=0; i<this.lines.length; i++) { line = this.lines[i]; - box = $('<div class="line-box"></div>'); - box.css({'left': line[0] * ratio, - 'top': line[1] * ratio, - 'width': (line[2] - line[0]) * ratio, - 'height': (line[3] - line[1]) * ratio}); - box.removeAttr('id'); - box.show(); - box.appendTo($('#viewer')); + new lineBox(this, line, ratio); } } showSegmentation() { + var ratio; var $viewer = $('#viewer'); $viewer.empty(); var $img = $('<img id="viewer-img" width="100%" src="'+this.sourceImg.url+'"/>'); $viewer.append($img); $('#viewer-img').on('load', $.proxy(function(ev) { + ratio = $('#viewer-img').width() / this.sourceImg.width; if (this.lines) { - this.showLines(); + this.showLines(ratio); } else { $.get(this.partUrl, $.proxy(function(data) { this.lines = data.lines; - this.showLines(); + this.showLines(ratio); }, this)); } }, this)); + + // create a new line + $img.on('dblclick', $.proxy(function(ev) { + var box = [ + Math.max(0, ev.pageX - $img.offset().left -30), + Math.max(0, ev.pageY - $img.offset().top -20), + Math.min($img.width(), ev.pageX - $img.offset().left +30), + Math.min($img.height(), ev.pageY - $img.offset().top +20) + ]; + console.log(ev.pageX, $img.offset().left); + var box_ = new lineBox(this, {pk: null, box: box}, ratio); + console.log(box, box_); + }, this)); } static fromPk(pk) { @@ -280,6 +289,99 @@ class partCard { } } +class lineBox { + constructor(part, line, imgRatio) { + this.part = part; + this.pk = line.pk; + this.imgRatio = imgRatio; + this.changed = false; + var $box = $('<div class="line-box"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div>'); + $box.css({'left': line.box[0] * imgRatio, + 'top': line.box[1] * imgRatio, + 'width': (line.box[2] - line.box[0]) * imgRatio, + 'height': (line.box[3] - line.box[1]) * imgRatio}); + $box.draggable({ + disabled: true, + containment: 'parent', + cursor: "grab", + stop: $.proxy(function(ev) { this.changed = true; }, this) + }); + $box.resizable({ + disabled: true, + stop: $.proxy(function(ev) { this.changed = true; }, this) + }); + + $box.data('lineBox', this); + $box.appendTo($('#viewer')); + this.$element = $box; + // we need to keep references to be able to unbind it + this.proxyUnselect = $.proxy(this.unselect, this); + this.proxyKeyboard = $.proxy(this.keyboard, this); + + // select a new line + if (this.pk === null) this.select(); + + $box.click($.proxy(function(ev) { + ev.stopPropagation(); // avoid bubbling to document that would trigger unselect + this.select(); + }, this)); + + $('.close', this.$element).click($.proxy(function(ev) { + ev.stopPropagation(); + this.delete(); + }, this)); + } + + getBox() { + var x1 = parseInt(this.$element.position().left / this.imgRatio); + var y1 = parseInt(this.$element.position().top / this.imgRatio); + var x2 = parseInt((this.$element.position().left + this.$element.width()) / this.imgRatio); + var y2 = parseInt((this.$element.position().top + this.$element.height()) / this.imgRatio); + return [x1, y1, x2, y2]; + } + keyboard(ev) { + if(!this.$element.is('.selected')) return; + if (ev.keyCode == 46) { + this.delete(); + } + else if (ev.keyCode == 37) { this.$element.animate({'left': '-=1px'}); } + else if (ev.keyCode == 38) { this.$element.animate({'top': '-=1px'}); } + else if (ev.keyCode == 39) { this.$element.animate({'left': '+=1px'}); } + else if (ev.keyCode == 40) { this.$element.animate({'top': '+=1px'}); } + } + select() { + if (this.$element.is('.selected')) return; + var previous = $('.line-box.selected'); + if (previous.length) { console.log(previous.data('lineBox')); previous.data('lineBox').unselect(); } + this.$element.addClass('selected'); + this.$element.draggable('enable'); + this.$element.resizable('enable'); + $(document).on('click', this.proxyUnselect); + $(document).on('keyup', this.proxyKeyboard); + } + unselect() { + $(document).off('keyup', this.proxykeyboard); + $(document).off('click', this.proxyUnselect); + this.$element.removeClass('selected'); + this.$element.draggable('disable'); + this.$element.resizable('disable'); + if (this.changed) { + this.part.upload({lines: JSON.stringify([{pk: this.pk, box: this.getBox()}])}); + this.changed = false; + } + } + delete() { + if (!confirm("Do you really want to delete this line?")) { return; } + if (this.pk !== null) { + this.part.upload({lines: JSON.stringify([{pk: this.pk, delete: true}])}); + } + $(document).unbind('keyup', this.proxykeyboard); + $(document).off('click', this.proxyUnselect); + this.$element.unbind(); + this.$element.remove(); + } +} + $(document).ready(function() { //************* Card ordering ************* $('#cards-container').on('dragover', '.js-drop', function(ev) { @@ -310,7 +412,7 @@ $(document).ready(function() { card.moveTo(index); }); - // update workflow icons + // update workflow icons, send by notification through web socket $('#alerts-container').on('part:workflow', function(ev, data) { var card = partCard.fromPk(data.id); card.workflow_state = data.value; @@ -342,7 +444,6 @@ $(document).ready(function() { } } }); - // processor buttons $('#select-all').click(function(ev) { var cards = partCard.getRange(0, $('#cards-container .card').length); diff --git a/app/apps/core/urls.py b/app/apps/core/urls.py index 3ed0e248..8b7a177d 100644 --- a/app/apps/core/urls.py +++ b/app/apps/core/urls.py @@ -14,6 +14,5 @@ urlpatterns = [ path('document/<int:pk>/update/upload-image/', UploadImageAjax.as_view(), name='document-upload-image'), path('document/<int:pk>/process/', DocumentPartsProcessAjax.as_view(), name='document-parts-process'), path('document/<int:pk>/part/<int:part_pk>/', DocumentPartAjax.as_view(), name='document-part'), - path('document/<int:pk>/part/<int:part_pk>/update/', UpdateDocumentPartAjax.as_view(), name='document-part-update'), path('document/<int:pk>/part/<int:part_pk>/delete/', DeleteDocumentPartAjax.as_view(), name='document-part-delete'), ] diff --git a/app/apps/core/views.py b/app/apps/core/views.py index c0e53d77..4ab9a94f 100644 --- a/app/apps/core/views.py +++ b/app/apps/core/views.py @@ -197,10 +197,10 @@ class UploadImageAjax(LoginRequiredMixin, CreateView): }), content_type="application/json") -class UpdateDocumentPartAjax(LoginRequiredMixin, UpdateView): +class DocumentPartAjax(LoginRequiredMixin, UpdateView): model = DocumentPart form_class = DocumentPartUpdateForm - http_method_names = ('post',) + http_method_names = ('get', 'post',) pk_url_kwarg = 'part_pk' def form_invalid(self, form): @@ -211,6 +211,15 @@ class UpdateDocumentPartAjax(LoginRequiredMixin, UpdateView): form.save() return HttpResponse(json.dumps({'status': 'ok'}), content_type="application/json") + + def get(self, request, *args, **kwargs): + self.object = self.get_object() + return HttpResponse(json.dumps({ + 'pk': self.object.pk, + 'bwImgUrl': getattr(self.object.bw_image, 'url'), + 'lines': [{'pk': line.pk, 'box': line.box} + for line in self.object.lines.all()] + }), content_type="application/json") class DeleteDocumentPartAjax(LoginRequiredMixin, DeleteView): @@ -232,23 +241,6 @@ class DeleteDocumentPartAjax(LoginRequiredMixin, DeleteView): return HttpResponse(json.dumps({'status': 'ok'}), content_type="application/json") -class DocumentPartAjax(View): - http_method_names = ('get',) - - def get_object(self): - try: - return DocumentPart.objects.prefetch_related('lines').get(pk=self.kwargs['part_pk']) - except Document.DoesNotExist: - raise Http404 - - def get(self, request, *args, **kwargs): - self.object = self.get_object() - return HttpResponse(json.dumps({ - 'bwImgUrl': getattr(self.object.bw_image, 'url'), - 'lines': [line.box for line in self.object.lines.all()] - }), content_type="application/json") - - class DocumentPartsProcessAjax(LoginRequiredMixin, View): # TODO: form ? http_method_names = ('post',) diff --git a/app/escriptorium/static/css/escriptorium.css b/app/escriptorium/static/css/escriptorium.css index c57813cb..4789bcfb 100644 --- a/app/escriptorium/static/css/escriptorium.css +++ b/app/escriptorium/static/css/escriptorium.css @@ -89,6 +89,7 @@ body { #viewer { padding: 0; + position: relative; } .line-box { @@ -96,6 +97,19 @@ body { background-color: transparent; border: 1px solid red; } +.line-box .close { + display: none; +} + +.line-box.selected { + border: 2px dashed red; + /* backdrop-filter: none; */ + /* background-attachment: scroll; */ + background-repeat: none; +} +.line-box.selected .close { + display: inline; +} .card .js-binarized, .card .js-segmented { display: none; @@ -120,7 +134,3 @@ body { height: 30px; font-size: 20px; } - -#box-tplt { - display: none; -} diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_20_555555_1x400.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_20_555555_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2ecfbdd5dee98aa414164d6b6fd5b3dc61f74e GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVpz`(#DwYbxTfq{W3$=luK|9_FyhG!WV z7&r?&B8wRq7(Bq(?PRtc0|SGbr;B5V#pz^^Uxy94+yt)%W@tFSux%?)Z0qo8JK@fA zky|1uS@Kb?q)@8Fq&&kVKItCDX&&*1Cwy#BES7bC)*5Ki)#1pH{EAU%r;V^F0|SF< ziEBhjN@7W>RdP{kVo554k%6IwuAz~xp=pSrp_Qqnm4UIgfq|8Q!DZF&r%^QI=BH$) WRpQpLsKUP-<ULPUKbLh*2~7ZX<Vpbm literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_0078a3_1x400.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_0078a3_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..1795009626646685a96e262d2e4e9427b6c7b2f7 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1 z0|RG)M`SSr1A_+`yPeFoV_;yI;_2cT;&J@#c|$(NK#|sm)&GCr6IdOP$bN=xiV&~$ z1cRle0h(%pGi_glrm<=TYAl=Mw|IuvL9v!cVeuc;)h&%G@_ru|RZ>#wdu(y;`p&Xf zFO^-tS6!BU=&)AUX~F7jr(->HW<+_q8f`Kb-MFF6%rlW!H_6M>_0N{>+%GO?W=u|g zZy5b5;{6GywoAYJFZVsR*#DUI;ts`Edo|LN85kH;OI#yLQW8s2t&)pU6H8JVj0_Ad zbPbJk4NXG~4XsQqtqe@G4GgRd48)pFx}s>v%}>cptHiA#{eIz31_lNOPgg&ebxsLQ E0P4zmWdHyG literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_ffc73d_1x400.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_glass_40_ffc73d_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0899d0acb29ad8611e570ec8c059eeb38eddf8 GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1 z0|RG)M`SSr1A_+`yPeFoV_;yY@^o<w@i_kW{6fJ)4ic;nYv1#6_wg-YPg`_wDTCUL zE0dx!m_*drSgkUd{8$h3$O?R3?Y|~!*~_}@C}sx%7RL|laZ>ZxWVae$SiagZIZ7%d zDEWe#c=Pt15+P6bI$nMBA^X?1P%G&#=hU04;(1>EG1#zd-d{70ri3&*p4*ah`yC|@ zF)%QwmbgZgq$HN4S|t~yCYGc!7#SE^=o%X78k&X}8d{lJS{WE?8yHv_7+hBUei}tX dZhlH;S|x4`iz@uf85kHCJYD@<);T3K0RW>=Xj}jQ literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_gloss-wave_25_333333_500x100.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_gloss-wave_25_333333_500x100.png new file mode 100644 index 0000000000000000000000000000000000000000..768bb11c4b0d8ea48e118f1d90f3d0b4f5b7402f GIT binary patch literal 3816 zcmeAS@N?(olHy`uVBq!ia0y~yVEn?sz>p%qz`(%3YUB8bfq{W3$=luK|9_FyhG!WV z7&r?&B8wRq7(Bq(?PRtc0|TFyr;B4q#jUqt-9<9tf_p=!RV+W?DzxN>@rpNnd+Sb2 z$~k@Sc)dpx16QMfR`xgN6ggHA#U(*GH{N$RRV)`;#c}V4@r|qR-rRX-SDPLdlw?%> zPV?-!JGX0peR;e~rplkAX@&Kn%VG`!N0#%)l{7^#epn=YgsVY(u0j~Yo);_|nI5>R zcZf3RTRE;_sJO_P#Co9HPe7Z2c%=<L7WFS${zq1GyP%D1=jFg77PIW#pWQKv_Lg@2 zY!@iFG-xgVQMr{Fvocj4*)hH{xqqTF>Gfxqj}d0_$|uwx+Xh+{d<_=;lCAaHpeaXr z@#V6!=j7Izo;v$F>!$Q9-7{T}Zm#*-bK|qRtqt$5eHD_A^m?myoIj*>hFOp$F!@Ed z-HZguCdZd27c{LsZ)I>k=4s@OOX|kw7*`xRut$0Is)?6HFK%R;YO(rhtKYPT@+#lh zRi~|3#ytJ_YQbM!)rJOhB^`M8+5MEUxc0PEvSEdX{JNGj$u9w=1@GAolowrOXK}nD zyYTqYqoKc#cAq=Cm8n~NZg)0o*o)Yi`(tM=Hvhld=>A*R-{CD&Yrjp||K){i{-sY` ze<n>-nf<h1w^||Z{Dv<+F(R(dXWsG+U+SZ{u6j>$bz)_;+w^xU#NDs2ygqsFuB02K zYCH5kNr&Fp6tQ=g``&riO+)s7shO(nVtGpI)J(l^RToarel%|}=jzQdd*_|2*eASe zzE6Eu`uE9_MbB^U-llc#Q}Eu|x5eiCoW4z4K-<A*l4+X0Nygg_<vz8aD(MFoYYV>a z+*|5flA1E5BK+CI`CflJ4Bt(^mbUfwiNa@_*zT>VC|0!Yug=s?lPsMdytntNSM^=v zD_bl2N=%<DdA-tEc3bJzzZ+^DN-vu_+}&(>#Fq2hE<u(+^Okq>L5T~IXc{j3m2?y+ zb$?M*Sa`MW<D%liwFkKFinHu`^}98A^_89b-`@<|_@e9bmFRHIE6ZnWjgpJ~@TP3y zr995b$6xJL%)ZiD^6svxNU5;buBG?x?OC#RwciP&;OVa_x6bouJ$>|>|LVJouCz?k ze)((KLSr?KMek<Beku3+uXEvK#XlM6?4P!5K1JnoQVz^2I-2~{*so~H%ic=e=Mq1T zavhr(zsfA=YeeCKQ@`(iT-8@|tnazS$KKz0+WkcuZ;q+fI^LBnzZWQ2P`@_yl+|3- zRo8D=`k!s?%PZe&onqbo&VSYIN#RF$rk?T_IPzQyoNYMfwhJyhUH3eD+vkADjP-{$ zB}Xg?J-B**%96fEy^piz_f2+ne{uD9*yg@30zV>O_jO(ilq{K}zxu_(3va^rFu$>y zC>3M9_E1<@`ToTfB~wd7PA0xyl6}F@O0eYW7CqU^ud|Q8Ddm~{X4RUF=Y&FkFZ}4J zW5I2^v1(Te-!^9}H}w*;#bJ5p{y)n9TPB!&`EIn@xwO{JKgx}}3h&jJot=Jl|I1tR zb;CmY&UVF#hrZtY%4YpCt$nF`^{h8r=Fa+j)_B!AJNenF)}rq+Ev9-3xU3bt)xTWB zEG_<H-oC~EKbdDweE;lUYwW=li<NHQSht~Xab|DO<UWDhr;S7cbFKwV4e2`fIO@c# z%o{c(WmWP2tG-U0XT@~xy4xgwk<;J&KQG#MTS~M#!)%HCxv)*I^fNm}URT`mzvl4& z)yav4DvRxRRw#Y3b@;sYd(PkI;(KkUutq0n__dun_x;rQw(j^8d!G+{;yQ+xFI3pE z<sWX@cHBVhRON~r$-4c*Z|c@LFHV{fVBWHAM_cN}0R2GzoW1P}{%QPQc(R7$E05!r zg{MQWY3i>&zV2DX(zhosJe8T2C9y5IxbgXtUrYFI$L-tE)TMo9vNFe_W8k9CA!GaP zzhysP>96^9uJY9OA8%JruKUt`Ud2D&;E_aXWW~MOr6R?@Hg3%FPnMtet#Pm2`{`d6 z@Sp$nU~Sa<wWaG8<$w9sdgz}}VF3TFHtuka>z7uC$yX`duCqROb^hNh;e_YWMc-sk zZ>n0lYJ&y;+g{FF%g^^-e%za}T(|7gcHY#~`{pvIXPo}Db?Wk-JAQ75U)_4fW4xrM z`|q|&CD~TjkL|@d+^vR-*ZD~w%dqwdWBue{>Kw>DFXZc9t?-SyuXScg9N9UsVZLP8 zGux*&w@z)lT{Y{L-`g)G(eX9+FZ^q}n4Bdv>8T>eA~6pBf4?mczOMeivafpm-P-KP zJC&v17Z>TA-u2xqtm6OU<#B;Ytpaj?J}xTw|M+Bp`;PB#?#|EfS$Ar-)b0G7{fjn! z{gkD&?%+A|M_P9)P1ilX7Z>>aq`jp0HRna^IQZkv7ykdbcfQ_-IlJcBpWFEPVc8b7 z!zaJ~-xPOl_omIp@2|OU{&#n``Ri9t=C@q$yy|kJsx89w&cB4;uY=#j-Ls7?f1aJc z?Oxq2XHT8(lmFlNh2J|F8DFk{{#VWK=C$dE*47KL9J+Qb$7fso%s<TrM`xGsuk70X zZQkj^|3BGd<{z3BbEmTP{a&;6zgQ;!Uwqc8u=3OWZI|!m<c7XY+wnEJX$MEn-`C&R zEz8Qv?9LQE=P&;^ckvJPq`tlE_g9I(t6x*R=X=h?|2(^QyOwT?j|_SHZTZc)1*;?6 z&sBddopQsr>t5faZ!2Gfmdri>Tj!hm()hw-?yr7})z~w|oL;B=*(Y_{yZ;j})^Xoj zqHB})vF>-f*yMVvx|9#q8`QtO-?M6C_05kPWw@ukH5aq0TVCp`7dW*hHFOWx679`z zg!VnWb{$lX9y(huz!F&AGJC%w$D(%}=JgH&E_Vg<z-4KxbiIDT=hd5^e<}Ya_ukuk zZ+fmt_Mf-W%6=yo{JeB=E$gS_hL3y#c~>1joE4b5>fkqzP1Wk5uUe*fpHI!U|2%)= z&so!Ny6?HFX0)z0#&ro#`LYcz-<Q0|^s>J6>b$4u`zcSqNap>SrO>fU`OXhJP#M1C zAgIn0&8ukz3C8@F1`GbPZBlsES1`A`d-XT%nEyr~!HmCCK}xpNxq{pqrGM5i_ULbK z2Hnqho2C_QXWe7Czdh`wXH@m+z(BFJQ+w7ZZ@Y8jWzQ**g<0FQ!Zy4JIK4LTbZ^@I zpu2gY9~?}xrfxVs?~>8Gy3?Ikf+j{ec%FG%y8r4btF5|=^+LmCx8^9Fes=aN?^=C9 zP*`QxgTv~2ohQidb+yw$E{S>k=+UabT;cck|N6I8KWl+)t<Y_c>if5k-;`KZ_A~yg z#OC`?YgXN;-nQwO@!oA!QB(WOzfRm4_Fm}SCs&4*jyG?{1PMQ>JhJ~r_`Fy5Bc$!3 z-6qfPH80*#l)l@rYEh6)_<jEHdPlH@b?smapF%9$500@-_QD{iy?G95Iw)G7*>v*$ z!<YGDwX%9;{B!5}R2<2dys=qu(+gh1=+{1Tl=%C7_oX`BUbuNW<9X-DtrEruCahbr z#(&z$o-Pg#)kl}^cD(NVQhg$3wvKhn#62;_i^E=B+S4JcdDyr`?ZSMQDQ6cRZm90s znm%()LYmTT%`*z!cANiRuj?|NV|U&E|26Uan~$ucYmVn1^~=-TdtEs{cV=gV;pT5K z;qfy!onO#zGqvzqtAAR^lH#q`Bu`vQYkicyPJZ3o(B12Ft~36xTBe<9`cUWZu2X+f z-1lx>H^syLOk>rG;)`*w`Pk>hoZXXGvPkOI&Ci>@s)?Pgo3<u?=34vK?#Tw;>wn%` z^u&A7&$u_%e^2c<UH*5P^=AFO+P2H{KY7o8Vf$D5_K}Sf=3f!rUpaMxSXBS^_Oi8Z z{kl^ZZvF5}ee;x?r_P-zd*tU`zdqlxdD}tJPgNrInY=5!g0_lZ4xaliZ0fxvw)|C} zdxEki%4IKH>-1UBQK0nrmqqe15_*$f*A&`mtIm)0l{@(U^TzsZp;c2leyn)%`%&71 zi<T1lhhAy=re%n|cKG|M)SzC@<^8Q+2R_I!^v!Yq9c{P7u}X%+m;KPCZu#^kC9&u1 z+;gp#U3r{(lVu*e;P$hc+cuP5+bPeHHpe|nKGdc!Gkb25jlr6@*3(%cpJgn{R@^T1 zvEiO~?8=v=zeTituX5iPF<Jick7C;<=~Zi=iPz@-+gbK&yV%~R8BOn(RcPyQEnD`e z`}(ZT>nzi<C-yGitZ5<|Z{$=XrrrJXT8Pi=?RPgzC9kb}no<|#yt#ArzO;R_UmZz% zRe9U%v25)9WhY&V%z6Jyb?9iPRyRI(@t1xTX1vldtud!m{ZZY^mzN|TXdaq)(PjNg ziD`#t%aq)A`M0pp36yN5j<cyJyx%eDu4n4$rv*iQm!}-}T>0M9=#pnDtNPR{b4-_~ z+DuQhvuuCwdhYzD7<InuCs|!rFOs^xu7+>b%1=4|3GXJqzi?yzgCAekSG?0N`|6jc zTHYrvGwr!W*M|Hz-xikgR2S*o=xaTfys$j}=*4|E+|sx5XEn_`?q<7g^;)OOn8?46 z+s^r~nozb$&1%t=#j6#zzB3O<y=ZeI@5MY>X|dUw^W@g@t=y3R;&#~2h?SS89^Cpt zE2Y?x$Lw~6)ti?0&bb-)7Rj}+iHnE74bO;~WuvdTU~XIWv-hVqw{1KfDcxy&@^Zn~ zsjm+d>bb57(tPF<zItN7g@B72*z|*#HCD$pTS)Jhe|am`=xe6LUfzWpHoC}MY4(QI z-po}Bx80QCwRhNthY{1RYKOKS{rP0k{vYd1F5G|d=4g3({?GgxtGk<bU*do7b3g6A z<>WBsouzXgg}m;mEV`x?C9_^fT3<QF^vsNH{?DhcYMZ|D{o~SOMN6L_IxVApVD5CU zB>%OC!mh5KX<xf<pVnTT)e5s#SLoX^e|&rB?v~<&sYkcz@00%Y+EKuzR&d{0P+|Pl ze(RUN%ir&==4W7FP%UwdC`m~yNwrEYN=+<DWiT=@w9qv)(ls;<F*LL?wX`xY);2J( kGBCKT`u#MDhTQy=%(P0}8WvUfmxH>np00i_>zopr0EGad`2YX_ literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_highlight-soft_80_eeeeee_1x100.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_highlight-soft_80_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5457559b906f159b4896a72ea5b86717d6aeea0d GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QU|?V{x_<LN0|Nt7lDE6d|NkPZ4bL(# zFmM)lL>4nJFnEBm+sSM@1_p*OPZ!4!iOWY1t(9~L5NUXr&*~}gCV{Cji>qv*)+*MV zg<53+?|1Hh9v1z<PJidK#jI5ejc-k~$y7BxGTTCE$_4?gKaKf?>UoFK-n6})$bNGo zqo(1r<N995roN2z_0nQsU{Eb_jVMV;EJ?LWE=o--No6oHFtpG$G}1LR4KXydGPSfa pFxECOure^Xtor>liiX_$l+3hB+!_{D_?Lsc>*?y}vd$@?2>@?{S2zFw literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_25_000000_1x100.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_25_000000_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..c98f2a43e0afd7128370d55765c4c4787eaedad4 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QU|?V{x_<LN0|Nt7lDE6d|NkPZ4bL(# zFmM)lL>4nJFnEBm+sSM@1_p*uPZ!4!iOb0e5)lOx8b1m!Z#HK3)@Gh9&HS5_?VKOm zyF9kIc(#9>JWaxqE$YS{e#rv!4=PwrcC0dM&e3V!W7B-dnQf^G+tZ^wTK<w(u1H+D z^rD#|KT}ccNY-o>1_lPz64!{5l*E!$tK_28#FA77BLhPVT|*;XL(>pLLn~8DD+42K m0|P4qgVLZs^(Y#0^HVa@DsgLI;deO<@~x+<pUXO@geCwjzfKtd literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_30_f58400_1x100.png b/app/escriptorium/static/vendor/jquery/images/ui-bg_inset-soft_30_f58400_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..d7fc64ad242ee04a77e614a864155404e4d0fad2 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QVqjpHaZj*>fq{W7$=luKKNxUEe80oM zz`$AH5n0T@z~BMKZYQ(t7#J8PdAc};Xq<mLVI$|E00x)$_pUn$C^dRGU5ZlKo7|E8 z!#do+qG@wP3Wu!XQsE`rJC2+RlU{wi@Q&=9wud#-CM>bHOJ2BGuHq$k^psuSc~#$K zT)b7RHD%ZHHly<^0^YS*tP+}fuU%U!rrn~_(p2zy-XX@P>pE8y2tT^=sVn_`tF_mi zpDjYATQW>nE$A)ZU-xo%1=H(&5;6?(Kg}2z7*tDKBT7;dOH!?pi&7IyQW=a43@vmG zjdTr7LktbAOf9VpjI<35tPBiFgZ|W`Xvob^$xN%nt$~H#<uC&S1B0ilpUXO@geCx{ CZF(^P literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-icons_222222_256x240.png b/app/escriptorium/static/vendor/jquery/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..e723e17cb5428094de75a0d3c6f4f3c07dbd3bbe GIT binary patch literal 6922 zcmeAS@N?(olHy`uVBq!ia0y~yU}RumVEDkn!oa}bI<Lrqfq{W3$=lt9L8<<2(lrJK z2F?PH$YKTt1`jZHJDF|Az#ygW>EaktaqI2e>WtLmwa4w#_e!tdv#omS7DFM;d+aNJ zFL)E{tyWn0G4!@cHhWU0_pBfdk8KmBoZcP@(C|E1=Jg_e<6V}^>pa75J22%rEiuj9 z<R?FAW2UhCr>w%)YP@xh%7L@Kt$HV46rsMne$MqXmY=Pj-&tL~)cC$@^?Td>mFM&8 zjMMA(|MV@8=~sJvU;+07!-xvD3=13P6B5cPITu=Q_*Sq97#>sGa8pI>g()*n-Jc%8 zu)dv~J&ThYRh}NazOj9R<N+Oq!(ZleZu_{nU;fz6{>;NSKKWT~jN)DN?tWL~fhnKt zCJ8Dre{o{yyY8XbIlJfZrxn8DOibGvbeWi(PnEv1DB-wN+pwhTq{Rir7N^f09hW$@ zj{3XJ)T@uamw0y5?qxZvAImwZF`i+%AiB&jW4_&@JHD|QeoOD&F!6OvI`#F*nF)#- zdxbOPT$dTnFwMHUG1>p1joH~$^V0`(QfJS(8LV-hA+3cuf0m({w(*QgF0UZD8rkZO zIO79x$0cU}URnLt!r}!JkL0#*$1k0etyACd@B`0<0!S#B$joDu;ycg4+n(OgcK9~) zlgE6!{_O5C`o@qa#%Pv$X2wOi19O`9R=>KzeB<iFz?<JiCr{bTUU0c#=Ins`j*n-( zUzd4%*Zpa~(%uEn|Fv%;o5n3>mkaOP)ED~vGPAuacKfK@fe@?Wci(=bwG`eu`FvkP z4*!B*dda6fxmFy$aeR5VZA0dtol||!+bz6$Yk`knHB;!8Mzz-08*Vetm~mRIe$uS! z(hZEw`Ez!CV`$d<uXp%1vx!Wd@(P?jnBDqZkgs6+{(o_qFF(nz5#OudYj8rS<(g1P zIP1-1z6H-di3l_WUVr~cUSW-cX7{Sf8>i$;YZH8qo|6ep-hK6eYDnh}_9YD4Ua|9u zUO3J#BXwda*FwjekAwCdaF}d=`su`gH@XSy7S3#R^3K`7o3!%JBasJDwR5-j?VZ>p z$MNIBiq0)(7nOPmEZfMe8hR#ns<+XeFR2{7CB?TQ-<~<_pp(jwD&Dy8@QaPDMGwzq zCEr<F%-nv(SN6%IysKgcypGeiyv+?*FujuZjLRHv4b!taOmAg!{0^%n-F4ZL%W|`* zJklksb?(u(B`aA{RT^f$ShM{Uugp@P{ih@(Sl2}FYIL5l%E15fGtL0X?+er}JTQ16 z^ycXw?IT~U8zB*F>~Q#@<N}n?`}FX_k;qpM627zF^WU+hq1$asl+Ep%8P{XH6q6gC zBuwev{XL8Kf^~@Z>9C^hVg@^Bo!wHHyfoRp>eQ3@`}mTlMk}0|Dik2kXDa`&<YGp@ z=De?ctR<N{ceY)aet#`%NoCK|zUzHcyXIa!pw{?G)>mKV!qon@ojZcJ%O1QYD^R+5 z$;Rmp)BEnW?%w+(kMHGGsph2XY?iy;CRARtT=ltg;gn60iEDx**pC{dN*>tD*d$bV z*DE2<Y5JeH>A%1Jyq$Dg;=nz&XM9_X8)i0|@C3ZmRmg78(&~2baGqPGQ9J9?`ldB^ zLaz%fyK_7_%cyy^Eys*c{z<E@Gi;k;e4lsO=d(Y9rfp$2Fm2e=U>JHo#v)kMH?t#j z^X%G{yAGUdSSFS8RK_D`s^3B0W$*5Kt>0Uyt(v-=!Mu3Yg;z?4Y`Cv=zP+~RRn?BO z2fzB>@_8Au|H`p_YypRUvkMre?KRB2e^8!B@Zyf!On<@(9;1i*JjSYC$5orP74rEL znmyy627TQ)>({%w#dR;4PN#jJaCL76e?pUI^1DsmGcw*BljWQ7D)4*3)Snd<3AX>T z-Y3M?1ixZ-+9s?acKY4h?K^I2$n~x%`@Q|OoAC^jvTZjS&F1_FS^m~UR*rY>ig%`W zMOR#Buv*N#d7sv7sZ|oXF3QLA%$9yn6nM1iHMf^d=+o7w?$>Rq)R<`4utr0tzOkm{ zVAZACr;piFcJ0YxU$NPsG&UgQ^mSbqS$X+dhhq$j7H#0-znv$vK|A{OxxPjP$16fk z|3X?{oYe?>s^HzfaH8-dkqIlELYQoXK1|#>T`JnGnn65w|6SV_$(gzhx0W2b^W~<> zlJ9zxT6nyIjtYeGX8mH?Y8A1)hfzFrWuD*-?$p(@uO?k>U3OYY$eHuogH)q?at_BX zbUeG;bf0s|#SQPi^IWJvE5VL`Fm%X{F!P+<Xv4hY<tAUP*%vxjabH}tTYG&{^S5RL z6OHG3_k2Z-qZZr53aMpE9u6&yoS!Ivmm!Ybh<Qf&%Co!go?MZ4F?5r|jJzqU&cAbA zRByt2@#+!(eWAsx^t|SOk~&@6(ZiTh{@yj^SHaxVUm6tN{mV^_OS>r7`7hUvH$8pw zovS}ji?RL;xpT+egzx0V4Qo!Gkz1cTYt541tIt2a?YC~u)#d-c`dt-H-qy3Pe_g}+ z<`%|D%S>nbG*)CbNqt@Ka`7a;<@XxNC*1;Fs&}S*;>)-p7+|~U@WQ0YFJ*gf<nJxm z8|LKRAEBVLMp?*p!!7OoG4tYfPR(aHwTCsucg^OLn`2L=Eb3o&MNdHFiG#wEb+bCo zd~@0Ko1<SO^&Zn1w@@?nbhG=iw>7UmH8m=znRXy;!?lPV@e+x%m8zIOOD*7&s`z%F z_3$%=L*<wBl7Eyi%I)TYRSm`thd0ibNKm?)Ipc-*FLq0r|I*u*7W2CB7|5F6;krCE z_}3KI%lXbHB2Pvw$Wiy(Fs&{=_}IJ^N9EWnyJz1>Y@c1>eUeG|+9mn^mAej0RPEAL ztI_y=evb1k?~4Z~Okm%^vL!-@DSds)<(Ho&r<r=DKYt}=k!=wf;$wSAN1rQ}qj=7A zsd8QMx=CM!N_Muax+MEN_2qZYxQTW0&(zE$7|Sv~*WSCbt-*?4JpIzI+4i~9liU?I zP1}Ce@UE4=#ZMuI)w5!EsIoS%F>2-Gp2gI&<bD~~7T0+W{iaICg#^twBPSO{BnKrm zo|L)UH@)?etLmBK_Y+!_54fD+*j03BNz<dKSyt1}&sN-2F)Qd0gY?Jc8EuMUKZQQj zmi64;(*F4T=34^oJR6@^Osr(Cbt`f-R6eQIP};~Eve>@fZu<?z_6p^{b$d7QxbK+P zkj=An&t(T=Z->oRb^%L*`VLNh_uu!QW6hkisj=Qn_tTdPxam0^VOZRDrQ|VNju68< z|44<Dw&$XXLSh<a^(|rVHb?A|?orMCto)8)pJ%jWy=;(J(DVeOX(5waIalBJ*!90$ za$@9xQrp$9{v|OtMFzMgKMz$stHvlK=5YD%k)4ZUpUgc``>b%r^~d?<S}WXl_{`>A za5nW`U<C6M)0Lt9GjFl()jjh5^V36{SNs;YV5*T-n0erCJahNm`RgB;#vC^7Dd-LJ zh&y{VhIfVAjYUg;C-yv_nb`K+^w}KY9K*9F(W2LXD*s9PlfNWjpW!{%6Vh8UiyJ1C zOZs}Lo6fBd`EmK7f!PhG8qbe9NxwGl>D|wm&~>#V;BW7?h@*npbKXlj-BLLq5iQXF zSJ(BkzekBE_n(?~#`j$=YGewp?MSiw=x63op?_mR?gouj$`8u3+5&Eu>=C-IA2omJ z-TWkmLe*#ytE2D!8^=wl6HOHBd}exJ$s^PCJhBhw?mS;3?E1R9d5vfs<7U@QKUDVn zY}WnsVD+JR!D1b*`>R_oJf1q`XzM$9HFiPa1M9i=$6wJ|@~c}w<nH~`SCo0&-qy~U z{`8%^8rug6j&GCo4lHJ}VMcC0{cZLC{IW<eg)PHU=FGLjPoMdk`)HWHn%tzf`^PkU zUyZ-B&s}_8Tyk~U<Q2O1_t>ot%#Xgc+<AG??%3n%KUl6uI-NB-o%6}LhBxP8s!&Am zjc4l%-1jhlHSm^6_FTBJuBr4K6St3n{>9Uk7ko;77ya<uCvD#wv|DxiSK*h3h3DuV zDZhGrdt=7q<=?-k_%NLD`o_l~8z!-oyXVr`{p&9;;@0`V@_7#H)1RH`J9#Vm;?1|b z%h@y2<ha)QP9A~M`X#>Fn;cG5ytApjdHe9<&n@y#3++xlwmG0Yi)~iI+{|fQR<<8s zEZ1V6{`&U*v(-C~X#VSrzx=}@qj=_ohRLmS_x12eyjWk*>MRp}Y4WrA%wpc#5}aZ^ zuD(^O-M646KH%LNzs*NvPL~KbO9#r%$yvV6F!E$zcZT+YYclsvso6icUoltQ)aoGT zwHb+#t1qo>-v8V-X31ICyr=S87cScSW!pr(_mQV|EZQLIHKAvpt7>UTmg(H5t+#GH za%)#-_|Cle<Chyr*3ry!rj}j4KEq^2>5C0#&0=@uWb>E*HQs-C`;4crbwqfq6kh&Q zRr|Gx_fK@q)XO!^mun(3cN7XISjo@4z|6Gn(k1@Fh~yte+NCvh`ul~;>x-&3MQ7=L z@U&C@`;TY7PK)KKK&u1FI!4ETu9$wr)Pdupl!NMlx4{k$W`|q7epTOmVz%#a^$))H zni*>+zYFiLE0mAjx~xOyObKiA6q~==H67|d4g5bP?mH&g%iU?VVAf&dU!i}Fc!VE6 z|Lh*e`DZx-)@zn*?RurYo+-+5WmF9FjC}s{H~bep-P-tT;`P+F)V^bjqVxGz98O8> zn=E<Y&fg-}Ts6Vlr<T{B5q$TU?cHOke^ZQwa_7h&yKnaBys+)k^t<(O!OyN%aCu}+ zd;cIevrD6_p1a|B!|jfv)q4Lk-o;N{{8Y8UqU&>So}0)bQS<uB>KQ8@{d(trk4b37 zJtntcanqw#GsHVjp82PL?9$bR>@98Y!lwp2_0UdYyefU*_l^_p6-+ap>sy|^?|CIs ztg=C``{$0CECRklt4kg<g*39JO5C2Rv+UyjW4cV-cY-ebpZ_3rSIX)0!d$!lSo6=m zJj3dXW%l>OA@58#bmTT3{k-GQ`;Vdw^A?;Ib?tC(*jW=3Ui#tWkFUoU-+$o{=kuLq zGlQ$xmv0Qb?blh6GhW-`N*;lgz1Cb_>Y-2XJ(<wwcYXVD8=-EV0;Al9$x|<{ekZ>` zFREou_x|~pqfBi?UMqxg>3oo0Q_yC-XLk8#+q#tk##wXwkMBP+yH9z}Bj%Pnr`ERA zGz7Q)Nc%2YnccR>)_Gzcw_)rF=Vj`mp7G57n+|H#GwNLOx;pQuOH7RCx8tvBr@7vW zd8Q)W<vUg5x$C=UF?;T>yU%ZbY_&)^SO1dx_a7ba+IzuuUQ(yo^v5Mn_Ezn-vbp%a zbZS@1=X=>JF7TBVD>hvTNb`Mo$~+~cW8$jK#+(}tY6a_jc8to=_B+HQ*L{F(bIyXG z6>8OQJ-@FGS?B)Pf2-Cn-?}q=)_-PfpYmmS1e;s%+<#dwrRFS{9oHE+g}GC9ieFov zvH0t#tG})p_@y#!3HlM+V|>oy|5Te3Dh?-jPR~i!dsed9wp*`SF!f2pyEZ04b=GYm zo-2x*x=JVR=KiwBPS@UP)4_tC>D)W*PaS87Sjz0hsWPwPPM{Y<?LS53jYqF`7`1vZ zl_-Xt+#9wdMtvfK@PWvs#_uPXu{X?TdU??-Qd*+)|6MPC$HaHhrm6kwe#RD9+De-* zpR?dyTgjKzyW_W1o_N32{-l5K-vg&@!aDvJ>P=W9du8{p_9@mM)>%xd`^WJk(zT<X zal;WFZ<*i|4HMo(WEDF2GW_TLGllt&jQ)p$FA-B1Zf|+CEP7$^!6)3w9OljH!F*<% zA6)+_{GGSGd-Cr1tBvYA<9~eBj5B_+E@?wX&p(z1?I_L#pOr+4e5&L=ML9Bcd{Vyj zc4{>99iBhx4EATD%!R9SqjElrTwZe_aE42&cHGwU`5#wmxlH(-zHC*|jSg%5-+D?f z|9QCGIks8I^yNQIH_j=KzZ=a@*83O!rtU_<MD~XE&M+z0oXuzde>7VcH1EOuEfzO+ zOv|pEn!Qu+-+i8|Hxq74J#gbIU^XvcE+`gKn$4v2U;LtXP_;&BeeuWW1FB{syaJ{F zi|?G>y|ed(j+4ukzpLB6=x;o+y)izZ#QuPI<Ws@0${xMq1rwMAIwM7|u^LZ%-1_;r z@yCb1-u#~#(-EenJn4RAN19RAWXaa_mQA+~IPPPcb#c*bu7Bw}b(fp=pSk;Hn_I?d zd0oTpmdDEW%(0nJ%*p)ygV6fTOLLb_P_WgX5T7RZEIgvy_mkSs>vJ++ZaLHzRCaSZ ze_+Xr<zM0-Ts^3C@8IDB&9ee+PHS`<MsNKQU$^W)l2QndLY48G_PfQbpyv6k<=h`8 zJb?B%pGYP|z1IKZcW(KtC7<1<uaK+e_@q?OnVGQj10PrYk@RB!caMvk_4c^eb_hKv zvH7*!axQmi`mMh=`R=Aq4NB;}@IdY3)rh8&HBUFS->6-~dF#vFZ(nblckpar=rQv8 z7;#)OHRkGNP6LZ9TdDeW5nfjVC2|hr-1)KjR>d{}vnq`k)4(^6JkNf&?akq`IBR~g zukG$Z*OiGT8@c`8SU2h(J?JZW($KT=aaq`>NtJPe=f#qyx%z$P*<KttxoNg@c{J~L z5hG54-d|yRj_+B(nZLWT{Gfoj*Z%HbPrTLthLrBld9ctfUVdg~&#`ynAzv=roSkiR zHq)2uK*5{yZ{>v8UL5&cZ+<P(H+)X(f7^eT7joxlh|TQ0aJ_WD_OzSV;<A{}Ke033 zal^=u;q{u$e6_o#WifaxV+iC83h6wtXnmhT&$$nI&*!DxUH86jxArrE8Obv<#R9oM zT(;po@O$S9-$dKDcWO93YOVVEcN15Kii7&!yFyobZeBh<wJ_A*dYWmS!-5T|p6}$1 zdjDCTE&usa>FyP7|A}=IzZcK=UVQOEcJ-moP3Kh_awmSb+qZPVzp{5cRnsQL8NIlA zvg~1g`KAQ!#KrAvHVdq0x@MBR=asL5b5{rBmG5sllitbM&0l=)w75v2)f$QC`IBuM zb>9^v#2Ynm=cQYjdAA&o2-8_ItMQmo!|{DB*V)WaMx4L{5(@o&M`!<+D`rS+KEbds zh`V28QFyo$4_CUb-v(>9=+?fglM>H6PGgV_TjR69?U;>jE|+XrlCN|7R3`3|Z_L*( zIPa~wGGfDn|BC{eDxdLwEq-4ozIvH$<DT^oI9A)Nxijf%wJ_h(3dNtce^-2DT5!0z z@bS!`8P9VX<zgEbbn9O~@aC|B!G#=6^((cTlvl(tmqcv5_jGOd^pY(WZq5%^Mjlep zd=U`p<hoR&ZuRU-^V(-IhRrmJd%EVZR<O@RkA|EUmP5gtcd2_ivPb{9dvKq`Z^15} z4N)5>POi`mo1t`K=?1R@BHCMcUhaMxv$bXuKa*+cDT(kUZK8QT5?&{=8SdVh-+JM` zhQS|$^PdDaZS|^rHLvA5+p~*_M=u;rdnMNb8ku{~f)Q>L(-|(`jP3{ZNuxHdz9PLd z@Nu^NrOmcW7FNCSRN=X>Xtq_mrCa#Tlex<(de~oD#b`_npMK`~I_(+vQ+Ktqopifk z`Rs?zci~S0{K8sy72Pv7x*UJyv+czyi~rGOQ*Pw%YG)H<-tuD8LCpt_^Ae|eZ!z5- ztp7<fF1fYu8PjErIj6$Edc5)bD-doG@?p7bk!^m#-UkJ-zV*(p{p}aMJyNgL|5uL7 z<=i5F262WY{ZHZ<#fuD@Zp}%WXxV4zJl#@Gck1Qam-AoU-oL*0|CQ<I50`$te>?E? z<Mpg=$-h>-uL*ym>cFy<#lvZx(NW81Ti#8$D)eCb();?NE*14J<)mDM5@v^5ojKON zEIo7cs+|*+653SzK23SpvX_f{&y?SL_pL7B=bhx5P$GYfO?*eU*(+&gqwEIFfEBJs zFYfo(dG^izNcLm7u6UN|l^GiPJs(~$@3D0_{IHY}WuWYY#DOw-huB|lZDw7PfBG$U z`S;y*&C9}FK8Ypl=3k(9_gUJy`(Ns==U@18szc&|-@h=&-wgLV_Fr9kTgLa>?0fHj z@y?24z9=%G@}GFW@7%x|;fc%d&yLfr&hM+6KEbYQdHKpo*Do}4eLS!6c=fCF)%zp< zefoHPX>;bTA8NZIxJuVgak&?|=9c7^vr}`PDSVTAz<p`*y`}Gk?$6tIN_JcJABL}t zn>QSJAK<an<G(Y*Kd;+$Coc!@aq#C`*~z2u`g%9(hKrLc&1d&t<z17lQ2ndX$n-kj zhUNKb4Zq$BFFC*ZV*WGMg}<v0F|fZ@SA3v;=>Jo}DAgv(M}=RsG+7R%PyMmbIcD~( zH_B|c&c;mIwO{?kR}lm5Im>^E1jHYCeLCD{;VcgGrSH`obA-I6{|75!7gC5~x%G~@ zVDWusolO$;!Y?0jN3N*&#oCy)IC;t9C8wYAbNkCr*D$NP`pxr|c-XT23Z?t4u21Ta zc+eEmz#=Yk-{r~6`To)$K3o2}-tr~T=I<=6N?zMF0{@$g_N}Vh_N)7;zO?=OJ*#wN zC$#L}74G$DRbWH-4}QBDi|?Eczx=-RrTv5Y9m?+e`}N;S?Y;k1+GH=A5?h1!noVb` zA209!sIKGr@YSXH&v)-}wf^_@dQH%ad3P5;;<U}2BhzA!8TP^P6+A`zZE7uE%84pu zGrM2Pw?1{D^rf70`y-Kn^{>m;XkL-t>G)Q}M&*g*foqM{ZzNuJR<p_G$gcSObgsgh z6|cWvP&m(^obcv=pj*$E6VB~&ifPT9ms|A{%vXHS=zJt%5Tqz-xy`b*>hbks4sxoB z`b@c>>tlBvzu=g{FgruGY?nLhkKP4shry-g0+iv~>gkNf{<H<?D;PWct=%?((@E`D z+&e=v$@kTIybWg<9)G;QAW`~m;P-sqT{C_&8ZqY_t8Z@2E&2WKy<&{2!-<H8>tzld zvNv7y?&{{mOMmNlF9@GFwZNCj%(OgP{Qs%MOPV2<{yuj5H7%a`3zre|43z^Fw@gpQ zTPp4es|ZS2WT;px+I{lwd-X=Sgc&Lg@Bc9#2xYp`{+Fq}=&t=T&gX$#>x2@_6DH}c zdiOoML2kiyp#||_yE`wOudlk&@}2)e!JF9F26z7t|9gERoU<1gpJQNPP%UwdC`m~y zNwrEYN=+<DWiT=@G}ARO*EKW_F*L9;GPE+a)HX1%GBA*4?CeI-kei>9nO2Fc!NAhW z$jr*r1ft>d*#!a&3=EPW8-nxGO3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFfe$! L`njxgN@xNAtk@$X literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-icons_4b8e0b_256x240.png b/app/escriptorium/static/vendor/jquery/images/ui-icons_4b8e0b_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc85fac136197732e7ebdba22d90e9fb78e3173 GIT binary patch literal 4549 zcmeAS@N?(olHy`uVBq!ia0y~yU}RumVEDkn%)r2K!_(_00|O&pfKQ04cOUmCf`>q= z*tx9?3=EMaL4Lsuk^;so90B{AX6h@27CNLQNC_LA;Z?K|bMo+3kc(1QHw@NkHEC}+ zoOR;-F$-6jJv;W*tlqk`XVr?e@|!gOGR_NBdC$eh#N59qX^Pi^^||-wxF_4^*H6s& z=@9pkfq{WB$=lt9p@UV{gMop8v%n*=n1O)-#P(otJDF|Az`&p4>EaktaqDd?ck=CR zf@~)}R=u1tDR!r~@bZn<QqDb7y}A1Ju64b)a&mVqc_~yL`~Ls`iHtQ53)<TwPKo3` zo~-+tL*PKIO+z_@2DhM~pdpjWgg3i5t*^<uopX5qO!dKa`-40y&KwqU(h(5xVallP zDVaL!filAyrVk+w=k)FQvV^WMSu%3w_D}R%ub|v8@0@nR%*l+B32(Qre&G3>hilU9 z_+7fikIrrhHQ;{cyF`3ObjNqDV(t$n2^HKMCLfyhLb+is?->`HrNY88bv!p3`n~sZ zU(hr86PxgS$IHF|7ce-|QTTG+gTB8DT3oXo=6-LP=eSv#vF?!8hqLS(I29v*EtnD^ zb$}y5GNa5m#wUVx3WI;iN-udMiKMsNx8InYGc(ZBW_kAk5rru%JZ7>7bR%x$T<f@I zHiO^e%%vLJtm|S4u8%Sc|NmsT=UisR)>3%)J(D05>~^+4ZvSEy+v)eR6<>51eiUhy zoVdHYw#J$vJ79sy2l<DuCZ;@yJahTr)U@>nZZmkV+FuvVY1b5CrQMTxU^Vk3j=m#p zfnjo%j4_?kSI!?!<q$le-f&>O<Bt-5vEYMN<})`NZNAL3_fKSTh3|>mjV))LI37>C z{8vqC-NNpwgLZj0omu{Uap-(f<nW=1MT;SE?d7?<Uhh7jI$wUDuNydQT<(N?xj*gJ z<+C0-yD#2#z4hn9gP_m_zw&r*tYE6QIe#rom)GGXlfGZ>gR3jgynDd1=JfA96W4f@ z|DE<@n$`nt={4e_AC*6RQpsPNy1Dw1s=@~In257yjyFu-f5hmn@QgZxLpRlA^7uAv zElzUOk=f?*_{~J#jgHK3R))2CzWh?t&AY=ton?dAhi5ZiZs~62++cp7lGEHPjdAmA zhS#^O;un_3F<fKy5a%potk(CRV<~a?-dRSQ{-Xz4A{!F4zc4bLQ1A%4xj|&s!G&L= z*G;s)d5?>|aW>0)M(zhQkK4*`c>O$C2@KqNPw(w6c5k)O%C=12-RHW);>EPRi~k+y zfAHdb6<b>F;;%)E4A1iTO<eothxoo-%s281FPE>mre^Ek&K^_i&6dE$t^DhY5YsoK z-$D=S_U-ohRAb+eYj-$iecIcvtn6oZKCr5N&0_L!S$D$`A->Pcsvl|2%Zr}NHi_%s znGLR7Lf+hwJGgJS9K7AGyYwQb;QM)^+KgMgb8PoqZk{#EC*k7EpEdhc=W=Yz>*q}T z!@|KScu)RW4_~+6Nnz#27p7Y{HBA0Lm~X$UZO6M`uAqpE$zKxw$1SbU`oQ)W*S!zp z7yX|xjcLtkon_yrvV}7%s<u|SD!OfzIJ8ZVTV%aPXs}11LCUdm%@DB#pSfQPStu9i z+-0ly;<Wv`_ut+ZXA~H;gnBBbbw%7~Ip*4s`g5-E6rq_y4ga~k-?a6q=88*ui{CiF z6j4`v+|6~uVWt;#t!?ivzBpf!lFV>2aqdFTty3=;9@ylVX7X(P?G%q6{mCcXe+KV% zO8B|N;6Zt6Swh3*i*J=KRxjW`$-()eTkn@U$P0ILQcn4wFgstLtyGx3;+k*j<Fw%T zzVA%)q~C<Do8*18M=ib1F0WHYL43Oh<BOhJ&3D}GKEg-eN<C?DQ?=0O(k%LR>O7m` z(rA<CyXQ+624?Rt_>vp#le%rw*7)V-Yv(;NnCW0=D5Vf#;Q0MkRO_n)cfyjTmx#Jf z3{z-1!^0%NyuhbqQT82UjtQ>vUR&0gn20@ydcUsgGOJ%gQOOs(1g2@Hm;UGEY2*}O zWctR-<hZhr&%;T`$K$HQ<PXWL(^(IQT#yefv}I$+T5$2v<4<3beGgn@|GnRcV@L6G zzT0x|r=4W<YPj^@*{2~hNZ~8HUtrg=zYqGFE;I2>ePv*K<ugNM=6_wrRW&9@!$g;J zPl<i-F7^)VG^aSGpZDfXn7TgRqv6v3Z+rRgvZy?1u$iRN&dHVd;K`FCwrmF$rZ~Ln z=hUc=Vmjq0AXpGTxAuQs@q-moEd3o;FIfB-s$HA~nCuRH7XExR_h;M=js>EJnuS&z zx_mkKg4!t^1?xF}PiMblTKY!q!4{`lg_94PZQ>pK<_kK-ddU4K{dwq@p9Z6_6N7}9 z!S!F&92woecd!`l^z>%f+VEzBOL6B6o~)j^O&8Ta@7c@!#P{#c%S;xG3-uZ<uQuF} zVZ5CsC9O8MaH>4RdrtNa)|R~H(CTN;WPFz8-#sA8$5X`}V{7lgsUfLx<lBVQZXwwk z+hYq~?rPcWygqa3-?gvgK?SE_kxk7DfB%El>v<Dy|MHmdvfz7Q<?N~}9i<!Y9=q{5 zYToweVe3x*JGMz+zv5fXJ>N|wb7dzxf7;gj^}Ny913r}#(|?MvT5me}dGED}n}a64 zeB7TEz9-RP-WrFnSw830!q+`GR#a*m#mn{d%+j}eZA0&z`)FFr^I^t|^)gF^*Y5vx z_Vx?&jn+vTbK38py3Uvvptioa?UQtNv&lAr{ld>5eYe<mcIgD^O$JXNpER5l`dgek zoOxl{x9pvU7Ab|BHg<>X?z`IKDji$M<YB?{=;Yt!=il9Rzw9=1%X^;f$Gs28Kj{DT zRejBZqQ9Lz&HR$m{zb2TZ!3CxX8E^Ya%M_W>}drXCdh;wiZf2${9I{)9P0#DnFI45 zF3g*7Mc(&jtL_8+N5UV&ZI_mK={%ScaX@opL#tr*3Aq5?pxheoSHHJRvdfi@VEb%Q z#$d{p@%Ipm&CdT9nSXA29bf%wMuW(y$mMSTq-)gT>)ox@dhFs(y%&~TI{k0>qsHb2 zwO!u5Y=XZ9C7x;UPhM$Z_{i1C!A(N#*LG_qAEpU^eyW$JmH+$bsw;1H^liSH{+ZS4 z5#lRSb?oZaq^ACUTeEyBgX4m497_+`YI3Gb`W<*Tp;kN~x~FBe_lkFZU7t@ky*SVO zL*%voygJSH{XeJsM>D1T_qTm+?D{-Mz*If*ri%SX<`-McC+6N~csyA=q`pd8<mxiL zxiRZF?&#h6+&DEsK|EZ*wVmPqhemLTUe=&FZ${WUnK_$m&VN1beJ?6P&$Z%x-G$|> znroi^mbyRdJj2de@`u9XYyX<oG|nns@I_zIe$Bgslhq6IuP&MVSL|$wv+?~4r@lBy z?+M(m*?zO+*P(<1|DPr)>ZC+kc9}UEZCG~iN9VUa|5kp`f7`Wg`KAU|?z~$in?k(p zt{hx_PC53t51VyW;Rde@2d5VGT>o%rQ}j1+p#?FzC2g1X{xRis5dLs>`}z6xzkBn} zhd69Jplv;cA^9}Nl*xe^hn=-nt?UZ<eQV~den%FY;Ox>Jhqfl&b!Fhy-?>X=Z`9q( zVq5i6*Vbn}Yrk~u`|Zo|r<O<-g(o_hrObFf{q+J3<`oBmj}<dTAE@d3zWVv<sa*P| zj6wB{%MNHfHi_8KedNgPZ{}tVU)HZnFlMV^`z`cg)7b!#V?PVts6X(ivk9{I-DI>u zbB+SH!o}B{)7#I76<ibh;j}exn=R7{)|&8BXV=86-5+KUKi$I6|9Z<w@2Z-b9D#uN zo3GAy9(n$$J*OhV`gp@tuTlmZj(s!y(xYWqPD*@;wPm})qw$wpStfSnw|OrvUuQ39 zlL%myU6{Cj=AO(izkfXb)h^Ld%rhfx^;NF08H`oZcfQ3w*f?v()wc^5-mbE{E*w_G zGR1yn8bgo$+2enoG3@1?CKh<eknKPSqj19RwptDakJH)zcYI{lsb)DV7#4N9JEV8Y z`Po<M?LE(|FBN>cBG7xXkMGOWvu(Za>JGds{POCmppZCw*Xl2orzLU?Zd*zU3JPB2 z4&Gz^>+AQdj-UU&u9G%ZxW}+3vsHdp;P>`e^K64Vp|9?(ZM}X~)_rfbbi^T{`5)xF zjg_};|C|%~Y5$w}3(G1NGp#traxaVN-ZsmQ+X<hQxqLaJs}``Y;PEc?kFPqt-{sC) zk$v4-%h$1I`+M<=+|po@HlO+@@6)-Mxv5uqJsV^gLpc5(TX84nu#A3B=&#pLj~=>m ze_Lt!M7<4l@1NYZRz6(R&LVR5tKJ<JktL^@=PbA2eVwnYVCu8%PKKS~q0Ht6o@u9_ z7R*~0cEgv!p8chMsX5!xdtwG}6e6S?zFzQId05-`fcBJ?AH*9jSNAg>cFQigP`&Et zatmS0PJ@IGmw)Ri9BFWV5TqTm^}!-R{SAF3JO_d{{=NI$n)h0L$mLBRJ{^zUmguut z6jTxm3Qq4~s(F;koOWd5%@>@Vb~kP>{?+Whr-rE^AVDBt*-{H<L+`7zCpxyC>9tvJ zwDa)orXS~6z1xafa~zm_xO|vaZP|AA>C=g?F7mK3TFe!8Xm+)eOvpPX+rqF%a)wZV zU;UL{o&RSFX20f{(J<3>`G#X{JI?->-yq1y9Cg5rg(rvca37<HwLCN1KJE`c`(*F4 zx;5PW#Rztqx%9v1C)QbC`p@;_W$~8s;3~~@^B2`cSBsZ?2yUF0exiH&G<FTC`z>|< z9m6Y2A`bsoVPtyi7q;e%1oM}ZL3`u(&$cmJQlNLlzt!TnfAo6)6qjtf_|>8_W&EG` z@2-{ZJNx&I7hCYW71vXiyvq%HKimFtxJG=#t=#$t3Jd;ZZF#ccXPvEwg6EY+H@gu1 zzkjQ>V&y#f+`Sw!8HJwz=vrNvnES@hjin}Vq3OrIPcIC#-#2n^dG5-#IM`yQ6~~UU z<^;Ziy0X6ZzgbpJ?MpU1{a;{d_9Xww*UDnm`Lp^vIyyRD@cycC@K`o`#jaDauU~7o zJIv?jI9Vbc8@@BUw)W|RukB*%%_qKeJGHLp`mbN794|a)zW0hr>ZjAsHu0@7xl45~ z$8R+Xh_twT|J9f6=YFwPT)x`pH%Tw!H*4L!gX|YX9kk6`JE}~7JYrhU*Z%2q$+UR= ziMKC(d^Pj0zQkKW`~QD78{7`Io47}l@fdsenyUA#nFe_Rr}bwz{rl6>kWlUN`SpbG zssC;(Cp7MBKIhc%HebB8>1(vkk#xpax81@nG&U572i)Ix_2?1jSQaOis@+o*ey-G! zjM)0KdBJ)12)3<h0#}+PWS2CYdgpl6%Hz_nmkQa-%>V32xyl}8*|9J`xi)`s>{Elb zvXoy|L10Ge?_HN-pMpZBql1G#>-fV<PcAn9`F~(T4KF8yJ>yeuZH+%H9KZbekN3XP z<~*n@+_a#w_~euO_j_e8GUfe|D7XyonB8_ODz#~RpyzR7SAL1_iT~_U#zKM_ui02G zysn-4<$fD$K<)Y||CX^%xqbWe^yY@Lw`Z?he-JRYHureLn#Ps(`yNgG7k-@WSCqrl z|F2%%zs|I7&%fIDOniUWzm*VZxc2|m4TlR%yBuEL{p04+BlDkq%Ym+0O*y+I7#J8- zOI#yLQW8s2t&)pU6H8JVj0_CTbPddP4UIz#4Xlg|txPSo4GgRd45S%5yHPac=BH$) zRU&IJu(UEVvobY-X!v|~fdB&ogCxj?;QX|b^2DN42FH~Aq*MjZ+{E<Mpwz^a%EFVW QHlR@&Pgg&ebxsLQ0Kh6Lk^lez literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-icons_a83300_256x240.png b/app/escriptorium/static/vendor/jquery/images/ui-icons_a83300_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b1354b2534396cbcd6f420c3c92d7ae20d3f7792 GIT binary patch literal 4549 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 QZ9t<mp00i_>zopr04km*=>Px# literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-icons_cccccc_256x240.png b/app/escriptorium/static/vendor/jquery/images/ui-icons_cccccc_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..d936719ff17cfd17158fcf79af7904267d32348b GIT binary patch literal 6975 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 Iol`;+0Pc}P<NyEw literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery/images/ui-icons_ffffff_256x240.png b/app/escriptorium/static/vendor/jquery/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..fe41d2d0fdd40f87538d2312fa537a799994e55b GIT binary patch literal 6299 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 literal 0 HcmV?d00001 diff --git a/app/escriptorium/static/vendor/jquery-3.3.1.min.js b/app/escriptorium/static/vendor/jquery/jquery-3.3.1.min.js similarity index 100% rename from app/escriptorium/static/vendor/jquery-3.3.1.min.js rename to app/escriptorium/static/vendor/jquery/jquery-3.3.1.min.js diff --git a/app/escriptorium/static/vendor/jquery/jquery-ui.min.css b/app/escriptorium/static/vendor/jquery/jquery-ui.min.css new file mode 100644 index 00000000..9dc8ea25 --- /dev/null +++ b/app/escriptorium/static/vendor/jquery/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2018-12-15 +* http://jqueryui.com +* Includes: draggable.css, core.css, resizable.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=ui-darkness&cornerRadiusShadow=8px&offsetLeftShadow=-7px&offsetTopShadow=-7px&thicknessShadow=7px&opacityShadow=60&bgImgOpacityShadow=30&bgTextureShadow=flat&bgColorShadow=cccccc&opacityOverlay=80&bgImgOpacityOverlay=50&bgTextureOverlay=flat&bgColorOverlay=5c5c5c&iconColorError=a83300&fcError=111111&borderColorError=ffb73d&bgImgOpacityError=40&bgTextureError=glass&bgColorError=ffc73d&iconColorHighlight=4b8e0b&fcHighlight=2e7db2&borderColorHighlight=cccccc&bgImgOpacityHighlight=80&bgTextureHighlight=highlight_soft&bgColorHighlight=eeeeee&iconColorActive=222222&fcActive=ffffff&borderColorActive=ffaf0f&bgImgOpacityActive=30&bgTextureActive=inset_soft&bgColorActive=f58400&iconColorHover=ffffff&fcHover=ffffff&borderColorHover=59b4d4&bgImgOpacityHover=40&bgTextureHover=glass&bgColorHover=0078a3&iconColorDefault=cccccc&fcDefault=eeeeee&borderColorDefault=666666&bgImgOpacityDefault=20&bgTextureDefault=glass&bgColorDefault=555555&iconColorContent=cccccc&fcContent=ffffff&borderColorContent=666666&bgImgOpacityContent=25&bgTextureContent=inset_soft&bgColorContent=000000&iconColorHeader=ffffff&fcHeader=ffffff&borderColorHeader=333333&bgImgOpacityHeader=25&bgTextureHeader=gloss_wave&bgColorHeader=333333&cornerRadius=6px&fsDefault=1.1em&fwDefault=bold&ffDefault=Segoe%20UI%2CArial%2Csans-serif +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-widget{font-family:Segoe UI,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Segoe UI,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #666}.ui-widget-content{border:1px solid #666;background:#000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x;color:#fff}.ui-widget-content a{color:#fff}.ui-widget-header{border:1px solid #333;background:#333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #666;background:#555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eee}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#eee;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #59b4d4;background:#0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#fff}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#fff;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #ffaf0f;background:#f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#ffaf0f;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #ccc;background:#eee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x;color:#2e7db2}.ui-state-checked{border:1px solid #ccc;background:#eee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#2e7db2}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #ffb73d;background:#ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x;color:#111}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#111}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#111}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_cccccc_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_4b8e0b_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_a83300_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_cccccc_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:6px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:6px}.ui-widget-overlay{background:#5c5c5c;opacity:.8;filter:Alpha(Opacity=80)}.ui-widget-shadow{-webkit-box-shadow:-7px -7px 7px #ccc;box-shadow:-7px -7px 7px #ccc} \ No newline at end of file diff --git a/app/escriptorium/static/vendor/jquery/jquery-ui.min.js b/app/escriptorium/static/vendor/jquery/jquery-ui.min.js new file mode 100644 index 00000000..42afdfc1 --- /dev/null +++ b/app/escriptorium/static/vendor/jquery/jquery-ui.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2018-12-15 +* http://jqueryui.com +* Includes: widget.js, data.js, disable-selection.js, scroll-parent.js, widgets/draggable.js, widgets/resizable.js, widgets/mouse.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var s=!1;t(document).on("mouseup",function(){s=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!s){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,n=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),s=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,s=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),l=t.pageX,h=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(h=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,l=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(l=this.originalPageX),"x"===a.axis&&(h=this.originalPageY)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,l,h,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)l=s.snapElements[d].left-s.margins.left,h=l+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,l-g>_||m>h+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(l-_),r=g>=Math.abs(h-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(l-m),r=g>=Math.abs(h-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show()) +}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,l=this._change[o];return this._updatePrevProperties(),l?(i=l.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,l,h=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,l=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,h.animate||this.element.css(t.extend(a,{top:l,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!h.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,h=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&h&&(t.left=r-e.minWidth),s&&h&&(t.left=r-e.maxWidth),a&&c&&(t.top=l-e.minHeight),n&&c&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,l={width:i.size.width-r,height:i.size.height-a},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(l,c&&h?{top:c,left:h}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,l=t(this).resizable("instance"),h=l.options,c=l.element,u=h.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(l.containerElement=t(d),/document/.test(u)||u===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=l._num(e.css("padding"+s))}),l.containerOffset=e.offset(),l.containerPosition=e.position(),l.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=l.containerOffset,n=l.containerSize.height,o=l.containerSize.width,a=l._hasScroll(d,"left")?d.scrollWidth:o,r=l._hasScroll(d)?d.scrollHeight:n,l.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,l=a.containerOffset,h=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=l),h.left<(a._helper?l.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-l.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?l.left:0),h.top<(a._helper?l.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-l.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?l.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-l.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-l.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),l=a.outerWidth()-e.sizeDiff.width,h=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,l="number"==typeof s.grid?[s.grid,s.grid]:s.grid,h=l[0]||1,c=l[1]||1,u=Math.round((n.width-o.width)/h)*h,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=l,_&&(p+=h),v&&(f+=c),g&&(p-=h),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-h)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-h>0?(i.size.width=p,i.position.left=a.left-u):(p=h-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable}); \ No newline at end of file diff --git a/app/escriptorium/static/vendor/jquery/jquery-ui.structure.min.css b/app/escriptorium/static/vendor/jquery/jquery-ui.structure.min.css new file mode 100644 index 00000000..9d3cca39 --- /dev/null +++ b/app/escriptorium/static/vendor/jquery/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-15 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px} \ No newline at end of file diff --git a/app/escriptorium/static/vendor/jquery/jquery-ui.theme.min.css b/app/escriptorium/static/vendor/jquery/jquery-ui.theme.min.css new file mode 100644 index 00000000..e98136b0 --- /dev/null +++ b/app/escriptorium/static/vendor/jquery/jquery-ui.theme.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-15 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-widget{font-family:Segoe UI,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Segoe UI,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #666}.ui-widget-content{border:1px solid #666;background:#000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x;color:#fff}.ui-widget-content a{color:#fff}.ui-widget-header{border:1px solid #333;background:#333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #666;background:#555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eee}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#eee;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #59b4d4;background:#0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#fff}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#fff;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #ffaf0f;background:#f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#ffaf0f;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #ccc;background:#eee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x;color:#2e7db2}.ui-state-checked{border:1px solid #ccc;background:#eee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#2e7db2}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #ffb73d;background:#ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x;color:#111}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#111}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#111}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_cccccc_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_4b8e0b_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_a83300_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_cccccc_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:6px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:6px}.ui-widget-overlay{background:#5c5c5c;opacity:.8;filter:Alpha(Opacity=80)}.ui-widget-shadow{-webkit-box-shadow:-7px -7px 7px #ccc;box-shadow:-7px -7px 7px #ccc} \ No newline at end of file diff --git a/app/escriptorium/templates/base.html b/app/escriptorium/templates/base.html index 4669ff24..558729df 100644 --- a/app/escriptorium/templates/base.html +++ b/app/escriptorium/templates/base.html @@ -92,7 +92,7 @@ </section></main> {% block scripts %} - <script src="{% static '/vendor/jquery-3.3.1.min.js' %}"></script> + <script src="{% static '/vendor/jquery/jquery-3.3.1.min.js' %}"></script> <script src="{% static '/vendor/bootstrap/bootstrap.min.js' %}"></script> <script src="{% static '/js/reconnecting-websocket.min.js' %}"></script> <script src="{% static '/js/js.cookie-2.2.0.min.js' %}"></script> diff --git a/app/escriptorium/templates/core/document_form.html b/app/escriptorium/templates/core/document_form.html index 7b7056fe..62121348 100644 --- a/app/escriptorium/templates/core/document_form.html +++ b/app/escriptorium/templates/core/document_form.html @@ -5,6 +5,14 @@ {% block styles %} <link href="{% static 'vendor/dropzone/basic.min.css' %}" rel="stylesheet" type="text/css"> <link href="{% static 'vendor/dropzone/dropzone.min.css' %}" rel="stylesheet" type="text/css"> + +{# custom jquery ui build with draggable and resizable only #} +<link href="{% static 'vendor/jquery/jquery-ui.min.css' %}" rel="stylesheet" type="text/css"> +{% comment %} +<link href="{% static 'vendor/jquery/jquery-ui.structure.min.css' %}" rel="stylesheet" type="text/css"> +<link href="{% static 'vendor/jquery/jquery-ui.theme.min.css' %}" rel="stylesheet" type="text/css"> +{% endcomment %} + {{ block.super }} {% endblock %} @@ -195,6 +203,7 @@ {% block scripts %} {{ block.super }} <script src="{% static 'vendor/dropzone/dropzone.min.js' %}"></script> +<script src="{% static 'vendor/jquery/jquery-ui.min.js' %}"></script> <script src="{% static 'js/document_form.js' %}"></script> <script src="{% static 'js/image_cards.js' %}"></script> <script src="{% static 'js/lazyload.js' %}"></script> @@ -217,7 +226,7 @@ $(document).ready(function() { "width":"{{ part.image.width }}", "height": "{{ part.image.height}}" }, bwImgUrl: {% if part.bw_image %}"{{ part.bw_image.url }}"{% else %}null{% endif %}, - updateUrl: "{% url 'document-part-update' pk=object.pk part_pk=part.pk %}", + updateUrl: "{% url 'document-part' pk=object.pk part_pk=part.pk %}", deleteUrl: "{% url 'document-part-delete' pk=object.pk part_pk=part.pk %}", partUrl: "{% url 'document-part' pk=object.pk part_pk=part.pk %}", workflow: {{ part.workflow_state }} -- GitLab