fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [12432] update DataTables from upstream


From: Sigurd Nes
Subject: [Fmsystem-commits] [12432] update DataTables from upstream
Date: Wed, 10 Dec 2014 13:54:54 +0000

Revision: 12432
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12432
Author:   sigurdne
Date:     2014-12-10 13:54:53 +0000 (Wed, 10 Dec 2014)
Log Message:
-----------
update DataTables from upstream

Modified Paths:
--------------
    branches/dev-syncromind/phpgwapi/js/DataTables/bower.json
    branches/dev-syncromind/phpgwapi/js/DataTables/composer.json
    branches/dev-syncromind/phpgwapi/js/DataTables/dataTables.jquery.json
    branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.js
    
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.min.js
    branches/dev-syncromind/phpgwapi/js/DataTables/package.json

Modified: branches/dev-syncromind/phpgwapi/js/DataTables/bower.json
===================================================================
--- branches/dev-syncromind/phpgwapi/js/DataTables/bower.json   2014-12-10 
13:25:54 UTC (rev 12431)
+++ branches/dev-syncromind/phpgwapi/js/DataTables/bower.json   2014-12-10 
13:54:53 UTC (rev 12432)
@@ -1,6 +1,6 @@
 {
        "name": "datatables",
-       "version": "1.10.3",
+       "version": "1.10.4",
        "main": [
                "media/js/jquery.dataTables.js",
                "media/css/jquery.dataTables.css"

Modified: branches/dev-syncromind/phpgwapi/js/DataTables/composer.json
===================================================================
--- branches/dev-syncromind/phpgwapi/js/DataTables/composer.json        
2014-12-10 13:25:54 UTC (rev 12431)
+++ branches/dev-syncromind/phpgwapi/js/DataTables/composer.json        
2014-12-10 13:54:53 UTC (rev 12432)
@@ -1,6 +1,6 @@
 {
        "name": "datatables/datatables",
-       "version": "1.10.3",
+       "version": "1.10.4",
        "description": "DataTables is a plug-in for the jQuery Javascript 
library. It is a highly flexible tool, based upon the foundations of 
progressive enhancement, which will add advanced interaction controls to any 
HTML table.", 
        "homepage": "http://www.datatables.net/";,
        "author": "SpryMedia", 

Modified: branches/dev-syncromind/phpgwapi/js/DataTables/dataTables.jquery.json
===================================================================
--- branches/dev-syncromind/phpgwapi/js/DataTables/dataTables.jquery.json       
2014-12-10 13:25:54 UTC (rev 12431)
+++ branches/dev-syncromind/phpgwapi/js/DataTables/dataTables.jquery.json       
2014-12-10 13:54:53 UTC (rev 12432)
@@ -1,6 +1,6 @@
 {
        "name": "DataTables",
-       "version": "1.10.3",
+       "version": "1.10.4",
        "description": "DataTables enhances HTML tables with the ability to 
sort, filter and page the data in the table very easily. It provides a 
comprehensive API and set of configuration options, allowing you to consume 
data from virtually any data source.",
        "homepage": "http://datatables.net/";,
        "docs": "http://datatables.net/";,

Modified: 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.js    
    2014-12-10 13:25:54 UTC (rev 12431)
+++ 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.js    
    2014-12-10 13:54:53 UTC (rev 12432)
@@ -1,11 +1,11 @@
-/*! DataTables 1.10.3
+/*! DataTables 1.10.4
  * ©2008-2014 SpryMedia Ltd - datatables.net/license
  */
 
 /**
  * @summary     DataTables
  * @description Paginate, search and order HTML tables
- * @version     1.10.3
+ * @version     1.10.4
  * @file        jquery.dataTables.js
  * @author      SpryMedia Ltd (www.sprymedia.co.uk)
  * @contact     www.sprymedia.co.uk/contact
@@ -22,7 +22,7 @@
  */
 
 /*jslint evil: true, undef: true, browser: true */
-/*globals 
$,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidateRow,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnScrollBarWidth,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/
+/*globals 
$,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidate,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnScrollBarWidth,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/
 
 (/** @lends <global> */function( window, document, undefined ) {
 
@@ -210,7 +210,9 @@
                // is essential here
                if ( prop2 !== undefined ) {
                        for ( ; i<ien ; i++ ) {
-                               out.push( a[ order[i] ][ prop ][ prop2 ] );
+                               if ( a[ order[i] ][ prop ] ) {
+                                       out.push( a[ order[i] ][ prop ][ prop2 
] );
+                               }
                        }
                }
                else {
@@ -245,6 +247,20 @@
        };
        
        
+       var _removeEmpty = function ( a )
+       {
+               var out = [];
+       
+               for ( var i=0, ien=a.length ; i<ien ; i++ ) {
+                       if ( a[i] ) { // careful - will remove all falsy values!
+                               out.push( a[i] );
+                       }
+               }
+       
+               return out;
+       };
+       
+       
        var _stripHtml = function ( d ) {
                return d.replace( _re_html, '' );
        };
@@ -842,13 +858,20 @@
        
                                                detectedType = types[j]( 
cache[k], settings );
        
-                                               // Doesn't match, so break 
early, since this type can't
-                                               // apply to this column. Also, 
HTML is a special case since
-                                               // it is so similar to 
`string`. Just a single match is
-                                               // needed for a column to be 
html type
-                                               if ( ! detectedType || 
detectedType === 'html' ) {
+                                               // If null, then this type 
can't apply to this column, so
+                                               // rather than testing all 
cells, break out. There is an
+                                               // exception for the last type 
which is `html`. We need to
+                                               // scan all rows since it is 
possible to mix string and HTML
+                                               // types
+                                               if ( ! detectedType && j !== 
types.length-1 ) {
                                                        break;
                                                }
+       
+                                               // Only a single match is 
needed for html type since it is
+                                               // bottom of the pile and very 
similar to string
+                                               if ( detectedType === 'html' ) {
+                                                       break;
+                                               }
                                        }
        
                                        // Type is valid for all data points in 
the column - use this
@@ -1429,61 +1452,75 @@
         * the cached data is next requested. Also update from the data source 
object.
         *
         * @param {object} settings DataTables settings object
-        * @param  {int}    rowIdx   Row index to invalidate
+        * @param {int}    rowIdx   Row index to invalidate
+        * @param {string} [src]    Source to invalidate from: undefined, 
'auto', 'dom'
+        *     or 'data'
+        * @param {int}    [colIdx] Column index to invalidate. If undefined 
the whole
+        *     row will be invalidated
         * @memberof DataTable#oApi
         *
         * @todo For the modularisation of v1.11 this will need to become a 
callback, so
         *   the sort and filter methods can subscribe to it. That will required
         *   initialisation options for sorting, which is why it is not already 
baked in
         */
-       function _fnInvalidateRow( settings, rowIdx, src, column )
+       function _fnInvalidate( settings, rowIdx, src, colIdx )
        {
                var row = settings.aoData[ rowIdx ];
                var i, ien;
+               var cellWrite = function ( cell, col ) {
+                       // This is very frustrating, but in IE if you just 
write directly
+                       // to innerHTML, and elements that are overwritten are 
GC'ed,
+                       // even if there is a reference to them elsewhere
+                       while ( cell.childNodes.length ) {
+                               cell.removeChild( cell.firstChild );
+                       }
        
+                       cell.innerHTML = _fnGetCellData( settings, rowIdx, col, 
'display' );
+               };
+       
                // Are we reading last data from DOM or the data object?
                if ( src === 'dom' || ((! src || src === 'auto') && row.src === 
'dom') ) {
                        // Read the data from the DOM
-                       row._aData = _fnGetRowElements( settings, row ).data;
+                       row._aData = _fnGetRowElements(
+                                       settings, row, colIdx, colIdx === 
undefined ? undefined : row._aData
+                               )
+                               .data;
                }
                else {
                        // Reading from data object, update the DOM
                        var cells = row.anCells;
-                       var cell;
        
                        if ( cells ) {
-                               for ( i=0, ien=cells.length ; i<ien ; i++ ) {
-                                       cell = cells[i];
-       
-                                       // This is very frustrating, but in IE 
if you just write directly
-                                       // to innerHTML, and elements that are 
overwritten are GC'ed,
-                                       // even if there is a reference to them 
elsewhere
-                                       while ( cell.childNodes.length ) {
-                                               cell.removeChild( 
cell.firstChild );
+                               if ( colIdx !== undefined ) {
+                                       cellWrite( cells[colIdx], colIdx );
+                               }
+                               else {
+                                       for ( i=0, ien=cells.length ; i<ien ; 
i++ ) {
+                                               cellWrite( cells[i], i );
                                        }
-       
-                                       cells[i].innerHTML = _fnGetCellData( 
settings, rowIdx, i, 'display' );
                                }
                        }
                }
        
+               // For both row and cell invalidation, the cached data for 
sorting and
+               // filtering is nulled out
                row._aSortData = null;
                row._aFilterData = null;
        
                // Invalidate the type for a specific column (if given) or all 
columns since
                // the data might have changed
                var cols = settings.aoColumns;
-               if ( column !== undefined ) {
-                       cols[ column ].sType = null;
+               if ( colIdx !== undefined ) {
+                       cols[ colIdx ].sType = null;
                }
                else {
                        for ( i=0, ien=cols.length ; i<ien ; i++ ) {
                                cols[i].sType = null;
                        }
+       
+                       // Update DataTables special `DT_*` attributes for the 
row
+                       _fnRowAttributes( row );
                }
-       
-               // Update DataTables special `DT_*` attributes for the row
-               _fnRowAttributes( row );
        }
        
        
@@ -1494,13 +1531,17 @@
         * @param {object} settings DataTables settings object
         * @param {node|object} TR element from which to read data or existing 
row
         *   object from which to re-read the data from the cells
+        * @param {int} [colIdx] Optional column index
+        * @param {array|object} [d] Data source object. If `colIdx` is given 
then this
+        *   parameter should also be given and will be used to write the data 
into.
+        *   Only the column in question will be written
         * @returns {object} Object with two parameters: `data` the data read, 
in
         *   document order, and `cells` and array of nodes (they can be useful 
to the
         *   caller, so rather than needing a second traversal to get them, 
just return
         *   them from here).
         * @memberof DataTable#oApi
         */
-       function _fnGetRowElements( settings, row )
+       function _fnGetRowElements( settings, row, colIdx, d )
        {
                var
                        tds = [],
@@ -1509,7 +1550,8 @@
                        columns = settings.aoColumns,
                        objectRead = settings._rowReadObject;
        
-               var d = objectRead ? {} : [];
+               // Allow the data object to be passed in, or construct
+               d = d || objectRead ? {} : [];
        
                var attr = function ( str, td  ) {
                        if ( typeof str === 'string' ) {
@@ -1523,30 +1565,33 @@
                        }
                };
        
+               // Read data from a cell and store into the data object
                var cellProcess = function ( cell ) {
-                       col = columns[i];
-                       contents = $.trim(cell.innerHTML);
+                       if ( colIdx === undefined || colIdx === i ) {
+                               col = columns[i];
+                               contents = $.trim(cell.innerHTML);
        
-                       if ( col && col._bAttrSrc ) {
-                               var setter = _fnSetObjectDataFn( col.mData._ );
-                               setter( d, contents );
+                               if ( col && col._bAttrSrc ) {
+                                       var setter = _fnSetObjectDataFn( 
col.mData._ );
+                                       setter( d, contents );
        
-                               attr( col.mData.sort, cell );
-                               attr( col.mData.type, cell );
-                               attr( col.mData.filter, cell );
-                       }
-                       else {
-                               // Depending on the `data` option for the 
columns the data can be
-                               // read to either an object or an array.
-                               if ( objectRead ) {
-                                       if ( ! col._setter ) {
-                                               // Cache the setter function
-                                               col._setter = 
_fnSetObjectDataFn( col.mData );
-                                       }
-                                       col._setter( d, contents );
+                                       attr( col.mData.sort, cell );
+                                       attr( col.mData.type, cell );
+                                       attr( col.mData.filter, cell );
                                }
                                else {
-                                       d.push( contents );
+                                       // Depending on the `data` option for 
the columns the data can
+                                       // be read to either an object or an 
array.
+                                       if ( objectRead ) {
+                                               if ( ! col._setter ) {
+                                                       // Cache the setter 
function
+                                                       col._setter = 
_fnSetObjectDataFn( col.mData );
+                                               }
+                                               col._setter( d, contents );
+                                       }
+                                       else {
+                                               d[i] = contents;
+                                       }
                                }
                        }
        
@@ -1554,7 +1599,7 @@
                };
        
                if ( td ) {
-                       // `tr` element passed in
+                       // `tr` element was passed in
                        while ( td ) {
                                name = td.nodeName.toUpperCase();
        
@@ -2610,7 +2655,7 @@
        
                var draw            = compat( 'sEcho',                'draw' );
                var recordsTotal    = compat( 'iTotalRecords',        
'recordsTotal' );
-               var rocordsFiltered = compat( 'iTotalDisplayRecords', 
'recordsFiltered' );
+               var recordsFiltered = compat( 'iTotalDisplayRecords', 
'recordsFiltered' );
        
                if ( draw ) {
                        // Protect against out of sequence returns
@@ -2622,7 +2667,7 @@
        
                _fnClearTable( settings );
                settings._iRecordsTotal   = parseInt(recordsTotal, 10);
-               settings._iRecordsDisplay = parseInt(rocordsFiltered, 10);
+               settings._iRecordsDisplay = parseInt(recordsFiltered, 10);
        
                var data = _fnAjaxDataSrc( settings, json );
                for ( var i=0, ien=data.length ; i<ien ; i++ ) {
@@ -2965,7 +3010,7 @@
        
        
        /**
-        * scape a string such that it can be used in a regular expression
+        * Escape a string such that it can be used in a regular expression
         *  @param {string} sVal string to escape
         *  @returns {string} escaped string
         *  @memberof DataTable#oApi
@@ -3605,12 +3650,12 @@
                                                                headerClone
                                                                        
.removeAttr('id')
                                                                        .css( 
'margin-left', 0 )
+                                                                       
.append( captionSide === 'top' ? caption : null )
                                                                        .append(
                                                                                
table.children('thead')
                                                                        )
                                                        )
                                        )
-                                       .append( captionSide === 'top' ? 
caption : null )
                        )
                        .append(
                                $(_div, { 'class': classes.sScrollBody } )
@@ -3636,12 +3681,12 @@
                                                                footerClone
                                                                        
.removeAttr('id')
                                                                        .css( 
'margin-left', 0 )
+                                                                       
.append( captionSide === 'bottom' ? caption : null )
                                                                        .append(
                                                                                
table.children('tfoot')
                                                                        )
                                                        )
                                        )
-                                       .append( captionSide === 'bottom' ? 
caption : null )
                        );
                }
        
@@ -5160,11 +5205,14 @@
                        len = settings._iDisplayLength;
        
                /* If we have space to show extra rows (backing up from the end 
point - then do so */
-               if (start >= end) 
+               if ( start >= end )
                {
                        start = end - len;
                }
        
+               // Keep the start record on the current page
+               start -= (start % len);
+       
                if ( len === -1 || start < 0 )
                {
                        start = 0;
@@ -6218,27 +6266,32 @@
                        }
                        
                        /* Language definitions */
-                       if ( oInit.oLanguage.sUrl !== "" )
+                       var oLanguage = oSettings.oLanguage;
+                       $.extend( true, oLanguage, oInit.oLanguage );
+                       
+                       if ( oLanguage.sUrl !== "" )
                        {
                                /* Get the language definitions from a file - 
because this Ajax call makes the language
                                 * get async to the remainder of this function 
we use bInitHandedOff to indicate that
                                 * _fnInitialise will be fired by the returned 
Ajax handler, rather than the constructor
                                 */
-                               oSettings.oLanguage.sUrl = oInit.oLanguage.sUrl;
-                               $.getJSON( oSettings.oLanguage.sUrl, null, 
function( json ) {
-                                       _fnLanguageCompat( json );
-                                       _fnCamelToHungarian( 
defaults.oLanguage, json );
-                                       $.extend( true, oSettings.oLanguage, 
oInit.oLanguage, json );
-                                       _fnInitialise( oSettings );
+                               $.ajax( {
+                                       dataType: 'json',
+                                       url: oLanguage.sUrl,
+                                       success: function ( json ) {
+                                               _fnLanguageCompat( json );
+                                               _fnCamelToHungarian( 
defaults.oLanguage, json );
+                                               $.extend( true, oLanguage, json 
);
+                                               _fnInitialise( oSettings );
+                                       },
+                                       error: function () {
+                                               // Error occurred loading 
language file, continue on as best we can
+                                               _fnInitialise( oSettings );
+                                       }
                                } );
                                bInitHandedOff = true;
                        }
-                       else
-                       {
-                               $.extend( true, oSettings.oLanguage, 
oInit.oLanguage );
-                       }
                        
-                       
                        /*
                         * Stripes
                         */
@@ -6750,8 +6803,8 @@
                        return -1;
                },
        
-               // Internal only at the moment - relax?
-               iterator: function ( flatten, type, fn ) {
+               // Note that `alwaysNew` is internal - use iteratorNew 
externally
+               iterator: function ( flatten, type, fn, alwaysNew ) {
                        var
                                a = [], ret,
                                i, ien, j, jen,
@@ -6761,6 +6814,7 @@
        
                        // Argument shifting
                        if ( typeof flatten === 'string' ) {
+                               alwaysNew = fn;
                                fn = type;
                                type = flatten;
                                flatten = false;
@@ -6810,7 +6864,7 @@
                                }
                        }
        
-                       if ( a.length ) {
+                       if ( a.length || alwaysNew ) {
                                var api = new _Api( context, flatten ? 
a.concat.apply( [], a ) : a );
                                var apiSelector = api.selector;
                                apiSelector.rows = selector.rows;
@@ -7137,35 +7191,35 @@
        _api_registerPlural( 'tables().nodes()', 'table().node()' , function () 
{
                return this.iterator( 'table', function ( ctx ) {
                        return ctx.nTable;
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'tables().body()', 'table().body()' , function () {
                return this.iterator( 'table', function ( ctx ) {
                        return ctx.nTBody;
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'tables().header()', 'table().header()' , function 
() {
                return this.iterator( 'table', function ( ctx ) {
                        return ctx.nTHead;
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'tables().footer()', 'table().footer()' , function 
() {
                return this.iterator( 'table', function ( ctx ) {
                        return ctx.nTFoot;
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'tables().containers()', 'table().container()' , 
function () {
                return this.iterator( 'table', function ( ctx ) {
                        return ctx.nTableWrapper;
-               } );
+               }, 1 );
        } );
        
        
@@ -7600,9 +7654,6 @@
                                return rows;
                        }
        
-                       // Get nodes in the order from the `rows` array
-                       var nodes = _pluck_order( settings.aoData, rows, 'nTr' 
);
-       
                        // Selector - function
                        if ( typeof sel === 'function' ) {
                                return $.map( rows, function (idx) {
@@ -7611,11 +7662,16 @@
                                } );
                        }
        
+                       // Get nodes in the order from the `rows` array with 
null values removed
+                       var nodes = _removeEmpty(
+                               _pluck_order( settings.aoData, rows, 'nTr' )
+                       );
+       
                        // Selector - node
                        if ( sel.nodeName ) {
                                if ( $.inArray( sel, nodes ) !== -1 ) {
-                                       return [ sel._DT_RowIndex ];// sel is a 
TR node that is in the table
-                                                                               
        // and DataTables adds a prop for fast lookup
+                                       return [ sel._DT_RowIndex ]; // sel is 
a TR node that is in the table
+                                                                    // and 
DataTables adds a prop for fast lookup
                                }
                        }
        
@@ -7649,7 +7705,7 @@
        
                var inst = this.iterator( 'table', function ( settings ) {
                        return __row_selector( settings, selector, opts );
-               } );
+               }, 1 );
        
                // Want argument shifting here and in __row_selector?
                inst.selector.rows = selector;
@@ -7662,32 +7718,32 @@
        _api_register( 'rows().nodes()', function () {
                return this.iterator( 'row', function ( settings, row ) {
                        return settings.aoData[ row ].nTr || undefined;
-               } );
+               }, 1 );
        } );
        
        _api_register( 'rows().data()', function () {
                return this.iterator( true, 'rows', function ( settings, rows ) 
{
                        return _pluck_order( settings.aoData, rows, '_aData' );
-               } );
+               }, 1 );
        } );
        
        _api_registerPlural( 'rows().cache()', 'row().cache()', function ( type 
) {
                return this.iterator( 'row', function ( settings, row ) {
                        var r = settings.aoData[ row ];
                        return type === 'search' ? r._aFilterData : 
r._aSortData;
-               } );
+               }, 1 );
        } );
        
        _api_registerPlural( 'rows().invalidate()', 'row().invalidate()', 
function ( src ) {
                return this.iterator( 'row', function ( settings, row ) {
-                       _fnInvalidateRow( settings, row, src );
+                       _fnInvalidate( settings, row, src );
                } );
        } );
        
        _api_registerPlural( 'rows().indexes()', 'row().index()', function () {
                return this.iterator( 'row', function ( settings, row ) {
                        return row;
-               } );
+               }, 1 );
        } );
        
        _api_registerPlural( 'rows().remove()', 'row().remove()', function () {
@@ -7736,7 +7792,7 @@
                                }
        
                                return out;
-                       } );
+                       }, 1 );
        
                // Return an Api.rows() extended instance, so rows().nodes() 
etc can be used
                var modRows = this.rows( -1 );
@@ -7772,7 +7828,7 @@
                ctx[0].aoData[ this[0] ]._aData = data;
        
                // Automatically invalidate
-               _fnInvalidateRow( ctx[0], this[0], 'data' );
+               _fnInvalidate( ctx[0], this[0], 'data' );
        
                return this;
        } );
@@ -8207,7 +8263,7 @@
        
                var inst = this.iterator( 'table', function ( settings ) {
                        return __column_selector( settings, selector, opts );
-               } );
+               }, 1 );
        
                // Want argument shifting here and in _row_selector?
                inst.selector.cols = selector;
@@ -8223,7 +8279,7 @@
        _api_registerPlural( 'columns().header()', 'column().header()', 
function ( selector, opts ) {
                return this.iterator( 'column', function ( settings, column ) {
                        return settings.aoColumns[column].nTh;
-               } );
+               }, 1 );
        } );
        
        
@@ -8233,7 +8289,7 @@
        _api_registerPlural( 'columns().footer()', 'column().footer()', 
function ( selector, opts ) {
                return this.iterator( 'column', function ( settings, column ) {
                        return settings.aoColumns[column].nTf;
-               } );
+               }, 1 );
        } );
        
        
@@ -8241,14 +8297,14 @@
         *
         */
        _api_registerPlural( 'columns().data()', 'column().data()', function () 
{
-               return this.iterator( 'column-rows', __columnData );
+               return this.iterator( 'column-rows', __columnData, 1 );
        } );
        
        
        _api_registerPlural( 'columns().dataSrc()', 'column().dataSrc()', 
function () {
                return this.iterator( 'column', function ( settings, column ) {
                        return settings.aoColumns[column].mData;
-               } );
+               }, 1 );
        } );
        
        
@@ -8257,23 +8313,24 @@
                        return _pluck_order( settings.aoData, rows,
                                type === 'search' ? '_aFilterData' : 
'_aSortData', column
                        );
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'columns().nodes()', 'column().nodes()', function 
() {
                return this.iterator( 'column-rows', function ( settings, 
column, i, j, rows ) {
                        return _pluck_order( settings.aoData, rows, 'anCells', 
column ) ;
-               } );
+               }, 1 );
        } );
        
        
        
        _api_registerPlural( 'columns().visible()', 'column().visible()', 
function ( vis, calc ) {
                return this.iterator( 'column', function ( settings, column ) {
-                       return vis === undefined ?
-                               settings.aoColumns[ column ].bVisible :
-                               __setColumnVis( settings, column, vis, calc );
+                       if ( vis === undefined ) {
+                               return settings.aoColumns[ column ].bVisible;
+                       } // else
+                       __setColumnVis( settings, column, vis, calc );
                } );
        } );
        
@@ -8284,7 +8341,7 @@
                        return type === 'visible' ?
                                _fnColumnIndexToVisible( settings, column ) :
                                column;
-               } );
+               }, 1 );
        } );
        
        
@@ -8304,7 +8361,7 @@
        _api_register( 'columns.adjust()', function () {
                return this.iterator( 'table', function ( settings ) {
                        _fnAdjustColumnSizing( settings );
-               } );
+               }, 1 );
        } );
        
        
@@ -8334,7 +8391,7 @@
        {
                var data = settings.aoData;
                var rows = _selector_row_indexes( settings, opts );
-               var cells = _pluck_order( data, rows, 'anCells' );
+               var cells = _removeEmpty( _pluck_order( data, rows, 'anCells' ) 
);
                var allCells = $( [].concat.apply([], cells) );
                var row;
                var columns = settings.aoColumns.length;
@@ -8440,7 +8497,7 @@
                        }
        
                        return a;
-               } );
+               }, 1 );
        
                $.extend( cells.selector, {
                        cols: columnSelector,
@@ -8454,15 +8511,18 @@
        
        _api_registerPlural( 'cells().nodes()', 'cell().node()', function () {
                return this.iterator( 'cell', function ( settings, row, column 
) {
-                       return settings.aoData[ row ].anCells[ column ];
-               } );
+                       var cells = settings.aoData[ row ].anCells;
+                       return cells ?
+                               cells[ column ] :
+                               undefined;
+               }, 1 );
        } );
        
        
        _api_register( 'cells().data()', function () {
                return this.iterator( 'cell', function ( settings, row, column 
) {
                        return _fnGetCellData( settings, row, column );
-               } );
+               }, 1 );
        } );
        
        
@@ -8471,14 +8531,14 @@
        
                return this.iterator( 'cell', function ( settings, row, column 
) {
                        return settings.aoData[ row ][ type ][ column ];
-               } );
+               }, 1 );
        } );
        
        
        _api_registerPlural( 'cells().render()', 'cell().render()', function ( 
type ) {
                return this.iterator( 'cell', function ( settings, row, column 
) {
                        return _fnGetCellData( settings, row, column, type );
-               } );
+               }, 1 );
        } );
        
        
@@ -8489,33 +8549,23 @@
                                column: column,
                                columnVisible: _fnColumnIndexToVisible( 
settings, column )
                        };
-               } );
+               }, 1 );
        } );
        
        
-       _api_register( [
-               'cells().invalidate()',
-               'cell().invalidate()'
-       ], function ( src ) {
-               var selector = this.selector;
-       
-               // Use the rows method of the instance to perform the 
invalidation, rather
-               // than doing it here. This avoids needing to handle duplicate 
rows from
-               // the cells.
-               this.rows( selector.rows, selector.opts ).invalidate( src );
-       
-               return this;
+       _api_registerPlural( 'cells().invalidate()', 'cell().invalidate()', 
function ( src ) {
+               return this.iterator( 'cell', function ( settings, row, column 
) {
+                       _fnInvalidate( settings, row, src, column );
+               } );
        } );
        
        
        
-       
        _api_register( 'cell()', function ( rowSelector, columnSelector, opts ) 
{
                return _selector_first( this.cells( rowSelector, 
columnSelector, opts ) );
        } );
        
        
-       
        _api_register( 'cell().data()', function ( data ) {
                var ctx = this.context;
                var cell = this[0];
@@ -8529,7 +8579,7 @@
        
                // Set
                _fnSetCellData( ctx[0], cell[0].row, cell[0].column, data );
-               _fnInvalidateRow( ctx[0], cell[0].row, 'data', cell[0].column );
+               _fnInvalidate( ctx[0], cell[0].row, 'data', cell[0].column );
        
                return this;
        } );
@@ -8803,7 +8853,7 @@
         */
        DataTable.tables = DataTable.fnTables = function ( visible )
        {
-               return jQuery.map( DataTable.settings, function (o) {
+               return $.map( DataTable.settings, function (o) {
                        if ( !visible || (visible && 
$(o.nTable).is(':visible')) ) {
                                return o.nTable;
                        }
@@ -8830,7 +8880,16 @@
                 * @param {integer} freq Call frequency in mS
                 * @return {function} Wrapped function
                 */
-               throttle: _fnThrottle
+               throttle: _fnThrottle,
+       
+       
+               /**
+                * Escape a string such that it can be used in a regular 
expression
+                *
+                *  @param {string} sVal string to escape
+                *  @returns {string} escaped string
+                */
+               escapeRegex: _fnEscapeRegex
        };
        
        
@@ -9013,7 +9072,7 @@
         *  @type string
         *  @default Version number
         */
-       DataTable.version = "1.10.3";
+       DataTable.version = "1.10.4";
 
        /**
         * Private data store, containing all of the settings objects that are
@@ -14144,6 +14203,91 @@
        
        
        
+       // Built in type detection. See model.ext.aTypes for information about
+       // what is required from this methods.
+       $.extend( DataTable.ext.type.detect, [
+               // Plain numbers - first since V8 detects some plain numbers as 
dates
+               // e.g. Date.parse('55') (but not all, e.g. 
Date.parse('22')...).
+               function ( d, settings )
+               {
+                       var decimal = settings.oLanguage.sDecimal;
+                       return _isNumber( d, decimal ) ? 'num'+decimal : null;
+               },
+       
+               // Dates (only those recognised by the browser's Date.parse)
+               function ( d, settings )
+               {
+                       // V8 will remove any unknown characters at the start 
and end of the
+                       // expression, leading to false matches such as 
`$245.12` or `10%` being
+                       // a valid date. See forum thread 18941 for detail.
+                       if ( d && !(d instanceof Date) && ( ! 
_re_date_start.test(d) || ! _re_date_end.test(d) ) ) {
+                               return null;
+                       }
+                       var parsed = Date.parse(d);
+                       return (parsed !== null && !isNaN(parsed)) || _empty(d) 
? 'date' : null;
+               },
+       
+               // Formatted numbers
+               function ( d, settings )
+               {
+                       var decimal = settings.oLanguage.sDecimal;
+                       return _isNumber( d, decimal, true ) ? 
'num-fmt'+decimal : null;
+               },
+       
+               // HTML numeric
+               function ( d, settings )
+               {
+                       var decimal = settings.oLanguage.sDecimal;
+                       return _htmlNumeric( d, decimal ) ? 'html-num'+decimal 
: null;
+               },
+       
+               // HTML numeric, formatted
+               function ( d, settings )
+               {
+                       var decimal = settings.oLanguage.sDecimal;
+                       return _htmlNumeric( d, decimal, true ) ? 
'html-num-fmt'+decimal : null;
+               },
+       
+               // HTML (this is strict checking - there must be html)
+               function ( d, settings )
+               {
+                       return _empty( d ) || (typeof d === 'string' && 
d.indexOf('<') !== -1) ?
+                               'html' : null;
+               }
+       ] );
+       
+       
+       
+       // Filter formatting functions. See model.ext.ofnSearch for information 
about
+       // what is required from these methods.
+       // 
+       // Note that additional search methods are added for the html numbers 
and
+       // html formatted numbers by `_addNumericSort()` when we know what the 
decimal
+       // place is
+       
+       
+       $.extend( DataTable.ext.type.search, {
+               html: function ( data ) {
+                       return _empty(data) ?
+                               data :
+                               typeof data === 'string' ?
+                                       data
+                                               .replace( _re_new_lines, " " )
+                                               .replace( _re_html, "" ) :
+                                       '';
+               },
+       
+               string: function ( data ) {
+                       return _empty(data) ?
+                               data :
+                               typeof data === 'string' ?
+                                       data.replace( _re_new_lines, " " ) :
+                                       data;
+               }
+       } );
+       
+       
+       
        var __numericReplace = function ( d, decimalPlace, re1, re2 ) {
                if ( d !== 0 && (!d || d === '-') ) {
                        return -Infinity;
@@ -14170,8 +14314,8 @@
        };
        
        
-       // Add the numeric 'deformatting' functions for sorting. This is done 
in a
-       // function to provide an easy ability for the language options to add
+       // Add the numeric 'deformatting' functions for sorting and search. 
This is done
+       // in a function to provide an easy ability for the language options to 
add
        // additional methods if a non-period decimal place is used.
        function _addNumericSort ( decimalPlace ) {
                $.each(
@@ -14197,7 +14341,13 @@
                                }
                        },
                        function ( key, fn ) {
+                               // Add the ordering method
                                _ext.type.order[ key+decimalPlace+'-pre' ] = fn;
+       
+                               // For HTML types add a search formatter that 
will strip the HTML
+                               if ( key.match(/^html\-/) ) {
+                                       _ext.type.search[ key+decimalPlace ] = 
_ext.type.search.html;
+                               }
                        }
                );
        }
@@ -14248,87 +14398,6 @@
        _addNumericSort( '' );
        
        
-       // Built in type detection. See model.ext.aTypes for information about
-       // what is required from this methods.
-       $.extend( DataTable.ext.type.detect, [
-               // Plain numbers - first since V8 detects some plain numbers as 
dates
-               // e.g. Date.parse('55') (but not all, e.g. 
Date.parse('22')...).
-               function ( d, settings )
-               {
-                       var decimal = settings.oLanguage.sDecimal;
-                       return _isNumber( d, decimal ) ? 'num'+decimal : null;
-               },
-       
-               // Dates (only those recognised by the browser's Date.parse)
-               function ( d, settings )
-               {
-                       // V8 will remove any unknown characters at the start 
and end of the
-                       // expression, leading to false matches such as 
`$245.12` or `10%` being
-                       // a valid date. See forum thread 18941 for detail.
-                       if ( d && !(d instanceof Date) && ( ! 
_re_date_start.test(d) || ! _re_date_end.test(d) ) ) {
-                               return null;
-                       }
-                       var parsed = Date.parse(d);
-                       return (parsed !== null && !isNaN(parsed)) || _empty(d) 
? 'date' : null;
-               },
-       
-               // Formatted numbers
-               function ( d, settings )
-               {
-                       var decimal = settings.oLanguage.sDecimal;
-                       return _isNumber( d, decimal, true ) ? 
'num-fmt'+decimal : null;
-               },
-       
-               // HTML numeric
-               function ( d, settings )
-               {
-                       var decimal = settings.oLanguage.sDecimal;
-                       return _htmlNumeric( d, decimal ) ? 'html-num'+decimal 
: null;
-               },
-       
-               // HTML numeric, formatted
-               function ( d, settings )
-               {
-                       var decimal = settings.oLanguage.sDecimal;
-                       return _htmlNumeric( d, decimal, true ) ? 
'html-num-fmt'+decimal : null;
-               },
-       
-               // HTML (this is strict checking - there must be html)
-               function ( d, settings )
-               {
-                       return _empty( d ) || (typeof d === 'string' && 
d.indexOf('<') !== -1) ?
-                               'html' : null;
-               }
-       ] );
-       
-       
-       
-       // Filter formatting functions. See model.ext.ofnSearch for information 
about
-       // what is required from these methods.
-       
-       
-       $.extend( DataTable.ext.type.search, {
-               html: function ( data ) {
-                       return _empty(data) ?
-                               data :
-                               typeof data === 'string' ?
-                                       data
-                                               .replace( _re_new_lines, " " )
-                                               .replace( _re_html, "" ) :
-                                       '';
-               },
-       
-               string: function ( data ) {
-                       return _empty(data) ?
-                               data :
-                               typeof data === 'string' ?
-                                       data.replace( _re_new_lines, " " ) :
-                                       data;
-               }
-       } );
-       
-       
-       
        $.extend( true, DataTable.ext.renderer, {
                header: {
                        _: function ( settings, cell, column, classes ) {
@@ -14517,7 +14586,7 @@
                _fnGetDataMaster: _fnGetDataMaster,
                _fnClearTable: _fnClearTable,
                _fnDeleteIndex: _fnDeleteIndex,
-               _fnInvalidateRow: _fnInvalidateRow,
+               _fnInvalidate: _fnInvalidate,
                _fnGetRowElements: _fnGetRowElements,
                _fnCreateTr: _fnCreateTr,
                _fnBuildHead: _fnBuildHead,

Modified: 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.min.js
    2014-12-10 13:25:54 UTC (rev 12431)
+++ 
branches/dev-syncromind/phpgwapi/js/DataTables/media/js/jquery.dataTables.min.js
    2014-12-10 13:54:53 UTC (rev 12432)
@@ -1,157 +1,157 @@
-/*! DataTables 1.10.3
+/*! DataTables 1.10.4
  * ©2008-2014 SpryMedia Ltd - datatables.net/license
  */
-(function(Da,P,l){var O=function(h){function V(a){var 
b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa 
ai ao as b fn i m o s ".indexOf(b[1]+" 
"))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&V(a[e])});a._hungarianMap=d}function
 G(a,b,c){a._hungarianMap||V(a);var 
d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function
 O(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
-!a.sEmptyTable&&(c&&"No data available in 
table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function
 
eb(a){z(a,"ordering","bSort");z(a,"orderMulti","bSortMulti");z(a,"orderClasses","bSortClasses");z(a,"orderCellsTop","bSortCellsTop");z(a,"order","aaSorting");z(a,"orderFixed","aaSortingFixed");z(a,"paging","bPaginate");
-z(a,"pagingType","sPaginationType");z(a,"pageLength","iDisplayLength");z(a,"searching","bFilter");if(a=a.aoSearchCols)for(var
 b=0,c=a.length;b<c;b++)a[b]&&G(p.models.oSearch,a[b])}function 
fb(a){z(a,"orderable","bSortable");z(a,"orderData","aDataSort");z(a,"orderSequence","asSorting");z(a,"orderDataType","sortDataType")}function
 gb(a){var 
a=a.oBrowser,b=h("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,width:100,
-overflow:"scroll"}).append(h('<div 
class="test"/>').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function
 hb(a,b,c,d,e,f){var 
g,i=!1;c!==l&&(g=c,i=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=i?b(g,a[d],d,a):a[d],i=!0,d+=f);return
 g}function Ea(a,b){var 
c=p.defaults.column,d=a.aoColumns.length,c=h.extend({},p.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
-"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},p.models.oSearch,c[d]);ia(a,d,null)}function
 ia(a,b,c){var 
b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var
 
f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==l&&null!==c&&(fb(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&
-!c.sClass&&(c.sClass=c.className),h.extend(b,c),D(b,c,"sWidth","sWidthOrig"),"number"===typeof
 c.iDataSort&&(b.aDataSort=[c.iDataSort]),D(b,c,"aDataSort"));var 
g=b.mData,i=W(g),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof
 
a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var
 d=i(a,b,l,c);return j&&b?j(d,b,a,c):d};b.fnSetData=function(a,b,c){return 
Q(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||
-(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function
 X(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var 
c=0,d=b.length;c<
-d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Y(a);u(a,null,"column-sizing",[a])}function
 ja(a,b){var c=Z(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function 
$(a,b){var c=Z(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function 
aa(a){return Z(a,"bVisible").length}function Z(a,b){var 
c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function 
Ga(a){var 
b=a.aoColumns,c=a.aoData,d=p.ext.type.detect,e,f,g,i,j,h,m,o,k;e=0;for(f=b.length;e<f;e++)if(m=
-b[e],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else 
if(!m.sType){g=0;for(i=d.length;g<i;g++){j=0;for(h=c.length;j<h&&!(k[j]===l&&(k[j]=w(a,j,e,"type")),o=d[g](k[j],a),!o||"html"===o);j++);if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function
 ib(a,b,c,d){var 
e,f,g,i,j,n,m=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var 
o=n.targets!==l?n.targets:n.aTargets;h.isArray(o)||(o=[o]);f=0;for(g=o.length;f<g;f++)if("number"===typeof
 o[f]&&0<=o[f]){for(;m.length<=o[f];)Ea(a);d(o[f],
-n)}else if("number"===typeof o[f]&&0>o[f])d(m.length+o[f],n);else 
if("string"===typeof 
o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||h(m[i].nTh).hasClass(o[f]))&&d(i,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function
 I(a,b,c,d){var 
e=a.aoData.length,f=h.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var
 
b=a.aoColumns,f=0,g=b.length;f<g;f++)c&&Ha(a,e,f,w(a,e,f)),b[f].sType=null;a.aiDisplayMaster.push(e);(c||!a.oFeatures.bDeferRender)&&Ia(a,e,c,d);return
 e}
-function ka(a,b){var c;b instanceof h||(b=h(b));return 
b.map(function(b,e){c=la(a,e);return I(a,c.data,e,c.cells)})}function 
w(a,b,c,d){var 
e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,i=f.sDefaultContent,c=f.fnGetData(g,d,{settings:a,row:b,col:c});if(c===l)return
 a.iDrawError!=e&&null===i&&(R(a,0,"Requested unknown parameter 
"+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row 
"+b,4),a.iDrawError=e),i;if((c===g||null===c)&&null!==i)c=i;else 
if("function"===typeof c)return c.call(g);
-return null===c&&"display"==d?"":c}function 
Ha(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function
 Ja(a){return h.map(a.match(/(\\.|[^\.])+/g),function(a){return 
a.replace(/\\./g,".")})}function W(a){if(h.isPlainObject(a)){var 
b={};h.each(a,function(a,c){c&&(b[a]=W(c))});return function(a,c,f,g){var 
i=b[c]||b._;return i!==l?i(a,c,f,g):a}}if(null===a)return function(a){return 
a};if("function"===typeof a)return function(b,c,f,g){return 
a(b,c,f,g)};if("string"===
-typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var 
c=function(a,b,f){var g,i;if(""!==f){i=Ja(f);for(var 
j=0,h=i.length;j<h;j++){f=i[j].match(ba);g=i[j].match(S);if(f){i[j]=i[j].replace(ba,"");""!==i[j]&&(a=a[i[j]]);g=[];i.splice(0,j+1);i=i.join(".");j=0;for(h=a.length;j<h;j++)g.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else
 
if(g){i[j]=i[j].replace(S,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return
 l;a=a[i[j]]}}return a};return function(b,
-e){return c(b,e,a)}}return function(b){return b[a]}}function 
Q(a){if(h.isPlainObject(a))return Q(a._);if(null===a)return 
function(){};if("function"===typeof a)return 
function(b,d,e){a(b,"set",d,e)};if("string"===typeof 
a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var 
b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var 
g,i,j=0,h=e.length-1;j<h;j++){g=e[j].match(ba);i=e[j].match(S);if(g){e[j]=e[j].replace(ba,"");a[e[j]]=[];f=e.slice();f.splice(0,j+1);g=f.join(".");i=0;for(h=
-d.length;i<h;i++)f={},b(f,d[i],g),a[e[j]].push(f);return}i&&(e[j]=e[j].replace(S,""),a=a[e[j]](d));if(null===a[e[j]]||a[e[j]]===l)a[e[j]]={};a=a[e[j]]}if(f.match(S))a[f.replace(S,"")](d);else
 a[f.replace(ba,"")]=d};return function(c,d){return b(c,d,a)}}return 
function(b,d){b[a]=d}}function Ka(a){return C(a.aoData,"_aData")}function 
ma(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function
 na(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; 
-1!=d&&c===l&&
-a.splice(d,1)}function oa(a,b,c,d){var 
e=a.aoData[b],f;if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=la(a,e).data;else{var
 
g=e.anCells,i;if(g){c=0;for(f=g.length;c<f;c++){for(i=g[c];i.childNodes.length;)i.removeChild(i.firstChild);g[c].innerHTML=w(a,b,c,"display")}}}e._aSortData=null;e._aFilterData=null;a=a.aoColumns;if(d!==l)a[d].sType=null;else{c=0;for(f=a.length;c<f;c++)a[c].sType=null}La(e)}function
 la(a,b){var 
c=[],d=b.firstChild,e,f,g=0,i,j=a.aoColumns,n=a._rowReadObject,m=n?{}:[],
-o=function(a,b){if("string"===typeof a){var 
c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(m,b.getAttribute(c)))}},k=function(a){f=j[g];i=h.trim(a.innerHTML);f&&f._bAttrSrc?(Q(f.mData._)(m,i),o(f.mData.sort,a),o(f.mData.type,a),o(f.mData.filter,a)):n?(f._setter||(f._setter=Q(f.mData)),f._setter(m,i)):m.push(i);g++};if(d)for(;d;){e=d.nodeName.toUpperCase();if("TD"==e||"TH"==e)k(d),c.push(d);d=d.nextSibling}else{c=b.anCells;d=0;for(e=c.length;d<e;d++)k(c[d])}return{data:m,cells:c}}function
 Ia(a,
-b,c,d){var 
e=a.aoData[b],f=e._aData,g=[],i,j,h,m,o;if(null===e.nTr){i=c||P.createElement("tr");e.nTr=i;e.anCells=g;i._DT_RowIndex=b;La(e);m=0;for(o=a.aoColumns.length;m<o;m++){h=a.aoColumns[m];j=c?d[m]:P.createElement(h.sCellType);g.push(j);if(!c||h.mRender||h.mData!==m)j.innerHTML=w(a,b,m,"display");h.sClass&&(j.className+="
 
"+h.sClass);h.bVisible&&!c?i.appendChild(j):!h.bVisible&&c&&j.parentNode.removeChild(j);h.fnCreatedCell&&h.fnCreatedCell.call(a.oInstance,j,w(a,b,m),f,b,m)}u(a,"aoRowCreatedCallback",
-null,[i,f,b])}e.nTr.setAttribute("role","row")}function La(a){var 
b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var 
d=c.DT_RowClass.split(" 
");a.__rowc=a.__rowc?Ma(a.__rowc.concat(d)):d;h(b).removeClass(a.__rowc.join(" 
")).addClass(c.DT_RowClass)}c.DT_RowData&&h(b).data(c.DT_RowData)}}function 
jb(a){var b,c,d,e,f,g=a.nTHead,i=a.nTFoot,j=0===h("th, 
td",g).length,n=a.oClasses,m=a.aoColumns;j&&(e=h("<tr/>").appendTo(g));b=0;for(c=m.length;b<c;b++)f=m[b],d=h(f.nTh).addClass(f.sClass),
-j&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Na(a,f.nTh,b))),f.sTitle!=d.html()&&d.html(f.sTitle),Oa(a,"header")(a,d,f,n);j&&ca(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th,
 >tr>td").addClass(n.sHeaderTH);h(i).find(">tr>th, 
>tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function
 da(a,
-b,c){var 
d,e,f,g=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);i.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(n=j=1,i[d][f]===l){a.appendChild(g[d][f].cell);for(i[d][f]=1;g[d+j]!==l&&g[d][f].cell==g[d+j][f].cell;)i[d+j][f]=1,j++;for(;g[d][f+n]!==l&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c<
-j;c++)i[d+c][f+n]=1;n++}h(g[d][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function
 L(a){var 
b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))B(a,!1);else{var
 
b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,i="ssp"==A(a),j=a.aiDisplay;a.bDrawing=!0;g!==l&&-1!==g&&(a._iDisplayStart=i?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var
 
g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,B(a,!1);else
 if(i){if(!a.bDestroying&&
-!kb(a))return}else 
a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:g;i<f;i++){var 
m=j[i],o=a.aoData[m];null===o.nTr&&Ia(a,m);m=o.nTr;if(0!==e){var 
k=d[c%e];o._sRowStripe!=k&&(h(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}u(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else
 
c=f.sZeroRecords,1==a.iDraw&&"ajax"==A(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td
 />",{valign:"top",colSpan:aa(a),
-"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,n,j]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,n,j]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function
 M(a,b){var 
c=a.oFeatures,d=c.bFilter;c.bSort&&lb(a);d?ea(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;L(a);a._drawHold=
-!1}function mb(a){var 
b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":"
 
"+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var
 
f=a.sDom.split(""),g,i,j,n,m,o,k=0;k<f.length;k++){g=null;i=f[k];if("<"==i){j=h("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m="";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),
-j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}e.append(j);e=h(j)}else
 if(">"==i)e=e.parent();else 
if("l"==i&&d.bPaginate&&d.bLengthChange)g=nb(a);else 
if("f"==i&&d.bFilter)g=ob(a);else if("r"==i&&d.bProcessing)g=pb(a);else 
if("t"==i)g=qb(a);else if("i"==i&&d.bInfo)g=rb(a);else 
if("p"==i&&d.bPaginate)g=sb(a);else 
if(0!==p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o<n;o++)if(i==j[o].cFeature){g=j[o].fnInit(a);break}}g&&
-(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(g),e.append(g))}c.replaceWith(e)}function
 ca(a,b){var 
c=h(b).children("tr"),d,e,f,g,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){m=1*e.getAttribute("colspan");o=1*e.getAttribute("rowspan");m=!m||0===m||1===m?1:m;o=!o||0===o||1===o?1:o;g=0;for(i=a[f];i[g];)g++;n=g;k=1===m?!0:!1;for(i=0;i<m;i++)for(g=0;g<o;g++)a[f+
-g][n+i]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function 
pa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ca(c,b)));for(var 
b=0,e=c.length;b<e;b++)for(var 
f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return
 d}function 
qa(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var 
d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var 
c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var
 f,g=a.ajax,i=a.oInstance;
-if(h.isPlainObject(g)&&g.data){f=g.data;var 
j=h.isFunction(f)?f(b):f,b=h.isFunction(f)&&j?j:h.extend(!0,b,j);delete 
g.data}j={data:b,success:function(b){var 
d=b.error||b.sError;d&&a.oApi._fnLog(a,0,d);a.json=b;u(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var
 d=a.oApi._fnLog;"parsererror"==c?d(a,0,"Invalid JSON 
response",1):4===b.readyState&&d(a,0,"Ajax 
error",7);B(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,
-h.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof
 
g?a.jqXHR=h.ajax(h.extend(j,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(i,b,c,a):(a.jqXHR=h.ajax(h.extend(j,g)),g.data=f)}function
 kb(a){return 
a.bAjaxDataGet?(a.iDraw++,B(a,!0),qa(a,tb(a),function(b){ub(a,b)}),!1):!0}function
 tb(a){var 
b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,i=[],j,n,m,o=T(a);g=a._iDisplayStart;j=!1!==d.bPaginate?a._iDisplayLength:-1;var
 k=function(a,
-b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",C(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",j);var
 
l={draw:a.iDraw,columns:[],order:[],start:g,length:j,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)n=b[g],m=f[g],j="function"==typeof
 
n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}),k("mDataProp_"+g,j),d.bFilter&&(k("sSearch_"+g,m.sSearch),
-k("bRegex_"+g,m.bRegex),k("bSearchable_"+g,n.bSearchable)),d.bSort&&k("bSortable_"+g,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return
 null===b?a.sAjaxSource?i:l:b?i:l}function ub(a,b){var 
c=b.sEcho!==l?b.sEcho:b.draw,d=b.iTotalRecords!==l?b.iTotalRecords:b.recordsTotal,e=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:
-b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}ma(a);a._iRecordsTotal=parseInt(d,10);a._iRecordsDisplay=parseInt(e,10);c=ra(a,b);d=0;for(e=c.length;d<e;d++)I(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;L(a);a._bInitComplete||sa(a,b);a.bAjaxDataGet=!0;B(a,!1)}function
 ra(a,b){var 
c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?W(c)(b):b}function
 ob(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,
-f=a.aanFeatures,g='<input type="search" 
class="'+b.sFilterInput+'"/>',i=d.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",g):i+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(i)),f=function(){var
 
b=!this.value?"":this.value;b!=e.sSearch&&(ea(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,L(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===A(a)?400:0,j=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT
 search.DT input.DT paste.DT cut.DT",
-g?ta(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(e.sSearch)}catch(d){}});return
 b[0]}function ea(a,b,c){var 
d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=A(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);
-f(b);for(b=0;b<e.length;b++)wb(a,e[b].sSearch,b,e[b].bEscapeRegex!==l?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);xb(a)}else
 f(b);a.bFiltered=!0;u(a,null,"search",[a])}function xb(a){for(var 
b=p.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var 
i=[],j=0,h=c.length;j<h;j++)e=c[j],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,j)&&i.push(e);c.length=0;c.push.apply(c,i)}}function
 wb(a,b,c,d,e,f){if(""!==b)for(var 
g=a.aiDisplay,d=Pa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],
-d.test(b)||g.splice(e,1)}function vb(a,b,c,d,e,f){var 
d=Pa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==p.ext.search.length&&(c=!0);g=yb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function
 Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ 
]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),
-a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return 
RegExp(a,d?"i":"")}function Qa(a){return a.replace(Xb,"\\$1")}function 
yb(a){var 
b=a.aoColumns,c,d,e,f,g,i,j,h,m=p.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){i=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(j=w(a,d,e,"filter"),m[c.sType]&&(j=m[c.sType](j)),null===j&&(j=""),"string"!==typeof
 
j&&j.toString&&(j=j.toString())):j="",j.indexOf&&-1!==j.indexOf("&")&&(ua.innerHTML=j,j=Yb?
-ua.textContent:ua.innerText),j.replace&&(j=j.replace(/[\r\n]/g,"")),i.push(j);h._aFilterData=i;h._sFilterRow=i.join("
  ");c=!0}return c}function 
zb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function
 
Ab(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function
 rb(a){var 
b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),
-d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return
 d[0]}function Bb(a){var b=a.aanFeatures.i;if(0!==b.length){var 
c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),i=g?c.sInfo:c.sInfoEmpty;g!==f&&(i+="
 
"+c.sInfoFiltered);i+=c.sInfoPostFix;i=Cb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,d,e,f,g,i));h(b).html(i)}}function
 Cb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,
-f=a.fnRecordsDisplay(),g=-1===e;return 
b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function
 va(a){var 
b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){mb(a);jb(a);da(a,a.aoHeader);da(a,a.aoFooter);B(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&
-(f.nTh.style.width=s(f.sWidth));M(a);e=A(a);"ssp"!=e&&("ajax"==e?qa(a,[],function(c){var
 
f=ra(a,c);for(b=0;b<f.length;b++)I(a,f[b]);a.iInitDisplayStart=d;M(a);B(a,!1);sa(a,c)},a):(B(a,!1),sa(a)))}else
 setTimeout(function(){va(a)},200)}function 
sa(a,b){a._bInitComplete=!0;b&&X(a);u(a,"aoInitComplete","init",[a,b])}function 
Ra(a,b){var 
c=parseInt(b,10);a._iDisplayLength=c;Sa(a);u(a,null,"length",[a,c])}function 
nb(a){for(var 
b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?
-d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,i=f.length;g<i;g++)e[0][g]=new
 Option(d[g],f[g]);var 
j=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",j).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());L(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",j).val(d)});return
 j[0]}function sb(a){var b=
-a.sPaginationType,c=p.ext.pager[b],d="function"===typeof 
c,e=function(a){L(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var
 
b=a._iDisplayStart,j=a._iDisplayLength,h=a.fnRecordsDisplay(),m=-1===j,b=m?0:Math.ceil(b/j),j=m?1:Math.ceil(h/j),h=c(b,j),o,m=0;for(o=f.p.length;m<o;m++)Oa(a,"pageButton")(a,f.p[m],m,h,b,j)}else
 c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,
-b,c){var 
d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof
 
b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:R(a,0,"Unknown
 paging action: 
"+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(u(a,null,"page",[a]),c&&L(a));return
 b}function pb(a){return 
h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}
-function 
B(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");u(a,null,"processing",[a,b])}function
 qb(a){var b=h(a.nTable);b.attr("role","grid");var 
c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var 
d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),i=g.length?g[0]._captionSide:null,j=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",
-{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:s(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append(b.children("thead")))).append("top"===i?g:null)).append(h("<div/>",{"class":f.sScrollBody}).css({overflow:"auto",height:!e?null:s(e),width:!d?null:s(d)}).append(b));m&&c.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",
-border:0,width:d?!d?null:s(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append(b.children("tfoot")))).append("bottom"===i?g:null));var
 b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;d&&h(f).scroll(function(){var 
a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead=o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return
 c[0]}function Y(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,f=b.iBarWidth,
-g=h(a.nScrollHead),i=g[0].style,j=g.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=h(j),k=j.style,l=h(a.nScrollFoot).children("div"),p=l.children("table"),r=h(a.nTHead),q=h(a.nTable),fa=q[0],N=fa.style,J=a.nTFoot?h(a.nTFoot):null,t=a.oBrowser,u=t.bScrollOversize,x,v,w,K,y,z=[],A=[],B=[],C,D=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead,
 tfoot").remove();y=r.clone().prependTo(q);x=r.find("tr");
-w=y.find("tr");y.find("th, 
td").removeAttr("tabindex");J&&(K=J.clone().prependTo(q),v=J.find("tr"),K=K.find("tr"));c||(k.width="100%",g[0].style.width="100%");h.each(pa(a,y),function(b,c){C=ja(a,b);c.style.width=a.aoColumns[C].sWidth});J&&F(function(a){a.style.width=""},K);b.bCollapse&&""!==e&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px");g=q.outerWidth();if(""===c){if(N.width="100%",u&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(q.outerWidth()-f)}else""!==
-d?N.width=s(d):g==o.width()&&o.height()<q.height()?(N.width=s(g-f),q.outerWidth()>g-f&&(N.width=s(g))):N.width=s(g);g=q.outerWidth();F(D,w);F(function(a){B.push(a.innerHTML);z.push(s(h(a).css("width")))},w);F(function(a,b){a.style.width=z[b]},x);h(w).height(0);J&&(F(D,K),F(function(a){A.push(s(h(a).css("width")))},K),F(function(a,b){a.style.width=A[b]},v),h(K).height(0));F(function(a,b){a.innerHTML='<div
 class="dataTables_sizing" 
style="height:0;overflow:hidden;">'+B[b]+"</div>";a.style.width=z[b]},
-w);J&&F(function(a,b){a.innerHTML="";a.style.width=A[b]},K);if(q.outerWidth()<g){v=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?g+f:g;if(u&&(j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(v-f);(""===c||""!==d)&&R(a,1,"Possible
 column misalignment",6)}else 
v="100%";k.width=s(v);i.width=s(v);J&&(a.nScrollFoot.style.width=s(v));!e&&u&&(k.height=s(fa.offsetHeight+f));e&&b.bCollapse&&(k.height=s(e),b=c&&fa.offsetWidth>j.offsetWidth?f:0,fa.offsetHeight<j.offsetHeight&&
-(k.height=s(fa.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");t="padding"+(t.bScrollbarLeft?"Left":"Right");n[t]=m?f+"px":"0px";J&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[t]=m?f+"px":"0px");o.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function
 F(a,b,c){for(var 
d=0,e=0,f=b.length,g,i;e<f;){g=b[e].firstChild;for(i=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,i,d):a(g,d),d++),g=
-g.nextSibling,i=c?i.nextSibling:null;e++}}function Fa(a){var 
b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,i=c.length,d=Z(a,"bVisible"),j=h("th",a.nTHead),n=b.getAttribute("width"),m=b.parentNode,o=!1,k,l;for(k=0;k<d.length;k++)l=c[d[k]],null!==l.sWidth&&(l.sWidth=Db(l.sWidthOrig,m),o=!0);if(!o&&!f&&!e&&i==aa(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth=s(j.eq(k).width());else{i=h(b).clone().empty().css("visibility","hidden").removeAttr("id").append(h(a.nTHead).clone(!1)).append(h(a.nTFoot).clone(!1)).append(h("<tbody><tr/></tbody>"));
-i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody 
tr"),j=pa(a,i.find("thead")[0]);for(k=0;k<d.length;k++)l=c[d[k]],j[k].style.width=null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<d.length;k++)o=d[k],l=c[o],h(Eb(a,o)).clone(!1).append(l.sContentPadding).appendTo(p);i.appendTo(m);f&&g?i.width(g):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):e?i.width(m.offsetWidth):n&&i.width(n);Fb(a,i[0]);if(f){for(k=g=0;k<d.length;k++)l=
-c[d[k]],e=h(j[k]).outerWidth(),g+=null===l.sWidthOrig?e:parseInt(l.sWidth,10)+e-h(j[k]).width();i.width(s(g));b.style.width=s(g)}for(k=0;k<d.length;k++)if(l=c[d[k]],e=h(j[k]).width())l.sWidth=s(e);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)h(Da).bind("resize.DT-"+a.sInstance,ta(function(){X(a)})),a._reszEvt=!0}function
 ta(a,b){var c=b!==l?b:200,d,e;return function(){var b=this,g=+new 
Date,i=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=
-l;a.apply(b,i)},c)):d?(d=g,a.apply(b,i)):d=g}}function Db(a,b){if(!a)return 
0;var 
c=h("<div/>").css("width",s(a)).appendTo(b||P.body),d=c[0].offsetWidth;c.remove();return
 d}function Fb(a,b){var 
c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(h(b).outerWidth()-c)}function
 Eb(a,b){var c=Gb(a,b);if(0>c)return null;var 
d=a.aoData[c];return!d.nTr?h("<td/>").html(w(a,c,b,"display"))[0]:d.anCells[b]}function
 Gb(a,b){for(var 
c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=w(a,f,b,"display")+"",
-c=c.replace(Zb,""),c.length>d&&(d=c.length,e=f);return e}function s(a){return 
null===a?"0px":"number"==typeof 
a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function 
Hb(){if(!p.__scrollbarWidth){var 
a=h("<p/>").css({width:"100%",height:200,padding:0})[0],b=h("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=
-c-a}return p.__scrollbarWidth}function T(a){var 
b,c,d=[],e=a.aoColumns,f,g,i,j;b=a.aaSortingFixed;c=h.isPlainObject(b);var 
n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):n.push.apply(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=e[j].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],i=e[g].sType||"string",n[a]._idx===l&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:j,col:g,dir:n[a][1],index:n[a]._idx,type:i,formatter:p.ext.type.order[i+
-"-pre"]})}return d}function lb(a){var 
b,c,d=[],e=p.ext.type.order,f=a.aoData,g=0,i,h=a.aiDisplayMaster,n;Ga(a);n=T(a);b=0;for(c=n.length;b<c;b++)i=n[b],i.formatter&&g++,Ib(a,i.col);if("ssp"!=A(a)&&0!==n.length){b=0;for(c=h.length;b<c;b++)d[h[b]]=b;g===n.length?h.sort(function(a,b){var
 
c,e,g,i,h=n.length,j=f[a]._aSortData,l=f[b]._aSortData;for(g=0;g<h;g++)if(i=n[g],c=j[i.col],e=l[i.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===i.dir?c:-c;c=d[a];e=d[b];return
 c<e?-1:c>e?1:0}):h.sort(function(a,b){var c,
-g,i,h,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(i=0;i<j;i++)if(h=n[i],c=l[h.col],g=p[h.col],h=e[h.type+"-"+h.dir]||e["string-"+h.dir],c=h(c,g),0!==c)return
 c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var 
b,c,d=a.aoColumns,e=T(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var 
i=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var 
h=c.nTh;h.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(h.setAttribute("aria-sort","asc"==e[0].dir?"ascending":
-"descending"),c=i[e[0].index+1]||i[0]):c=i[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);h.setAttribute("aria-label",b)}}function
 Ua(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var 
c=a._idx;c===l&&(c=h.inArray(a[1],f));return 
c+1<f.length?c+1:b?null:0};"number"===typeof 
e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,C(e,"0")),-1!==c?(b=g(e[c],!0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&
-e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);M(a);"function"==typeof
 d&&d(a)}function Na(a,b,c,d){var 
e=a.aoColumns[c];Va(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(B(a,!0),setTimeout(function(){Ua(a,c,b.shiftKey,d);"ssp"!==A(a)&&B(a,!1)},0)):Ua(a,c,b.shiftKey,d))})}function
 wa(a){var 
b=a.aLastSort,c=a.oClasses.sSortColumn,d=T(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(C(a.aoData,
-"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(C(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function
 Ib(a,b){var 
c=a.aoColumns[b],d=p.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var
 
f,g=p.ext.type.order[c.sType+"-pre"],i=0,h=a.aoData.length;i<h;i++)if(c=a.aoData[i],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[i]:w(a,i,b,"sort"),c._aSortData[b]=g?g(f):f}function
 xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b=
-{time:+new 
Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:zb(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:zb(a.aoPreSearchCols[d])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function
 Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var 
e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",
-[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new 
Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);a._iDisplayStart=e.start;a.iInitDisplayStart=e.start;a._iDisplayLength=e.length;a.aaSorting=[];h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=d.length?[0,c[1]]:c)});h.extend(a.oPreviousSearch,Ab(e.search));b=0;for(c=e.columns.length;b<c;b++){var
 
f=e.columns[b];d[b].bVisible=f.visible;h.extend(a.aoPreSearchCols[b],Ab(f.search))}u(a,"aoStateLoaded","stateLoaded",
-[a,e])}}}function ya(a){var 
b=p.settings,a=h.inArray(a,C(b,"nTable"));return-1!==a?b[a]:null}function 
R(a,b,c,d){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - 
":"")+c;d&&(c+=". For more information about this error, please see 
http://datatables.net/tn/"+d);if(b)Da.console&&console.log&&console.log(c);else 
if(a=p.ext,"alert"==(a.sErrMode||a.errMode))alert(c);else throw 
Error(c);}function 
D(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?D(a,b,d[0],d[1]):D(a,b,d)}):(d===l&&
-(d=c),b[c]!==l&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in 
b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return
 a}function 
Va(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function
 y(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function u(a,b,c,d){var e=
-[];b&&(e=h.map(a[b].slice().reverse(),function(b){return 
b.fn.apply(a.oInstance,d)}));null!==c&&h(a.nTable).trigger(c+".dt",d);return 
e}function Sa(a){var 
b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);if(-1===d||0>b)b=0;a._iDisplayStart=b}function
 Oa(a,b){var c=a.renderer,d=p.ext.renderer[b];return 
h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof 
c?d[c]||d._:d._}function A(a){return 
a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function 
Wa(a,b){var c=
-[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=U(0,b):a<=d?(c=U(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=U(b-(c-2),b):(c=U(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return
 c}function db(a){h.each({num:function(b){return 
za(b,a)},"num-fmt":function(b){return za(b,a,Xa)},"html-num":function(b){return 
za(b,a,Aa)},"html-num-fmt":function(b){return 
za(b,a,Aa,Xa)}},function(b,c){v.type.order[b+a+"-pre"]=c})}function 
Nb(a){return function(){var b=
-[ya(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return
 p.ext.internal[a].apply(this,b)}}var 
p,v,q,r,t,Ya={},Ob=/[\r\n]/g,Aa=/<.*?>/g,$b=/^[\w\+\-]/,ac=/[\w\+\-]$/,Xb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g,H=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var
 
b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(Qa(b),"g"));return"string"===
-typeof 
a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],"."):a},Za=function(a,b,c){var 
d="string"===typeof a;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return 
H(a)||!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return 
H(a)?!0:!(H(a)||"string"===typeof 
a)?null:Za(a.replace(Aa,""),b,c)?!0:null},C=function(a,b,c){var 
d=[],e=0,f=a.length;if(c!==l)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else
 for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ga=function(a,b,c,d){var 
e=[],f=0,g=b.length;if(d!==
-l)for(;f<g;f++)e.push(a[b[f]][c][d]);else 
for(;f<g;f++)e.push(a[b[f]][c]);return e},U=function(a,b){var 
c=[],d;b===l?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return 
c},Ma=function(a){var 
b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue
 a;b.push(c);g++}return 
b},z=function(a,b,c){a[b]!==l&&(a[c]=a[b])},ba=/\[.*?\]$/,S=/\(\)$/,ua=h("<div>")[0],Yb=ua.textContent!==l,Zb=/<.*?>/g;p=function(a){this.$=function(a,b){return
 this.api(!0).$(a,b)};this._=function(a,
-b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new 
q(ya(this[v.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var 
c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return
 d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var 
b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===l||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&Y(c)};this.fnClearTable=function(a){var
 b=this.api(!0).clear();
-(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var
 
d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===l||c)&&d.draw();return
 
h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===l?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var
 c=
-this.api(!0);if(a!==l){var d=a.nodeName?a.nodeName.toLowerCase():"";return 
b!==l||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return 
c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return 
a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var
 
b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return
 this.api(!0).row(a).child.isShown()};
-this.fnOpen=function(a,b,c){return 
this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var
 
c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return
 
ya(this[v.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var
 h=
-this.api(!0);c===l||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===l||e)&&h.columns.adjust();(d===l||d)&&h.draw();return
 0};this.fnVersionCheck=v.fnVersionCheck;var 
b=this,c=a===l,d=this.length;c&&(a={});this.oApi=this.internal=v.internal;for(var
 e in p.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var 
e={},g=1<d?Lb(e,a,!0):a,i=0,j,n=this.getAttribute("id"),e=!1,m=p.defaults;if("table"!=this.nodeName.toLowerCase())R(null,0,"Non-table
 node initialisation ("+this.nodeName+")",2);else{eb(m);
-fb(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,g);var 
o=p.settings,i=0;for(j=o.length;i<j;i++){if(o[i].nTable==this){j=g.bRetrieve!==l?g.bRetrieve:m.bRetrieve;if(c||j)return
 
o[i].oInstance;if(g.bDestroy!==l?g.bDestroy:m.bDestroy){o[i].oInstance.fnDestroy();break}else{R(o[i],0,"Cannot
 reinitialise 
DataTable",3);return}}if(o[i].sTableId==this.id){o.splice(i,1);break}}if(null===n||""===n)this.id=n="DataTables_Table_"+p.ext._unique++;var
 k=h.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,
-oInit:g,sDestroyWidth:h(this)[0].style.width,sInstance:n,sTableId:n});o.push(k);k.oInstance=1===b.length?b:h(this).dataTable();eb(g);g.oLanguage&&O(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=Lb(h.extend(!0,{},m),g);D(k.oFeatures,g,"bPaginate
 bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth 
bSortClasses bServerSide bDeferRender".split(" 
"));D(k,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber",
-"sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);D(k.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);
-D(k.oLanguage,g,"fnInfoCallback");y(k,"aoDrawCallback",g.fnDrawCallback,"user");y(k,"aoServerParams",g.fnServerParams,"user");y(k,"aoStateSaveParams",g.fnStateSaveParams,"user");y(k,"aoStateLoadParams",g.fnStateLoadParams,"user");y(k,"aoStateLoaded",g.fnStateLoaded,"user");y(k,"aoRowCallback",g.fnRowCallback,"user");y(k,"aoRowCreatedCallback",g.fnCreatedRow,"user");y(k,"aoHeaderCallback",g.fnHeaderCallback,"user");y(k,"aoFooterCallback",g.fnFooterCallback,"user");y(k,"aoInitComplete",g.fnInitComplete,
-"user");y(k,"aoPreDrawCallback",g.fnPreDrawCallback,"user");n=k.oClasses;g.bJQueryUI?(h.extend(n,p.ext.oJUIClasses,g.oClasses),g.sDom===m.sDom&&"lfrtip"===m.sDom&&(k.sDom='<"H"lfr>t<"F"ip>'),k.renderer)?h.isPlainObject(k.renderer)&&!k.renderer.header&&(k.renderer.header="jqueryui"):k.renderer="jqueryui":h.extend(n,p.ext.classes,g.oClasses);h(this).addClass(n.sTable);if(""!==k.oScroll.sX||""!==k.oScroll.sY)k.oScroll.iBarWidth=Hb();!0===k.oScroll.sX&&(k.oScroll.sX="100%");k.iInitDisplayStart===l&&(k.iInitDisplayStart=
-g.iDisplayStart,k._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(k.bDeferLoading=!0,i=h.isArray(g.iDeferLoading),k._iRecordsDisplay=i?g.iDeferLoading[0]:g.iDeferLoading,k._iRecordsTotal=i?g.iDeferLoading[1]:g.iDeferLoading);""!==g.oLanguage.sUrl?(k.oLanguage.sUrl=g.oLanguage.sUrl,h.getJSON(k.oLanguage.sUrl,null,function(a){O(a);G(m.oLanguage,a);h.extend(true,k.oLanguage,g.oLanguage,a);va(k)}),e=!0):h.extend(!0,k.oLanguage,g.oLanguage);null===g.asStripeClasses&&(k.asStripeClasses=[n.sStripeOdd,
-n.sStripeEven]);var i=k.asStripeClasses,r=h("tbody 
tr:eq(0)",this);-1!==h.inArray(!0,h.map(i,function(a){return 
r.hasClass(a)}))&&(h("tbody tr",this).removeClass(i.join(" 
")),k.asDestroyStripes=i.slice());var 
o=[],q,i=this.getElementsByTagName("thead");0!==i.length&&(ca(k.aoHeader,i[0]),o=pa(k));if(null===g.aoColumns){q=[];i=0;for(j=o.length;i<j;i++)q.push(null)}else
 
q=g.aoColumns;i=0;for(j=q.length;i<j;i++)Ea(k,o?o[i]:null);ib(k,g.aoColumnDefs,q,function(a,b){ia(k,a,b)});if(r.length){var
 s=function(a,
-b){return 
a.getAttribute("data-"+b)?b:null};h.each(la(k,r[0]).cells,function(a,b){var 
c=k.aoColumns[a];if(c.mData===a){var 
d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+"address@hidden"+d:l,type:d!==null?a+"address@hidden"+d:l,filter:e!==null?a+"address@hidden"+e:l};ia(k,a)}}})}var
 
t=k.oFeatures;g.bStateSave&&(t.bStateSave=!0,Kb(k,g),y(k,"aoDrawCallback",xa,"state_save"));if(g.aaSorting===l){o=k.aaSorting;i=0;for(j=o.length;i<j;i++)o[i][1]=k.aoColumns[i].asSorting[0]}wa(k);
-t.bSort&&y(k,"aoDrawCallback",function(){if(k.bSorted){var 
a=T(k),b={};h.each(a,function(a,c){b[c.src]=c.dir});u(k,null,"order",[k,a,b]);Jb(k)}});y(k,"aoDrawCallback",function(){(k.bSorted||A(k)==="ssp"||t.bDeferRender)&&wa(k)},"sc");gb(k);i=h(this).children("caption").each(function(){this._captionSide=h(this).css("caption-side")});j=h(this).children("thead");0===j.length&&(j=h("<thead/>").appendTo(this));k.nTHead=j[0];j=h(this).children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));k.nTBody=
-j[0];j=h(this).children("tfoot");if(0===j.length&&0<i.length&&(""!==k.oScroll.sX||""!==k.oScroll.sY))j=h("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?h(this).addClass(n.sNoFooter):0<j.length&&(k.nTFoot=j[0],ca(k.aoFooter,k.nTFoot));if(g.aaData)for(i=0;i<g.aaData.length;i++)I(k,g.aaData[i]);else(k.bDeferLoading||"dom"==A(k))&&ka(k,h(k.nTBody).children("tr"));k.aiDisplay=k.aiDisplayMaster.slice();k.bInitialised=!0;!1===e&&va(k)}});b=null;return
 this};var Sb=[],x=Array.prototype,
-bc=function(a){var b,c,d=p.settings,e=h.map(d,function(a){return 
a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return
 b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof 
a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a 
instanceof h&&(c=a)}else return[];if(c)return 
c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};q=function(a,b){if(!this
 instanceof q)throw"DT API must be constructed as a new object";
-var c=[],d=function(a){(a=bc(a))&&c.push.apply(c,a)};if(h.isArray(a))for(var 
e=0,f=a.length;e<f;e++)d(a[e]);else 
d(a);this.context=Ma(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector={rows:null,cols:null,opts:null};q.extend(this,this,Sb)};p.Api=q;q.prototype={concat:x.concat,context:[],each:function(a){for(var
 b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return 
this},eq:function(a){var b=this.context;return b.length>a?new 
q(b[a],this[a]):null},filter:function(a){var b=[];
-if(x.filter)b=x.filter.call(this,a,this);else for(var 
c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return 
new q(this.context,b)},flatten:function(){var a=[];return new 
q(this.context,a.concat.apply(a,this.toArray()))},join:x.join,indexOf:x.indexOf||function(a,b){for(var
 c=b||0,d=this.length;c<d;c++)if(this[c]===a)return 
c;return-1},iterator:function(a,b,c){var 
d=[],e,f,g,h,j,n=this.context,m,o,k=this.selector;"string"===typeof 
a&&(c=b,b=a,a=!1);f=0;for(g=n.length;f<g;f++){var p=
-new q(n[f]);if("table"===b)e=c.call(p,n[f],f),e!==l&&d.push(e);else 
if("columns"===b||"rows"===b)e=c.call(p,n[f],this[f],f),e!==l&&d.push(e);else 
if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[f];"column-rows"===b&&(m=Ba(n[f],k.opts));h=0;for(j=o.length;h<j;h++)e=o[h],e="cell"===b?c.call(p,n[f],e.row,e.column,f,h):c.call(p,n[f],e,f,h,m),e!==l&&d.push(e)}}return
 d.length?(a=new 
q(n,a?d.concat.apply([],d):d),b=a.selector,b.rows=k.rows,b.cols=k.cols,b.opts=k.opts,a):this},lastIndexOf:x.lastIndexOf||
-function(a,b){return 
this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var
 b=[];if(x.map)b=x.map.call(this,a,this);else for(var 
c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new 
q(this.context,b)},pluck:function(a){return this.map(function(b){return 
b[a]})},pop:x.pop,push:x.push,reduce:x.reduce||function(a,b){return 
hb(this,a,b,0,this.length,1)},reduceRight:x.reduceRight||function(a,b){return 
hb(this,a,b,this.length-1,-1,-1)},reverse:x.reverse,selector:null,
-shift:x.shift,sort:x.sort,splice:x.splice,toArray:function(){return 
x.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return 
h(this)},unique:function(){return new 
q(this.context,Ma(this))},unshift:x.unshift};q.extend=function(a,b,c){if(b&&(b 
instanceof q||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return 
function(){var d=b.apply(a,arguments);q.extend(d,d,c.methodExt);return 
d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof 
f.val?g(a,f.val,f):h.isPlainObject(f.val)?
-{}:f.val,b[f.name].__dt_wrapper=!0,q.extend(a,b[f.name],f.propExt)}};q.register=r=function(a,b){if(h.isArray(a))for(var
 c=0,d=a.length;c<d;c++)q.register(a[c],b);else for(var 
e=a.split("."),f=Sb,g,i,c=0,d=e.length;c<d;c++){g=(i=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var
 j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===g){j=f[j];break 
a}j=null}j||(j={name:g,val:{},methodExt:[],propExt:[]},f.push(j));c===d-1?j.val=b:f=i?j.methodExt:j.propExt}};q.registerPlural=t=function(a,b,c){q.register(a,
-c);q.register(b,function(){var a=c.apply(this,arguments);return 
a===this?this:a instanceof q?a.length?h.isArray(a[0])?new 
q(a.context,a[0]):a[0]:l:a})};r("tables()",function(a){var b;if(a){b=q;var 
c=this.context;if("number"===typeof a)a=[c[a]];else var 
d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var 
a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return 
b});r("table()",function(a){var a=this.tables(a),b=a.context;return 
b.length?new q(b[0]):a});t("tables().nodes()",
-"table().node()",function(){return this.iterator("table",function(a){return 
a.nTable})});t("tables().body()","table().body()",function(){return 
this.iterator("table",function(a){return 
a.nTBody})});t("tables().header()","table().header()",function(){return 
this.iterator("table",function(a){return 
a.nTHead})});t("tables().footer()","table().footer()",function(){return 
this.iterator("table",function(a){return 
a.nTFoot})});t("tables().containers()","table().container()",function(){return 
this.iterator("table",
-function(a){return a.nTableWrapper})});r("draw()",function(a){return 
this.iterator("table",function(b){M(b,!1===a)})});r("page()",function(a){return 
a===l?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});r("page.info()",function(){if(0===this.context.length)return
 l;var 
a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),
-recordsDisplay:d}});r("page.len()",function(a){return 
a===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(b){Ra(b,a)})});var
 
Tb=function(a,b,c){"ssp"==A(a)?M(a,b):(B(a,!0),qa(a,[],function(c){ma(a);for(var
 c=ra(a,c),d=0,g=c.length;d<g;d++)I(a,c[d]);M(a,b);B(a,!1)}));if(c){var d=new 
q(a);d.one("draw",function(){c(d.ajax.json())})}};r("ajax.json()",function(){var
 a=this.context;if(0<a.length)return 
a[0].json});r("ajax.params()",function(){var a=this.context;
-if(0<a.length)return a[0].oAjaxData});r("ajax.reload()",function(a,b){return 
this.iterator("table",function(c){Tb(c,!1===b,a)})});r("ajax.url()",function(a){var
 b=this.context;if(a===l){if(0===b.length)return l;b=b[0];return 
b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return 
this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return
 this.iterator("table",function(c){Tb(c,!1===b,a)})});var $a=function(a,b){var 
c=
-[],d,e,f,g,i,j;d=typeof 
a;if(!a||"string"===d||"function"===d||a.length===l)a=[a];f=0;for(g=a.length;f<g;f++){e=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j=e.length;i<j;i++)(d=b("string"===typeof
 e[i]?h.trim(e[i]):e[i]))&&d.length&&c.push.apply(c,d)}return 
c},ab=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},bb=function(a){for(var
 b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a.length=1,a.context=
-[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var 
c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var 
i=b.search;d=b.order;e=b.page;if("ssp"==A(a))return"removed"===i?[]:U(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else
 
if("current"==d||"applied"==d)f="none"==i?c.slice():"applied"==i?g.slice():h.map(c,function(a){return-1===h.inArray(a,g)?a:null});else
 
if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==i?f.push(c):(e=h.inArray(c,
-g),(-1===e&&"removed"==i||0<=e&&"applied"==i)&&f.push(c))}return 
f};r("rows()",function(a,b){a===l?a="":h.isPlainObject(a)&&(b=a,a="");var 
b=ab(b),c=this.iterator("table",function(c){var e=b;return $a(a,function(a){var 
b=Pb(a);if(b!==null&&!e)return[b];var 
i=Ba(c,e);if(b!==null&&h.inArray(b,i)!==-1)return[b];if(!a)return 
i;b=ga(c.aoData,i,"nTr");return typeof a==="function"?h.map(i,function(b){var 
e=c.aoData[b];return 
a(b,e._aData,e.nTr)?b:null}):a.nodeName&&h.inArray(a,b)!==-1?[a._DT_RowIndex]:h(b).filter(a).map(function(){return
 this._DT_RowIndex}).toArray()})});
-c.selector.rows=a;c.selector.opts=b;return 
c});r("rows().nodes()",function(){return 
this.iterator("row",function(a,b){return 
a.aoData[b].nTr||l})});r("rows().data()",function(){return 
this.iterator(!0,"rows",function(a,b){return 
ga(a.aoData,b,"_aData")})});t("rows().cache()","row().cache()",function(a){return
 this.iterator("row",function(b,c){var 
d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData})});t("rows().invalidate()","row().invalidate()",function(a){return
 this.iterator("row",function(b,
-c){oa(b,c,a)})});t("rows().indexes()","row().index()",function(){return 
this.iterator("row",function(a,b){return 
b})});t("rows().remove()","row().remove()",function(){var a=this;return 
this.iterator("row",function(b,c,d){var e=b.aoData;e.splice(c,1);for(var 
f=0,g=e.length;f<g;f++)null!==e[f].nTr&&(e[f].nTr._DT_RowIndex=f);h.inArray(c,b.aiDisplay);na(b.aiDisplayMaster,c);na(b.aiDisplay,c);na(a[d],c,!1);Sa(b)})});r("rows.add()",function(a){var
 b=this.iterator("table",function(b){var c,f,g,h=[];f=0;
-for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(ka(b,c)[0]):h.push(I(b,c));return
 h}),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return 
c});r("row()",function(a,b){return 
bb(this.rows(a,b))});r("row().data()",function(a){var 
b=this.context;if(a===l)return 
b.length&&this.length?b[0].aoData[this[0]]._aData:l;b[0].aoData[this[0]]._aData=a;oa(b[0],this[0],"data");return
 this});r("row().node()",function(){var a=this.context;return 
a.length&&this.length?a[0].aoData[this[0]].nTr||
-null:null});r("row.add()",function(a){a instanceof h&&a.length&&(a=a[0]);var 
b=this.iterator("table",function(b){return 
a.nodeName&&"TR"===a.nodeName.toUpperCase()?ka(b,a)[0]:I(b,a)});return 
this.row(b[0])});var cb=function(a,b){var 
c=a.context;c.length&&(c=c[0].aoData[b!==l?b:a[0]],c._details&&(c._details.remove(),c._detailsShow=l,c._details=l))},Ub=function(a,b){var
 c=a.context;if(c.length&&a.length){var 
d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();
-var e=c[0],f=new q(e),g=e.aoData;f.off("draw.dt.DT_details 
column-visibility.dt.DT_details 
destroy.dt.DT_details");0<C(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var
 
c,d=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,
-b){if(e===b)for(var 
c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};r("row().child()",function(a,b){var
 c=this.context;if(a===l)return 
c.length&&this.length?c[0].aoData[this[0]]._details:l;if(!0===a)this.child.show();else
 if(!1===a)cb(this);else if(c.length&&this.length){var 
d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(a.nodeName&&"tr"===a.nodeName.toLowerCase())e.push(a);else{var
 
c=h("<tr><td/></tr>").addClass(b);h("td",c).addClass(b).html(a)[0].colSpan=aa(d);e.push(c[0])}};if(h.isArray(a)||
-a instanceof h)for(var g=0,i=a.length;g<i;g++)f(a[g],b);else 
f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return
 
this});r(["row().child.show()","row().child().show()"],function(){Ub(this,!0);return
 
this});r(["row().child.hide()","row().child().hide()"],function(){Ub(this,!1);return
 
this});r(["row().child.remove()","row().child().remove()"],function(){cb(this);return
 this});r("row().child.isShown()",function(){var a=this.context;return 
a.length&&
-this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var 
cc=/^(.+):(name|visIdx|visible)$/,Vb=function(a,b,c,d,e){for(var 
c=[],d=0,f=e.length;d<f;d++)c.push(w(a,e[d],b));return 
c};r("columns()",function(a,b){a===l?a="":h.isPlainObject(a)&&(b=a,a="");var 
b=ab(b),c=this.iterator("table",function(c){var 
e=a,f=b,g=c.aoColumns,i=C(g,"sName"),j=C(g,"nTh");return $a(e,function(a){var 
b=Pb(a);if(a==="")return 
U(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var 
e=Ba(c,f);return h.map(g,
-function(b,f){return a(f,Vb(c,f,0,0,e),j[f])?f:null})}var k=typeof 
a==="string"?a.match(cc):"";if(k)switch(k[2]){case "visIdx":case 
"visible":b=parseInt(k[1],10);if(b<0){var l=h.map(g,function(a,b){return 
a.bVisible?b:null});return[l[l.length+b]]}return[ja(c,b)];case "name":return 
h.map(i,function(a,b){return a===k[1]?b:null})}else return 
h(j).filter(a).map(function(){return 
h.inArray(this,j)}).toArray()})});c.selector.cols=a;c.selector.opts=b;return 
c});t("columns().header()","column().header()",
-function(){return this.iterator("column",function(a,b){return 
a.aoColumns[b].nTh})});t("columns().footer()","column().footer()",function(){return
 this.iterator("column",function(a,b){return 
a.aoColumns[b].nTf})});t("columns().data()","column().data()",function(){return 
this.iterator("column-rows",Vb)});t("columns().dataSrc()","column().dataSrc()",function(){return
 this.iterator("column",function(a,b){return 
a.aoColumns[b].mData})});t("columns().cache()","column().cache()",function(a){return
 this.iterator("column-rows",
-function(b,c,d,e,f){return 
ga(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)})});t("columns().nodes()","column().nodes()",function(){return
 this.iterator("column-rows",function(a,b,c,d,e){return 
ga(a.aoData,e,"anCells",b)})});t("columns().visible()","column().visible()",function(a,b){return
 this.iterator("column",function(c,d){var 
e;if(a===l)e=c.aoColumns[d].bVisible;else{var f=c.aoColumns;e=f[d];var 
g=c.aoData,i,j,n;if(a===l)e=e.bVisible;else{if(e.bVisible!==a){if(a){var 
m=h.inArray(!0,C(f,
-"bVisible"),d+1);i=0;for(j=g.length;i<j;i++)n=g[i].nTr,f=g[i].anCells,n&&n.insertBefore(f[d],f[m]||null)}else
 
h(C(c.aoData,"anCells",d)).detach();e.bVisible=a;da(c,c.aoHeader);da(c,c.aoFooter);if(b===l||b)X(c),(c.oScroll.sX||c.oScroll.sY)&&Y(c);u(c,null,"column-visibility",[c,d,a]);xa(c)}e=void
 0}}return e})});t("columns().indexes()","column().index()",function(a){return 
this.iterator("column",function(b,c){return"visible"===a?$(b,c):c})});r("columns.adjust()",function(){return
 this.iterator("table",
-function(a){X(a)})});r("column.index()",function(a,b){if(0!==this.context.length){var
 c=this.context[0];if("fromVisible"===a||"toData"===a)return 
ja(c,b);if("fromData"===a||"toVisible"===a)return 
$(c,b)}});r("column()",function(a,b){return 
bb(this.columns(a,b))});r("cells()",function(a,b,c){h.isPlainObject(a)&&(typeof 
a.row!==l?(c=b,b=null):(c=a,a=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===l)return
 this.iterator("table",function(b){var 
d=a,e=ab(c),f=b.aoData,g=Ba(b,e),e=ga(f,g,"anCells"),
-i=h([].concat.apply([],e)),j,m=b.aoColumns.length,n,p,r,q,s,t;return 
$a(d,function(a){var c=typeof 
a==="function";if(a===null||a===l||c){n=[];p=0;for(r=g.length;p<r;p++){j=g[p];for(q=0;q<m;q++){s={row:j,column:q};if(c){t=b.aoData[j];a(s,w(b,j,q),t.anCells[q])&&n.push(s)}else
 n.push(s)}}return n}return 
h.isPlainObject(a)?[a]:i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:h.inArray(b,f[j].anCells)}}).toArray()})});var
 d=this.columns(b,c),e=this.rows(a,c),f,g,i,j,n,m=this.iterator("table",
-function(a,b){f=[];g=0;for(i=e[b].length;g<i;g++){j=0;for(n=d[b].length;j<n;j++)f.push({row:e[b][g],column:d[b][j]})}return
 f});h.extend(m.selector,{cols:b,rows:a,opts:c});return 
m});t("cells().nodes()","cell().node()",function(){return 
this.iterator("cell",function(a,b,c){return 
a.aoData[b].anCells[c]})});r("cells().data()",function(){return 
this.iterator("cell",function(a,b,c){return 
w(a,b,c)})});t("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return
 this.iterator("cell",
-function(b,c,d){return 
b.aoData[c][a][d]})});t("cells().render()","cell().render()",function(a){return 
this.iterator("cell",function(b,c,d){return 
w(b,c,d,a)})});t("cells().indexes()","cell().index()",function(){return 
this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:$(a,c)}})});r(["cells().invalidate()","cell().invalidate()"],function(a){var
 b=this.selector;this.rows(b.rows,b.opts).invalidate(a);return 
this});r("cell()",function(a,b,c){return 
bb(this.cells(a,b,c))});r("cell().data()",
-function(a){var b=this.context,c=this[0];if(a===l)return 
b.length&&c.length?w(b[0],c[0].row,c[0].column):l;Ha(b[0],c[0].row,c[0].column,a);oa(b[0],c[0].row,"data",c[0].column);return
 this});r("order()",function(a,b){var c=this.context;if(a===l)return 
0!==c.length?c[0].aaSorting:l;"number"===typeof 
a?a=[[a,b]]:h.isArray(a[0])||(a=Array.prototype.slice.call(arguments));return 
this.iterator("table",function(b){b.aaSorting=a.slice()})});r("order.listener()",function(a,b,c){return
 this.iterator("table",
-function(d){Na(d,a,b,c)})});r(["columns().order()","column().order()"],function(a){var
 b=this;return this.iterator("table",function(c,d){var 
e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});r("search()",function(a,b,c,d){var
 e=this.context;return 
a===l?0!==e.length?e[0].oPreviousSearch.sSearch:l:this.iterator("table",function(e){e.oFeatures.bFilter&&ea(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});t("columns().search()",
-"column().search()",function(a,b,c,d){return 
this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===l)return 
g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ea(e,e.oPreviousSearch,1))})});r("state()",function(){return
 
this.context.length?this.context[0].oSavedState:null});r("state.clear()",function(){return
 
this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});r("state.loaded()",
-function(){return 
this.context.length?this.context[0].oLoadedState:null});r("state.save()",function(){return
 
this.iterator("table",function(a){xa(a)})});p.versionCheck=p.fnVersionCheck=function(a){for(var
 
b=p.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return
 c>d;return!0};p.isDataTable=p.fnIsDataTable=function(a){var 
b=h(a).get(0),c=!1;h.each(p.settings,function(a,e){if(e.nTable===b||e.nScrollHead===b||e.nScrollFoot===b)c=!0});
-return c};p.tables=p.fnTables=function(a){return 
jQuery.map(p.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return 
b.nTable})};p.util={throttle:ta};p.camelToHungarian=G;r("$()",function(a,b){var 
c=this.rows(b).nodes(),c=h(c);return 
h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){r(b+"()",function(){var
 
a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var 
d=h(this.tables().nodes());d[b].apply(d,a);return this})});
-r("clear()",function(){return 
this.iterator("table",function(a){ma(a)})});r("settings()",function(){return 
new q(this.context,this.context)});r("data()",function(){return 
this.iterator("table",function(a){return 
C(a.aoData,"_aData")}).flatten()});r("destroy()",function(a){a=a||!1;return 
this.iterator("table",function(b){var 
c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,i=b.nTFoot,j=h(e),f=h(f),l=h(b.nTableWrapper),m=h.map(b.aoData,function(a){return
 a.nTr}),o;b.bDestroying=
-!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new 
q(b)).columns().visible(!0);l.unbind(".DT").find(":not(tbody 
*)").unbind(".DT");h(Da).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(j.children("thead").detach(),j.append(g));i&&e!=i.parentNode&&(j.children("tfoot").detach(),j.append(i));j.detach();l.detach();b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(m).removeClass(b.asStripeClasses.join("
 "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" 
"+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&
-(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, 
td",g).each(function(){var 
a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(e,b.nTableReinsertBefore);f.children().detach();f.append(m);j.css("width",b.sDestroyWidth).removeClass(d.sTable);(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])});c=h.inArray(b,p.settings);-1!==c&&p.settings.splice(c,1)})});p.version="1.10.3";p.settings=
-[];p.models={};p.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};p.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};p.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",
-sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};p.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,
-fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return
 
a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return
 
JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,
-fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:":
 activate to sort column ascending",sSortDescending:": activate to sort column 
descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},
-sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of 
_TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 
entries",sInfoFiltered:"(filtered from _MAX_ total 
entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ 
entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No
 matching records 
found"},oSearch:h.extend({},p.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,
-sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};V(p.defaults);p.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};V(p.defaults.column);p.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,
-bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],
-sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,
-bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==A(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==A(this)?1*this._iRecordsDisplay:
-this.aiDisplay.length},fnDisplayEnd:function(){var 
a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return
 
e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};p.ext=v={classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],
-search:{},order:{}},_unique:0,fnVersionCheck:p.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:p.version};h.extend(v,{afnFiltering:v.search,aTypes:v.type.detect,ofnSearch:v.type.search,oSort:v.type.order,afnSortData:v.order,aoFeatures:v.feature,oApi:v.internal,oStdClasses:v.classes,oPagination:v.pager});h.extend(p.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",
-sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate
 
paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",
-sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var
 Ca="",Ca="",E=Ca+"ui-state-default",ha=Ca+"css_right ui-icon 
ui-icon-",Wb=Ca+"fg-toolbar ui-toolbar ui-widget-header 
ui-helper-clearfix";h.extend(p.ext.oJUIClasses,p.ext.classes,{sPageButton:"fg-button
 ui-button "+
-E,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate
 fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi 
paging_",sSortAsc:E+" sorting_asc",sSortDesc:E+" sorting_desc",sSortable:E+" 
sorting",sSortableAsc:E+" sorting_asc_disabled",sSortableDesc:E+" 
sorting_desc_disabled",sSortableNone:E+" 
sorting_disabled",sSortJUIAsc:ha+"triangle-1-n",sSortJUIDesc:ha+"triangle-1-s",sSortJUI:ha+"carat-2-n-s",sSortJUIAscAllowed:ha+"carat-1-n",sSortJUIDescAllowed:ha+
-"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead
 "+E,sScrollFoot:"dataTables_scrollFoot 
"+E,sHeaderTH:E,sFooterTH:E,sJUIHeader:Wb+" ui-corner-tl 
ui-corner-tr",sJUIFooter:Wb+" ui-corner-bl ui-corner-br"});var 
Mb=p.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Wa(a,b),"next"]},full_numbers:function(a,b){return["first",
-"previous",Wa(a,b),"next","last"]},_numbers:Wa,numbers_length:7});h.extend(!0,p.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var
 g=a.oClasses,i=a.oLanguage.oPaginate,j,l,m=0,o=function(b,d){var 
k,p,r,q,s=function(b){Ta(a,b.data.action,true)};k=0;for(p=d.length;k<p;k++){q=d[k];if(h.isArray(q)){r=h("<"+(q.DT_el||"div")+"/>").appendTo(b);o(r,q)}else{l=j="";switch(q){case
 "ellipsis":b.append("<span>&hellip;</span>");break;case 
"first":j=i.sFirst;l=q+(e>0?"":" "+g.sPageButtonDisabled);break;case 
"previous":j=
-i.sPrevious;l=q+(e>0?"":" "+g.sPageButtonDisabled);break;case 
"next":j=i.sNext;l=q+(e<f-1?"":" "+g.sPageButtonDisabled);break;case 
"last":j=i.sLast;l=q+(e<f-1?"":" 
"+g.sPageButtonDisabled);break;default:j=q+1;l=e===q?g.sPageButtonActive:""}if(j){r=h("<a>",{"class":g.sPageButton+"
 
"+l,"aria-controls":a.sTableId,"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof
 
q==="string"?a.sTableId+"_"+q:null}).html(j).appendTo(b);Va(r,{action:q},s);m++}}}};try{var
 k=h(P.activeElement).data("dt-idx");o(h(b).empty(),
-d);k!==null&&h(b).find("[data-dt-idx="+k+"]").focus()}catch(p){}}}});var 
za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return
 1*a};h.extend(v.type.order,{"date-pre":function(a){return 
Date.parse(a)||0},"html-pre":function(a){return 
H(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return
 H(a)?"":"string"===typeof 
a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,
-b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return 
a<b?1:a>b?-1:0}});db("");h.extend(p.ext.type.detect,[function(a,b){var 
c=b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a 
instanceof Date)&&(!$b.test(a)||!ac.test(a)))return null;var 
b=Date.parse(a);return null!==b&&!isNaN(b)||H(a)?"date":null},function(a,b){var 
c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var 
c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=
-b.oLanguage.sDecimal;return 
Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return H(a)||"string"===typeof 
a&&-1!==a.indexOf("<")?"html":null}]);h.extend(p.ext.type.search,{html:function(a){return
 H(a)?a:"string"===typeof a?a.replace(Ob," 
").replace(Aa,""):""},string:function(a){return H(a)?a:"string"===typeof 
a?a.replace(Ob," 
"):a}});h.extend(!0,p.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+"
 "+d.sSortAsc+
-" 
"+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+"
 
"+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+"
 
"+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+"
 "+d.sSortJUIDesc+
-" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" 
"+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});p.render={number:function(a,b,c,d){return{display:function(e){var
 
f=0>e?"-":"",e=Math.abs(parseFloat(e)),g=parseInt(e,10),e=c?b+(e-g).toFixed(c).substring(2):"";return
 
f+(d||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+e}}}};h.extend(p.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:qa,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,
-_fnAjaxDataSrc:ra,_fnAddColumn:Ea,_fnColumnOptions:ia,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:ja,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ga,_fnApplyColumnDefs:ib,_fnHungarianMap:V,_fnCamelToHungarian:G,_fnLanguageCompat:O,_fnBrowserDetect:gb,_fnAddData:I,_fnAddTr:ka,_fnNodeToDataIndex:function(a,b){return
 
b._DT_RowIndex!==l?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return
 h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:w,_fnSetCellData:Ha,
-_fnSplitObjNotation:Ja,_fnGetObjectDataFn:W,_fnSetObjectDataFn:Q,_fnGetDataMaster:Ka,_fnClearTable:ma,_fnDeleteIndex:na,_fnInvalidateRow:oa,_fnGetRowElements:la,_fnCreateTr:Ia,_fnBuildHead:jb,_fnDrawHead:da,_fnDraw:L,_fnReDraw:M,_fnAddOptionsHtml:mb,_fnDetectHeader:ca,_fnGetUniqueThs:pa,_fnFeatureHtmlFilter:ob,_fnFilterComplete:ea,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:va,
-_fnInitComplete:sa,_fnLengthChange:Ra,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:B,_fnFeatureHtmlTable:qb,_fnScrollDraw:Y,_fnApplyToChildren:F,_fnCalculateColumnWidths:Fa,_fnThrottle:ta,_fnConvertToWidth:Db,_fnScrollingWidthAdjust:Fb,_fnGetWidestNode:Eb,_fnGetMaxLenString:Gb,_fnStringToCss:s,_fnScrollBarWidth:Hb,_fnSortFlatten:T,_fnSort:lb,_fnSortAria:Jb,_fnSortListener:Ua,_fnSortAttachListener:Na,_fnSortingClasses:wa,_fnSortData:Ib,
-_fnSaveState:xa,_fnLoadState:Kb,_fnSettingsFromNode:ya,_fnLog:R,_fnMap:D,_fnBindAction:Va,_fnCallbackReg:y,_fnCallbackFire:u,_fnLengthOverflow:Sa,_fnRenderer:Oa,_fnDataSource:A,_fnRowAttributes:La,_fnCalculateEnd:function(){}});h.fn.dataTable=p;h.fn.dataTableSettings=p.settings;h.fn.dataTableExt=p.ext;h.fn.DataTable=function(a){return
 
h(this).dataTable(a).api()};h.each(p,function(a,b){h.fn.DataTable[a]=b});return 
h.fn.dataTable};"function"===typeof 
define&&define.amd?define("datatables",["jquery"],
-O):"object"===typeof 
exports?O(require("jquery")):jQuery&&!jQuery.fn.dataTable&&O(jQuery)})(window,document);
+(function(Da,P,l){var O=function(g){function V(a){var 
b,c,e={};g.each(a,function(d){if((b=d.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa 
ai ao as b fn i m o s ".indexOf(b[1]+" 
"))c=d.replace(b[0],b[2].toLowerCase()),e[c]=d,"o"===b[1]&&V(a[d])});a._hungarianMap=e}function
 G(a,b,c){a._hungarianMap||V(a);var 
e;g.each(b,function(d){e=a._hungarianMap[d];if(e!==l&&(c||b[e]===l))"o"===e.charAt(0)?(b[e]||(b[e]={}),g.extend(!0,b[e],b[d]),G(a[e],b[e],c)):b[e]=b[d]})}function
 O(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
+!a.sEmptyTable&&(c&&"No data available in 
table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&cb(a)}function
 
db(a){z(a,"ordering","bSort");z(a,"orderMulti","bSortMulti");z(a,"orderClasses","bSortClasses");z(a,"orderCellsTop","bSortCellsTop");z(a,"order","aaSorting");z(a,"orderFixed","aaSortingFixed");z(a,"paging","bPaginate");
+z(a,"pagingType","sPaginationType");z(a,"pageLength","iDisplayLength");z(a,"searching","bFilter");if(a=a.aoSearchCols)for(var
 b=0,c=a.length;b<c;b++)a[b]&&G(p.models.oSearch,a[b])}function 
eb(a){z(a,"orderable","bSortable");z(a,"orderData","aDataSort");z(a,"orderSequence","asSorting");z(a,"orderDataType","sortDataType")}function
 fb(a){var 
a=a.oBrowser,b=g("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(g("<div/>").css({position:"absolute",top:1,left:1,width:100,
+overflow:"scroll"}).append(g('<div 
class="test"/>').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function
 gb(a,b,c,e,d,f){var 
h,i=!1;c!==l&&(h=c,i=!0);for(;e!==d;)a.hasOwnProperty(e)&&(h=i?b(h,a[e],e,a):a[e],i=!0,e+=f);return
 h}function Ea(a,b){var 
c=p.defaults.column,e=a.aoColumns.length,c=g.extend({},p.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
+"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=g.extend({},p.models.oSearch,c[e]);ja(a,e,null)}function
 ja(a,b,c){var 
b=a.aoColumns[b],e=a.oClasses,d=g(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var
 
f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==l&&null!==c&&(eb(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&
+!c.sClass&&(c.sClass=c.className),g.extend(b,c),D(b,c,"sWidth","sWidthOrig"),"number"===typeof
 c.iDataSort&&(b.aDataSort=[c.iDataSort]),D(b,c,"aDataSort"));var 
h=b.mData,i=W(h),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof
 
a&&-1!==a.indexOf("@")};b._bAttrSrc=g.isPlainObject(h)&&(c(h.sort)||c(h.type)||c(h.filter));b.fnGetData=function(a,b,c){var
 e=i(a,b,l,c);return j&&b?j(e,b,a,c):e};b.fnSetData=function(a,b,c){return 
Q(h)(a,b,c)};"number"!==typeof h&&(a._rowReadObject=!0);a.oFeatures.bSort||
+(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==g.inArray("asc",b.asSorting);c=-1!==g.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function
 X(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var 
c=0,e=b.length;c<
+e;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Y(a);u(a,null,"column-sizing",[a])}function
 ka(a,b){var c=Z(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function 
$(a,b){var c=Z(a,"bVisible"),c=g.inArray(b,c);return-1!==c?c:null}function 
aa(a){return Z(a,"bVisible").length}function Z(a,b){var 
c=[];g.map(a.aoColumns,function(a,d){a[b]&&c.push(d)});return c}function 
Ga(a){var 
b=a.aoColumns,c=a.aoData,e=p.ext.type.detect,d,f,h,i,j,g,m,o,k;d=0;for(f=b.length;d<f;d++)if(m=
+b[d],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else 
if(!m.sType){h=0;for(i=e.length;h<i;h++){j=0;for(g=c.length;j<g;j++){k[j]===l&&(k[j]=v(a,j,d,"type"));o=e[h](k[j],a);if(!o&&h!==e.length-1)break;if("html"===o)break}if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function
 hb(a,b,c,e){var 
d,f,h,i,j,n,m=a.aoColumns;if(b)for(d=b.length-1;0<=d;d--){n=b[d];var 
o=n.targets!==l?n.targets:n.aTargets;g.isArray(o)||(o=[o]);f=0;for(h=o.length;f<h;f++)if("number"===typeof
 o[f]&&0<=o[f]){for(;m.length<=
+o[f];)Ea(a);e(o[f],n)}else if("number"===typeof 
o[f]&&0>o[f])e(m.length+o[f],n);else if("string"===typeof 
o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||g(m[i].nTh).hasClass(o[f]))&&e(i,n)}}if(c){d=0;for(a=c.length;d<a;d++)e(d,c[d])}}function
 I(a,b,c,e){var 
d=a.aoData.length,f=g.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var
 
b=a.aoColumns,f=0,h=b.length;f<h;f++)c&&Ha(a,d,f,v(a,d,f)),b[f].sType=null;a.aiDisplayMaster.push(d);(c||!a.oFeatures.bDeferRender)&&Ia(a,
+d,c,e);return d}function la(a,b){var c;b instanceof g||(b=g(b));return 
b.map(function(b,d){c=ma(a,d);return I(a,c.data,d,c.cells)})}function 
v(a,b,c,e){var 
d=a.iDraw,f=a.aoColumns[c],h=a.aoData[b]._aData,i=f.sDefaultContent,c=f.fnGetData(h,e,{settings:a,row:b,col:c});if(c===l)return
 a.iDrawError!=d&&null===i&&(R(a,0,"Requested unknown parameter 
"+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row 
"+b,4),a.iDrawError=d),i;if((c===h||null===c)&&null!==i)c=i;else 
if("function"===typeof c)return c.call(h);
+return null===c&&"display"==e?"":c}function 
Ha(a,b,c,e){a.aoColumns[c].fnSetData(a.aoData[b]._aData,e,{settings:a,row:b,col:c})}function
 Ja(a){return g.map(a.match(/(\\.|[^\.])+/g),function(a){return 
a.replace(/\\./g,".")})}function W(a){if(g.isPlainObject(a)){var 
b={};g.each(a,function(a,c){c&&(b[a]=W(c))});return function(a,c,f,h){var 
i=b[c]||b._;return i!==l?i(a,c,f,h):a}}if(null===a)return function(a){return 
a};if("function"===typeof a)return function(b,c,f,h){return 
a(b,c,f,h)};if("string"===
+typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var 
c=function(a,b,f){var h,i;if(""!==f){i=Ja(f);for(var 
j=0,g=i.length;j<g;j++){f=i[j].match(ba);h=i[j].match(S);if(f){i[j]=i[j].replace(ba,"");""!==i[j]&&(a=a[i[j]]);h=[];i.splice(0,j+1);i=i.join(".");j=0;for(g=a.length;j<g;j++)h.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?h:h.join(a);break}else
 
if(h){i[j]=i[j].replace(S,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return
 l;a=a[i[j]]}}return a};return function(b,
+d){return c(b,d,a)}}return function(b){return b[a]}}function 
Q(a){if(g.isPlainObject(a))return Q(a._);if(null===a)return 
function(){};if("function"===typeof a)return 
function(b,e,d){a(b,"set",e,d)};if("string"===typeof 
a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var 
b=function(a,e,d){var d=Ja(d),f;f=d[d.length-1];for(var 
h,i,j=0,g=d.length-1;j<g;j++){h=d[j].match(ba);i=d[j].match(S);if(h){d[j]=d[j].replace(ba,"");a[d[j]]=[];f=d.slice();f.splice(0,j+1);h=f.join(".");i=0;for(g=
+e.length;i<g;i++)f={},b(f,e[i],h),a[d[j]].push(f);return}i&&(d[j]=d[j].replace(S,""),a=a[d[j]](e));if(null===a[d[j]]||a[d[j]]===l)a[d[j]]={};a=a[d[j]]}if(f.match(S))a[f.replace(S,"")](e);else
 a[f.replace(ba,"")]=e};return function(c,e){return b(c,e,a)}}return 
function(b,e){b[a]=e}}function Ka(a){return C(a.aoData,"_aData")}function 
na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function
 oa(a,b,c){for(var e=-1,d=0,f=a.length;d<f;d++)a[d]==b?e=d:a[d]>b&&a[d]--; 
-1!=e&&c===l&&
+a.splice(e,1)}function ca(a,b,c,e){var 
d=a.aoData[b],f,h=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=v(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=ma(a,d,e,e===l?l:d._aData).data;else{var
 
i=d.anCells;if(i)if(e!==l)h(i[e],e);else{c=0;for(f=i.length;c<f;c++)h(i[c],c)}}d._aSortData=null;d._aFilterData=null;h=a.aoColumns;if(e!==l)h[e].sType=null;else{c=0;for(f=h.length;c<f;c++)h[c].sType=null;La(d)}}function
 ma(a,b,c,e){var d=[],f=b.firstChild,
+h,i=0,j,n=a.aoColumns,m=a._rowReadObject,e=e||m?{}:[],o=function(a,b){if("string"===typeof
 a){var 
c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(e,b.getAttribute(c)))}},a=function(a){if(c===l||c===i)h=n[i],j=g.trim(a.innerHTML),h&&h._bAttrSrc?(Q(h.mData._)(e,j),o(h.mData.sort,a),o(h.mData.type,a),o(h.mData.filter,a)):m?(h._setter||(h._setter=Q(h.mData)),h._setter(e,j)):e[i]=j;i++};if(f)for(;f;){b=f.nodeName.toUpperCase();if("TD"==b||"TH"==b)a(f),d.push(f);f=f.nextSibling}else{d=b.anCells;f=0;for(b=
+d.length;f<b;f++)a(d[f])}return{data:e,cells:d}}function Ia(a,b,c,e){var 
d=a.aoData[b],f=d._aData,h=[],i,j,g,m,o;if(null===d.nTr){i=c||P.createElement("tr");d.nTr=i;d.anCells=h;i._DT_RowIndex=b;La(d);m=0;for(o=a.aoColumns.length;m<o;m++){g=a.aoColumns[m];j=c?e[m]:P.createElement(g.sCellType);h.push(j);if(!c||g.mRender||g.mData!==m)j.innerHTML=v(a,b,m,"display");g.sClass&&(j.className+="
 
"+g.sClass);g.bVisible&&!c?i.appendChild(j):!g.bVisible&&c&&j.parentNode.removeChild(j);g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,
+j,v(a,b,m),f,b,m)}u(a,"aoRowCreatedCallback",null,[i,f,b])}d.nTr.setAttribute("role","row")}function
 La(a){var 
b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var 
e=c.DT_RowClass.split(" 
");a.__rowc=a.__rowc?Ma(a.__rowc.concat(e)):e;g(b).removeClass(a.__rowc.join(" 
")).addClass(c.DT_RowClass)}c.DT_RowData&&g(b).data(c.DT_RowData)}}function 
ib(a){var b,c,e,d,f,h=a.nTHead,i=a.nTFoot,j=0===g("th, 
td",h).length,n=a.oClasses,m=a.aoColumns;j&&(d=g("<tr/>").appendTo(h));b=0;for(c=
+m.length;b<c;b++)f=m[b],e=g(f.nTh).addClass(f.sClass),j&&e.appendTo(d),a.oFeatures.bSort&&(e.addClass(f.sSortingClass),!1!==f.bSortable&&(e.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Na(a,f.nTh,b))),f.sTitle!=e.html()&&e.html(f.sTitle),Oa(a,"header")(a,e,f,n);j&&da(a.aoHeader,h);g(h).find(">tr").attr("role","row");g(h).find(">tr>th,
 >tr>td").addClass(n.sHeaderTH);g(i).find(">tr>th, 
>tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf=
+a[b].cell,f.sClass&&g(f.nTf).addClass(f.sClass)}}function ea(a,b,c){var 
e,d,f,h=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);e=0;for(d=b.length;e<d;e++){h[e]=b[e].slice();h[e].nTr=b[e].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&h[e].splice(f,1);i.push([])}e=0;for(d=h.length;e<d;e++){if(a=h[e].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=h[e].length;f<b;f++)if(n=j=1,i[e][f]===l){a.appendChild(h[e][f].cell);for(i[e][f]=1;h[e+j]!==l&&h[e][f].cell==h[e+j][f].cell;)i[e+j][f]=1,j++;
+for(;h[e][f+n]!==l&&h[e][f].cell==h[e][f+n].cell;){for(c=0;c<j;c++)i[e+c][f+n]=1;n++}g(h[e][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function
 L(a){var 
b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==g.inArray(!1,b))B(a,!1);else{var
 
b=[],c=0,e=a.asStripeClasses,d=e.length,f=a.oLanguage,h=a.iInitDisplayStart,i="ssp"==A(a),j=a.aiDisplay;a.bDrawing=!0;h!==l&&-1!==h&&(a._iDisplayStart=i?h:h>=a.fnRecordsDisplay()?0:h,a.iInitDisplayStart=-1);var
 h=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=
+!1,a.iDraw++,B(a,!1);else if(i){if(!a.bDestroying&&!jb(a))return}else 
a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:h;i<f;i++){var 
m=j[i],o=a.aoData[m];null===o.nTr&&Ia(a,m);m=o.nTr;if(0!==d){var 
k=e[c%d];o._sRowStripe!=k&&(g(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}u(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else
 
c=f.sZeroRecords,1==a.iDraw&&"ajax"==A(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=g("<tr/>",{"class":d?
+e[0]:""}).append(g("<td 
/>",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[g(a.nTHead).children("tr")[0],Ka(a),h,n,j]);u(a,"aoFooterCallback","footer",[g(a.nTFoot).children("tr")[0],Ka(a),h,n,j]);e=g(a.nTBody);e.children().detach();e.append(g(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function
 M(a,b){var 
c=a.oFeatures,e=c.bFilter;c.bSort&&kb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();
+!0!==b&&(a._iDisplayStart=0);a._drawHold=b;L(a);a._drawHold=!1}function 
lb(a){var 
b=a.oClasses,c=g(a.nTable),c=g("<div/>").insertBefore(c),e=a.oFeatures,d=g("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":"
 
"+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var
 
f=a.sDom.split(""),h,i,j,n,m,o,k=0;k<f.length;k++){h=null;i=f[k];if("<"==i){j=g("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m="";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:
+"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}d.append(j);d=g(j)}else
 if(">"==i)d=d.parent();else 
if("l"==i&&e.bPaginate&&e.bLengthChange)h=mb(a);else 
if("f"==i&&e.bFilter)h=nb(a);else if("r"==i&&e.bProcessing)h=ob(a);else 
if("t"==i)h=pb(a);else if("i"==i&&e.bInfo)h=qb(a);else 
if("p"==i&&e.bPaginate)h=rb(a);else 
if(0!==p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o<
+n;o++)if(i==j[o].cFeature){h=j[o].fnInit(a);break}}h&&(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(h),d.append(h))}c.replaceWith(d)}function
 da(a,b){var 
c=g(b).children("tr"),e,d,f,h,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){e=c[f];for(d=e.firstChild;d;){if("TD"==d.nodeName.toUpperCase()||"TH"==d.nodeName.toUpperCase()){m=1*d.getAttribute("colspan");o=1*d.getAttribute("rowspan");m=!m||0===m||1===m?1:m;o=!o||0===o||1===o?1:o;h=0;for(i=a[f];i[h];)h++;
+n=h;k=1===m?!0:!1;for(i=0;i<m;i++)for(h=0;h<o;h++)a[f+h][n+i]={cell:d,unique:k},a[f+h].nTr=e}d=d.nextSibling}}}function
 pa(a,b,c){var e=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var 
b=0,d=c.length;b<d;b++)for(var 
f=0,h=c[b].length;f<h;f++)if(c[b][f].unique&&(!e[f]||!a.bSortCellsTop))e[f]=c[b][f].cell;return
 e}function 
qa(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&g.isArray(b)){var 
e={},d=/(.*?)\[\]$/;g.each(b,function(a,b){var 
c=b.name.match(d);c?(c=c[0],e[c]||(e[c]=[]),e[c].push(b.value)):
+e[b.name]=b.value});b=e}var 
f,h=a.ajax,i=a.oInstance;if(g.isPlainObject(h)&&h.data){f=h.data;var 
j=g.isFunction(f)?f(b):f,b=g.isFunction(f)&&j?j:g.extend(!0,b,j);delete 
h.data}j={data:b,success:function(b){var 
f=b.error||b.sError;f&&a.oApi._fnLog(a,0,f);a.json=b;u(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var
 f=a.oApi._fnLog;"parsererror"==c?f(a,0,"Invalid JSON 
response",1):4===b.readyState&&f(a,0,"Ajax 
error",7);B(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",
+[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,g.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof
 
h?a.jqXHR=g.ajax(g.extend(j,{url:h||a.sAjaxSource})):g.isFunction(h)?a.jqXHR=h.call(i,b,c,a):(a.jqXHR=g.ajax(g.extend(j,h)),h.data=f)}function
 jb(a){return 
a.bAjaxDataGet?(a.iDraw++,B(a,!0),qa(a,sb(a),function(b){tb(a,b)}),!1):!0}function
 sb(a){var 
b=a.aoColumns,c=b.length,e=a.oFeatures,d=a.oPreviousSearch,f=a.aoPreSearchCols,h,i=[],j,n,m,o=T(a);h=a._iDisplayStart;
+j=!1!==e.bPaginate?a._iDisplayLength:-1;var 
k=function(a,b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",C(b,"sName").join(","));k("iDisplayStart",h);k("iDisplayLength",j);var
 
l={draw:a.iDraw,columns:[],order:[],start:h,length:j,search:{value:d.sSearch,regex:d.bRegex}};for(h=0;h<c;h++)n=b[h],m=f[h],j="function"==typeof
 
n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}),
+k("mDataProp_"+h,j),e.bFilter&&(k("sSearch_"+h,m.sSearch),k("bRegex_"+h,m.bRegex),k("bSearchable_"+h,n.bSearchable)),e.bSort&&k("bSortable_"+h,n.bSortable);e.bFilter&&(k("sSearch",d.sSearch),k("bRegex",d.bRegex));e.bSort&&(g.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return
 null===b?a.sAjaxSource?i:l:b?i:l}function tb(a,b){var 
c=b.sEcho!==l?b.sEcho:b.draw,e=b.iTotalRecords!==l?b.iTotalRecords:
+b.recordsTotal,d=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(d,10);c=ra(a,b);e=0;for(d=c.length;e<d;e++)I(a,c[e]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;L(a);a._bInitComplete||sa(a,b);a.bAjaxDataGet=!0;B(a,!1)}function
 ra(a,b){var 
c=g.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?W(c)(b):
+b}function nb(a){var 
b=a.oClasses,c=a.sTableId,e=a.oLanguage,d=a.oPreviousSearch,f=a.aanFeatures,h='<input
 type="search" 
class="'+b.sFilterInput+'"/>',i=e.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",h):i+h,b=g("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(g("<label/>").append(i)),f=function(){var
 
b=!this.value?"":this.value;b!=d.sSearch&&(fa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,L(a))},h=null!==a.searchDelay?a.searchDelay:
+"ssp"===A(a)?400:0,j=g("input",b).val(d.sSearch).attr("placeholder",e.sSearchPlaceholder).bind("keyup.DT
 search.DT input.DT paste.DT 
cut.DT",h?ta(f,h):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);g(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(d.sSearch)}catch(f){}});return
 b[0]}function fa(a,b,c){var 
e=a.oPreviousSearch,d=a.aoPreSearchCols,f=function(a){e.sSearch=a.sSearch;e.bRegex=a.bRegex;e.bSmart=a.bSmart;e.bCaseInsensitive=
+a.bCaseInsensitive};Ga(a);if("ssp"!=A(a)){ub(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<d.length;b++)vb(a,d[b].sSearch,b,d[b].bEscapeRegex!==l?!d[b].bEscapeRegex:d[b].bRegex,d[b].bSmart,d[b].bCaseInsensitive);wb(a)}else
 f(b);a.bFiltered=!0;u(a,null,"search",[a])}function wb(a){for(var 
b=p.ext.search,c=a.aiDisplay,e,d,f=0,h=b.length;f<h;f++){for(var 
i=[],j=0,g=c.length;j<g;j++)d=c[j],e=a.aoData[d],b[f](a,e._aFilterData,d,e._aData,j)&&i.push(d);
+c.length=0;c.push.apply(c,i)}}function vb(a,b,c,e,d,f){if(""!==b)for(var 
h=a.aiDisplay,e=Pa(b,e,d,f),d=h.length-1;0<=d;d--)b=a.aoData[h[d]]._aFilterData[c],e.test(b)||h.splice(d,1)}function
 ub(a,b,c,e,d,f){var 
e=Pa(b,e,d,f),d=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,h;0!==p.ext.search.length&&(c=!0);h=xb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(h||c||d.length>b.length||0!==b.indexOf(d)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)e.test(a.aoData[b[c]]._sFilterRow)||
+b.splice(c,1)}}function 
Pa(a,b,c,e){a=b?a:ua(a);c&&(a="^(?=.*?"+g.map(a.match(/"[^"]+"|[^ 
]+/g)||"",function(a){if('"'===a.charAt(0))var 
b=a.match(/^"(.*)"$/),a=b?b[1]:a;return 
a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,e?"i":"")}function 
ua(a){return a.replace(Xb,"\\$1")}function xb(a){var 
b=a.aoColumns,c,e,d,f,h,i,g,n,m=p.ext.type.search;c=!1;e=0;for(f=a.aoData.length;e<f;e++)if(n=a.aoData[e],!n._aFilterData){i=[];d=0;for(h=b.length;d<h;d++)c=b[d],c.bSearchable?(g=v(a,e,d,"filter"),
+m[c.sType]&&(g=m[c.sType](g)),null===g&&(g=""),"string"!==typeof 
g&&g.toString&&(g=g.toString())):g="",g.indexOf&&-1!==g.indexOf("&")&&(va.innerHTML=g,g=Yb?va.textContent:va.innerText),g.replace&&(g=g.replace(/[\r\n]/g,"")),i.push(g);n._aFilterData=i;n._sFilterRow=i.join("
  ");c=!0}return c}function 
yb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function
 
zb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}
+function qb(a){var 
b=a.sTableId,c=a.aanFeatures.i,e=g("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Ab,sName:"information"}),e.attr("role","status").attr("aria-live","polite"),g(a.nTable).attr("aria-describedby",b+"_info"));return
 e[0]}function Ab(a){var b=a.aanFeatures.i;if(0!==b.length){var 
c=a.oLanguage,e=a._iDisplayStart+1,d=a.fnDisplayEnd(),f=a.fnRecordsTotal(),h=a.fnRecordsDisplay(),i=h?c.sInfo:c.sInfoEmpty;h!==f&&(i+="
 "+c.sInfoFiltered);i+=c.sInfoPostFix;
+i=Bb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,e,d,f,h,i));g(b).html(i)}}function
 Bb(a,b){var 
c=a.fnFormatNumber,e=a._iDisplayStart+1,d=a._iDisplayLength,f=a.fnRecordsDisplay(),h=-1===d;return
 
b.replace(/_START_/g,c.call(a,e)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,h?1:Math.ceil(e/d))).replace(/_PAGES_/g,c.call(a,h?1:Math.ceil(f/d)))}function
 ga(a){var b,c,e=a.iInitDisplayStart,
+d=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){lb(a);ib(a);ea(a,a.aoHeader);ea(a,a.aoFooter);B(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=d.length;b<c;b++)f=d[b],f.sWidth&&(f.nTh.style.width=s(f.sWidth));M(a);d=A(a);"ssp"!=d&&("ajax"==d?qa(a,[],function(c){var
 
f=ra(a,c);for(b=0;b<f.length;b++)I(a,f[b]);a.iInitDisplayStart=e;M(a);B(a,!1);sa(a,c)},a):(B(a,!1),sa(a)))}else
 setTimeout(function(){ga(a)},200)}function 
sa(a,b){a._bInitComplete=!0;b&&X(a);u(a,"aoInitComplete","init",[a,b])}function 
Qa(a,b){var c=
+parseInt(b,10);a._iDisplayLength=c;Ra(a);u(a,null,"length",[a,c])}function 
mb(a){for(var 
b=a.oClasses,c=a.sTableId,e=a.aLengthMenu,d=g.isArray(e[0]),f=d?e[0]:e,e=d?e[1]:e,d=g("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),h=0,i=f.length;h<i;h++)d[0][h]=new
 Option(e[h],f[h]);var 
j=g("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));g("select",j).val(a._iDisplayLength).bind("change.DT",
+function(){Qa(a,g(this).val());L(a)});g(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&g("select",j).val(f)});return
 j[0]}function rb(a){var 
b=a.sPaginationType,c=p.ext.pager[b],e="function"===typeof 
c,d=function(a){L(a)},b=g("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;e||c.fnInit(a,b,d);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(e){var
 
b=a._iDisplayStart,g=a._iDisplayLength,n=a.fnRecordsDisplay(),m=-1===g,b=m?0:Math.ceil(b/g),g=m?1:Math.ceil(n/
+g),n=c(b,g),o,m=0;for(o=f.p.length;m<o;m++)Oa(a,"pageButton")(a,f.p[m],m,n,b,g)}else
 c.fnUpdate(a,d)},sName:"pagination"}));return b}function Sa(a,b,c){var 
e=a._iDisplayStart,d=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===d?e=0:"number"===typeof
 
b?(e=b*d,e>f&&(e=0)):"first"==b?e=0:"previous"==b?(e=0<=d?e-d:0,0>e&&(e=0)):"next"==b?e+d<f&&(e+=d):"last"==b?e=Math.floor((f-1)/d)*d:R(a,0,"Unknown
 paging action: 
"+b,5);b=a._iDisplayStart!==e;a._iDisplayStart=e;b&&(u(a,null,"page",[a]),c&&L(a));
+return b}function ob(a){return 
g("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function
 
B(a,b){a.oFeatures.bProcessing&&g(a.aanFeatures.r).css("display",b?"block":"none");u(a,null,"processing",[a,b])}function
 pb(a){var b=g(a.nTable);b.attr("role","grid");var 
c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var 
e=c.sX,d=c.sY,f=a.oClasses,h=b.children("caption"),i=h.length?h[0]._captionSide:null,
+j=g(b[0].cloneNode(!1)),n=g(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=g("<div/>",{"class":f.sScrollWrapper}).append(g("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:e?!e?null:s(e):"100%"}).append(g("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append("top"===i?h:null).append(b.children("thead"))))).append(g("<div/>",
+{"class":f.sScrollBody}).css({overflow:"auto",height:!d?null:s(d),width:!e?null:s(e)}).append(b));m&&c.append(g("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:e?!e?null:s(e):"100%"}).append(g("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===i?h:null).append(b.children("tfoot")))));var
 b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;e&&g(f).scroll(function(){var 
a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead=
+o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return
 c[0]}function Y(a){var 
b=a.oScroll,c=b.sX,e=b.sXInner,d=b.sY,f=b.iBarWidth,h=g(a.nScrollHead),i=h[0].style,j=h.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=g(j),k=j.style,l=g(a.nScrollFoot).children("div"),p=l.children("table"),r=g(a.nTHead),q=g(a.nTable),t=q[0],N=t.style,J=a.nTFoot?g(a.nTFoot):null,u=a.oBrowser,w=u.bScrollOversize,y,v,x,K,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop=
+"0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead,
 
tfoot").remove();z=r.clone().prependTo(q);y=r.find("tr");x=z.find("tr");z.find("th,
 
td").removeAttr("tabindex");J&&(K=J.clone().prependTo(q),v=J.find("tr"),K=K.find("tr"));c||(k.width="100%",h[0].style.width="100%");g.each(pa(a,z),function(b,c){D=ka(a,b);c.style.width=a.aoColumns[D].sWidth});J&&F(function(a){a.style.width=""},K);b.bCollapse&&""!==d&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px");
+h=q.outerWidth();if(""===c){if(N.width="100%",w&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(q.outerWidth()-f)}else""!==e?N.width=s(e):h==o.width()&&o.height()<q.height()?(N.width=s(h-f),q.outerWidth()>h-f&&(N.width=s(h))):N.width=s(h);h=q.outerWidth();F(E,x);F(function(a){C.push(a.innerHTML);A.push(s(g(a).css("width")))},x);F(function(a,b){a.style.width=A[b]},y);g(x).height(0);J&&(F(E,K),F(function(a){B.push(s(g(a).css("width")))},K),F(function(a,b){a.style.width=
+B[b]},v),g(K).height(0));F(function(a,b){a.innerHTML='<div 
class="dataTables_sizing" 
style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=A[b]},x);J&&F(function(a,b){a.innerHTML="";a.style.width=B[b]},K);if(q.outerWidth()<h){v=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?h+f:h;if(w&&(j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(v-f);(""===c||""!==e)&&R(a,1,"Possible
 column misalignment",6)}else 
v="100%";k.width=s(v);i.width=s(v);J&&(a.nScrollFoot.style.width=
+s(v));!d&&w&&(k.height=s(t.offsetHeight+f));d&&b.bCollapse&&(k.height=s(d),b=c&&t.offsetWidth>j.offsetWidth?f:0,t.offsetHeight<j.offsetHeight&&(k.height=s(t.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");u="padding"+(u.bScrollbarLeft?"Left":"Right");n[u]=m?f+"px":"0px";J&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[u]=m?f+"px":"0px");o.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function
 F(a,
+b,c){for(var 
e=0,d=0,f=b.length,h,g;d<f;){h=b[d].firstChild;for(g=c?c[d].firstChild:null;h;)1===h.nodeType&&(c?a(h,g,e):a(h,e),e++),h=h.nextSibling,g=c?g.nextSibling:null;d++}}function
 Fa(a){var 
b=a.nTable,c=a.aoColumns,e=a.oScroll,d=e.sY,f=e.sX,h=e.sXInner,i=c.length,e=Z(a,"bVisible"),j=g("th",a.nTHead),n=b.getAttribute("width"),m=b.parentNode,o=!1,k,l;for(k=0;k<e.length;k++)l=c[e[k]],null!==l.sWidth&&(l.sWidth=Cb(l.sWidthOrig,m),o=!0);if(!o&&!f&&!d&&i==aa(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth=
+s(j.eq(k).width());else{i=g(b).clone().empty().css("visibility","hidden").removeAttr("id").append(g(a.nTHead).clone(!1)).append(g(a.nTFoot).clone(!1)).append(g("<tbody><tr/></tbody>"));i.find("tfoot
 th, tfoot td").css("width","");var p=i.find("tbody 
tr"),j=pa(a,i.find("thead")[0]);for(k=0;k<e.length;k++)l=c[e[k]],j[k].style.width=null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<e.length;k++)o=e[k],l=c[o],g(Db(a,o)).clone(!1).append(l.sContentPadding).appendTo(p);
+i.appendTo(m);f&&h?i.width(h):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):d?i.width(m.offsetWidth):n&&i.width(n);Eb(a,i[0]);if(f){for(k=h=0;k<e.length;k++)l=c[e[k]],d=g(j[k]).outerWidth(),h+=null===l.sWidthOrig?d:parseInt(l.sWidth,10)+d-g(j[k]).width();i.width(s(h));b.style.width=s(h)}for(k=0;k<e.length;k++)if(l=c[e[k]],d=g(j[k]).width())l.sWidth=s(d);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)g(Da).bind("resize.DT-"+a.sInstance,
+ta(function(){X(a)})),a._reszEvt=!0}function ta(a,b){var 
c=b!==l?b:200,e,d;return function(){var b=this,h=+new 
Date,g=arguments;e&&h<e+c?(clearTimeout(d),d=setTimeout(function(){e=l;a.apply(b,g)},c)):e?(e=h,a.apply(b,g)):e=h}}function
 Cb(a,b){if(!a)return 0;var 
c=g("<div/>").css("width",s(a)).appendTo(b||P.body),e=c[0].offsetWidth;c.remove();return
 e}function Eb(a,b){var 
c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(g(b).outerWidth()-c)}function
 Db(a,b){var c=Fb(a,b);if(0>c)return null;
+var 
e=a.aoData[c];return!e.nTr?g("<td/>").html(v(a,c,b,"display"))[0]:e.anCells[b]}function
 Fb(a,b){for(var 
c,e=-1,d=-1,f=0,h=a.aoData.length;f<h;f++)c=v(a,f,b,"display")+"",c=c.replace(Zb,""),c.length>e&&(e=c.length,d=f);return
 d}function s(a){return null===a?"0px":"number"==typeof 
a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function 
Gb(){if(!p.__scrollbarWidth){var 
a=g("<p/>").css({width:"100%",height:200,padding:0})[0],b=g("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,
+overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=c-a}return
 p.__scrollbarWidth}function T(a){var 
b,c,e=[],d=a.aoColumns,f,h,i,j;b=a.aaSortingFixed;c=g.isPlainObject(b);var 
n=[];f=function(a){a.length&&!g.isArray(a[0])?n.push(a):n.push.apply(n,a)};g.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=d[j].aDataSort;
+b=0;for(c=f.length;b<c;b++)h=f[b],i=d[h].sType||"string",n[a]._idx===l&&(n[a]._idx=g.inArray(n[a][1],d[h].asSorting)),e.push({src:j,col:h,dir:n[a][1],index:n[a]._idx,type:i,formatter:p.ext.type.order[i+"-pre"]})}return
 e}function kb(a){var 
b,c,e=[],d=p.ext.type.order,f=a.aoData,h=0,g,j=a.aiDisplayMaster,n;Ga(a);n=T(a);b=0;for(c=n.length;b<c;b++)g=n[b],g.formatter&&h++,Hb(a,g.col);if("ssp"!=A(a)&&0!==n.length){b=0;for(c=j.length;b<c;b++)e[j[b]]=b;h===n.length?j.sort(function(a,b){var
 c,d,h,g,i=n.length,
+j=f[a]._aSortData,l=f[b]._aSortData;for(h=0;h<i;h++)if(g=n[h],c=j[g.col],d=l[g.col],c=c<d?-1:c>d?1:0,0!==c)return"asc"===g.dir?c:-c;c=e[a];d=e[b];return
 c<d?-1:c>d?1:0}):j.sort(function(a,b){var 
c,h,g,i,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(g=0;g<j;g++)if(i=n[g],c=l[i.col],h=p[i.col],i=d[i.type+"-"+i.dir]||d["string-"+i.dir],c=i(c,h),0!==c)return
 c;c=e[a];h=e[b];return c<h?-1:c>h?1:0})}a.bSorted=!0}function Ib(a){for(var 
b,c,e=a.aoColumns,d=T(a),a=a.oLanguage.oAria,f=0,h=e.length;f<h;f++){c=
+e[f];var g=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var 
j=c.nTh;j.removeAttribute("aria-sort");c.bSortable&&(0<d.length&&d[0].col==f?(j.setAttribute("aria-sort","asc"==d[0].dir?"ascending":"descending"),c=g[d[0].index+1]||g[0]):c=g[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);j.setAttribute("aria-label",b)}}function
 Ta(a,b,c,e){var d=a.aaSorting,f=a.aoColumns[b].asSorting,h=function(a,b){var 
c=a._idx;c===l&&(c=g.inArray(a[1],f));return 
c+1<f.length?c+1:b?null:0};"number"===typeof d[0]&&
+(d=a.aaSorting=[d]);c&&a.oFeatures.bSortMulti?(c=g.inArray(b,C(d,"0")),-1!==c?(b=h(d[c],!0),null===b?d.splice(c,1):(d[c][1]=f[b],d[c]._idx=b)):(d.push([b,f[0],0]),d[d.length-1]._idx=0)):d.length&&d[0][0]==b?(b=h(d[0]),d.length=1,d[0][1]=f[b],d[0]._idx=b):(d.length=0,d.push([b,f[0]]),d[0]._idx=0);M(a);"function"==typeof
 e&&e(a)}function Na(a,b,c,e){var 
d=a.aoColumns[c];Ua(b,{},function(b){!1!==d.bSortable&&(a.oFeatures.bProcessing?(B(a,!0),setTimeout(function(){Ta(a,c,b.shiftKey,e);"ssp"!==A(a)&&B(a,
+!1)},0)):Ta(a,c,b.shiftKey,e))})}function wa(a){var 
b=a.aLastSort,c=a.oClasses.sSortColumn,e=T(a),d=a.oFeatures,f,h;if(d.bSort&&d.bSortClasses){d=0;for(f=b.length;d<f;d++)h=b[d].src,g(C(a.aoData,"anCells",h)).removeClass(c+(2>d?d+1:3));d=0;for(f=e.length;d<f;d++)h=e[d].src,g(C(a.aoData,"anCells",h)).addClass(c+(2>d?d+1:3))}a.aLastSort=e}function
 Hb(a,b){var 
c=a.aoColumns[b],e=p.ext.order[c.sSortDataType],d;e&&(d=e.call(a.oInstance,a,b,$(a,b)));for(var
 f,h=p.ext.type.order[c.sType+"-pre"],g=0,j=a.aoData.length;g<
+j;g++)if(c=a.aoData[g],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||e)f=e?d[g]:v(a,g,b,"sort"),c._aSortData[b]=h?h(f):f}function
 xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new 
Date,start:a._iDisplayStart,length:a._iDisplayLength,order:g.extend(!0,[],a.aaSorting),search:yb(a.oPreviousSearch),columns:g.map(a.aoColumns,function(b,e){return{visible:b.bVisible,search:yb(a.aoPreSearchCols[e])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,
+a,b)}}function Jb(a){var b,c,e=a.aoColumns;if(a.oFeatures.bStateSave){var 
d=a.fnStateLoadCallback.call(a.oInstance,a);if(d&&d.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",[a,d]),-1===g.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&d.time<+new
 
Date-1E3*b)&&e.length===d.columns.length))){a.oLoadedState=g.extend(!0,{},d);a._iDisplayStart=d.start;a.iInitDisplayStart=d.start;a._iDisplayLength=d.length;a.aaSorting=[];g.each(d.order,function(b,c){a.aaSorting.push(c[0]>=e.length?[0,c[1]]:c)});g.extend(a.oPreviousSearch,
+zb(d.search));b=0;for(c=d.columns.length;b<c;b++){var 
f=d.columns[b];e[b].bVisible=f.visible;g.extend(a.aoPreSearchCols[b],zb(f.search))}u(a,"aoStateLoaded","stateLoaded",[a,d])}}}function
 ya(a){var 
b=p.settings,a=g.inArray(a,C(b,"nTable"));return-1!==a?b[a]:null}function 
R(a,b,c,e){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - 
":"")+c;e&&(c+=". For more information about this error, please see 
http://datatables.net/tn/"+e);if(b)Da.console&&console.log&&console.log(c);else 
if(a=p.ext,
+"alert"==(a.sErrMode||a.errMode))alert(c);else throw Error(c);}function 
D(a,b,c,e){g.isArray(c)?g.each(c,function(c,f){g.isArray(f)?D(a,b,f[0],f[1]):D(a,b,f)}):(e===l&&(e=c),b[c]!==l&&(a[e]=b[c]))}function
 Kb(a,b,c){var e,d;for(d in 
b)b.hasOwnProperty(d)&&(e=b[d],g.isPlainObject(e)?(g.isPlainObject(a[d])||(a[d]={}),g.extend(!0,a[d],e)):a[d]=c&&"data"!==d&&"aaData"!==d&&g.isArray(e)?e.slice():e);return
 a}function 
Ua(a,b,c){g(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===
+a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function
 x(a,b,c,e){c&&a[b].push({fn:c,sName:e})}function u(a,b,c,e){var 
d=[];b&&(d=g.map(a[b].slice().reverse(),function(b){return 
b.fn.apply(a.oInstance,e)}));null!==c&&g(a.nTable).trigger(c+".dt",e);return 
d}function Ra(a){var 
b=a._iDisplayStart,c=a.fnDisplayEnd(),e=a._iDisplayLength;b>=c&&(b=c-e);b-=b%e;if(-1===e||0>b)b=0;a._iDisplayStart=b}function
 Oa(a,b){var c=a.renderer,e=p.ext.renderer[b];return g.isPlainObject(c)&&
+c[b]?e[c[b]]||e._:"string"===typeof c?e[c]||e._:e._}function A(a){return 
a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function 
Va(a,b){var 
c=[],c=Lb.numbers_length,e=Math.floor(c/2);b<=c?c=U(0,b):a<=e?(c=U(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-e?c=U(b-(c-2),b):(c=U(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return
 c}function cb(a){g.each({num:function(b){return 
za(b,a)},"num-fmt":function(b){return za(b,a,Wa)},"html-num":function(b){return 
za(b,
+a,Aa)},"html-num-fmt":function(b){return 
za(b,a,Aa,Wa)}},function(b,c){w.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(w.type.search[b+a]=w.type.search.html)})}function
 Mb(a){return function(){var 
b=[ya(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return
 p.ext.internal[a].apply(this,b)}}var 
p,w,q,r,t,Xa={},Nb=/[\r\n]/g,Aa=/<.*?>/g,$b=/^[\w\+\-]/,ac=/[\w\+\-]$/,Xb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Wa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g,
+H=function(a){return!a||!0===a||"-"===a?!0:!1},Ob=function(a){var 
b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Pb=function(a,b){Xa[b]||(Xa[b]=RegExp(ua(b),"g"));return"string"===typeof
 a&&"."!==b?a.replace(/\./g,"").replace(Xa[b],"."):a},Ya=function(a,b,c){var 
e="string"===typeof a;b&&e&&(a=Pb(a,b));c&&e&&(a=a.replace(Wa,""));return 
H(a)||!isNaN(parseFloat(a))&&isFinite(a)},Qb=function(a,b,c){return 
H(a)?!0:!(H(a)||"string"===typeof 
a)?null:Ya(a.replace(Aa,""),b,c)?!0:null},C=function(a,
+b,c){var 
e=[],d=0,f=a.length;if(c!==l)for(;d<f;d++)a[d]&&a[d][b]&&e.push(a[d][b][c]);else
 for(;d<f;d++)a[d]&&e.push(a[d][b]);return e},ha=function(a,b,c,e){var 
d=[],f=0,h=b.length;if(e!==l)for(;f<h;f++)a[b[f]][c]&&d.push(a[b[f]][c][e]);else
 for(;f<h;f++)d.push(a[b[f]][c]);return d},U=function(a,b){var 
c=[],e;b===l?(b=0,e=a):(e=b,b=a);for(var d=b;d<e;d++)c.push(d);return 
c},Rb=function(a){for(var b=[],c=0,e=a.length;c<e;c++)a[c]&&b.push(a[c]);return 
b},Ma=function(a){var b=[],c,e,d=a.length,f,h=0;
+e=0;a:for(;e<d;e++){c=a[e];for(f=0;f<h;f++)if(b[f]===c)continue 
a;b.push(c);h++}return 
b},z=function(a,b,c){a[b]!==l&&(a[c]=a[b])},ba=/\[.*?\]$/,S=/\(\)$/,va=g("<div>")[0],Yb=va.textContent!==l,Zb=/<.*?>/g;p=function(a){this.$=function(a,b){return
 this.api(!0).$(a,b)};this._=function(a,b){return 
this.api(!0).rows(a,b).data()};this.api=function(a){return a?new 
q(ya(this[w.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var 
c=this.api(!0),e=g.isArray(a)&&(g.isArray(a[0])||g.isPlainObject(a[0]))?
+c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return 
e.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var 
b=this.api(!0).columns.adjust(),c=b.settings()[0],e=c.oScroll;a===l||a?b.draw(!1):(""!==e.sX||""!==e.sY)&&Y(c)};this.fnClearTable=function(a){var
 
b=this.api(!0).clear();(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var
 
e=this.api(!0),a=e.rows(a),d=a.settings()[0],g=d.aoData[a[0][0]];a.remove();b&&b.call(this,d,g);
+(c===l||c)&&e.draw();return 
g};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,e,d,g){d=this.api(!0);null===b||b===l?d.search(a,c,e,g):d.column(b).search(a,c,e,g);d.draw()};this.fnGetData=function(a,b){var
 c=this.api(!0);if(a!==l){var e=a.nodeName?a.nodeName.toLowerCase():"";return 
b!==l||"td"==e||"th"==e?c.cell(a,b).data():c.row(a).data()||null}return 
c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);
+return 
a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var
 
b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return
 this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return 
this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var
 c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis=
+function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return
 
ya(this[w.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,e,d){var
 
g=this.api(!0);c===l||null===c?g.row(b).data(a):g.cell(b,c).data(a);(d===l||d)&&g.columns.adjust();(e===l||e)&&g.draw();return
 0};this.fnVersionCheck=w.fnVersionCheck;var b=this,c=a===l,e=this.length;
+c&&(a={});this.oApi=this.internal=w.internal;for(var d in 
p.ext.internal)d&&(this[d]=Mb(d));this.each(function(){var 
d={},d=1<e?Kb(d,a,!0):a,h=0,i,j=this.getAttribute("id"),n=!1,m=p.defaults;if("table"!=this.nodeName.toLowerCase())R(null,0,"Non-table
 node initialisation 
("+this.nodeName+")",2);else{db(m);eb(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,d);var
 
o=p.settings,h=0;for(i=o.length;h<i;h++){if(o[h].nTable==this){i=d.bRetrieve!==l?d.bRetrieve:m.bRetrieve;if(c||i)return
 o[h].oInstance;if(d.bDestroy!==
+l?d.bDestroy:m.bDestroy){o[h].oInstance.fnDestroy();break}else{R(o[h],0,"Cannot
 reinitialise 
DataTable",3);return}}if(o[h].sTableId==this.id){o.splice(h,1);break}}if(null===j||""===j)this.id=j="DataTables_Table_"+p.ext._unique++;var
 
k=g.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,oInit:d,sDestroyWidth:g(this)[0].style.width,sInstance:j,sTableId:j});o.push(k);k.oInstance=1===b.length?b:g(this).dataTable();db(d);d.oLanguage&&O(d.oLanguage);d.aLengthMenu&&!d.iDisplayLength&&(d.iDisplayLength=

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]