Added: 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/jquery-ui.min.js
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/jquery-ui.min.js
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/jquery-ui.min.js
 Mon Jan 13 14:52:07 2025
@@ -0,0 +1,6 @@
+/*! jQuery UI - v1.13.2 - 2023-02-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, keycode.js, unique-id.js, 
widgets/autocomplete.js, widgets/menu.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+!function(t){"use strict";"function"==typeof 
define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use 
strict";x.ui=x.ui||{};x.ui.version="1.13.2";var 
n,i=0,l=Array.prototype.hasOwnProperty,a=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var
 
e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var
 s,n,o,l={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return 
e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[r.toLowerCase()]=function(t){return!!x.data(t,r)},x[a]=x[a]||{},s=x[a][t],n=x[a][t]=function(t,e){if(!this||!this._createWidget)return
 new 
n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new
 i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function 
n(){return i.prototype[e].apply(this,arguments)}function o(t){return 
i.prototype[e].apply(this
 ,t)}l[e]="function"==typeof s?function(){var 
t,e=this._super,i=this._superApply;return 
this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},l,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(x.each(s._childConstructors,function(t,e){var
 i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete 
s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n},x.widget.extend=function(t){for(var
 e,i,s=a.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in 
s[n])i=s[n][e],l.call(s[n],e)&&void 
0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return
 t},x.widget.bridge=function(o,e){var 
l=e.prototype.widgetFullName||o;x.fn[o]=function(i){var t="string"==typeof 
i,s=a.call(arguments,1),n=this;return 
t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,l);retur
 n"instance"===i?(n=e,!1):e?"function"!=typeof 
e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+o+" widget 
instance"):(t=e[i].apply(e,s))!==e&&void 
0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:x.error("cannot call 
methods on "+o+" prior to initialization; attempted to call method 
'"+i+"'")}):n=void 
0:(s.length&&(i=x.widget.extend.apply(null,[i].concat(s))),this.each(function(){var
 t=x.data(this,l);t?(t.option(i||{}),t._init&&t._init()):x.data(this,l,new 
e(i,this))})),n}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:functi
 
on(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var
 
i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return
 this.element},option:function(t,e){var 
i,s,n,o=t;if(0===arguments.length)return 
x.widget.extend({},this.options);if("string"==typeof 
t)if(o={},t=(i=t.split(".")).shift(),i.l
 
ength){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return
 void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 
0===this.options[t]?null:this.options[t];o[t]=e}return 
this._setOptions(o),this},_setOptions:function(t){for(var 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(t){var
 e,i,s;for(e in 
t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=x(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,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(n){var o=[],l=this;function 
t(t,e){for(var 
i,s=0;s<t.length;s++)i=l.classesElementLookup[t[s]]||x(),i=n.add?(function(){var
 
i=[];n.element.each(function(t,e){x.map(l.classesElementLookup,function(t){return
 t}).some(function(t){return 
t.is(e)})||i.push(e)}),l._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),l.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join("
 ")},_untrackClassesElement:function(i){var 
s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_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){var 
n="string"==typeof 
t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof
 s?s:i};return 
i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var 
l,a=this;"boolean"!=typeof 
n&&(t=o,o=n,n=!1),t?(o=l=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,l=this.widget()),x.each(t,function(t,e){function
 
i(){if(n||!0!==a.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof
 e?a[e]:e).apply(a,arguments)}"string"!=typeof 
e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var 
s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+a.eventNamespace,s=s[2];s?l.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split("
 ").join(this.eventNamespace+" 
")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){va
 r i=this;return setTimeout(function(){return("string"==typeof 
t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var
 
s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s
 in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof 
o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,l){x.Widget.prototyp
 e["_"+o]=function(e,t,i){var s,n=(t="string"==typeof 
t?{effect:t}:t)?!0!==t&&"number"!=typeof 
t&&t.effect||l:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}});var
 s,C,E,o,r,u,h,c,k;x.widget;function 
T(t,e,i){return[parseFloat(t[0])*(c.test(t[0])?e/100:1),parseFloat(t[1])*(c.test(t[1])?i/100:1)]}function
 A(t,e){return parseInt(x.css(t,e),10)||0}function W(t){return 
null!=t&&t===t.window}C=Math.max,E=Math.abs,o=/left|center|right/,r=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,h=/^\w+/,c=/%$/,k=x.fn.position,x.position={scrollbarWidth:function(){if(void
 0!==s)return s;var t,e=x("<div 
style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div
 style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return 
x("body").append(e),t=i.offsetWidth,e.
 
css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var
 
e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var
 
e=x(t||window),i=W(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(c){if(!c||!c.of)return
 k.apply(this,arguments);var 
d,f,m,p,v,t,g="string"==typeof(c=x.extend({},c)).of?x(document).find(c.of):x(c.of),_=x.position.getWithinInfo(c.within),y=x.position.getScrollInfo(_),b=(c.collision||"flip").split("
 "),w={},e=9===(t=(e=g)[0]).nodeType?{w
 
idth:e.width(),height:e.height(),offset:{top:0,left:0}}:W(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return
 g[0].preventDefault&&(c.at="left 
top"),f=e.width,m=e.height,v=x.extend({},p=e.offset),x.each(["my","at"],function(){var
 t,e,i=(c[this]||"").split(" 
");(i=1===i.length?o.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=u.exec(i[0]),e=u.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],c[this]=[h.exec(i[0])[0],h.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===c.at[0]?v.left+=f:"center"===c.at[0]&&(v.left+=f/2),"bottom"===c.at[1]?v.top+=m:"center"===c.at[1]&&(v.top+=m/2),d=T(w.at,f,m),v.left+=d[0],v.top+=d[1],this.each(function(){var
 i,t,l=x(this),a=l.outerWidth(),r=l.outerHeight(),e=A(this,"marginLeft"),s=A(t
 
his,"marginTop"),n=a+e+A(this,"marginRight")+y.width,o=r+s+A(this,"marginBottom")+y.height,u=x.extend({},v),h=T(w.my,l.outerWidth(),l.outerHeight());"right"===c.my[0]?u.left-=a:"center"===c.my[0]&&(u.left-=a/2),"bottom"===c.my[1]?u.top-=r:"center"===c.my[1]&&(u.top-=r/2),u.left+=h[0],u.top+=h[1],i={marginLeft:e,marginTop:s},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](u,{targetWidth:f,targetHeight:m,elemWidth:a,elemHeight:r,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+h[0],d[1]+h[1]],my:c.my,at:c.at,within:_,elem:l})}),c.using&&(t=function(t){var
 
e=p.left-u.left,i=e+f-a,s=p.top-u.top,n=s+m-r,o={target:{element:g,left:p.left,top:p.top,width:f,height:m},element:{element:l,left:u.left,top:u.top,width:a,height:r},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};f<a&&E(e+i)<f&&(o.horizontal="center"),m<r&&E(s+n)<m&&(o.vertical="middle"),C(E(e),E(i))>C(E(s),E(n))?o.important="horizontal":o.import
 
ant="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var
 
i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0<l&&a<=0?(i=t.left+l+e.collisionWidth-n-s,t.left+=l-i):t.left=!(0<a&&l<=0)&&a<l?s+n-e.collisionWidth:s:0<l?t.left+=l:0<a?t.left-=a:t.left=C(t.left-o,t.left)},top:function(t,e){var
 
i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,l=s-o,a=o+e.collisionHeight-n-s;e.collisionHeight>n?0<l&&a<=0?(i=t.top+l+e.collisionHeight-n-s,t.top+=l-i):t.top=!(0<a&&l<=0)&&a<l?s+n-e.collisionHeight:s:0<l?t.top+=l:0<a?t.top-=a:t.top=C(t.top-o,t.top)}},flip:{left:function(t,e){var
 
i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,l=t.left-e.collisionPosition.marginLeft,a=l-o,r=l+e.collisionWidth-n-o,u="left"===e.my[0]?-e.elemWidth:"right"===e.my
 
[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,l=-2*e.offset[0];a<0?((s=t.left+u+i+l+e.collisionWidth-n-s)<0||s<E(a))&&(t.left+=u+i+l):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+u+i+l-o)||E(o)<r)&&(t.left+=u+i+l)},top:function(t,e){var
 
i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,l=t.top-e.collisionPosition.marginTop,a=l-o,r=l+e.collisionHeight-n-o,u="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,l=-2*e.offset[1];a<0?((s=t.top+u+i+l+e.collisionHeight-n-s)<0||s<E(a))&&(t.top+=u+i+l):0<r&&(0<(o=t.top-e.collisionPosition.marginTop+u+i+l-o)||E(o)<r)&&(t.top+=u+i+l)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};var
 t;x.ui.position,x.ui.keyC
 
ode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.extend({uniqueId:(t=0,function(){return
 this.each(function(){this.id||(this.id="ui-id-"+ 
++t)})}),removeUniqueId:function(){return 
this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}}),x.ui.safeActiveElement=function(e){var
 i;try{i=e.activeElement}catch(t){i=e.body}return 
i=!(i=i||e.body).nodeName?e.body:i},x.widget("ui.menu",{version:"1.13.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:">
 *",menus:"ul",position:{my:"left top",at:"right 
top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget
 ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.p
 reventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var 
e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter
 .ui-menu-item":"_activateItem","mousemove 
.ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave 
.ui-menu":"collapseAll",focus:function(t,e){var 
i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})}
 ,_activateItem:function(t){var 
e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var
 t=this.element.find(".ui-menu-item").removeAttr("role 
aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex
 role 
aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role
 aria-labelledby aria-expanded aria-hidden aria-disabled 
tabIndex").removeUniqueId().show(),t.children().each(function(){var 
t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var
 e,i,s,n=!0;switch(t.keyCode){case 
x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case 
x.ui.keyCode.PAGE_DOWN:this.nextPage(
 t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case 
x.ui.keyCode.END:this._move("last","last",t);break;case 
x.ui.keyCode.UP:this.previous(t);break;case 
x.ui.keyCode.DOWN:this.next(t);break;case 
x.ui.keyCode.LEFT:this.collapse(t);break;case 
x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case
 x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case 
x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete
 this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()
 
},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var
 
t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var
 
t=x(this),e=t.prev(),i=x("<span>").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon
 
"+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget
 ui-widget-content 
ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var
 
t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item,
 .ui-menu-divider")).children().not(".ui-menu").uniqueId().at
 
tr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var
 
i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var
 
i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),th
 
is._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var
 
e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s<e+t&&this.activeMenu.scrollTop(i+e-s+t))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._clo
 se(),this._open(t)},this.delay))},_open:function(t){var 
e=x.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(e)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var
 
t=i?this.element:x(e&&e.target).closest(this.element.find(".ui-menu"));t.length||(t=this.element),this._close(t),this.blur(e),this._removeClass(t.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=t},i?0:this.delay)},_close:function(t){(t=t||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!x(t.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var
 e=this.active&&this.active.parent().closest(".u
 
i-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var
 
e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return
 
this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return
 
this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var
 
s;(s=this.active?"first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first():s)&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[e]()),this.focus(i,s)},nextPage:function(t){var
 
e,i,s;this.active?this.isLastItem()||(this._hasScroll()?(i=this.active.offset().top,
 
s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(e=x(this)).offset().top-i-s<0}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var
 
e,i,s;this.active?this.isFirstItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return
 
0<(e=x(this)).offset().top-i+s}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return
 
this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||x(t.target).closest(".ui-menu-item");var
 
e={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),
 this._trigger("select",t,e)},_filterMenuItems:function(t){var 
t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),e=new 
RegExp("^"+t,"i");return 
this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return
 
e.test(String.prototype.trim.call(x(this).children(".ui-menu-item-wrapper").text()))})}});x.widget("ui.autocomplete",{version:"1.13.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left
 top",at:"left 
bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var
 
i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:funct
 ion(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var 
e=x.ui.keyCode;switch(t.keyCode){case 
e.PAGE_UP:i=!0,this._move("previousPage",t);break;case 
e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case 
e.UP:i=!0,this._keyEvent("previous",t);break;case 
e.DOWN:i=!0,this._keyEvent("next",t);break;case 
e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case
 e.TAB:this.menu.active&&this.menu.select(t);break;case 
e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return
 
i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var
 e=x.ui.keyCode;switch(t.keyCode){case 
e.PAGE_UP:this._move("previousPage",t);break;case 
e.PAGE_DOWN:this._move("nextPage",t);break;case 
e.UP:this._keyEvent("previous",t);break;case 
e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t
 
.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var
 
i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return
 this.menu.blur(),void 
this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(
 
){this.liveRegion.html(x("<div>").text(i))},100))},menuselect:function(t,e){var 
i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled
 "===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var 
e=this.menu.element[0];return 
t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var
 t=this.options.appendTo;return 
t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front,
 dialog"):t).length?this.document[0].body:t},_initSource:function(){var 
i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof
 
this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var
 t=this.term===this._value(),e=this.men
 
u.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return
 
t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):!1!==this._trigger("search",e)?this._search(t):void
 
0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var
 e=++this.requestIndex;return 
function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(t){t=t&&this._normalize(t),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":v
 
isible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(t){return
 t.length&&t[0].label&&t[0].value?t:x.map(t,function(t){return"string"==typeof 
t?{label:t,value:t}:x.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var
 
e=this.menu.element.empty();this._renderMenu(e,t),this.isNewMenu=!0,this.menu.refresh(),e.show(),this._resizeMenu(),e.position(x.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var
 
t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,t){var
 
s=this;x.each(t,function(t,e){s._renderItemData(i,e)})},_renderItemData:function(t,e){return
 this._renderItem(t,e).data("ui-autocomplete-item",
 e)},_renderItem:function(t,e){return 
x("<li>").append(x("<div>").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return
 
this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void
 this.menu.blur()):void 
this.menu[t](e);this.search(null,e)},widget:function(){return 
this.menu.element},_value:function(){return 
this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var
 
e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return
 t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var 
i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return 
x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget(
 "ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search 
results.",results:function(t){return t+(1<t?" results are":" result is")+" 
available, use up and down arrow keys to 
navigate."}}},__response:function(t){var 
e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(e))},100))}});x.ui.autocomplete});
\ No newline at end of file

Added: 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/script.js
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/script.js
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/script.js
 Mon Jan 13 14:52:07 2025
@@ -0,0 +1,467 @@
+/*
+ * Copyright (c) 2013, 2024, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Licensed under the Universal Permissive License v 1.0 as shown at 
https://oss.oracle.com/licenses/upl/
+ */
+
+var moduleSearchIndex;
+var packageSearchIndex;
+var typeSearchIndex;
+var memberSearchIndex;
+var tagSearchIndex;
+
+var oddRowColor = "odd-row-color";
+var evenRowColor = "even-row-color";
+var sortAsc = "sort-asc";
+var sortDesc = "sort-desc";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+
+const linkIcon = "Link icon";
+const linkToSection = "Link to this section";
+
+function loadScripts(doc, tag) {
+    createElem(doc, tag, 'script-files/search.js');
+
+    createElem(doc, tag, 'module-search-index.js');
+    createElem(doc, tag, 'package-search-index.js');
+    createElem(doc, tag, 'type-search-index.js');
+    createElem(doc, tag, 'member-search-index.js');
+    createElem(doc, tag, 'tag-search-index.js');
+}
+
+function createElem(doc, tag, path) {
+    var script = doc.createElement(tag);
+    var scriptElement = doc.getElementsByTagName(tag)[0];
+    script.src = pathtoroot + path;
+    scriptElement.parentNode.insertBefore(script, scriptElement);
+}
+
+// Helper for  making content containing release names comparable 
lexicographically
+function makeComparable(s) {
+    return s.toLowerCase().replace(/(\d+)/g,
+        function(n, m) {
+            return ("000" + m).slice(-4);
+        });
+}
+
+// Switches between two styles depending on a condition
+function toggleStyle(classList, condition, trueStyle, falseStyle) {
+    if (condition) {
+        classList.remove(falseStyle);
+        classList.add(trueStyle);
+    } else {
+        classList.remove(trueStyle);
+        classList.add(falseStyle);
+    }
+}
+
+// Sorts the rows in a table lexicographically by the content of a specific 
column
+function sortTable(header, columnIndex, columns) {
+    var container = header.parentElement;
+    var descending = header.classList.contains(sortAsc);
+    container.querySelectorAll("div.table-header").forEach(
+        function(header) {
+            header.classList.remove(sortAsc);
+            header.classList.remove(sortDesc);
+        }
+    )
+    var cells = container.children;
+    var rows = [];
+    for (var i = columns; i < cells.length; i += columns) {
+        rows.push(Array.prototype.slice.call(cells, i, i + columns));
+    }
+    var comparator = function(a, b) {
+        var ka = makeComparable(a[columnIndex].textContent);
+        var kb = makeComparable(b[columnIndex].textContent);
+        if (ka < kb)
+            return descending ? 1 : -1;
+        if (ka > kb)
+            return descending ? -1 : 1;
+        return 0;
+    };
+    var sorted = rows.sort(comparator);
+    var visible = 0;
+    sorted.forEach(function(row) {
+        if (row[0].style.display !== 'none') {
+            var isEvenRow = visible++ % 2 === 0;
+        }
+        row.forEach(function(cell) {
+            toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor);
+            container.appendChild(cell);
+        })
+    });
+    toggleStyle(header.classList, descending, sortDesc, sortAsc);
+}
+
+// Toggles the visibility of a table category in all tables in a page
+function toggleGlobal(checkbox, selected, columns) {
+    const display = checkbox.checked ? '' : 'none';
+    const selectOther = selected === "other";
+    const selectAll = selected === "all";
+    if (selectAll) {
+        document.querySelectorAll('.checkboxes 
input[type="checkbox"]').forEach(c => {
+            c.checked = checkbox.checked;
+        });
+    }
+    document.querySelectorAll("div.table-tabs").forEach(t => {
+        const id = t.parentElement.getAttribute("id");
+        const selectedClass = id + "-tab" + (selectOther ? "" : selected);
+        var visible = 0;
+        t.parentElement.querySelectorAll('div.' + id)
+            .forEach(function(elem) {
+                if (selectAll
+                    || (!selectOther && elem.classList.contains(selectedClass))
+                    || (selectOther && elem.className.indexOf(selectedClass) < 
0)) {
+                    elem.style.display = display;
+                }
+                if (elem.style.display === '') {
+                    var isEvenRow = visible++ % (columns * 2) < columns;
+                    toggleStyle(elem.classList, isEvenRow, evenRowColor, 
oddRowColor);
+                }
+            });
+        var displaySection = visible === 0 ? 'none' : '';
+        t.parentElement.style.display = displaySection;
+        document.querySelector("li#contents-" + id).style.display = 
displaySection;
+    })
+}
+
+// Shows the elements of a table belonging to a specific category
+function show(tableId, selected, columns) {
+    if (tableId !== selected) {
+        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
+            .forEach(function(elem) {
+                elem.style.display = 'none';
+            });
+    }
+    document.querySelectorAll('div.' + selected)
+        .forEach(function(elem, index) {
+            elem.style.display = '';
+            var isEvenRow = index % (columns * 2) < columns;
+            toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
+        });
+    updateTabs(tableId, selected);
+}
+
+function updateTabs(tableId, selected) {
+    document.getElementById(tableId + '.tabpanel')
+        .setAttribute('aria-labelledby', selected);
+    document.querySelectorAll('button[id^="' + tableId + '"]')
+        .forEach(function(tab, index) {
+            if (selected === tab.id || (tableId === selected && index === 0)) {
+                tab.className = activeTableTab;
+                tab.setAttribute('aria-selected', true);
+                tab.setAttribute('tabindex',0);
+            } else {
+                tab.className = tableTab;
+                tab.setAttribute('aria-selected', false);
+                tab.setAttribute('tabindex',-1);
+            }
+        });
+}
+
+function switchTab(e) {
+    var selected = document.querySelector('[aria-selected=true]');
+    if (selected) {
+        if ((e.keyCode === 37 || e.keyCode === 38) && 
selected.previousSibling) {
+            // left or up arrow key pressed: move focus to previous tab
+            selected.previousSibling.click();
+            selected.previousSibling.focus();
+            e.preventDefault();
+        } else if ((e.keyCode === 39 || e.keyCode === 40) && 
selected.nextSibling) {
+            // right or down arrow key pressed: move focus to next tab
+            selected.nextSibling.click();
+            selected.nextSibling.focus();
+            e.preventDefault();
+        }
+    }
+}
+
+var updateSearchResults = function() {};
+
+function indexFilesLoaded() {
+    return moduleSearchIndex
+        && packageSearchIndex
+        && typeSearchIndex
+        && memberSearchIndex
+        && tagSearchIndex;
+}
+// Copy the contents of the local snippet to the clipboard
+function copySnippet(button) {
+    copyToClipboard(button.nextElementSibling.innerText);
+    switchCopyLabel(button, button.firstElementChild);
+}
+function copyToClipboard(content) {
+    var textarea = document.createElement("textarea");
+    textarea.style.height = 0;
+    document.body.appendChild(textarea);
+    textarea.value = content;
+    textarea.select();
+    document.execCommand("copy");
+    document.body.removeChild(textarea);
+}
+function switchCopyLabel(button, span) {
+    var copied = span.getAttribute("data-copied");
+    button.classList.add("visible");
+    var initialLabel = span.innerHTML;
+    span.innerHTML = copied;
+    setTimeout(function() {
+        button.classList.remove("visible");
+        setTimeout(function() {
+            if (initialLabel !== copied) {
+                span.innerHTML = initialLabel;
+            }
+        }, 100);
+    }, 1900);
+}
+function setTopMargin() {
+    // Dynamically set scroll margin to accomodate for draft header
+    var headerHeight = 
Math.ceil(document.querySelector("header").offsetHeight);
+    document.querySelector(":root")
+        .style.setProperty("--nav-height", headerHeight + "px");
+}
+document.addEventListener("readystatechange", (e) => {
+    if (document.readyState === "interactive") {
+        setTopMargin();
+    }
+    if (sessionStorage.getItem("sidebar") === "hidden") {
+        const sidebar = document.querySelector(".main-grid nav.toc");
+        if (sidebar) sidebar.classList.add("hide-sidebar");
+    }
+});
+document.addEventListener("DOMContentLoaded", function(e) {
+    setTopMargin();
+    // Make sure current element is visible in breadcrumb navigation on small 
displays
+    const subnav = document.querySelector("ol.sub-nav-list");
+    if (subnav && subnav.lastElementChild) {
+        subnav.lastElementChild.scrollIntoView({ behavior: "instant", inline: 
"start", block: "nearest" });
+    }
+    // Clone TOC sidebar to header for mobile navigation
+    const navbar = document.querySelector("div#navbar-top");
+    const sidebar = document.querySelector(".main-grid nav.toc");
+    const main = document.querySelector(".main-grid main");
+    const mainnav = navbar.querySelector("ul.nav-list");
+    const toggleButton = document.querySelector("button#navbar-toggle-button");
+    const toc = sidebar ? sidebar.cloneNode(true) : null;
+    if (toc) {
+        navbar.appendChild(toc);
+    }
+    document.querySelectorAll("input.filter-input").forEach(function(input) {
+        input.removeAttribute("disabled");
+        input.setAttribute("autocapitalize", "off");
+        input.value = "";
+        input.addEventListener("input", function(e) {
+            const pattern = input.value ? input.value.trim()
+                .replace(/[\[\]{}()*+?.\\^$|]/g, '\\$&')
+                .replace(/\s+/g, ".*") : "";
+            input.nextElementSibling.style.display = pattern ? "inline" : 
"none";
+            const filter = new RegExp(pattern, "i");
+            input.parentNode.parentNode.querySelectorAll("ol.toc-list 
li").forEach((li) => {
+                if (filter.test(li.innerText)) {
+                    li.removeAttribute("style");
+                } else {
+                    li.style.display = "none";
+                }
+            });
+            if (expanded) {
+                expand();
+            }
+        });
+    });
+    document.querySelectorAll("input.reset-filter").forEach((button) => {
+        button.removeAttribute("disabled");
+        button.addEventListener("click", (e) => {
+            const input = button.previousElementSibling;
+            input.value = "";
+            input.dispatchEvent(new InputEvent("input"));
+            input.focus();
+            if (expanded) {
+                expand();
+            } else {
+                prevHash = null;
+                handleScroll();
+            }
+        })
+    });
+    var expanded = false;
+    var windowWidth;
+    function collapse() {
+        if (expanded) {
+            mainnav.removeAttribute("style");
+            if (toc) {
+                toc.removeAttribute("style");
+            }
+            toggleButton.classList.remove("expanded")
+            toggleButton.setAttribute("aria-expanded", "false");
+            expanded = false;
+        }
+    }
+    function expand() {
+        expanded = true;
+        mainnav.style.display = "block";
+        mainnav.style.removeProperty("height");
+        var maxHeight = window.innerHeight - subnav.offsetTop + 4;
+        var expandedHeight = Math.min(maxHeight, mainnav.scrollHeight + 10);
+        if (toc) {
+            toc.style.display = "flex";
+            expandedHeight = Math.min(maxHeight,
+                Math.max(expandedHeight, 
toc.querySelector("div.toc-header").offsetHeight
+                                       + 
toc.querySelector("ol.toc-list").scrollHeight + 10));
+            toc.style.height = expandedHeight + "px";
+        }
+        mainnav.style.height = expandedHeight + "px";
+        toggleButton.classList.add("expanded");
+        toggleButton.setAttribute("aria-expanded", "true");
+        windowWidth = window.innerWidth;
+    }
+    toggleButton.addEventListener("click", (e) => {
+        if (expanded) {
+            collapse();
+        } else {
+            expand();
+        }
+    });
+    if (toc) {
+        toc.querySelectorAll("a").forEach((link) => {
+            link.addEventListener("click", collapse);
+        });
+    }
+    document.addEventListener('keydown', (e) => {
+        if (e.key === "Escape") collapse();
+    });
+    document.querySelector("main").addEventListener("click", collapse);
+    const searchInput = document.getElementById("search-input");
+    if (searchInput) searchInput.addEventListener("focus", collapse);
+    document.querySelectorAll("h1, h2, h3, h4, h5, h6")
+        .forEach((hdr, idx) => {
+            // Create anchor links for headers with an associated id attribute
+            var id = hdr.getAttribute("id") || 
hdr.parentElement.getAttribute("id")
+                || (hdr.querySelector("a") && 
hdr.querySelector("a").getAttribute("id"));
+            if (id) {
+                var template = document.createElement('template');
+                template.innerHTML =" <a href='#" + encodeURI(id) + "' 
class='anchor-link' aria-label='" + linkToSection
+                    + "'><img src='" + pathtoroot + "resource-files/link.svg' 
alt='" + linkIcon +"' tabindex='0'"
+                    + " width='16' height='16'></a>";
+                hdr.append(...template.content.childNodes);
+            }
+        });
+    var sections;
+    var scrollTimeout;
+    var scrollTimeoutNeeded;
+    var prevHash;
+    function initSectionData() {
+        sections = [{ id: "", top: 0 
}].concat(Array.from(main.querySelectorAll("section[id], h2[id], h2 a[id], 
div[id]"))
+            .filter((e) => {
+                return sidebar.querySelector("a[href=\"#" + 
encodeURI(e.getAttribute("id")) + "\"]") !== null
+            }).map((e) => {
+                return {
+                    id: e.getAttribute("id"),
+                    top: e.offsetTop
+                };
+            }));
+    }
+    function setScrollTimeout() {
+        clearTimeout(scrollTimeout);
+        scrollTimeoutNeeded = false;
+        scrollTimeout = setTimeout(() => {
+            scrollTimeout = null;
+            handleScroll();
+        }, 100);
+    }
+    function handleScroll() {
+        if (!sidebar || !sidebar.offsetParent || 
sidebar.classList.contains("hide-sidebar")) {
+            return;
+        }
+        if (scrollTimeout || scrollTimeoutNeeded) {
+            setScrollTimeout();
+            return;
+        }
+        var scrollTop = document.documentElement.scrollTop;
+        var scrollHeight = document.documentElement.scrollHeight;
+        var currHash = null;
+        if (scrollHeight - scrollTop < window.innerHeight + 10) {
+            // Select last item if at bottom of the page
+            currHash = "#" + encodeURI(sections.at(-1).id);
+        } else {
+            for (var i = 0; i < sections.length; i++) {
+                var top = sections[i].top;
+                var bottom = sections[i + 1] ? sections[i + 1].top : 
scrollHeight;
+                if (top + ((bottom - top) / 2) > scrollTop || bottom > 
scrollTop + (window.innerHeight / 3)) {
+                    currHash = "#" + encodeURI(sections[i].id);
+                    break;
+                }
+            }
+        }
+        if (currHash !== prevHash) {
+            setSelected(currHash);
+        }
+    }
+    function setSelected(hash) {
+        var prev = sidebar.querySelector("a.current-selection");
+        if (prev)
+            prev.classList.remove("current-selection");
+        prevHash = hash;
+        if (hash) {
+            var curr = sidebar.querySelector("ol.toc-list a[href=\"" + hash + 
"\"]");
+            if (curr) {
+                curr.classList.add("current-selection");
+                curr.scrollIntoView({ behavior: "instant", block: "nearest" });
+            }
+        }
+    }
+    if (sidebar) {
+        initSectionData();
+        document.querySelectorAll("a[href^='#']").forEach((link) => {
+            link.addEventListener("click", (e) => {
+                scrollTimeoutNeeded = true;
+                setSelected(link.getAttribute("href"));
+            })
+        });
+        sidebar.querySelector("button.hide-sidebar").addEventListener("click", 
() => {
+            sidebar.classList.add("hide-sidebar");
+            sessionStorage.setItem("sidebar", "hidden");
+        });
+        sidebar.querySelector("button.show-sidebar").addEventListener("click", 
() => {
+            sidebar.classList.remove("hide-sidebar");
+            sessionStorage.removeItem("sidebar");
+            initSectionData();
+            handleScroll();
+        });
+        window.addEventListener("hashchange", (e) => {
+            scrollTimeoutNeeded = true;
+        });
+        if (document.location.hash) {
+            scrollTimeoutNeeded = true;
+            setSelected(document.location.hash);
+        } else {
+            handleScroll();
+        }
+        window.addEventListener("scroll", handleScroll);
+        window.addEventListener("scrollend", () => {
+            if (scrollTimeout) {
+                clearTimeout(scrollTimeout);
+                scrollTimeout = null;
+                handleScroll();
+            }
+        })
+    }
+    // Resize handler
+    function handleResize(e) {
+        if (expanded) {
+            if (windowWidth !== window.innerWidth) {
+                collapse();
+            } else {
+                expand();
+            }
+        }
+        if (sections) {
+            initSectionData();
+            prevHash = null;
+            handleScroll();
+        }
+        setTopMargin();
+    }
+    window.addEventListener("orientationchange", handleResize);
+    window.addEventListener("resize", handleResize);
+});
\ No newline at end of file

Added: 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search-page.js
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search-page.js
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search-page.js
 Mon Jan 13 14:52:07 2025
@@ -0,0 +1,267 @@
+/*
+ * Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Licensed under the Universal Permissive License v 1.0 as shown at 
https://oss.oracle.com/licenses/upl/
+ */
+
+"use strict";
+$(function() {
+    var copy = $("#page-search-copy");
+    var expand = $("#page-search-expand");
+    var searchLink = $("span#page-search-link");
+    var redirect = $("input#search-redirect");
+    function setSearchUrlTemplate() {
+        var href = document.location.href.split(/[#?]/)[0];
+        href += "?q=" + "%s";
+        if (redirect.is(":checked")) {
+            href += "&r=1";
+        }
+        searchLink.html(href);
+        copy[0].onmouseenter();
+    }
+    function copyLink(e) {
+        copyToClipboard(this.previousSibling.innerText);
+        switchCopyLabel(this, this.lastElementChild);
+    }
+    copy.click(copyLink);
+    copy[0].onmouseenter = function() {};
+    redirect.click(setSearchUrlTemplate);
+    setSearchUrlTemplate();
+    copy.prop("disabled", false);
+    redirect.prop("disabled", false);
+    expand.click(function (e) {
+        var searchInfo = $("div.page-search-info");
+        if(this.parentElement.hasAttribute("open")) {
+            searchInfo.attr("style", "border-width: 0;");
+        } else {
+            searchInfo.attr("style", "border-width: 
1px;").height(searchInfo.prop("scrollHeight"));
+        }
+    });
+});
+$(window).on("load", function() {
+    var input = $("#page-search-input");
+    var reset = $("#page-search-reset");
+    var notify = $("#page-search-notify");
+    var resultSection = $("div#result-section");
+    var resultContainer = $("div#result-container");
+    var searchTerm = "";
+    var activeTab = "";
+    var fixedTab = false;
+    var visibleTabs = [];
+    var feelingLucky = false;
+    function renderResults(result) {
+        if (!result.length) {
+            notify.html(messages.noResult);
+        } else if (result.length === 1) {
+            notify.html(messages.oneResult);
+        } else {
+            notify.html(messages.manyResults.replace("{0}", result.length));
+        }
+        resultContainer.empty();
+        var r = {
+            "types": [],
+            "members": [],
+            "packages": [],
+            "modules": [],
+            "searchTags": []
+        };
+        for (var i in result) {
+            var item = result[i];
+            var arr = r[item.category];
+            arr.push(item);
+        }
+        if (!activeTab || r[activeTab].length === 0 || !fixedTab) {
+            Object.keys(r).reduce(function(prev, curr) {
+                if (r[curr].length > 0 && r[curr][0].score > prev) {
+                    activeTab = curr;
+                    return r[curr][0].score;
+                }
+                return prev;
+            }, 0);
+        }
+        if (feelingLucky && activeTab) {
+            notify.html(messages.redirecting)
+            var firstItem = r[activeTab][0];
+            window.location = getURL(firstItem.indexItem, firstItem.category);
+            return;
+        }
+        if (result.length > 20) {
+            if (searchTerm[searchTerm.length - 1] === ".") {
+                if (activeTab === "types" && r["members"].length > 
r["types"].length) {
+                    activeTab = "members";
+                } else if (activeTab === "packages" && r["types"].length > 
r["packages"].length) {
+                    activeTab = "types";
+                }
+            }
+        }
+        var categoryCount = Object.keys(r).reduce(function(prev, curr) {
+            return prev + (r[curr].length > 0 ? 1 : 0);
+        }, 0);
+        visibleTabs = [];
+        var tabContainer = $("<div 
class='table-tabs'></div>").appendTo(resultContainer);
+        for (var key in r) {
+            var id = "#result-tab-" + key.replace("searchTags", "search_tags");
+            if (r[key].length) {
+                var count = r[key].length >= 1000 ? "999+" : r[key].length;
+                if (result.length > 20 && categoryCount > 1) {
+                    var button = $("<button id='result-tab-" + key
+                        + "' class='page-search-header'><span>" + 
categories[key] + "</span>"
+                        + "<span style='font-weight: normal'> (" + count + 
")</span></button>").appendTo(tabContainer);
+                    button.click(key, function(e) {
+                        fixedTab = true;
+                        renderResult(e.data, $(this));
+                    });
+                    visibleTabs.push(key);
+                } else {
+                    $("<span class='page-search-header active-table-tab'>" + 
categories[key]
+                        + "<span style='font-weight: normal'> (" + count + 
")</span></span>").appendTo(tabContainer);
+                    renderTable(key, r[key]).appendTo(resultContainer);
+                    tabContainer = $("<div 
class='table-tabs'></div>").appendTo(resultContainer);
+
+                }
+            }
+        }
+        if (activeTab && result.length > 20 && categoryCount > 1) {
+            $("button#result-tab-" + activeTab).addClass("active-table-tab");
+            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
+        }
+        resultSection.show();
+        function renderResult(category, button) {
+            activeTab = category;
+            setSearchUrl();
+            resultContainer.find("div.summary-table").remove();
+            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
+            button.siblings().removeClass("active-table-tab");
+            button.addClass("active-table-tab");
+        }
+    }
+    function selectTab(category) {
+        $("button#result-tab-" + category).click();
+    }
+    function renderTable(category, items) {
+        var table = $("<div class='summary-table'>")
+            .addClass(category === "modules"
+                ? "one-column-search-results"
+                : "two-column-search-results");
+        var col1, col2;
+        if (category === "modules") {
+            col1 = "Module";
+        } else if (category === "packages") {
+            col1 = "Module";
+            col2 = "Package";
+        } else if (category === "types") {
+            col1 = "Package";
+            col2 = "Class"
+        } else if (category === "members") {
+            col1 = "Class";
+            col2 = "Member";
+        } else if (category === "searchTags") {
+            col1 = "Location";
+            col2 = "Name";
+        }
+        $("<div class='table-header col-plain'>" + col1 + 
"</div>").appendTo(table);
+        if (category !== "modules") {
+            $("<div class='table-header col-plain'>" + col2 + 
"</div>").appendTo(table);
+        }
+        $.each(items, function(index, item) {
+            var rowColor = index % 2 ? "odd-row-color" : "even-row-color";
+            renderItem(item, table, rowColor);
+        });
+        return table;
+    }
+    function renderItem(item, table, rowColor) {
+        var label = getHighlightedText(item.input, item.boundaries, 
item.prefix.length, item.input.length);
+        var link = $("<a/>")
+            .attr("href",  getURL(item.indexItem, item.category))
+            .attr("tabindex", "0")
+            .addClass("search-result-link")
+            .html(label);
+        var container = getHighlightedText(item.input, item.boundaries, 0, 
item.prefix.length - 1);
+        if (item.category === "searchTags") {
+            container = item.indexItem.h || "";
+        }
+        if (item.category !== "modules") {
+            
$("<div/>").html(container).addClass("col-plain").addClass(rowColor).appendTo(table);
+        }
+        
$("<div/>").html(link).addClass("col-last").addClass(rowColor).appendTo(table);
+    }
+    var timeout;
+    function schedulePageSearch() {
+        if (timeout) {
+            clearTimeout(timeout);
+        }
+        timeout = setTimeout(function () {
+            doPageSearch()
+        }, 100);
+    }
+    function doPageSearch() {
+        setSearchUrl();
+        var term = searchTerm = input.val().trim();
+        if (term === "") {
+            notify.html(messages.enterTerm);
+            activeTab = "";
+            fixedTab = false;
+            resultContainer.empty();
+            resultSection.hide();
+        } else {
+            notify.html(messages.searching);
+            doSearch({ term: term, maxResults: 1200 }, renderResults);
+        }
+    }
+    function setSearchUrl() {
+        var query = input.val().trim();
+        var url = document.location.pathname;
+        if (query) {
+            url += "?q=" + encodeURI(query);
+            if (activeTab && fixedTab) {
+                url += "&c=" + activeTab;
+            }
+        }
+        history.replaceState({query: query}, "", url);
+    }
+    input.on("input", function(e) {
+        feelingLucky = false;
+        schedulePageSearch();
+    });
+    $(document).keydown(function(e) {
+        if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === 
"ArrowRight")) {
+            if (activeTab && visibleTabs.length > 1) {
+                var idx = visibleTabs.indexOf(activeTab);
+                idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1;
+                selectTab(visibleTabs[idx % visibleTabs.length]);
+                return false;
+            }
+        }
+    });
+    reset.click(function() {
+        notify.html(messages.enterTerm);
+        resultSection.hide();
+        activeTab = "";
+        fixedTab = false;
+        resultContainer.empty();
+        input.val('').focus();
+        setSearchUrl();
+    });
+    input.prop("disabled", false);
+    input.attr("autocapitalize", "off");
+    reset.prop("disabled", false);
+
+    var urlParams = new URLSearchParams(window.location.search);
+    if (urlParams.has("q")) {
+        input.val(urlParams.get("q"))
+    }
+    if (urlParams.has("c")) {
+        activeTab = urlParams.get("c");
+        fixedTab = true;
+    }
+    if (urlParams.get("r")) {
+        feelingLucky = true;
+    }
+    if (input.val()) {
+        doPageSearch();
+    } else {
+        notify.html(messages.enterTerm);
+    }
+    input.select().focus();
+});
\ No newline at end of file

Added: 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search.js
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search.js
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/script-files/search.js
 Mon Jan 13 14:52:07 2025
@@ -0,0 +1,436 @@
+/*
+ * Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Licensed under the Universal Permissive License v 1.0 as shown at 
https://oss.oracle.com/licenses/upl/
+ */
+"use strict";
+const messages = {
+    enterTerm: "Enter a search term",
+    noResult: "No results found",
+    oneResult: "Found one result",
+    manyResults: "Found {0} results",
+    loading: "Loading search index...",
+    searching: "Searching...",
+    redirecting: "Redirecting to first result...",
+}
+const categories = {
+    modules: "Modules",
+    packages: "Packages",
+    types: "Types",
+    members: "Members",
+    searchTags: "Search Tags"
+};
+const highlight = "<span class='result-highlight'>$&</span>";
+const NO_MATCH = {};
+const MAX_RESULTS = 300;
+const UNICODE_LETTER = 0;
+const UNICODE_DIGIT = 1;
+const UNICODE_OTHER = 2;
+function checkUnnamed(name, separator) {
+    return name === "<Unnamed>" || !name ? "" : name + separator;
+}
+function escapeHtml(str) {
+    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
+}
+function getHighlightedText(str, boundaries, from, to) {
+    var start = from;
+    var text = "";
+    for (var i = 0; i < boundaries.length; i += 2) {
+        var b0 = boundaries[i];
+        var b1 = boundaries[i + 1];
+        if (b0 >= to || b1 <= from) {
+            continue;
+        }
+        text += escapeHtml(str.slice(start, Math.max(start, b0)));
+        text += "<span class='result-highlight'>";
+        text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1)));
+        text += "</span>";
+        start = Math.min(to, b1);
+    }
+    text += escapeHtml(str.slice(start, to));
+    return text;
+}
+function getURLPrefix(item, category) {
+    var urlPrefix = "";
+    var slash = "/";
+    if (category === "modules") {
+        return item.l + slash;
+    } else if (category === "packages" && item.m) {
+        return item.m + slash;
+    } else if (category === "types" || category === "members") {
+        if (item.m) {
+            urlPrefix = item.m + slash;
+        } else {
+            $.each(packageSearchIndex, function(index, it) {
+                if (it.m && item.p === it.l) {
+                    urlPrefix = it.m + slash;
+                }
+            });
+        }
+    }
+    return urlPrefix;
+}
+function getURL(item, category) {
+    if (item.url) {
+        return item.url;
+    }
+    var url = getURLPrefix(item, category);
+    if (category === "modules") {
+        url += "module-summary.html";
+    } else if (category === "packages") {
+        if (item.u) {
+            url = item.u;
+        } else {
+            url += item.l.replace(/\./g, '/') + "/package-summary.html";
+        }
+    } else if (category === "types") {
+        if (item.u) {
+            url = item.u;
+        } else {
+            url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + 
".html";
+        }
+    } else if (category === "members") {
+        url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + 
".html" + "#";
+        if (item.u) {
+            url += item.u;
+        } else {
+            url += item.l;
+        }
+    } else if (category === "searchTags") {
+        url += item.u;
+    }
+    item.url = url;
+    return url;
+}
+function createMatcher(term, camelCase) {
+    if (camelCase && !isUpperCase(term)) {
+        return null;  // no need for camel-case matcher for lower case query
+    }
+    var pattern = "";
+    var upperCase = [];
+    term.trim().split(/\s+/).forEach(function(w, index, array) {
+        var tokens = w.split(/(?=[\p{Lu},.()<>?[\/])/u);
+        for (var i = 0; i < tokens.length; i++) {
+            var s = tokens[i];
+            // ',' and '?' are the only delimiters commonly followed by space 
in java signatures
+            pattern += "(" + escapeUnicodeRegex(s).replace(/[,?]/g, "$&\\s*?") 
+ ")";
+            upperCase.push(false);
+            var isWordToken =  /[\p{L}\p{Nd}_]$/u.test(s);
+            if (isWordToken) {
+                if (i === tokens.length - 1 && index < array.length - 1) {
+                    // space in query string matches all delimiters
+                    pattern += "(.*?)";
+                    upperCase.push(isUpperCase(s[0]));
+                } else {
+                    if (!camelCase && isUpperCase(s) && s.length === 1) {
+                        pattern += "()";
+                    } else {
+                        pattern += "([\\p{L}\\p{Nd}\\p{Sc}<>?[\\]]*?)";
+                    }
+                    upperCase.push(isUpperCase(s[0]));
+                }
+            } else {
+                pattern += "()";
+                upperCase.push(false);
+            }
+        }
+    });
+    var re = new RegExp(pattern, "gui");
+    re.upperCase = upperCase;
+    return re;
+}
+// Unicode regular expressions do not allow certain characters to be escaped
+function escapeUnicodeRegex(pattern) {
+    return pattern.replace(/[\[\]{}()*+?.\\^$|\s]/g, '\\$&');
+}
+function findMatch(matcher, input, startOfName, endOfName) {
+    var from = startOfName;
+    matcher.lastIndex = from;
+    var match = matcher.exec(input);
+    // Expand search area until we get a valid result or reach the beginning 
of the string
+    while (!match || match.index + match[0].length < startOfName || endOfName 
< match.index) {
+        if (from === 0) {
+            return NO_MATCH;
+        }
+        from = input.lastIndexOf(".", from - 2) + 1;
+        matcher.lastIndex = from;
+        match = matcher.exec(input);
+    }
+    var boundaries = [];
+    var matchEnd = match.index + match[0].length;
+    var score = 5;
+    var start = match.index;
+    var prevEnd = -1;
+    for (var i = 1; i < match.length; i += 2) {
+        var charType = getCharType(input[start]);
+        var isMatcherUpper = matcher.upperCase[i];
+        // capturing groups come in pairs, match and non-match
+        boundaries.push(start, start + match[i].length);
+        // make sure groups are anchored on a left word boundary
+        var prevChar = input[start - 1] || "";
+        var nextChar = input[start + 1] || "";
+        if (start !== 0) {
+            if (charType === UNICODE_DIGIT && getCharType(prevChar) === 
UNICODE_DIGIT) {
+                return NO_MATCH;
+            } else if (charType === UNICODE_LETTER && getCharType(prevChar) 
=== UNICODE_LETTER) {
+                var isUpper = isUpperCase(input[start]);
+                if (isUpper && (isLowerCase(prevChar) || 
isLowerCase(nextChar))) {
+                    score -= 0.1;
+                } else if (isMatcherUpper && start === prevEnd) {
+                    score -= isUpper ? 0.1 : 1.0;
+                } else {
+                    return NO_MATCH;
+                }
+            }
+        }
+        prevEnd = start + match[i].length;
+        start += match[i].length + match[i + 1].length;
+
+        // lower score for parts of the name that are missing
+        if (match[i + 1] && prevEnd < endOfName) {
+            score -= rateNoise(match[i + 1]);
+        }
+    }
+    // lower score if a type name contains unmatched camel-case parts
+    if (input[matchEnd - 1] !== "." && endOfName > matchEnd)
+        score -= rateNoise(input.slice(matchEnd, endOfName));
+    score -= rateNoise(input.slice(0, Math.max(startOfName, match.index)));
+
+    if (score <= 0) {
+        return NO_MATCH;
+    }
+    return {
+        input: input,
+        score: score,
+        boundaries: boundaries
+    };
+}
+function isLetter(s) {
+    return /\p{L}/u.test(s);
+}
+function isUpperCase(s) {
+    return /\p{Lu}/u.test(s);
+}
+function isLowerCase(s) {
+    return /\p{Ll}/u.test(s);
+}
+function isDigit(s) {
+    return /\p{Nd}/u.test(s);
+}
+function getCharType(s) {
+    if (isLetter(s)) {
+        return UNICODE_LETTER;
+    } else if (isDigit(s)) {
+        return UNICODE_DIGIT;
+    } else {
+        return UNICODE_OTHER;
+    }
+}
+function rateNoise(str) {
+    return (str.match(/([.(])/g) || []).length / 5
+         + (str.match(/(\p{Lu}+)/gu) || []).length / 10
+         +  str.length / 20;
+}
+function doSearch(request, response) {
+    var term = request.term.trim();
+    var maxResults = request.maxResults || MAX_RESULTS;
+    var matcher = {
+        plainMatcher: createMatcher(term, false),
+        camelCaseMatcher: createMatcher(term, true)
+    }
+    var indexLoaded = indexFilesLoaded();
+
+    function getPrefix(item, category) {
+        switch (category) {
+            case "packages":
+                return checkUnnamed(item.m, "/");
+            case "types":
+                return checkUnnamed(item.p, ".");
+            case "members":
+                return checkUnnamed(item.p, ".") + item.c + ".";
+            default:
+                return "";
+        }
+    }
+    function useQualifiedName(category) {
+        switch (category) {
+            case "packages":
+                return /[\s/]/.test(term);
+            case "types":
+            case "members":
+                return /[\s.]/.test(term);
+            default:
+                return false;
+        }
+    }
+    function searchIndex(indexArray, category) {
+        var matches = [];
+        if (!indexArray) {
+            if (!indexLoaded) {
+                matches.push({ l: messages.loading, category: category });
+            }
+            return matches;
+        }
+        $.each(indexArray, function (i, item) {
+            var prefix = getPrefix(item, category);
+            var simpleName = item.l;
+            var qualifiedName = prefix + simpleName;
+            var useQualified = useQualifiedName(category);
+            var input = useQualified ? qualifiedName : simpleName;
+            var startOfName = useQualified ? prefix.length : 0;
+            var endOfName = category === "members" && input.indexOf("(", 
startOfName) > -1
+                ? input.indexOf("(", startOfName) : input.length;
+            var m = findMatch(matcher.plainMatcher, input, startOfName, 
endOfName);
+            if (m === NO_MATCH && matcher.camelCaseMatcher) {
+                m = findMatch(matcher.camelCaseMatcher, input, startOfName, 
endOfName);
+            }
+            if (m !== NO_MATCH) {
+                m.indexItem = item;
+                m.prefix = prefix;
+                m.category = category;
+                if (!useQualified) {
+                    m.input = qualifiedName;
+                    m.boundaries = m.boundaries.map(function(b) {
+                        return b + prefix.length;
+                    });
+                }
+                matches.push(m);
+            }
+            return true;
+        });
+        return matches.sort(function(e1, e2) {
+            return e2.score - e1.score;
+        }).slice(0, maxResults);
+    }
+
+    var result = searchIndex(moduleSearchIndex, "modules")
+         .concat(searchIndex(packageSearchIndex, "packages"))
+         .concat(searchIndex(typeSearchIndex, "types"))
+         .concat(searchIndex(memberSearchIndex, "members"))
+         .concat(searchIndex(tagSearchIndex, "searchTags"));
+
+    if (!indexLoaded) {
+        updateSearchResults = function() {
+            doSearch(request, response);
+        }
+    } else {
+        updateSearchResults = function() {};
+    }
+    response(result);
+}
+// JQuery search menu implementation
+$.widget("custom.catcomplete", $.ui.autocomplete, {
+    _create: function() {
+        this._super();
+        this.widget().menu("option", "items", "> .result-item");
+        // workaround for search result scrolling
+        this.menu._scrollIntoView = function _scrollIntoView( item ) {
+            var borderTop, paddingTop, offset, scroll, elementHeight, 
itemHeight;
+            if ( this._hasScroll() ) {
+                borderTop = parseFloat( $.css( this.activeMenu[ 0 ], 
"borderTopWidth" ) ) || 0;
+                paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], 
"paddingTop" ) ) || 0;
+                offset = item.offset().top - this.activeMenu.offset().top - 
borderTop - paddingTop;
+                scroll = this.activeMenu.scrollTop();
+                elementHeight = this.activeMenu.height() - 26;
+                itemHeight = item.outerHeight();
+
+                if ( offset < 0 ) {
+                    this.activeMenu.scrollTop( scroll + offset );
+                } else if ( offset + itemHeight > elementHeight ) {
+                    this.activeMenu.scrollTop( scroll + offset - elementHeight 
+ itemHeight );
+                }
+            }
+        };
+    },
+    _renderMenu: function(ul, items) {
+        var currentCategory = "";
+        var widget = this;
+        widget.menu.bindings = $();
+        $.each(items, function(index, item) {
+            if (item.category && item.category !== currentCategory) {
+                ul.append("<li class='ui-autocomplete-category'>" + 
categories[item.category] + "</li>");
+                currentCategory = item.category;
+            }
+            var li = widget._renderItemData(ul, item);
+            if (item.category) {
+                li.attr("aria-label", categories[item.category] + " : " + 
item.l);
+            } else {
+                li.attr("aria-label", item.l);
+            }
+            li.attr("class", "result-item");
+        });
+        ul.append("<li class='ui-static-link'><a href='" + pathtoroot + 
"search.html?q="
+            + encodeURI(widget.term) + "'>Go to search page</a></li>");
+    },
+    _renderItem: function(ul, item) {
+        var li = $("<li/>").appendTo(ul);
+        var div = $("<div/>").appendTo(li);
+        var label = item.l
+            ? item.l
+            : getHighlightedText(item.input, item.boundaries, 0, 
item.input.length);
+        var idx = item.indexItem;
+        if (item.category === "searchTags" && idx && idx.h) {
+            if (idx.d) {
+                div.html(label + "<span class='search-tag-holder-result'> (" + 
idx.h + ")</span><br><span class='search-tag-desc-result'>"
+                    + idx.d + "</span><br>");
+            } else {
+                div.html(label + "<span class='search-tag-holder-result'> (" + 
idx.h + ")</span>");
+            }
+        } else {
+            div.html(label);
+        }
+        return li;
+    }
+});
+$(function() {
+    var search = $("#search-input");
+    var reset = $("#reset-search");
+    search.catcomplete({
+        minLength: 1,
+        delay: 200,
+        source: function(request, response) {
+            reset.css("display", "inline");
+            if (request.term.trim() === "") {
+                return this.close();
+            }
+            return doSearch(request, response);
+        },
+        response: function(event, ui) {
+            if (!ui.content.length) {
+                ui.content.push({ l: messages.noResult });
+            } else {
+                $("#search-input").empty();
+            }
+        },
+        close: function(event, ui) {
+            reset.css("display", search.val() ? "inline" : "none");
+        },
+        change: function(event, ui) {
+            reset.css("display", search.val() ? "inline" : "none");
+        },
+        autoFocus: true,
+        focus: function(event, ui) {
+            return false;
+        },
+        position: {
+            collision: "flip"
+        },
+        select: function(event, ui) {
+            if (ui.item.indexItem) {
+                var url = getURL(ui.item.indexItem, ui.item.category);
+                window.location.href = pathtoroot + url;
+                $("#search-input").focus();
+            }
+        }
+    });
+    search.val('');
+    search.prop("disabled", false);
+    search.attr("autocapitalize", "off");
+    reset.prop("disabled", false);
+    reset.click(function() {
+        search.val('').focus();
+        reset.css("display", "none");
+    });
+    search.focus();
+});
\ No newline at end of file

Added: 
websites/production/commons/content/proper/commons-csv/apidocs/search.html
==============================================================================
--- websites/production/commons/content/proper/commons-csv/apidocs/search.html 
(added)
+++ websites/production/commons/content/proper/commons-csv/apidocs/search.html 
Mon Jan 13 14:52:07 2025
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html lang>
+<head>
+<!-- Generated by javadoc (23) -->
+<title>Search (Apache Commons CSV 1.13.1-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="search">
+<meta name="generator" content="javadoc/SearchWriter">
+<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css" 
title="Style">
+<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css" 
title="Style">
+<script type="text/javascript" src="script-files/script.js"></script>
+<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
+</head>
+<body class="search-page">
+<script type="text/javascript">const pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation 
links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="org/apache/commons/csv/package-summary.html">Package</a></li>
+<li><a href="org/apache/commons/csv/package-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="nav-bar-cell1-rev">Search</li>
+<li><a href="help-doc.html#search">Help</a></li>
+</ul>
+</div>
+</div>
+<div class="sub-nav">
+<div class="nav-content">
+<ol class="sub-nav-list"></ol>
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="main-grid">
+<main role="main">
+<h1 class="title">Search</h1>
+<div>
+<input type="text" id="page-search-input" disabled placeholder="Search" 
aria-label="Search in documentation" autocomplete="off">
+<input type="reset" id="page-search-reset" disabled value="Reset" 
style="margin: 6px;">
+<details class="page-search-details">
+<summary id="page-search-expand">Additional resources</summary>
+</details>
+</div>
+<div class="page-search-info">
+<p>The <a href="help-doc.html#search">help page</a> provides an introduction 
to the scope and syntax of JavaDoc search.</p>
+<p>You can use the &lt;ctrl&gt; or &lt;cmd&gt; keys in combination with the 
left and right arrow keys to switch between result tabs in this page.</p>
+<p>The URL template below may be used to configure this page as a search 
engine in browsers that support this feature. It has been tested to work in 
Google Chrome and Mozilla Firefox. Note that other browsers may not support 
this feature or require a different URL format.</p>
+<span id="page-search-link">link</span><button class="copy" aria-label="Copy 
URL" id="page-search-copy"><img src="resource-files/copy.svg" alt="Copy 
URL"><span data-copied="Copied!">Copy</span></button>
+<p>
+<input type="checkbox" id="search-redirect" disabled>
+<label for="search-redirect">Redirect to first result</label></p>
+</div>
+<p id="page-search-notify">Loading search index...</p>
+<div id="result-section" style="display: none;">
+<div id="result-container"></div>
+<script type="text/javascript" src="script-files/search-page.js"></script>
+</div>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small>Copyright © 2005-2025 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</br><a href="https://commons.apache.org/proper/commons-csv/";>Apache 
Commons CSV</a> |<a href="https://issues.apache.org/jira/browse/CSV";>Issue 
management</a> |<a 
href="https://gitbox.apache.org/repos/asf?p=commons-csv.git";>Source 
repository</a></small></p>
+</footer>
+</main>
+</div>
+</body>
+</html>
\ No newline at end of file

Modified: 
websites/production/commons/content/proper/commons-csv/apidocs/serialized-form.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/serialized-form.html
 (original)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/serialized-form.html
 Mon Jan 13 14:52:07 2025
@@ -1,51 +1,54 @@
 <!DOCTYPE HTML>
 <html lang>
 <head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (23) -->
 <title>Serialized Form (Apache Commons CSV 1.13.1-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta name="description" content="serialized forms">
-<meta name="generator" content="javadoc/SerializedFormWriterImpl">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" 
title="Style">
-<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" 
title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.7.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+<meta name="generator" content="javadoc/SerializedFormWriter">
+<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css" 
title="Style">
+<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css" 
title="Style">
+<script type="text/javascript" src="script-files/script.js"></script>
+<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
 </head>
 <body class="serialized-form-page">
-<script type="text/javascript">var pathtoroot = "./";
+<script type="text/javascript">const pathtoroot = "./";
 loadScripts(document, 'script');</script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
 </noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
+<header role="banner">
 <nav role="navigation">
 <!-- ========= START OF TOP NAVBAR ======= -->
 <div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation 
links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
 <li><a href="org/apache/commons/csv/package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
 <li><a href="org/apache/commons/csv/package-tree.html">Tree</a></li>
 <li><a href="deprecated-list.html">Deprecated</a></li>
 <li><a href="index-all.html">Index</a></li>
+<li><a href="search.html">Search</a></li>
 <li><a href="help-doc.html#serialized-form">Help</a></li>
 </ul>
 </div>
+</div>
 <div class="sub-nav">
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
+<div class="nav-content">
+<ol class="sub-nav-list"></ol>
+<div class="nav-list-search">
+<input type="text" id="search-input" disabled placeholder="Search" 
aria-label="Search in documentation" autocomplete="off">
+<input type="reset" id="reset-search" disabled value="Reset">
+</div>
 </div>
 </div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <span class="skip-nav" id="skip-navbar-top"></span></nav>
 </header>
-<div class="flex-content">
+<div class="main-grid">
 <main role="main">
 <div class="header">
 <h1 title="Serialized Form" class="title">Serialized Form</h1>
@@ -57,7 +60,7 @@ loadScripts(document, 'script');</script
 <ul class="block-list">
 <li>
 <section class="serialized-class-details" 
id="org.apache.commons.csv.CSVException">
-<h3>Exception&nbsp;<a href="org/apache/commons/csv/CSVException.html" 
title="class in 
org.apache.commons.csv">org.apache.commons.csv.CSVException</a></h3>
+<h3>Exception Class&nbsp;<a href="org/apache/commons/csv/CSVException.html" 
title="class in 
org.apache.commons.csv">org.apache.commons.csv.CSVException</a></h3>
 <div class="type-signature">class CSVException extends <a 
href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html";
 title="class or interface in java.io" class="external-link">IOException</a> 
implements <a 
href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/Serializable.html";
 title="class or interface in java.io" 
class="external-link">Serializable</a></div>
 <dl class="name-value">
 <dt>serialVersionUID:</dt>
@@ -238,12 +241,11 @@ loadScripts(document, 'script');</script
 </section>
 </li>
 </ul>
-</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small>Copyright © 2005-2025 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</br><a href="https://commons.apache.org/proper/commons-csv/";>Apache 
Commons CSV</a> |<a href="https://issues.apache.org/jira/browse/CSV";>Issue 
management</a> |<a 
href="https://gitbox.apache.org/repos/asf?p=commons-csv.git";>Source 
repository</a></small></p>
 </footer>
-</div>
+</main>
 </div>
 </body>
 </html>
\ No newline at end of file



Reply via email to