├── .gitignore ├── Example.md ├── README.md ├── Sample Query StackOverflow.sql └── src ├── Version.markdown ├── about.html ├── assets ├── css │ ├── DT_bootstrap.css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ ├── jquery.dataTables.css │ ├── jquery.dataTables_themeroller.css │ └── style.css ├── data │ ├── languagetext-en.json │ ├── languagetext-es.json │ └── languagetext-it.json ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── img │ ├── back_disabled.png │ ├── back_enabled.png │ ├── back_enabled_hover.png │ ├── forward_disabled.png │ ├── forward_enabled.png │ ├── forward_enabled_hover.png │ ├── glyphicons-halflings-white.png │ ├── glyphicons-halflings.png │ ├── sort_asc.png │ ├── sort_asc_disabled.png │ ├── sort_both.png │ ├── sort_desc.png │ └── sort_desc_disabled.png └── js │ ├── DT_bootstrap.js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── jquery.cookies.2.2.0.min.js │ ├── jquery.dataTables.js │ ├── jquery.dataTables.min.js │ ├── jquery.js │ ├── moment.min.js │ ├── numeral │ ├── languages.min.js │ ├── languages │ │ ├── be-nl.min.js │ │ ├── chs.min.js │ │ ├── cs.min.js │ │ ├── da-dk.min.js │ │ ├── de-ch.min.js │ │ ├── de.min.js │ │ ├── en-gb.min.js │ │ ├── es-ES.min.js │ │ ├── es.min.js │ │ ├── et.min.js │ │ ├── fi.min.js │ │ ├── fr-CA.min.js │ │ ├── fr-ch.min.js │ │ ├── fr.min.js │ │ ├── hu.min.js │ │ ├── it.min.js │ │ ├── ja.min.js │ │ ├── nl-nl.min.js │ │ ├── pl.min.js │ │ ├── pt-br.min.js │ │ ├── pt-pt.min.js │ │ ├── ru-UA.min.js │ │ ├── ru.min.js │ │ ├── sk.min.js │ │ ├── th.min.js │ │ ├── tr.min.js │ │ └── uk-UA.min.js │ └── numeral.min.js │ ├── purl.js │ └── statsioparser.js ├── favicon.png └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) 2 | [Bb]in/ 3 | [Oo]bj/ 4 | 5 | # mstest test results 6 | TestResults 7 | 8 | ## Ignore Visual Studio temporary files, build results, and 9 | ## files generated by popular Visual Studio add-ons. 10 | 11 | # User-specific files 12 | *.suo 13 | *.user 14 | *.sln.docstates 15 | 16 | # Build results 17 | [Dd]ebug/ 18 | [Rr]elease/ 19 | x64/ 20 | *_i.c 21 | *_p.c 22 | *.ilk 23 | *.meta 24 | *.obj 25 | *.pch 26 | *.pdb 27 | *.pgc 28 | *.pgd 29 | *.rsp 30 | *.sbr 31 | *.tlb 32 | *.tli 33 | *.tlh 34 | *.tmp 35 | *.log 36 | *.vspscc 37 | *.vssscc 38 | .builds 39 | 40 | # Visual C++ cache files 41 | ipch/ 42 | *.aps 43 | *.ncb 44 | *.opensdf 45 | *.sdf 46 | 47 | # Visual Studio profiler 48 | *.psess 49 | *.vsp 50 | *.vspx 51 | 52 | # Guidance Automation Toolkit 53 | *.gpState 54 | 55 | # ReSharper is a .NET coding add-in 56 | _ReSharper* 57 | 58 | # NCrunch 59 | *.ncrunch* 60 | .*crunch*.local.xml 61 | 62 | # Installshield output folder 63 | [Ee]xpress 64 | 65 | # DocProject is a documentation generator add-in 66 | DocProject/buildhelp/ 67 | DocProject/Help/*.HxT 68 | DocProject/Help/*.HxC 69 | DocProject/Help/*.hhc 70 | DocProject/Help/*.hhk 71 | DocProject/Help/*.hhp 72 | DocProject/Help/Html2 73 | DocProject/Help/html 74 | 75 | # Click-Once directory 76 | publish 77 | 78 | # Publish Web Output 79 | *.Publish.xml 80 | 81 | # NuGet Packages Directory 82 | packages 83 | 84 | # Windows Azure Build Output 85 | csx 86 | *.build.csdef 87 | 88 | # Windows Store app package directory 89 | AppPackages/ 90 | 91 | # Others 92 | [Bb]in 93 | [Oo]bj 94 | TestResults 95 | [Tt]est[Rr]esult* 96 | *.Cache 97 | ClientBin 98 | [Ss]tyle[Cc]op.* 99 | ~$* 100 | *.dbmdl 101 | Generated_Code #added for RIA/Silverlight projects 102 | 103 | # Backup & report files from converting an old project file to a newer 104 | # Visual Studio version. Backup files are not needed, because we have git ;-) 105 | _UpgradeReport_Files/ 106 | Backup*/ 107 | UpgradeLog*.XML 108 | src/sql/Dashboard Query Scratch.sql 109 | -------------------------------------------------------------------------------- /Example.md: -------------------------------------------------------------------------------- 1 | # Example Statistics IO Output 2 | 3 | ## Input statement 4 | 5 | SQL Server parse and compile time:
6 | CPU time = 108 ms, elapsed time = 108 ms. 7 | 8 | (13431682 row(s) affected)
9 | Table 'PostTypes'. Scan count 1, logical reads 2, physical reads 1, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
10 | Table 'Users'. Scan count 5, logical reads 42015, physical reads 1, read-ahead reads 41306, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
11 | Table 'Comments'. Scan count 5, logical reads 1089402, physical reads 248, read-ahead reads 1108174, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
12 | Table 'PostTags'. Scan count 5, logical reads 77500, physical reads 348, read-ahead reads 82219, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
13 | Table 'Posts'. Scan count 5, logical reads 397944, physical reads 9338, read-ahead reads 402977, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
14 | Table 'Worktable'. Scan count 999172, logical reads 16247024, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
15 | Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. 16 | 17 | SQL Server Execution Times:
18 | CPU time = 156527 ms, elapsed time = 284906 ms.
19 | SQL Server parse and compile time:
20 | CPU time = 16 ms, elapsed time = 19 ms.
21 | 22 | (233033 row(s) affected)
23 | Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
24 | Table 'Votes'. Scan count 1, logical reads 250128, physical reads 10, read-ahead reads 250104, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
25 | Table 'Posts'. Scan count 1, logical reads 165586, physical reads 18, read-ahead reads 49191, lob logical reads 823463, lob physical reads 42854, lob read-ahead reads 3272.
26 | Table 'Users'. Scan count 1, logical reads 41405, physical reads 3, read-ahead reads 41401, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. 27 | 28 | SQL Server Execution Times:
29 | CPU time = 17207 ms, elapsed time = 38163 ms.
30 | Msg 207, Level 16, State 1, Line 1
31 | Invalid column name 'scores'.
32 | SQL Server parse and compile time:
33 | CPU time = 0 ms, elapsed time = 0 ms. 34 | 35 | SQL Server Execution Times:
36 | CPU time = 0 ms, elapsed time = 0 ms. 37 | 38 | ## Output Statement 39 | 40 | || CPU | Elapsed | 41 | |------------------------------------|--------------|--------------| 42 | | SQL Server parse and compile time: | 00:00:00.108 | 00:00:00.108 | 43 | 44 | **13,431,682 rows affected** 45 | 46 | | Row Num | Table | Scan Count | Logical Reads | Physical Reads | Read-Ahead Reads | LOB Logical Reads | LOB Physical Reads | LOB Read-Ahead Reads | % Logical Reads of Total Reads | 47 | |---------|-----------|-----------:|--------------:|---------------:|-----------------:|------------------:|-------------------:|----------------------|-------------------------------:| 48 | | | Total | 999,193 | 17,853,887 | 9,936 | 1,634,676 | 0 | 0 | 0 | | 49 | | | PostTypes | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.000 | 50 | | | Users | 5 | 42,015 | 1 | 41,306 | 0 | 0 | 0 | 0.235 | 51 | | | Comments | 5 | 1,089,402 | 248 | 1,108,174 | 0 | 0 | 0 | 6.102 | 52 | | | PostTags | 5 | 77,500 | 348 | 82,219 | 0 | 0 | 0 | 0.434 | 53 | | | Posts | 5 | 397,944 | 9,338 | 402,977 | 0 | 0 | 0 | 2.229 | 54 | | | Worktable | 999,172 | 16,247,024 | 0 | 0 | 0 | 0 | 0 | 91.000 | 55 | | | Worktable | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | 56 | 57 | || CPU | Elapsed | 58 | |-----------------------------|--------------|--------------| 59 | | SQL Server Execution Times: | 00:02:36.527 | 00:04:44.906 | 60 | 61 | || CPU | Elapsed | 62 | |------------------------------------|--------------|--------------| 63 | | SQL Server parse and compile time: | 00:00:00.016 | 00:00:00.019 | 64 | 65 | **233,033 rows affected** 66 | 67 | | Row Num | Table | Scan Count | Logical Reads | Physical Reads | Read-Ahead Reads | LOB Logical Reads | LOB Physical Reads | LOB Read-Ahead Reads | % Logical Reads of Total Reads | 68 | |---------|----------:|-----------:|--------------:|---------------:|-----------------:|------------------:|-------------------:|---------------------:|-------------------------------:| 69 | | | Total | 3 | 457,119 | 31 | 340,696 | 823,463 | 42,854 | 3,272 | | 70 | | | Worktable | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.000 | 71 | | | Votes | 1 | 250,128 | 10 | 250,104 | 0 | 0 | 0 | 54.718 | 72 | | | Posts | 1 | 165,586 | 18 | 49,191 | 823,463 | 42,854 | 3,272 | 36.224 | 73 | | | Users | 1 | 41,405 | 3 | 41,401 | 0 | 0 | 0 | 9.058 | 74 | 75 | || CPU | Elapsed | 76 | |-----------------------------|--------------|--------------| 77 | | SQL Server Execution Times: | 00:00:17.207 | 00:00:38.163 | 78 | 79 | **Msg 207, Level 16, State 1, Line 1
80 | Invalid column name 'scores'.** 81 | 82 | || CPU | Elapsed | 83 | |------------------------------------|--------------|--------------| 84 | | SQL Server parse and compile time: | 00:00:00.000 | 00:00:00.000 | 85 | 86 | || CPU | Elapsed | 87 | |-----------------------------|--------------|--------------| 88 | | SQL Server Execution Times: | 00:00:00.000 | 00:00:00.000 | 89 | 90 | #### Totals: 91 | 92 | | Table | Scan Count | Logical Reads | Physical Reads | Read-Ahead Reads | LOB Logical Reads | LOB Physical Reads | LOB Read-Ahead Reads | % Logical Reads of Total Reads | 93 | |-----------|-----------:|--------------:|---------------:|-----------------:|------------------:|-------------------:|---------------------:|-------------------------------:| 94 | | Total | 999,196 | 18,311,006 | 9,967 | 1,975,372 | 823,463 | 42,854 | 3,272 | | 95 | | Comments | 5 | 1,089,402 | 248 | 1,108,174 | 0 | 0 | 0 | 5.949 | 96 | | Posts | 6 | 563,530 | 9,356 | 452,168 | 823,463 | 42,854 | 3,272 | 3.078 | 97 | | PostTags | 5 | 77,500 | 348 | 82,219 | 0 | 0 | 0 | 0.423 | 98 | | PostTypes | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.000 | 99 | | Users | 6 | 83,420 | 4 | 82,707 | 0 | 0 | 0 | 0.456 | 100 | | Votes | 1 | 250,128 | 10 | 250,104 | 0 | 0 | 0 | 1.366 | 101 | | Worktable | 999,172 | 16,247,024 | 0 | 0 | 0 | 0 | 0 | 88.728 | 102 | 103 | || CPU | Elapsed | 104 | |------------------------------------|--------------|--------------| 105 | | SQL Server parse and compile time: | 00:00:00.124 | 00:00:00.127 | 106 | | SQL Server Execution Times: | 00:02:53.734 | 00:05:23.069 | 107 | | Total | 00:02:53.858 | 00:05:23.196 | 108 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Microsoft SQL Server Statistics IO and Time Parser 2 | Sometimes reading SQL Server output from Statistics IO and Statistics Time can be a total drag. This page will help with that. Just paste in the output of Statistics IO and/or Statistics Time and press Parse. Your output will be formatted and totaled. Enjoy. 3 | 4 | Useful links: 5 | - [SET STATISTICS IO (Transact-SQL)](https://msdn.microsoft.com/en-us/library/ms184361.aspx) 6 | - [SET STATISTICS TIME (Transact-SQL)](https://msdn.microsoft.com/en-us/library/ms190287.aspx) 7 | 8 | ## [Example](/Example.md) 9 | -------------------------------------------------------------------------------- /Sample Query StackOverflow.sql: -------------------------------------------------------------------------------- 1 | 2 | SELECT p.Id, 3 | p.AcceptedAnswerId, 4 | p.AnswerCount, 5 | p.ClosedDate, 6 | p.CommentCount, 7 | p.CommunityOwnedDate, 8 | p.CreationDate, 9 | p.FavoriteCount, 10 | p.LastActivityDate, 11 | p.LastEditDate, 12 | p.LastEditorDisplayName, 13 | p.LastEditorUserId, 14 | p.OwnerUserId, 15 | p.ParentId, 16 | p.PostTypeId, 17 | ptype.Type, 18 | p.Score, 19 | p.Tags, 20 | p.title, 21 | p.ViewCount, 22 | pt.Tag 23 | FROM Posts p 24 | JOIN PostTags pt ON pt.PostId = p.Id 25 | JOIN PostTypes ptype ON p.PostTypeId = ptype.Id 26 | JOIN Users u ON p.OwnerUserId = u.Id 27 | JOIN Comments c ON p.Id = c.PostId 28 | WHERE p.CreationDate > '2013-01-01' 29 | ; 30 | GO 31 | 32 | SELECT * 33 | FROM Posts p 34 | JOIN Users u on p.OwnerUserId = u.Id 35 | JOIN Votes v ON p.Id = v.PostId 36 | WHERE u.DisplayName = 'Jon Skeet' 37 | ; 38 | GO 39 | 40 | SELECT Id, scores 41 | FROM Posts 42 | ; 43 | GO 44 | -------------------------------------------------------------------------------- /src/Version.markdown: -------------------------------------------------------------------------------- 1 | # StatisticsIOParser Version History # 2 | 3 | ## Version 0.4.4 ## 4 | July 13, 2014 5 | 6 | - Added the ability for a Statistics IO output be passed through a URL parameter named data. 7 | 8 | ## Version 0.4.3 ## 9 | June 18, 2014 10 | 11 | - Fixed a bug that prevented the output table from being reset if there were more than one Statistics IO output. 12 | 13 | ## Version 0.4.2 ## 14 | May 26, 2014 15 | 16 | - Fixed a bug that prevented the a output table from being written. 17 | 18 | ## Version 0.4.1 ## 19 | April 29, 2014 20 | 21 | - Now parses SQL Server errors and displays them in red. 22 | 23 | ## Version 0.4.0 ## 24 | April 27, 2014 25 | 26 | - Rebranded site to StatisticsParser.com 27 | - Created a favion. 28 | 29 | ## Version 0.3.3 ## 30 | April 27, 2014 31 | 32 | - Added an option to make tables scrollable. 33 | - Upgraded project to Bootstrap 3 34 | 35 | ## Version 0.3.2 ## 36 | April 25, 2014 37 | 38 | - Fixed an error that bootstrap was throwing upon load. 39 | - Fixed an issue where site wouldn't parse in IE 8. 40 | - Moved language data into JSON files. 41 | - Applied formatting to Rows Affected text. 42 | - Created new sample query based on StackOverflow database. 43 | 44 | ## Version 0.3.1 ## 45 | April 14, 2014 46 | 47 | - Output from Statistics Time are now formatted in hh:mm:ss.000 format. 48 | - Version number now a js funciton. 49 | 50 | ## Version 0.3.0 ## 51 | April 9, 2014 52 | 53 | - Output from Statistics Time are now formatted and totaled. 54 | 55 | ## Version 0.2.4 ## 56 | March 7, 2014 57 | 58 | - Numbers in the table are now formatted. 59 | 60 | ## Version 0.2.3 ## 61 | February 11, 2014 62 | 63 | - Added a clear button. If there is a result displayed the clear button will clear the result. If there is no result displayed the clear button will clear the text area. 64 | - Changed the Parse button color to blue. Because blue. 65 | 66 | ## Version 0.2.2 ## 67 | January 28, 2014 68 | 69 | - Corrected the table headers for Spanish Statistics IO output. 70 | 71 | ## Version 0.2.1 ## 72 | January 27, 2014 73 | 74 | - Statistics IO output in Spanish will be parsed. 75 | 76 | ## Version 0.2.0 ## 77 | January 26, 2014 78 | 79 | - Information that isn't Statistics IO output will not be placed in a data table it will be written as text. 80 | - If more than one output from Statistics IO is intended to be parsed a table will be created for each output. 81 | 82 | ## Version 0.1.0 ## 83 | May 14, 2013 84 | 85 | - Initial version. 86 | - This version will take Statistics IO output from a SQL Server query and parse it. 87 | - All output will be put in the output table. -------------------------------------------------------------------------------- /src/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Statistics Parser 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 54 | 55 |
56 | 57 |

Statistics Parser

58 |
59 |

60 | This site allows you to take the output of SQL Server STATISTICS IO then transforms and totals it into a more useful format. If you're looking to save the results of STATISTICS IO you may want to look at Vicky Harp's excellent Excel based STATISTICS IO parser. Excel is awesome. Excel is my boy. But sometimes I don't want to open up a sixth instance of Excel. That's where this site comes in. If you need to figure out what the heck STATISTICS IO or STATISTICS TIME is telling you quickly this site is here to help! 61 |

62 |

63 | This site is entirely written in JavaScript and HTML. So your data stays where it should...in your browser. Your data is never sent to a server. The site also uses the awesome Bootstrap CSS framework so a regular SQL hack like myself can create great looking sites. JQuery and the DataTables plug-in are also used to format the STATISTICS IO results. The source for this site is located on GitHub if you're so inclined to take a peek at it (view source is also an option...I'm just sayin'). 64 |

65 |

66 | I hope you find this site useful. If you have any questions or comments feel free to hit me up over on my blog or twitter. Enjoy. 67 |

68 |

Richie

69 | 70 |

 

71 |

Special Thanks

72 | 80 |
81 | 82 |
83 | 84 | 85 | 91 | 92 | 93 | 94 | 97 | 98 | 100 | 101 | 114 | 115 | 116 | 117 | 118 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /src/assets/css/DT_bootstrap.css: -------------------------------------------------------------------------------- 1 | 2 | div.dataTables_length label { 3 | float: left; 4 | text-align: left; 5 | } 6 | 7 | div.dataTables_length select { 8 | width: 75px; 9 | } 10 | 11 | div.dataTables_filter label { 12 | float: right; 13 | } 14 | 15 | div.dataTables_info { 16 | padding-top: 8px; 17 | } 18 | 19 | div.dataTables_paginate { 20 | float: right; 21 | margin: 0; 22 | } 23 | 24 | table.table { 25 | clear: both; 26 | margin-bottom: 6px !important; 27 | max-width: none !important; 28 | } 29 | 30 | table.table thead .sorting, 31 | table.table thead .sorting_asc, 32 | table.table thead .sorting_desc, 33 | table.table thead .sorting_asc_disabled, 34 | table.table thead .sorting_desc_disabled { 35 | cursor: pointer; 36 | *cursor: hand; 37 | } 38 | 39 | table.table thead .sorting { background: url("../img/sort_both.png") no-repeat center right; } 40 | table.table thead .sorting_asc { background: url('../img/sort_asc.png') no-repeat center right; } 41 | table.table thead .sorting_desc { background: url('../img/sort_desc.png') no-repeat center right; } 42 | 43 | table.table thead .sorting_asc_disabled { background: url('../img/sort_asc_disabled.png') no-repeat center right; } 44 | table.table thead .sorting_desc_disabled { background: url('../img/sort_desc_disabled.png') no-repeat center right; } 45 | 46 | table.dataTable th:active { 47 | outline: none; 48 | } 49 | 50 | /* Scrolling */ 51 | div.dataTables_scrollHead table { 52 | margin-bottom: 0 !important; 53 | border-bottom-left-radius: 0; 54 | border-bottom-right-radius: 0; 55 | } 56 | 57 | div.dataTables_scrollHead table thead tr:last-child th:first-child, 58 | div.dataTables_scrollHead table thead tr:last-child td:first-child { 59 | border-bottom-left-radius: 0 !important; 60 | border-bottom-right-radius: 0 !important; 61 | } 62 | 63 | div.dataTables_scrollBody table { 64 | border-top: none; 65 | margin-bottom: 0 !important; 66 | } 67 | 68 | div.dataTables_scrollBody tbody tr:first-child th, 69 | div.dataTables_scrollBody tbody tr:first-child td { 70 | border-top: none; 71 | } 72 | 73 | div.dataTables_scrollFoot table { 74 | border-top: none; 75 | } 76 | 77 | 78 | 79 | 80 | /* 81 | * TableTools styles 82 | */ 83 | .table tbody tr.active td, 84 | .table tbody tr.active th { 85 | background-color: #08C; 86 | color: white; 87 | } 88 | 89 | .table tbody tr.active:hover td, 90 | .table tbody tr.active:hover th { 91 | background-color: #0075b0 !important; 92 | } 93 | 94 | .table-striped tbody tr.active:nth-child(odd) td, 95 | .table-striped tbody tr.active:nth-child(odd) th { 96 | background-color: #017ebc; 97 | } 98 | 99 | table.DTTT_selectable tbody tr { 100 | cursor: pointer; 101 | *cursor: hand; 102 | } 103 | 104 | div.DTTT .btn { 105 | color: #333 !important; 106 | font-size: 12px; 107 | } 108 | 109 | div.DTTT .btn:hover { 110 | text-decoration: none !important; 111 | } 112 | 113 | 114 | ul.DTTT_dropdown.dropdown-menu a { 115 | color: #333 !important; /* needed only when demo_page.css is included */ 116 | } 117 | 118 | ul.DTTT_dropdown.dropdown-menu li:hover a { 119 | background-color: #0088cc; 120 | color: white !important; 121 | } 122 | 123 | /* TableTools information display */ 124 | div.DTTT_print_info.modal { 125 | height: 150px; 126 | margin-top: -75px; 127 | text-align: center; 128 | } 129 | 130 | div.DTTT_print_info h6 { 131 | font-weight: normal; 132 | font-size: 28px; 133 | line-height: 28px; 134 | margin: 1em; 135 | } 136 | 137 | div.DTTT_print_info p { 138 | font-size: 14px; 139 | line-height: 20px; 140 | } 141 | 142 | 143 | 144 | /* 145 | * FixedColumns styles 146 | */ 147 | div.DTFC_LeftHeadWrapper table, 148 | div.DTFC_LeftFootWrapper table, 149 | table.DTFC_Cloned tr.even { 150 | background-color: white; 151 | } 152 | 153 | div.DTFC_LeftHeadWrapper table { 154 | margin-bottom: 0 !important; 155 | border-top-right-radius: 0 !important; 156 | border-bottom-left-radius: 0 !important; 157 | border-bottom-right-radius: 0 !important; 158 | } 159 | 160 | div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, 161 | div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { 162 | border-bottom-left-radius: 0 !important; 163 | border-bottom-right-radius: 0 !important; 164 | } 165 | 166 | div.DTFC_LeftBodyWrapper table { 167 | border-top: none; 168 | margin-bottom: 0 !important; 169 | } 170 | 171 | div.DTFC_LeftBodyWrapper tbody tr:first-child th, 172 | div.DTFC_LeftBodyWrapper tbody tr:first-child td { 173 | border-top: none; 174 | } 175 | 176 | div.DTFC_LeftFootWrapper table { 177 | border-top: none; 178 | } 179 | 180 | -------------------------------------------------------------------------------- /src/assets/css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .btn-default, 8 | .btn-primary, 9 | .btn-success, 10 | .btn-info, 11 | .btn-warning, 12 | .btn-danger { 13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); 14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 16 | } 17 | .btn-default:active, 18 | .btn-primary:active, 19 | .btn-success:active, 20 | .btn-info:active, 21 | .btn-warning:active, 22 | .btn-danger:active, 23 | .btn-default.active, 24 | .btn-primary.active, 25 | .btn-success.active, 26 | .btn-info.active, 27 | .btn-warning.active, 28 | .btn-danger.active { 29 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 30 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 31 | } 32 | .btn:active, 33 | .btn.active { 34 | background-image: none; 35 | } 36 | .btn-default { 37 | text-shadow: 0 1px 0 #fff; 38 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); 39 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); 40 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 41 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 42 | background-repeat: repeat-x; 43 | border-color: #dbdbdb; 44 | border-color: #ccc; 45 | } 46 | .btn-default:hover, 47 | .btn-default:focus { 48 | background-color: #e0e0e0; 49 | background-position: 0 -15px; 50 | } 51 | .btn-default:active, 52 | .btn-default.active { 53 | background-color: #e0e0e0; 54 | border-color: #dbdbdb; 55 | } 56 | .btn-primary { 57 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 58 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); 59 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); 60 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 61 | background-repeat: repeat-x; 62 | border-color: #2b669a; 63 | } 64 | .btn-primary:hover, 65 | .btn-primary:focus { 66 | background-color: #2d6ca2; 67 | background-position: 0 -15px; 68 | } 69 | .btn-primary:active, 70 | .btn-primary.active { 71 | background-color: #2d6ca2; 72 | border-color: #2b669a; 73 | } 74 | .btn-success { 75 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 76 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 77 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 78 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 79 | background-repeat: repeat-x; 80 | border-color: #3e8f3e; 81 | } 82 | .btn-success:hover, 83 | .btn-success:focus { 84 | background-color: #419641; 85 | background-position: 0 -15px; 86 | } 87 | .btn-success:active, 88 | .btn-success.active { 89 | background-color: #419641; 90 | border-color: #3e8f3e; 91 | } 92 | .btn-info { 93 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 94 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 95 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 96 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 97 | background-repeat: repeat-x; 98 | border-color: #28a4c9; 99 | } 100 | .btn-info:hover, 101 | .btn-info:focus { 102 | background-color: #2aabd2; 103 | background-position: 0 -15px; 104 | } 105 | .btn-info:active, 106 | .btn-info.active { 107 | background-color: #2aabd2; 108 | border-color: #28a4c9; 109 | } 110 | .btn-warning { 111 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 112 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 113 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 114 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 115 | background-repeat: repeat-x; 116 | border-color: #e38d13; 117 | } 118 | .btn-warning:hover, 119 | .btn-warning:focus { 120 | background-color: #eb9316; 121 | background-position: 0 -15px; 122 | } 123 | .btn-warning:active, 124 | .btn-warning.active { 125 | background-color: #eb9316; 126 | border-color: #e38d13; 127 | } 128 | .btn-danger { 129 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 130 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 131 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 132 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 133 | background-repeat: repeat-x; 134 | border-color: #b92c28; 135 | } 136 | .btn-danger:hover, 137 | .btn-danger:focus { 138 | background-color: #c12e2a; 139 | background-position: 0 -15px; 140 | } 141 | .btn-danger:active, 142 | .btn-danger.active { 143 | background-color: #c12e2a; 144 | border-color: #b92c28; 145 | } 146 | .thumbnail, 147 | .img-thumbnail { 148 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 149 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 150 | } 151 | .dropdown-menu > li > a:hover, 152 | .dropdown-menu > li > a:focus { 153 | background-color: #e8e8e8; 154 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 155 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 156 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 157 | background-repeat: repeat-x; 158 | } 159 | .dropdown-menu > .active > a, 160 | .dropdown-menu > .active > a:hover, 161 | .dropdown-menu > .active > a:focus { 162 | background-color: #357ebd; 163 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 164 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 165 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 166 | background-repeat: repeat-x; 167 | } 168 | .navbar-default { 169 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); 170 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); 171 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 172 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 173 | background-repeat: repeat-x; 174 | border-radius: 4px; 175 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 176 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 177 | } 178 | .navbar-default .navbar-nav > .active > a { 179 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 180 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); 181 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); 182 | background-repeat: repeat-x; 183 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 184 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 185 | } 186 | .navbar-brand, 187 | .navbar-nav > li > a { 188 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25); 189 | } 190 | .navbar-inverse { 191 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); 192 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); 193 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 194 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 195 | background-repeat: repeat-x; 196 | } 197 | .navbar-inverse .navbar-nav > .active > a { 198 | background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%); 199 | background-image: linear-gradient(to bottom, #222 0%, #282828 100%); 200 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); 201 | background-repeat: repeat-x; 202 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 203 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 204 | } 205 | .navbar-inverse .navbar-brand, 206 | .navbar-inverse .navbar-nav > li > a { 207 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); 208 | } 209 | .navbar-static-top, 210 | .navbar-fixed-top, 211 | .navbar-fixed-bottom { 212 | border-radius: 0; 213 | } 214 | .alert { 215 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2); 216 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 217 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 218 | } 219 | .alert-success { 220 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 221 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 222 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 223 | background-repeat: repeat-x; 224 | border-color: #b2dba1; 225 | } 226 | .alert-info { 227 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 228 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 229 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 230 | background-repeat: repeat-x; 231 | border-color: #9acfea; 232 | } 233 | .alert-warning { 234 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 235 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 236 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 237 | background-repeat: repeat-x; 238 | border-color: #f5e79e; 239 | } 240 | .alert-danger { 241 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 242 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 243 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 244 | background-repeat: repeat-x; 245 | border-color: #dca7a7; 246 | } 247 | .progress { 248 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 249 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 250 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 251 | background-repeat: repeat-x; 252 | } 253 | .progress-bar { 254 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); 255 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); 256 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); 257 | background-repeat: repeat-x; 258 | } 259 | .progress-bar-success { 260 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 261 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 262 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 263 | background-repeat: repeat-x; 264 | } 265 | .progress-bar-info { 266 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 267 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 268 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 269 | background-repeat: repeat-x; 270 | } 271 | .progress-bar-warning { 272 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 273 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 274 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 275 | background-repeat: repeat-x; 276 | } 277 | .progress-bar-danger { 278 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 279 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 280 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 281 | background-repeat: repeat-x; 282 | } 283 | .list-group { 284 | border-radius: 4px; 285 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 286 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 287 | } 288 | .list-group-item.active, 289 | .list-group-item.active:hover, 290 | .list-group-item.active:focus { 291 | text-shadow: 0 -1px 0 #3071a9; 292 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); 293 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); 294 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); 295 | background-repeat: repeat-x; 296 | border-color: #3278b3; 297 | } 298 | .panel { 299 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 300 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 301 | } 302 | .panel-default > .panel-heading { 303 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 304 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 305 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 306 | background-repeat: repeat-x; 307 | } 308 | .panel-primary > .panel-heading { 309 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 310 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 311 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 312 | background-repeat: repeat-x; 313 | } 314 | .panel-success > .panel-heading { 315 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 316 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 317 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 318 | background-repeat: repeat-x; 319 | } 320 | .panel-info > .panel-heading { 321 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 322 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 323 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 324 | background-repeat: repeat-x; 325 | } 326 | .panel-warning > .panel-heading { 327 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 328 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 329 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 330 | background-repeat: repeat-x; 331 | } 332 | .panel-danger > .panel-heading { 333 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 334 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 335 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 336 | background-repeat: repeat-x; 337 | } 338 | .well { 339 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 340 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 341 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 342 | background-repeat: repeat-x; 343 | border-color: #dcdcdc; 344 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 345 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 346 | } 347 | /*# sourceMappingURL=bootstrap-theme.css.map */ 348 | -------------------------------------------------------------------------------- /src/assets/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -------------------------------------------------------------------------------- /src/assets/css/jquery.dataTables.css: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Table 4 | */ 5 | table.dataTable { 6 | margin: 0 auto; 7 | clear: both; 8 | width: 100%; 9 | } 10 | 11 | table.dataTable thead th { 12 | padding: 3px 18px 3px 10px; 13 | border-bottom: 1px solid black; 14 | font-weight: bold; 15 | cursor: pointer; 16 | *cursor: hand; 17 | } 18 | 19 | table.dataTable tfoot th { 20 | padding: 3px 18px 3px 10px; 21 | border-top: 1px solid black; 22 | font-weight: bold; 23 | } 24 | 25 | table.dataTable td { 26 | padding: 3px 10px; 27 | } 28 | 29 | table.dataTable td.center, 30 | table.dataTable td.dataTables_empty { 31 | text-align: center; 32 | } 33 | 34 | table.dataTable tr.odd { background-color: #E2E4FF; } 35 | table.dataTable tr.even { background-color: white; } 36 | 37 | table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; } 38 | table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; } 39 | table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; } 40 | table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; } 41 | table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; } 42 | table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; } 43 | 44 | 45 | /* 46 | * Table wrapper 47 | */ 48 | .dataTables_wrapper { 49 | position: relative; 50 | clear: both; 51 | *zoom: 1; 52 | } 53 | 54 | 55 | /* 56 | * Page length menu 57 | */ 58 | .dataTables_length { 59 | float: left; 60 | } 61 | 62 | 63 | /* 64 | * Filter 65 | */ 66 | .dataTables_filter { 67 | float: right; 68 | text-align: right; 69 | } 70 | 71 | 72 | /* 73 | * Table information 74 | */ 75 | .dataTables_info { 76 | clear: both; 77 | float: left; 78 | } 79 | 80 | 81 | /* 82 | * Pagination 83 | */ 84 | .dataTables_paginate { 85 | float: right; 86 | text-align: right; 87 | } 88 | 89 | /* Two button pagination - previous / next */ 90 | .paginate_disabled_previous, 91 | .paginate_enabled_previous, 92 | .paginate_disabled_next, 93 | .paginate_enabled_next { 94 | height: 19px; 95 | float: left; 96 | cursor: pointer; 97 | *cursor: hand; 98 | color: #111 !important; 99 | } 100 | .paginate_disabled_previous:hover, 101 | .paginate_enabled_previous:hover, 102 | .paginate_disabled_next:hover, 103 | .paginate_enabled_next:hover { 104 | text-decoration: none !important; 105 | } 106 | .paginate_disabled_previous:active, 107 | .paginate_enabled_previous:active, 108 | .paginate_disabled_next:active, 109 | .paginate_enabled_next:active { 110 | outline: none; 111 | } 112 | 113 | .paginate_disabled_previous, 114 | .paginate_disabled_next { 115 | color: #666 !important; 116 | } 117 | .paginate_disabled_previous, 118 | .paginate_enabled_previous { 119 | padding-left: 23px; 120 | } 121 | .paginate_disabled_next, 122 | .paginate_enabled_next { 123 | padding-right: 23px; 124 | margin-left: 10px; 125 | } 126 | 127 | .paginate_enabled_previous { background: url('assets/img/back_enabled.png') no-repeat top left; } 128 | .paginate_enabled_previous:hover { background: url('img/back_enabled_hover.png') no-repeat top left; } 129 | .paginate_disabled_previous { background: url('assets/img/back_disabled.png') no-repeat top left; } 130 | 131 | .paginate_enabled_next { background: url('assets/img/forward_enabled.png') no-repeat top right; } 132 | .paginate_enabled_next:hover { background: url('assets/img/forward_enabled_hover.png') no-repeat top right; } 133 | .paginate_disabled_next { background: url('assets/img/forward_disabled.png') no-repeat top right; } 134 | 135 | /* Full number pagination */ 136 | .paging_full_numbers { 137 | height: 22px; 138 | line-height: 22px; 139 | } 140 | .paging_full_numbers a:active { 141 | outline: none 142 | } 143 | .paging_full_numbers a:hover { 144 | text-decoration: none; 145 | } 146 | 147 | .paging_full_numbers a.paginate_button, 148 | .paging_full_numbers a.paginate_active { 149 | border: 1px solid #aaa; 150 | -webkit-border-radius: 5px; 151 | -moz-border-radius: 5px; 152 | border-radius: 5px; 153 | padding: 2px 5px; 154 | margin: 0 3px; 155 | cursor: pointer; 156 | *cursor: hand; 157 | color: #333 !important; 158 | } 159 | 160 | .paging_full_numbers a.paginate_button { 161 | background-color: #ddd; 162 | } 163 | 164 | .paging_full_numbers a.paginate_button:hover { 165 | background-color: #ccc; 166 | text-decoration: none !important; 167 | } 168 | 169 | .paging_full_numbers a.paginate_active { 170 | background-color: #99B3FF; 171 | } 172 | 173 | 174 | /* 175 | * Processing indicator 176 | */ 177 | .dataTables_processing { 178 | position: absolute; 179 | top: 50%; 180 | left: 50%; 181 | width: 250px; 182 | height: 30px; 183 | margin-left: -125px; 184 | margin-top: -15px; 185 | padding: 14px 0 2px 0; 186 | border: 1px solid #ddd; 187 | text-align: center; 188 | color: #999; 189 | font-size: 14px; 190 | background-color: white; 191 | } 192 | 193 | 194 | /* 195 | * Sorting 196 | */ 197 | .sorting { background: url('assets/img/sort_both.png') no-repeat center right; } 198 | .sorting_asc { background: url('assets/img/sort_asc.png') no-repeat center right; } 199 | .sorting_desc { background: url('assets/img/sort_desc.png') no-repeat center right; } 200 | 201 | .sorting_asc_disabled { background: url('assets/img/sort_asc_disabled.png') no-repeat center right; } 202 | .sorting_desc_disabled { background: url('assets/img/sort_desc_disabled.png') no-repeat center right; } 203 | 204 | table.dataTable thead th:active, 205 | table.dataTable thead td:active { 206 | outline: none; 207 | } 208 | 209 | 210 | /* 211 | * Scrolling 212 | */ 213 | .dataTables_scroll { 214 | clear: both; 215 | } 216 | 217 | .dataTables_scrollBody { 218 | *margin-top: -1px; 219 | -webkit-overflow-scrolling: touch; 220 | } 221 | 222 | -------------------------------------------------------------------------------- /src/assets/css/jquery.dataTables_themeroller.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | * Table 5 | */ 6 | table.dataTable { 7 | margin: 0 auto; 8 | clear: both; 9 | width: 100%; 10 | border-collapse: collapse; 11 | } 12 | 13 | table.dataTable thead th { 14 | padding: 3px 0px 3px 10px; 15 | cursor: pointer; 16 | *cursor: hand; 17 | } 18 | 19 | table.dataTable tfoot th { 20 | padding: 3px 10px; 21 | } 22 | 23 | table.dataTable td { 24 | padding: 3px 10px; 25 | } 26 | 27 | table.dataTable td.center, 28 | table.dataTable td.dataTables_empty { 29 | text-align: center; 30 | } 31 | 32 | table.dataTable tr.odd { background-color: #E2E4FF; } 33 | table.dataTable tr.even { background-color: white; } 34 | 35 | table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; } 36 | table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; } 37 | table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; } 38 | table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; } 39 | table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; } 40 | table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; } 41 | 42 | 43 | /* 44 | * Table wrapper 45 | */ 46 | .dataTables_wrapper { 47 | position: relative; 48 | clear: both; 49 | *zoom: 1; 50 | } 51 | .dataTables_wrapper .ui-widget-header { 52 | font-weight: normal; 53 | } 54 | .dataTables_wrapper .ui-toolbar { 55 | padding: 5px; 56 | } 57 | 58 | 59 | /* 60 | * Page length menu 61 | */ 62 | .dataTables_length { 63 | float: left; 64 | } 65 | 66 | 67 | /* 68 | * Filter 69 | */ 70 | .dataTables_filter { 71 | float: right; 72 | text-align: right; 73 | } 74 | 75 | 76 | /* 77 | * Table information 78 | */ 79 | .dataTables_info { 80 | padding-top: 3px; 81 | clear: both; 82 | float: left; 83 | } 84 | 85 | 86 | /* 87 | * Pagination 88 | */ 89 | .dataTables_paginate { 90 | float: right; 91 | text-align: right; 92 | } 93 | 94 | .dataTables_paginate .ui-button { 95 | margin-right: -0.1em !important; 96 | } 97 | 98 | .paging_two_button .ui-button { 99 | float: left; 100 | cursor: pointer; 101 | * cursor: hand; 102 | } 103 | 104 | .paging_full_numbers .ui-button { 105 | padding: 2px 6px; 106 | margin: 0; 107 | cursor: pointer; 108 | * cursor: hand; 109 | color: #333 !important; 110 | } 111 | 112 | /* Two button pagination - previous / next */ 113 | .paginate_disabled_previous, 114 | .paginate_enabled_previous, 115 | .paginate_disabled_next, 116 | .paginate_enabled_next { 117 | height: 19px; 118 | float: left; 119 | cursor: pointer; 120 | *cursor: hand; 121 | color: #111 !important; 122 | } 123 | .paginate_disabled_previous:hover, 124 | .paginate_enabled_previous:hover, 125 | .paginate_disabled_next:hover, 126 | .paginate_enabled_next:hover { 127 | text-decoration: none !important; 128 | } 129 | .paginate_disabled_previous:active, 130 | .paginate_enabled_previous:active, 131 | .paginate_disabled_next:active, 132 | .paginate_enabled_next:active { 133 | outline: none; 134 | } 135 | 136 | .paginate_disabled_previous, 137 | .paginate_disabled_next { 138 | color: #666 !important; 139 | } 140 | .paginate_disabled_previous, 141 | .paginate_enabled_previous { 142 | padding-left: 23px; 143 | } 144 | .paginate_disabled_next, 145 | .paginate_enabled_next { 146 | padding-right: 23px; 147 | margin-left: 10px; 148 | } 149 | 150 | .paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; } 151 | .paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; } 152 | .paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; } 153 | 154 | .paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; } 155 | .paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; } 156 | .paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; } 157 | 158 | /* Full number pagination */ 159 | .paging_full_numbers a:active { 160 | outline: none 161 | } 162 | .paging_full_numbers a:hover { 163 | text-decoration: none; 164 | } 165 | 166 | .paging_full_numbers a.paginate_button, 167 | .paging_full_numbers a.paginate_active { 168 | border: 1px solid #aaa; 169 | -webkit-border-radius: 5px; 170 | -moz-border-radius: 5px; 171 | border-radius: 5px; 172 | padding: 2px 5px; 173 | margin: 0 3px; 174 | cursor: pointer; 175 | *cursor: hand; 176 | color: #333 !important; 177 | } 178 | 179 | .paging_full_numbers a.paginate_button { 180 | background-color: #ddd; 181 | } 182 | 183 | .paging_full_numbers a.paginate_button:hover { 184 | background-color: #ccc; 185 | text-decoration: none !important; 186 | } 187 | 188 | .paging_full_numbers a.paginate_active { 189 | background-color: #99B3FF; 190 | } 191 | 192 | 193 | /* 194 | * Processing indicator 195 | */ 196 | .dataTables_processing { 197 | position: absolute; 198 | top: 50%; 199 | left: 50%; 200 | width: 250px; 201 | height: 30px; 202 | margin-left: -125px; 203 | margin-top: -15px; 204 | padding: 14px 0 2px 0; 205 | border: 1px solid #ddd; 206 | text-align: center; 207 | color: #999; 208 | font-size: 14px; 209 | background-color: white; 210 | } 211 | 212 | 213 | /* 214 | * Sorting 215 | */ 216 | table.dataTable thead th div.DataTables_sort_wrapper { 217 | position: relative; 218 | padding-right: 20px; 219 | } 220 | 221 | table.dataTable thead th div.DataTables_sort_wrapper span { 222 | position: absolute; 223 | top: 50%; 224 | margin-top: -8px; 225 | right: 0; 226 | } 227 | 228 | table.dataTable th:active { 229 | outline: none; 230 | } 231 | 232 | 233 | /* 234 | * Scrolling 235 | */ 236 | .dataTables_scroll { 237 | clear: both; 238 | } 239 | 240 | .dataTables_scrollBody { 241 | *margin-top: -1px; 242 | -webkit-overflow-scrolling: touch; 243 | } 244 | 245 | -------------------------------------------------------------------------------- /src/assets/css/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | } 3 | 4 | textarea { 5 | border: 1px solid #999999; 6 | width: 100%; 7 | padding: 7px 0 7px 7px; 8 | position: relative; 9 | } 10 | 11 | label { 12 | font-weight: normal; 13 | } 14 | 15 | table { 16 | font-size: 12px; 17 | } 18 | 19 | h1 { 20 | font-weight: bold; 21 | } 22 | 23 | td { 24 | white-space: pre; /* CSS 2.0 */ 25 | white-space: pre-wrap; /* CSS 2.1 */ 26 | white-space: pre-line; /* CSS 3.0 */ 27 | white-space: -pre-wrap; /* Opera 4-6 */ 28 | white-space: -o-pre-wrap; /* Opera 7 */ 29 | white-space: -moz-pre-wrap; /* Mozilla */ 30 | white-space: -hp-pre-wrap; /* HP Printers */ 31 | word-wrap: break-word; /* IE 5+ */ 32 | } 33 | 34 | .container { 35 | width: 940px; 36 | } 37 | 38 | .button-padding { 39 | padding: 0px 7px 0px 7px; 40 | } 41 | 42 | .button-inner-margin { 43 | margin-left: 10px; 44 | } 45 | 46 | .remove-margin { 47 | padding: 0 !important; 48 | margin: 0 !important; 49 | } 50 | 51 | .navbar-brand { 52 | font-size: 20px; 53 | } 54 | .error-text { 55 | color: red; 56 | font-weight: bold; 57 | } 58 | 59 | .strong-text { 60 | font-weight: bold; 61 | } 62 | .table-nonfluid { 63 | width: 550px; 64 | } 65 | 66 | .td-column-timetype { 67 | width: 300px; 68 | } 69 | 70 | .td-total { 71 | font-weight:bold; 72 | } 73 | 74 | .th-column { 75 | padding: 4px 20px 4px 5px !important; 76 | } 77 | 78 | .column-small { 79 | width: 40px !important; 80 | } 81 | 82 | .column-medium { 83 | width: 70px !important; 84 | } 85 | 86 | .column-large { 87 | width: 85px !important; 88 | } 89 | 90 | .column-xlarge { 91 | width: 100px !important; 92 | } 93 | 94 | .td-column-right { 95 | text-align: right !important; 96 | padding-right: 20px !important; 97 | } 98 | 99 | .footer-column { 100 | font-weight: bold; 101 | padding: 4px 20px 4px 5px !important; 102 | } 103 | 104 | .footer { 105 | text-align: center; 106 | padding: 30px 0; 107 | margin-top: 70px; 108 | border-top: 1px solid #e5e5e5; 109 | background-color: #f5f5f5; 110 | } 111 | -------------------------------------------------------------------------------- /src/assets/data/languagetext-en.json: -------------------------------------------------------------------------------- 1 | { 2 | "langvalue" : "en", 3 | "langname" : "English" , 4 | "table" : "Table '", 5 | "scan" : "Scan count ", 6 | "logical" : "logical reads ", 7 | "physical" : "physical reads ", 8 | "readahead" : "read-ahead reads ", 9 | "loblogical" : "lob logical reads ", 10 | "lobphysical" : "lob physical reads ", 11 | "lobreadahead" : "lob read-ahead reads ", 12 | "headerrownum" : "Row Num", 13 | "headertable" : "Table", 14 | "headerscan" : "Scan Count", 15 | "headerlogical" : "Logical Reads", 16 | "headerphysical" : "Physical Reads", 17 | "headerreadahead" : "Read-Ahead Reads", 18 | "headerloblogical" : "LOB Logical Reads", 19 | "headerlobphysical" : "LOB Physical Reads", 20 | "headerlobreadahead" : "LOB Read-Ahead Reads", 21 | "headerperlogicalread" : "% Logical Reads of Total Reads", 22 | "executiontime" : "SQL Server Execution Times:", 23 | "compiletime" : "SQL Server parse and compile time:", 24 | "cputime" : "CPU time = ", 25 | "elapsedtime" : "elapsed time = ", 26 | "elapsedlabel" : "Elapsed", 27 | "cpulabel" : "CPU", 28 | "milliseconds" : "ms", 29 | "rowsaffected" : "row(s) affected", 30 | "headerrowsaffected" : " rows affected", 31 | "headerrowaffected" : " row affected", 32 | "errormsg" : "Msg", 33 | "sampleoutput" : "SQL Server parse and compile time: \r\n CPU time = 108 ms, elapsed time = 108 ms.\r\n\r\n(13431682 row(s) affected)\r\nTable \u0027PostTypes\u0027. Scan count 1, logical reads 2, physical reads 1, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Users\u0027. Scan count 5, logical reads 42015, physical reads 1, read-ahead reads 41306, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Comments\u0027. Scan count 5, logical reads 1089402, physical reads 248, read-ahead reads 1108174, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027PostTags\u0027. Scan count 5, logical reads 77500, physical reads 348, read-ahead reads 82219, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Posts\u0027. Scan count 5, logical reads 397944, physical reads 9338, read-ahead reads 402977, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Worktable\u0027. Scan count 999172, logical reads 16247024, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Worktable\u0027. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\n\r\n SQL Server Execution Times:\r\n CPU time = 156527 ms, elapsed time = 284906 ms.\r\nSQL Server parse and compile time: \r\n CPU time = 16 ms, elapsed time = 19 ms.\r\n\r\n(233033 row(s) affected)\r\nTable \u0027Worktable\u0027. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Votes\u0027. Scan count 1, logical reads 250128, physical reads 10, read-ahead reads 250104, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\nTable \u0027Posts\u0027. Scan count 1, logical reads 165586, physical reads 18, read-ahead reads 49191, lob logical reads 823463, lob physical reads 42854, lob read-ahead reads 3272.\r\nTable \u0027Users\u0027. Scan count 1, logical reads 41405, physical reads 3, read-ahead reads 41401, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.\r\n\r\n SQL Server Execution Times:\r\n CPU time = 17207 ms, elapsed time = 38163 ms.\r\nMsg 207, Level 16, State 1, Line 1\r\nInvalid column name \u0027scores\u0027.\r\nSQL Server parse and compile time: \r\n CPU time = 0 ms, elapsed time = 0 ms.\r\n\r\n SQL Server Execution Times:\r\n CPU time = 0 ms, elapsed time = 0 ms.\r\n" 34 | } -------------------------------------------------------------------------------- /src/assets/data/languagetext-es.json: -------------------------------------------------------------------------------- 1 | { 2 | "langvalue" : "es", 3 | "langname" : "Español" , 4 | "table" : "Tabla '", 5 | "scan" : "Recuento de exámenes ", 6 | "logical" : "lecturas lógicas ", 7 | "physical" : "lecturas físicas ", 8 | "readahead" : "lecturas anticipadas ", 9 | "loblogical" : "lecturas lógicas de LOB '", 10 | "lobphysical" : "lecturas físicas de LOB ", 11 | "lobreadahead" : "lecturas anticipadas de LOB", 12 | "headerrownum" : "Fila Número", 13 | "headertable" : "Tabla", 14 | "headerscan" : "Recuento de exámenes", 15 | "headerlogical" : "Lecturas lógicas", 16 | "headerphysical" : "Lecturas físicas", 17 | "headerreadahead" : "Lecturas anticipadas", 18 | "headerloblogical" : "Lecturas lógicas de LOB", 19 | "headerlobphysical" : "Lecturas físicas de LOB", 20 | "headerlobreadahead" : "Lecturas anticipadas de LOB", 21 | "headerperlogicalread" : "% Lecturas lógicas del Total de Lecturas", 22 | "executiontime" : "Tiempos de ejecución de SQL Server:", 23 | "compiletime" : "Tiempo de análisis y compilación de SQL Server:", 24 | "cputime" : "Tiempo de CPU = ", 25 | "elapsedtime" : "tiempo transcurrido = ", 26 | "elapsedlabel" : "Transcurrido", 27 | "cpulabel" : "CPU", 28 | "milliseconds" : "ms", 29 | "rowsaffected" : "filas afectadas" , 30 | "headerrowsaffected" : " filas afectadas", 31 | "headerrowaffected" : " filas afectadas", 32 | "errormsg" : "Msg", 33 | "sampleoutput" : "Tiempo de análisis y compilación de SQL Server: \r\n Tiempo de CPU = 135 ms, tiempo transcurrido = 135 ms.\r\n\r\n(13431682 filas afectadas)\r\nTabla \u0027PostTypes\u0027. Recuento de exámenes 1, lecturas lógicas 2, lecturas físicas 1, lecturas anticipadas 0, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Users\u0027. Recuento de exámenes 5, lecturas lógicas 42015, lecturas físicas 1, lecturas anticipadas 41305, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Comments\u0027. Recuento de exámenes 5, lecturas lógicas 1089147, lecturas físicas 19, lecturas anticipadas 1088411, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027PostTags\u0027. Recuento de exámenes 5, lecturas lógicas 77870, lecturas físicas 3, lecturas anticipadas 76763, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Posts\u0027. Recuento de exámenes 5, lecturas lógicas 396629, lecturas físicas 26, lecturas anticipadas 394952, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Worktable\u0027. Recuento de exámenes 999172, lecturas lógicas 16247024, lecturas físicas 0, lecturas anticipadas 0, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Worktable\u0027. Recuento de exámenes 0, lecturas lógicas 0, lecturas físicas 0, lecturas anticipadas 0, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\n\r\n Tiempos de ejecución de SQL Server:\r\n Tiempo de CPU = 164456 ms, tiempo transcurrido = 293219 ms.\r\nTiempo de análisis y compilación de SQL Server: \r\n Tiempo de CPU = 24 ms, tiempo transcurrido = 24 ms.\r\n\r\n(233033 filas afectadas)\r\nTabla \u0027Worktable\u0027. Recuento de exámenes 0, lecturas lógicas 0, lecturas físicas 0, lecturas anticipadas 0, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Votes\u0027. Recuento de exámenes 1, lecturas lógicas 250128, lecturas físicas 4, lecturas anticipadas 250123, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\nTabla \u0027Posts\u0027. Recuento de exámenes 1, lecturas lógicas 161111, lecturas físicas 22, lecturas anticipadas 53658, lecturas lógicas de LOB 823412, lecturas físicas de LOB 42463, lecturas anticipadas de LOB 3272.\r\nTabla \u0027Users\u0027. Recuento de exámenes 1, lecturas lógicas 41405, lecturas físicas 0, lecturas anticipadas 41231, lecturas lógicas de LOB 0, lecturas físicas de LOB 0, lecturas anticipadas de LOB 0.\r\n\r\n Tiempos de ejecución de SQL Server:\r\n Tiempo de CPU = 17847 ms, tiempo transcurrido = 36306 ms.\r\nMsg 207, Level 16, State 1, Line 1\r\nEl nombre de columna \u0027scores\u0027 no es válido.\r\nTiempo de análisis y compilación de SQL Server: \r\n Tiempo de CPU = 0 ms, tiempo transcurrido = 0 ms.\r\n\r\n Tiempos de ejecución de SQL Server:\r\n Tiempo de CPU = 0 ms, tiempo transcurrido = 0 ms.\r\n" 34 | } 35 | -------------------------------------------------------------------------------- /src/assets/data/languagetext-it.json: -------------------------------------------------------------------------------- 1 | { 2 | "langvalue" : "it", 3 | "langname" : "Italian" , 4 | "table" : "Tabella", 5 | "scan" : "Conteggio analisi ", 6 | "logical" : "letture logiche ", 7 | "physical" : "letture fisiche ", 8 | "readahead" : "letture read-ahead ", 9 | "loblogical" : "letture logiche LOB ", 10 | "lobphysical" : "letture fisiche LOB ", 11 | "lobreadahead" : "letture LOB read-ahead ", 12 | "headerrownum" : "Riga", 13 | "headertable" : "Tabella", 14 | "headerscan" : "Conteggio analisi", 15 | "headerlogical" : "Letture logiche", 16 | "headerphysical" : "Letture fisiche", 17 | "headerreadahead" : "Letture read-ahead", 18 | "headerloblogical" : "Letture logiche LOB", 19 | "headerlobphysical" : "Letture fisiche LOB", 20 | "headerlobreadahead" : "Letture LOB read-ahead", 21 | "headerperlogicalread" : "% Letture logiche sul totale", 22 | "executiontime" : "Tempo di esecuzione SQL Server:", 23 | "compiletime" : "Tempo di analisi e compilazione SQL Server:", 24 | "cputime" : "tempo di CPU = ", 25 | "elapsedtime" : "tempo trascorso = ", 26 | "elapsedlabel" : "Tempo trascorso", 27 | "cpulabel" : "CPU", 28 | "milliseconds" : "ms", 29 | "rowsaffected" : "righe interessate" , 30 | "headerrowsaffected" : " righe interessate", 31 | "headerrowaffected" : " riga interessata", 32 | "errormsg" : "Mes", 33 | "sampleoutput" : "Tempo di analisi e compilazione SQL Server: \r\n tempo di CPU = 0 ms, tempo trascorso = 0 ms.\r\n\r\n(25499 righe interessate)\r\nTabella \u0027Workfile\u0027. Conteggio analisi 0, letture logiche 0, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027Worktable\u0027. Conteggio analisi 0, letture logiche 0, letture fisiche 0, letture server di pagine 0, letture read-ahead 856, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027FATRIG\u0027. Conteggio analisi 1, letture logiche 13563, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027FATTES\u0027. Conteggio analisi 1, letture logiche 3748, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027COMRIG\u0027. Conteggio analisi 1, letture logiche 170, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027CONTI\u0027. Conteggio analisi 1, letture logiche 224, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027TIPIDOC\u0027. Conteggio analisi 2, letture logiche 8, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahea LOB server di pagine 0.\r\nTabella \u0027COMTES\u0027. Conteggio analisi 1, letture logiche 1702, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027CLIENTI\u0027. Conteggio analisi 2, letture logiche 20, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027PERSONE\u0027. Conteggio analisi 4, letture logiche 794, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027ANAPAG\u0027. Conteggio analisi 1, letture logiche 5, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027NAZIONI\u0027. Conteggio analisi 1, letture logiche 2, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027AGENTI\u0027. Conteggio analisi 2, letture logiche 4, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027LOTSER\u0027. Conteggio analisi 1, letture logiche 18, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027ARTICO\u0027. Conteggio analisi 1, letture logiche 370, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027CLASSI\u0027. Conteggio analisi 1, letture logiche 2, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027CATOMO\u0027. Conteggio analisi 1, letture logiche 2, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027GRUPPI\u0027. Conteggio analisi 1, letture logiche 2, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027LINEEP\u0027. Conteggio analisi 1, letture logiche 2, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\nTabella \u0027MARCHE\u0027. Conteggio analisi 1, letture logiche 4, letture fisiche 0, letture server di pagine 0, letture read-ahead 0, letture read-ahead server di pagine 0, letture logiche LOB 0, letture fisiche LOB 0, letture LOB server di pagine 0, letture LOB read-ahead 0, letture read-ahead LOB server di pagine 0.\r\n\r\nTempo di esecuzione SQL Server: \r\n tempo di CPU = 657 ms, tempo trascorso = 944 ms.\r\n\r\nMessaggio 207, livello 16, stato 1, riga 1\r\nIl nome di colonna \u0027test\u0027 non è valido.\r\n" 34 | } 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/assets/img/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/back_disabled.png -------------------------------------------------------------------------------- /src/assets/img/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/back_enabled.png -------------------------------------------------------------------------------- /src/assets/img/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/back_enabled_hover.png -------------------------------------------------------------------------------- /src/assets/img/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/forward_disabled.png -------------------------------------------------------------------------------- /src/assets/img/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/forward_enabled.png -------------------------------------------------------------------------------- /src/assets/img/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/forward_enabled_hover.png -------------------------------------------------------------------------------- /src/assets/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /src/assets/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /src/assets/img/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/sort_asc.png -------------------------------------------------------------------------------- /src/assets/img/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/sort_asc_disabled.png -------------------------------------------------------------------------------- /src/assets/img/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/sort_both.png -------------------------------------------------------------------------------- /src/assets/img/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/sort_desc.png -------------------------------------------------------------------------------- /src/assets/img/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/assets/img/sort_desc_disabled.png -------------------------------------------------------------------------------- /src/assets/js/DT_bootstrap.js: -------------------------------------------------------------------------------- 1 | /* Set the formatted-num sort so formatted numbers sort properly */ 2 | $.extend($.fn.dataTableExt.oSort, { 3 | "formatted-num-pre": function ( a ) { 4 | a = (a === "-" || a === "") ? 0 : a.replace( /[^\d\-\.]/g, "" ); 5 | return parseFloat( a ); 6 | }, 7 | "formatted-num-asc": function ( a, b ) { 8 | return a - b; 9 | }, 10 | "formatted-num-desc": function ( a, b ) { 11 | return b - a; 12 | } 13 | } ); 14 | 15 | /* Set the defaults for DataTables initialisation */ 16 | $.extend( true, $.fn.dataTable.defaults, { 17 | "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>", 18 | "sPaginationType": "bootstrap", 19 | "oLanguage": { 20 | "sLengthMenu": "_MENU_ records per page" 21 | } 22 | } ); 23 | 24 | 25 | /* Default class modification */ 26 | $.extend( $.fn.dataTableExt.oStdClasses, { 27 | "sWrapper": "dataTables_wrapper form-inline" 28 | } ); 29 | 30 | 31 | /* API method to get paging information */ 32 | $.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) 33 | { 34 | return { 35 | "iStart": oSettings._iDisplayStart, 36 | "iEnd": oSettings.fnDisplayEnd(), 37 | "iLength": oSettings._iDisplayLength, 38 | "iTotal": oSettings.fnRecordsTotal(), 39 | "iFilteredTotal": oSettings.fnRecordsDisplay(), 40 | "iPage": oSettings._iDisplayLength === -1 ? 41 | 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ), 42 | "iTotalPages": oSettings._iDisplayLength === -1 ? 43 | 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength ) 44 | }; 45 | }; 46 | 47 | 48 | /* Bootstrap style pagination control */ 49 | $.extend( $.fn.dataTableExt.oPagination, { 50 | "bootstrap": { 51 | "fnInit": function( oSettings, nPaging, fnDraw ) { 52 | var oLang = oSettings.oLanguage.oPaginate; 53 | var fnClickHandler = function ( e ) { 54 | e.preventDefault(); 55 | if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) { 56 | fnDraw( oSettings ); 57 | } 58 | }; 59 | 60 | $(nPaging).addClass('pagination').append( 61 | '' 65 | ); 66 | var els = $('a', nPaging); 67 | $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler ); 68 | $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler ); 69 | }, 70 | 71 | "fnUpdate": function ( oSettings, fnDraw ) { 72 | var iListLength = 5; 73 | var oPaging = oSettings.oInstance.fnPagingInfo(); 74 | var an = oSettings.aanFeatures.p; 75 | var i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2); 76 | 77 | if ( oPaging.iTotalPages < iListLength) { 78 | iStart = 1; 79 | iEnd = oPaging.iTotalPages; 80 | } 81 | else if ( oPaging.iPage <= iHalf ) { 82 | iStart = 1; 83 | iEnd = iListLength; 84 | } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) { 85 | iStart = oPaging.iTotalPages - iListLength + 1; 86 | iEnd = oPaging.iTotalPages; 87 | } else { 88 | iStart = oPaging.iPage - iHalf + 1; 89 | iEnd = iStart + iListLength - 1; 90 | } 91 | 92 | for ( i=0, ien=an.length ; i'+j+'') 100 | .insertBefore( $('li:last', an[i])[0] ) 101 | .bind('click', function (e) { 102 | e.preventDefault(); 103 | oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength; 104 | fnDraw( oSettings ); 105 | } ); 106 | } 107 | 108 | // Add / remove disabled classes from the static elements 109 | if ( oPaging.iPage === 0 ) { 110 | $('li:first', an[i]).addClass('disabled'); 111 | } else { 112 | $('li:first', an[i]).removeClass('disabled'); 113 | } 114 | 115 | if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) { 116 | $('li:last', an[i]).addClass('disabled'); 117 | } else { 118 | $('li:last', an[i]).removeClass('disabled'); 119 | } 120 | } 121 | } 122 | } 123 | } ); 124 | 125 | 126 | /* 127 | * TableTools Bootstrap compatibility 128 | * Required TableTools 2.1+ 129 | */ 130 | if ( $.fn.DataTable.TableTools ) { 131 | // Set the classes that TableTools uses to something suitable for Bootstrap 132 | $.extend( true, $.fn.DataTable.TableTools.classes, { 133 | "container": "DTTT btn-group", 134 | "buttons": { 135 | "normal": "btn", 136 | "disabled": "disabled" 137 | }, 138 | "collection": { 139 | "container": "DTTT_dropdown dropdown-menu", 140 | "buttons": { 141 | "normal": "", 142 | "disabled": "disabled" 143 | } 144 | }, 145 | "print": { 146 | "info": "DTTT_print_info modal" 147 | }, 148 | "select": { 149 | "row": "active" 150 | } 151 | } ); 152 | 153 | // Have the collection use a bootstrap compatible dropdown 154 | $.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, { 155 | "collection": { 156 | "container": "ul", 157 | "button": "li", 158 | "liner": "a" 159 | } 160 | } ); 161 | } 162 | 163 | 164 | /* Table initialisation */ 165 | $(document).ready(function() { 166 | $('#resultTable').dataTable( { 167 | "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>", 168 | "sPaginationType": "bootstrap", 169 | "oLanguage": { 170 | "sLengthMenu": "_MENU_ records per page" 171 | } 172 | } ); 173 | } ); -------------------------------------------------------------------------------- /src/assets/js/jquery.cookies.2.2.0.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2005 - 2010, James Auldridge 3 | * All rights reserved. 4 | * 5 | * Licensed under the BSD, MIT, and GPL (your choice!) Licenses: 6 | * http://code.google.com/p/cookies/wiki/License 7 | * 8 | */ 9 | var jaaulde=window.jaaulde||{};jaaulde.utils=jaaulde.utils||{};jaaulde.utils.cookies=(function(){var resolveOptions,assembleOptionsString,parseCookies,constructor,defaultOptions={expiresAt:null,path:'/',domain:null,secure:false};resolveOptions=function(options){var returnValue,expireDate;if(typeof options!=='object'||options===null){returnValue=defaultOptions;}else 10 | {returnValue={expiresAt:defaultOptions.expiresAt,path:defaultOptions.path,domain:defaultOptions.domain,secure:defaultOptions.secure};if(typeof options.expiresAt==='object'&&options.expiresAt instanceof Date){returnValue.expiresAt=options.expiresAt;}else if(typeof options.hoursToLive==='number'&&options.hoursToLive!==0){expireDate=new Date();expireDate.setTime(expireDate.getTime()+(options.hoursToLive*60*60*1000));returnValue.expiresAt=expireDate;}if(typeof options.path==='string'&&options.path!==''){returnValue.path=options.path;}if(typeof options.domain==='string'&&options.domain!==''){returnValue.domain=options.domain;}if(options.secure===true){returnValue.secure=options.secure;}}return returnValue;};assembleOptionsString=function(options){options=resolveOptions(options);return((typeof options.expiresAt==='object'&&options.expiresAt instanceof Date?'; expires='+options.expiresAt.toGMTString():'')+'; path='+options.path+(typeof options.domain==='string'?'; domain='+options.domain:'')+(options.secure===true?'; secure':''));};parseCookies=function(){var cookies={},i,pair,name,value,separated=document.cookie.split(';'),unparsedValue;for(i=0;ia?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&s(a[d])!==s(b[d]))&&g++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().utc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&&a%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-"):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&&rb)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&o(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(wb.lastIndex=0;d>=0&&wb.test(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"DDDD":return Ib;case"YYYY":case"GGGG":case"gggg":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Kb:Ab;case"S":if(d)return Gb;case"SS":if(d)return Hb;case"SSS":if(d)return Ib;case"DDD":return yb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Cb;case"a":case"A":return C(b._l)._meridiemParse;case"X":return Fb;case"Z":case"ZZ":return Db;case"T":return Eb;case"SSSS":return Bb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Hb:xb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return xb;default:return c=new RegExp(P(O(a.replace("\\","")),"i"))}}function I(a){a=a||"";var b=a.match(Db)||[],c=b[b.length-1]||[],d=(c+"").match(Qb)||["-",0,0],e=+(60*d[1])+s(d[2]);return"+"===d[0]?-e:e}function J(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[jb]=s(b)-1);break;case"MMM":case"MMMM":d=C(c._l).monthsParse(b),null!=d?e[jb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[kb]=s(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=s(b));break;case"YY":e[ib]=s(b)+(s(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ib]=s(b);break;case"a":case"A":c._isPm=C(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[lb]=s(b);break;case"m":case"mm":e[mb]=s(b);break;case"s":case"ss":e[nb]=s(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ob]=s(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=I(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function K(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=M(a),a._w&&null==a._a[kb]&&null==a._a[jb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ib]?db().weekYear():a._a[ib]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Z(f(g.GG),g.W||1,g.E,4,1):(i=C(a._l),j=null!=g.d?V(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&ju(e)&&(a._pf._overflowDayOfYear=!0),c=U(e,0,a._dayOfYear),a._a[jb]=c.getUTCMonth(),a._a[kb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[lb]+=s((a._tzm||0)/60),l[mb]+=s((a._tzm||0)%60),a._d=(a._useUTC?U:T).apply(null,l)}}function L(a){var b;a._d||(b=q(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],K(a))}function M(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function N(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=C(a._l),h=""+a._i,i=h.length,j=0;for(d=G(a._f,g).match(vb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Yb[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),J(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[lb]<12&&(a._a[lb]+=12),a._isPm===!1&&12===a._a[lb]&&(a._a[lb]=0),K(a),w(a)}function O(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function P(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,a._d=new Date(0/0),void 0;for(f=0;fg)&&(e=g,d=c));h(a,d||c)}function R(a){var b,c,d=a._i,e=Mb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Ob.length;c>b;b++)if(Ob[b][1].exec(d)){a._f=Ob[b][0]+(e[6]||" ");break}for(b=0,c=Pb.length;c>b;b++)if(Pb[b][1].exec(d)){a._f+=Pb[b][0];break}d.match(Db)&&(a._f+="Z"),N(a)}else a._d=new Date(d)}function S(b){var c=b._i,d=sb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?R(b):m(c)?(b._a=c.slice(0),K(b)):n(c)?b._d=new Date(+c):"object"==typeof c?L(b):b._d=new Date(c)}function T(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function U(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function V(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function W(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function X(a,b,c){var d=hb(Math.abs(a)/1e3),e=hb(d/60),f=hb(e/60),g=hb(f/24),h=hb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",hb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,W.apply({},i)}function Y(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=db(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Z(a,b,c,d,e){var f,g,h=U(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:u(a-1)+g}}function $(a){var b=a._i,c=a._f;return null===b?db.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=C().preparse(b)),db.isMoment(b)?(a=i(b),a._d=new Date(+b._d)):c?m(c)?Q(a):N(a):S(a),new f(a))}function _(a,b){db.fn[a]=db.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),db.updateOffset(this),this):this._d["get"+c+b]()}}function ab(a){db.duration.fn[a]=function(){return this._data[a]}}function bb(a,b){db.duration.fn["as"+a]=function(){return+this/b}}function cb(a){var b=!1,c=db;"undefined"==typeof ender&&(a?(gb.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)},h(gb.moment,c)):gb.moment=db)}for(var db,eb,fb="2.5.1",gb=this,hb=Math.round,ib=0,jb=1,kb=2,lb=3,mb=4,nb=5,ob=6,pb={},qb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},rb="undefined"!=typeof module&&module.exports&&"undefined"!=typeof require,sb=/^\/?Date\((\-?\d+)/i,tb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ub=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,vb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,wb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,xb=/\d\d?/,yb=/\d{1,3}/,zb=/\d{1,4}/,Ab=/[+\-]?\d{1,6}/,Bb=/\d+/,Cb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Db=/Z|[\+\-]\d\d:?\d\d/gi,Eb=/T/i,Fb=/[\+\-]?\d+(\.\d{1,3})?/,Gb=/\d/,Hb=/\d\d/,Ib=/\d{3}/,Jb=/\d{4}/,Kb=/[+-]?\d{6}/,Lb=/[+-]?\d+/,Mb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nb="YYYY-MM-DDTHH:mm:ssZ",Ob=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Pb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Qb=/([\+\-]|\d\d)/gi,Rb="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Sb={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Tb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Ub={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Vb={},Wb="DDD w W M D d".split(" "),Xb="M D H h m s w W".split(" "),Yb={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+k(Math.abs(a),6)},gg:function(){return k(this.weekYear()%100,2)},gggg:function(){return k(this.weekYear(),4)},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return k(this.isoWeekYear(),4)},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return s(this.milliseconds()/100)},SS:function(){return k(s(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+":"+k(s(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+k(s(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Zb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Wb.length;)eb=Wb.pop(),Yb[eb+"o"]=d(Yb[eb],eb);for(;Xb.length;)eb=Xb.pop(),Yb[eb+eb]=c(Yb[eb],2);for(Yb.DDDD=c(Yb.DDD,3),h(e.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=db.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=db([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return Y(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),db=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),$(g)},db.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),$(g).utc()},db.unix=function(a){return db(1e3*a)},db.duration=function(a,b){var c,d,e,f=a,h=null;return db.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=tb.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:s(h[kb])*c,h:s(h[lb])*c,m:s(h[mb])*c,s:s(h[nb])*c,ms:s(h[ob])*c}):(h=ub.exec(a))&&(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}),d=new g(f),db.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},db.version=fb,db.defaultFormat=Nb,db.updateOffset=function(){},db.lang=function(a,b){var c;return a?(b?A(y(a),b):null===b?(B(a),a="en"):pb[a]||C(a),c=db.duration.fn._lang=db.fn._lang=C(a),c._abbr):db.fn._lang._abbr},db.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),C(a)},db.isMoment=function(a){return a instanceof f||null!=a&&a.hasOwnProperty("_isAMomentObject")},db.isDuration=function(a){return a instanceof g},eb=Zb.length-1;eb>=0;--eb)r(Zb[eb]);for(db.normalizeUnits=function(a){return p(a)},db.invalid=function(a){var b=db.utc(0/0);return null!=a?h(b._pf,a):b._pf.userInvalidated=!0,b},db.parseZone=function(a){return db(a).parseZone()},h(db.fn=f.prototype,{clone:function(){return db(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=db(this).utc();return 00:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=F(this,a||db.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,-1),this},diff:function(a,b,c){var d,e,f=z(a,this),g=6e4*(this.zone()-f.zone());return b=p(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-db(this).startOf("month")-(f-db(f).startOf("month")))/d,e-=6e4*(this.zone()-db(this).startOf("month").zone()-(f.zone()-db(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:j(e)},from:function(a,b){return db.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(db(),a)},calendar:function(){var a=z(db(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return v(this.year())},isDST:function(){return this.zone()+db(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+db(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+z(a,this).startOf(b)},min:function(a){return a=db.apply(null,arguments),this>a?this:a},max:function(a){return a=db.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=I(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&l(this,db.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?db(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return t(this.year(),this.month())},dayOfYear:function(a){var b=hb((db(this).startOf("day")-db(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=Y(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=Y(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=Y(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=p(a),this[a]()},set:function(a,b){return a=p(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=C(b),this)}}),eb=0;eb=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€ "}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("be-nl",a)}(),/*! 7 | * numeral.js language configuration 8 | * language : simplified chinese 9 | * author : badplum : https://github.com/badplum 10 | */ 11 | function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十亿",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("chs",a)}(),/*! 12 | * numeral.js language configuration 13 | * language : czech (cs) 14 | * author : Anatoli Papirovski : https://github.com/apapirovski 15 | */ 16 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"Kč"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("cs",a)}(),/*! 17 | * numeral.js language configuration 18 | * language : danish denmark (dk) 19 | * author : Michael Storgaard : https://github.com/mstorgaard 20 | */ 21 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mio",billion:"mia",trillion:"b"},ordinal:function(){return"."},currency:{symbol:"DKK"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("da-dk",a)}(),/*! 22 | * numeral.js language configuration 23 | * language : German in Switzerland (de-ch) 24 | * author : Michael Piefel : https://github.com/piefel (based on work from Marco Krage : https://github.com/sinky) 25 | */ 26 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"CHF"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("de-ch",a)}(),/*! 27 | * numeral.js language configuration 28 | * language : German (de) – generally useful in Germany, Austria, Luxembourg, Belgium 29 | * author : Marco Krage : https://github.com/sinky 30 | */ 31 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("de",a)}(),/*! 32 | * numeral.js language configuration 33 | * language : english united kingdom (uk) 34 | * author : Dan Ristic : https://github.com/dristic 35 | */ 36 | function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"£"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("en-gb",a)}(),/*! 37 | * numeral.js language configuration 38 | * language : spanish Spain 39 | * author : Hernan Garcia : https://github.com/hgarcia 40 | */ 41 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("es",a)}(),/*! 42 | * numeral.js language configuration 43 | * language : spanish 44 | * author : Hernan Garcia : https://github.com/hgarcia 45 | */ 46 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("es",a)}(),/*! 47 | * numeral.js language configuration 48 | * language : Estonian 49 | * author : Illimar Tambek : https://github.com/ragulka 50 | * 51 | * Note: in Estonian, abbreviations are always separated 52 | * from numbers with a space 53 | */ 54 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tuh",million:" mln",billion:" mld",trillion:" trl"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("et",a)}(),/*! 55 | * numeral.js language configuration 56 | * language : Finnish 57 | * author : Sami Saada : https://github.com/samitheberber 58 | */ 59 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fi",a)}(),/*! 60 | * numeral.js language configuration 61 | * language : french (Canada) (fr-CA) 62 | * author : Léo Renaud-Allaire : https://github.com/renaudleo 63 | */ 64 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr-CA",a)}(),/*! 65 | * numeral.js language configuration 66 | * language : french (fr-ch) 67 | * author : Adam Draper : https://github.com/adamwdraper 68 | */ 69 | function(){var a={delimiters:{thousands:"'",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"CHF"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr-ch",a)}(),/*! 70 | * numeral.js language configuration 71 | * language : french (fr) 72 | * author : Adam Draper : https://github.com/adamwdraper 73 | */ 74 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr",a)}(),/*! 75 | * numeral.js language configuration 76 | * language : Hungarian (hu) 77 | * author : Peter Bakondy : https://github.com/pbakondy 78 | */ 79 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"E",million:"M",billion:"Mrd",trillion:"T"},ordinal:function(){return"."},currency:{symbol:" Ft"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("hu",a)}(),/*! 80 | * numeral.js language configuration 81 | * language : italian Italy (it) 82 | * author : Giacomo Trombi : http://cinquepunti.it 83 | */ 84 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mila",million:"mil",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("it",a)}(),/*! 85 | * numeral.js language configuration 86 | * language : japanese 87 | * author : teppeis : https://github.com/teppeis 88 | */ 89 | function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十億",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ja",a)}(),/*! 90 | * numeral.js language configuration 91 | * language : netherlands-dutch (nl-nl) 92 | * author : Dave Clayton : https://github.com/davedx 93 | */ 94 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mln",billion:"mrd",trillion:"bln"},ordinal:function(a){var b=a%100;return 0!==a&&1>=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€ "}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("nl-nl",a)}(),/*! 95 | * numeral.js language configuration 96 | * language : polish (pl) 97 | * author : Dominik Bulaj : https://github.com/dominikbulaj 98 | */ 99 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tys.",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(){return"."},currency:{symbol:"PLN"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pl",a)}(),/*! 100 | * numeral.js language configuration 101 | * language : portuguese brazil (pt-br) 102 | * author : Ramiro Varandas Jr : https://github.com/ramirovjr 103 | */ 104 | function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mil",million:"milhões",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"R$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pt-br",a)}(),/*! 105 | * numeral.js language configuration 106 | * language : portuguese (pt-pt) 107 | * author : Diogo Resende : https://github.com/dresende 108 | */ 109 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pt-pt",a)}(),function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"₴"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ru-UA",a)}(),/*! 110 | * numeral.js language configuration 111 | * language : russian (ru) 112 | * author : Anatoli Papirovski : https://github.com/apapirovski 113 | */ 114 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"руб."}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ru",a)}(),/*! 115 | * numeral.js language configuration 116 | * language : slovak (sk) 117 | * author : Ahmed Al Hafoudh : http://www.freevision.sk 118 | */ 119 | function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("sk",a)}(),/*! 120 | * numeral.js language configuration 121 | * language : thai (th) 122 | * author : Sathit Jittanupat : https://github.com/jojosati 123 | */ 124 | function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"พัน",million:"ล้าน",billion:"พันล้าน",trillion:"ล้านล้าน"},ordinal:function(){return"."},currency:{symbol:"฿"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("th",a)}(),/*! 125 | * numeral.js language configuration 126 | * language : turkish (tr) 127 | * author : Ecmel Ercan : https://github.com/ecmel, Erhan Gundogan : https://github.com/erhangundogan, Burak Yiğit Kaya: https://github.com/BYK 128 | */ 129 | function(){var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},b={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"bin",million:"milyon",billion:"milyar",trillion:"trilyon"},ordinal:function(b){if(0===b)return"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return a[c]||a[d]||a[e]},currency:{symbol:"₺"}};"undefined"!=typeof module&&module.exports&&(module.exports=b),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("tr",b)}(),function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тис.",million:"млн",billion:"млрд",trillion:"блн"},ordinal:function(){return""},currency:{symbol:"₴"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("uk-UA",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/be-nl.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : belgium-dutch (be-nl) 4 | * author : Dieter Luypaert : https://github.com/moeriki 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:" mln",billion:" mld",trillion:" bln"},ordinal:function(a){var b=a%100;return 0!==a&&1>=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€ "}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("be-nl",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/chs.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : simplified chinese 4 | * author : badplum : https://github.com/badplum 5 | */ 6 | !function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十亿",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("chs",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/cs.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : czech (cs) 4 | * author : Anatoli Papirovski : https://github.com/apapirovski 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"Kč"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("cs",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/da-dk.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : danish denmark (dk) 4 | * author : Michael Storgaard : https://github.com/mstorgaard 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mio",billion:"mia",trillion:"b"},ordinal:function(){return"."},currency:{symbol:"DKK"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("da-dk",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/de-ch.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : German in Switzerland (de-ch) 4 | * author : Michael Piefel : https://github.com/piefel (based on work from Marco Krage : https://github.com/sinky) 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"CHF"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("de-ch",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/de.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : German (de) – generally useful in Germany, Austria, Luxembourg, Belgium 4 | * author : Marco Krage : https://github.com/sinky 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("de",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/en-gb.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : english united kingdom (uk) 4 | * author : Dan Ristic : https://github.com/dristic 5 | */ 6 | !function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"£"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("en-gb",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/es-ES.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : spanish Spain 4 | * author : Hernan Garcia : https://github.com/hgarcia 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("es",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/es.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : spanish 4 | * author : Hernan Garcia : https://github.com/hgarcia 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("es",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/et.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : Estonian 4 | * author : Illimar Tambek : https://github.com/ragulka 5 | * 6 | * Note: in Estonian, abbreviations are always separated 7 | * from numbers with a space 8 | */ 9 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tuh",million:" mln",billion:" mld",trillion:" trl"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("et",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/fi.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : Finnish 4 | * author : Sami Saada : https://github.com/samitheberber 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fi",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/fr-CA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : french (Canada) (fr-CA) 4 | * author : Léo Renaud-Allaire : https://github.com/renaudleo 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr-CA",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/fr-ch.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : french (fr-ch) 4 | * author : Adam Draper : https://github.com/adamwdraper 5 | */ 6 | !function(){var a={delimiters:{thousands:"'",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"CHF"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr-ch",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/fr.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : french (fr) 4 | * author : Adam Draper : https://github.com/adamwdraper 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"e"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("fr",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/hu.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : Hungarian (hu) 4 | * author : Peter Bakondy : https://github.com/pbakondy 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"E",million:"M",billion:"Mrd",trillion:"T"},ordinal:function(){return"."},currency:{symbol:" Ft"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("hu",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/it.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : italian Italy (it) 4 | * author : Giacomo Trombi : http://cinquepunti.it 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mila",million:"mil",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("it",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/ja.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : japanese 4 | * author : teppeis : https://github.com/teppeis 5 | */ 6 | !function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十億",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ja",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/nl-nl.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : netherlands-dutch (nl-nl) 4 | * author : Dave Clayton : https://github.com/davedx 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mln",billion:"mrd",trillion:"bln"},ordinal:function(a){var b=a%100;return 0!==a&&1>=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€ "}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("nl-nl",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/pl.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : polish (pl) 4 | * author : Dominik Bulaj : https://github.com/dominikbulaj 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tys.",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(){return"."},currency:{symbol:"PLN"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pl",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/pt-br.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : portuguese brazil (pt-br) 4 | * author : Ramiro Varandas Jr : https://github.com/ramirovjr 5 | */ 6 | !function(){var a={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mil",million:"milhões",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"R$"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pt-br",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/pt-pt.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : portuguese (pt-pt) 4 | * author : Diogo Resende : https://github.com/dresende 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("pt-pt",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/ru-UA.min.js: -------------------------------------------------------------------------------- 1 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"₴"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ru-UA",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/ru.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : russian (ru) 4 | * author : Anatoli Papirovski : https://github.com/apapirovski 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"руб."}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("ru",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/sk.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : slovak (sk) 4 | * author : Ahmed Al Hafoudh : http://www.freevision.sk 5 | */ 6 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("sk",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/th.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : thai (th) 4 | * author : Sathit Jittanupat : https://github.com/jojosati 5 | */ 6 | !function(){var a={delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"พัน",million:"ล้าน",billion:"พันล้าน",trillion:"ล้านล้าน"},ordinal:function(){return"."},currency:{symbol:"฿"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("th",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/tr.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js language configuration 3 | * language : turkish (tr) 4 | * author : Ecmel Ercan : https://github.com/ecmel, Erhan Gundogan : https://github.com/erhangundogan, Burak Yiğit Kaya: https://github.com/BYK 5 | */ 6 | !function(){var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},b={delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"bin",million:"milyon",billion:"milyar",trillion:"trilyon"},ordinal:function(b){if(0===b)return"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return a[c]||a[d]||a[e]},currency:{symbol:"₺"}};"undefined"!=typeof module&&module.exports&&(module.exports=b),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("tr",b)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/languages/uk-UA.min.js: -------------------------------------------------------------------------------- 1 | !function(){var a={delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тис.",million:"млн",billion:"млрд",trillion:"блн"},ordinal:function(){return""},currency:{symbol:"₴"}};"undefined"!=typeof module&&module.exports&&(module.exports=a),"undefined"!=typeof window&&this.numeral&&this.numeral.language&&this.numeral.language("uk-UA",a)}(); -------------------------------------------------------------------------------- /src/assets/js/numeral/numeral.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numeral.js 3 | * version : 1.5.3 4 | * author : Adam Draper 5 | * license : MIT 6 | * http://adamwdraper.github.com/Numeral-js/ 7 | */ 8 | (function(){function a(a){this._value=a}function b(a,b,c,d){var e,f,g=Math.pow(10,b);return f=(c(a*g)/g).toFixed(b),d&&(e=new RegExp("0{1,"+d+"}$"),f=f.replace(e,"")),f}function c(a,b,c){var d;return d=b.indexOf("$")>-1?e(a,b,c):b.indexOf("%")>-1?f(a,b,c):b.indexOf(":")>-1?g(a,b):i(a._value,b,c)}function d(a,b){var c,d,e,f,g,i=b,j=["KB","MB","GB","TB","PB","EB","ZB","YB"],k=!1;if(b.indexOf(":")>-1)a._value=h(b);else if(b===q)a._value=0;else{for("."!==o[p].delimiters.decimal&&(b=b.replace(/\./g,"").replace(o[p].delimiters.decimal,".")),c=new RegExp("[^a-zA-Z]"+o[p].abbreviations.thousand+"(?:\\)|(\\"+o[p].currency.symbol+")?(?:\\))?)?$"),d=new RegExp("[^a-zA-Z]"+o[p].abbreviations.million+"(?:\\)|(\\"+o[p].currency.symbol+")?(?:\\))?)?$"),e=new RegExp("[^a-zA-Z]"+o[p].abbreviations.billion+"(?:\\)|(\\"+o[p].currency.symbol+")?(?:\\))?)?$"),f=new RegExp("[^a-zA-Z]"+o[p].abbreviations.trillion+"(?:\\)|(\\"+o[p].currency.symbol+")?(?:\\))?)?$"),g=0;g<=j.length&&!(k=b.indexOf(j[g])>-1?Math.pow(1024,g+1):!1);g++);a._value=(k?k:1)*(i.match(c)?Math.pow(10,3):1)*(i.match(d)?Math.pow(10,6):1)*(i.match(e)?Math.pow(10,9):1)*(i.match(f)?Math.pow(10,12):1)*(b.indexOf("%")>-1?.01:1)*((b.split("-").length+Math.min(b.split("(").length-1,b.split(")").length-1))%2?1:-1)*Number(b.replace(/[^0-9\.]+/g,"")),a._value=k?Math.ceil(a._value):a._value}return a._value}function e(a,b,c){var d,e,f=b.indexOf("$"),g=b.indexOf("("),h=b.indexOf("-"),j="";return b.indexOf(" $")>-1?(j=" ",b=b.replace(" $","")):b.indexOf("$ ")>-1?(j=" ",b=b.replace("$ ","")):b=b.replace("$",""),e=i(a._value,b,c),1>=f?e.indexOf("(")>-1||e.indexOf("-")>-1?(e=e.split(""),d=1,(g>f||h>f)&&(d=0),e.splice(d,0,o[p].currency.symbol+j),e=e.join("")):e=o[p].currency.symbol+j+e:e.indexOf(")")>-1?(e=e.split(""),e.splice(-1,0,j+o[p].currency.symbol),e=e.join("")):e=e+j+o[p].currency.symbol,e}function f(a,b,c){var d,e="",f=100*a._value;return b.indexOf(" %")>-1?(e=" ",b=b.replace(" %","")):b=b.replace("%",""),d=i(f,b,c),d.indexOf(")")>-1?(d=d.split(""),d.splice(-1,0,e+"%"),d=d.join("")):d=d+e+"%",d}function g(a){var b=Math.floor(a._value/60/60),c=Math.floor((a._value-60*b*60)/60),d=Math.round(a._value-60*b*60-60*c);return b+":"+(10>c?"0"+c:c)+":"+(10>d?"0"+d:d)}function h(a){var b=a.split(":"),c=0;return 3===b.length?(c+=60*Number(b[0])*60,c+=60*Number(b[1]),c+=Number(b[2])):2===b.length&&(c+=60*Number(b[0]),c+=Number(b[1])),Number(c)}function i(a,c,d){var e,f,g,h,i,j,k=!1,l=!1,m=!1,n="",r=!1,s=!1,t=!1,u=!1,v=!1,w="",x="",y=Math.abs(a),z=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],A="",B=!1;if(0===a&&null!==q)return q;if(c.indexOf("(")>-1?(k=!0,c=c.slice(1,-1)):c.indexOf("+")>-1&&(l=!0,c=c.replace(/\+/g,"")),c.indexOf("a")>-1&&(r=c.indexOf("aK")>=0,s=c.indexOf("aM")>=0,t=c.indexOf("aB")>=0,u=c.indexOf("aT")>=0,v=r||s||t||u,c.indexOf(" a")>-1?(n=" ",c=c.replace(" a","")):c=c.replace("a",""),y>=Math.pow(10,12)&&!v||u?(n+=o[p].abbreviations.trillion,a/=Math.pow(10,12)):y=Math.pow(10,9)&&!v||t?(n+=o[p].abbreviations.billion,a/=Math.pow(10,9)):y=Math.pow(10,6)&&!v||s?(n+=o[p].abbreviations.million,a/=Math.pow(10,6)):(y=Math.pow(10,3)&&!v||r)&&(n+=o[p].abbreviations.thousand,a/=Math.pow(10,3))),c.indexOf("b")>-1)for(c.indexOf(" b")>-1?(w=" ",c=c.replace(" b","")):c=c.replace("b",""),g=0;g<=z.length;g++)if(e=Math.pow(1024,g),f=Math.pow(1024,g+1),a>=e&&f>a){w+=z[g],e>0&&(a/=e);break}return c.indexOf("o")>-1&&(c.indexOf(" o")>-1?(x=" ",c=c.replace(" o","")):c=c.replace("o",""),x+=o[p].ordinal(a)),c.indexOf("[.]")>-1&&(m=!0,c=c.replace("[.]",".")),h=a.toString().split(".")[0],i=c.split(".")[1],j=c.indexOf(","),i?(i.indexOf("[")>-1?(i=i.replace("]",""),i=i.split("["),A=b(a,i[0].length+i[1].length,d,i[1].length)):A=b(a,i.length,d),h=A.split(".")[0],A=A.split(".")[1].length?o[p].delimiters.decimal+A.split(".")[1]:"",m&&0===Number(A.slice(1))&&(A="")):h=b(a,null,d),h.indexOf("-")>-1&&(h=h.slice(1),B=!0),j>-1&&(h=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o[p].delimiters.thousands)),0===c.indexOf(".")&&(h=""),(k&&B?"(":"")+(!k&&B?"-":"")+(!B&&l?"+":"")+h+A+(x?x:"")+(n?n:"")+(w?w:"")+(k&&B?")":"")}function j(a,b){o[a]=b}function k(a){var b=a.toString().split(".");return b.length<2?1:Math.pow(10,b[1].length)}function l(){var a=Array.prototype.slice.call(arguments);return a.reduce(function(a,b){var c=k(a),d=k(b);return c>d?c:d},-1/0)}var m,n="1.5.3",o={},p="en",q=null,r="0,0",s="undefined"!=typeof module&&module.exports;m=function(b){return m.isNumeral(b)?b=b.value():0===b||"undefined"==typeof b?b=0:Number(b)||(b=m.fn.unformat(b)),new a(Number(b))},m.version=n,m.isNumeral=function(b){return b instanceof a},m.language=function(a,b){if(!a)return p;if(a&&!b){if(!o[a])throw new Error("Unknown language : "+a);p=a}return(b||!o[a])&&j(a,b),m},m.languageData=function(a){if(!a)return o[p];if(!o[a])throw new Error("Unknown language : "+a);return o[a]},m.language("en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$"}}),m.zeroFormat=function(a){q="string"==typeof a?a:null},m.defaultFormat=function(a){r="string"==typeof a?a:"0.0"},"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(a,b){"use strict";if(null===this||"undefined"==typeof this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof a)throw new TypeError(a+" is not a function");var c,d,e=this.length>>>0,f=!1;for(1c;++c)this.hasOwnProperty(c)&&(f?d=a(d,this[c],c,this):(d=this[c],f=!0));if(!f)throw new TypeError("Reduce of empty array with no initial value");return d}),m.fn=a.prototype={clone:function(){return m(this)},format:function(a,b){return c(this,a?a:r,void 0!==b?b:Math.round)},unformat:function(a){return"[object Number]"===Object.prototype.toString.call(a)?a:d(this,a?a:r)},value:function(){return this._value},valueOf:function(){return this._value},set:function(a){return this._value=Number(a),this},add:function(a){function b(a,b){return a+c*b}var c=l.call(null,this._value,a);return this._value=[this._value,a].reduce(b,0)/c,this},subtract:function(a){function b(a,b){return a-c*b}var c=l.call(null,this._value,a);return this._value=[a].reduce(b,this._value*c)/c,this},multiply:function(a){function b(a,b){var c=l(a,b);return a*c*b*c/(c*c)}return this._value=[this._value,a].reduce(b,1),this},divide:function(a){function b(a,b){var c=l(a,b);return a*c/(b*c)}return this._value=[this._value,a].reduce(b),this},difference:function(a){return Math.abs(m(this._value).subtract(a).value())}},s&&(module.exports=m),"undefined"==typeof ender&&(this.numeral=m),"function"==typeof define&&define.amd&&define([],function(){return m})}).call(this); -------------------------------------------------------------------------------- /src/assets/js/purl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Purl (A JavaScript URL parser) v2.3.1 3 | * Developed and maintanined by Mark Perkins, mark@allmarkedup.com 4 | * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser 5 | * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details. 6 | */ 7 | 8 | ;(function(factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | define(factory); 11 | } else { 12 | window.purl = factory(); 13 | } 14 | })(function() { 15 | 16 | var tag2attr = { 17 | a : 'href', 18 | img : 'src', 19 | form : 'action', 20 | base : 'href', 21 | script : 'src', 22 | iframe : 'src', 23 | link : 'href', 24 | embed : 'src', 25 | object : 'data' 26 | }, 27 | 28 | key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query 29 | 30 | aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability 31 | 32 | parser = { 33 | strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs 34 | loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs 35 | }, 36 | 37 | isint = /^[0-9]+$/; 38 | 39 | function parseUri( url, strictMode ) { 40 | var str = decodeURI( url ), 41 | res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ), 42 | uri = { attr : {}, param : {}, seg : {} }, 43 | i = 14; 44 | 45 | while ( i-- ) { 46 | uri.attr[ key[i] ] = res[i] || ''; 47 | } 48 | 49 | // build query and fragment parameters 50 | uri.param['query'] = parseString(uri.attr['query']); 51 | uri.param['fragment'] = parseString(uri.attr['fragment']); 52 | 53 | // split path and fragement into segments 54 | uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/'); 55 | uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/'); 56 | 57 | // compile a 'base' domain attribute 58 | uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : ''; 59 | 60 | return uri; 61 | } 62 | 63 | function getAttrName( elm ) { 64 | var tn = elm.tagName; 65 | if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()]; 66 | return tn; 67 | } 68 | 69 | function promote(parent, key) { 70 | if (parent[key].length === 0) return parent[key] = {}; 71 | var t = {}; 72 | for (var i in parent[key]) t[i] = parent[key][i]; 73 | parent[key] = t; 74 | return t; 75 | } 76 | 77 | function parse(parts, parent, key, val) { 78 | var part = parts.shift(); 79 | if (!part) { 80 | if (isArray(parent[key])) { 81 | parent[key].push(val); 82 | } else if ('object' == typeof parent[key]) { 83 | parent[key] = val; 84 | } else if ('undefined' == typeof parent[key]) { 85 | parent[key] = val; 86 | } else { 87 | parent[key] = [parent[key], val]; 88 | } 89 | } else { 90 | var obj = parent[key] = parent[key] || []; 91 | if (']' == part) { 92 | if (isArray(obj)) { 93 | if ('' !== val) obj.push(val); 94 | } else if ('object' == typeof obj) { 95 | obj[keys(obj).length] = val; 96 | } else { 97 | obj = parent[key] = [parent[key], val]; 98 | } 99 | } else if (~part.indexOf(']')) { 100 | part = part.substr(0, part.length - 1); 101 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); 102 | parse(parts, obj, part, val); 103 | // key 104 | } else { 105 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); 106 | parse(parts, obj, part, val); 107 | } 108 | } 109 | } 110 | 111 | function merge(parent, key, val) { 112 | if (~key.indexOf(']')) { 113 | var parts = key.split('['); 114 | parse(parts, parent, 'base', val); 115 | } else { 116 | if (!isint.test(key) && isArray(parent.base)) { 117 | var t = {}; 118 | for (var k in parent.base) t[k] = parent.base[k]; 119 | parent.base = t; 120 | } 121 | if (key !== '') { 122 | set(parent.base, key, val); 123 | } 124 | } 125 | return parent; 126 | } 127 | 128 | function parseString(str) { 129 | return reduce(String(str).split(/&|;/), function(ret, pair) { 130 | try { 131 | pair = decodeURIComponent(pair.replace(/\+/g, ' ')); 132 | } catch(e) { 133 | // ignore 134 | } 135 | var eql = pair.indexOf('='), 136 | brace = lastBraceInKey(pair), 137 | key = pair.substr(0, brace || eql), 138 | val = pair.substr(brace || eql, pair.length); 139 | 140 | val = val.substr(val.indexOf('=') + 1, val.length); 141 | 142 | if (key === '') { 143 | key = pair; 144 | val = ''; 145 | } 146 | 147 | return merge(ret, key, val); 148 | }, { base: {} }).base; 149 | } 150 | 151 | function set(obj, key, val) { 152 | var v = obj[key]; 153 | if (typeof v === 'undefined') { 154 | obj[key] = val; 155 | } else if (isArray(v)) { 156 | v.push(val); 157 | } else { 158 | obj[key] = [v, val]; 159 | } 160 | } 161 | 162 | function lastBraceInKey(str) { 163 | var len = str.length, 164 | brace, 165 | c; 166 | for (var i = 0; i < len; ++i) { 167 | c = str[i]; 168 | if (']' == c) brace = false; 169 | if ('[' == c) brace = true; 170 | if ('=' == c && !brace) return i; 171 | } 172 | } 173 | 174 | function reduce(obj, accumulator){ 175 | var i = 0, 176 | l = obj.length >> 0, 177 | curr = arguments[2]; 178 | while (i < l) { 179 | if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj); 180 | ++i; 181 | } 182 | return curr; 183 | } 184 | 185 | function isArray(vArg) { 186 | return Object.prototype.toString.call(vArg) === "[object Array]"; 187 | } 188 | 189 | function keys(obj) { 190 | var key_array = []; 191 | for ( var prop in obj ) { 192 | if ( obj.hasOwnProperty(prop) ) key_array.push(prop); 193 | } 194 | return key_array; 195 | } 196 | 197 | function purl( url, strictMode ) { 198 | if ( arguments.length === 1 && url === true ) { 199 | strictMode = true; 200 | url = undefined; 201 | } 202 | strictMode = strictMode || false; 203 | url = url || window.location.toString(); 204 | 205 | return { 206 | 207 | data : parseUri(url, strictMode), 208 | 209 | // get various attributes from the URI 210 | attr : function( attr ) { 211 | attr = aliases[attr] || attr; 212 | return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr; 213 | }, 214 | 215 | // return query string parameters 216 | param : function( param ) { 217 | return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query; 218 | }, 219 | 220 | // return fragment parameters 221 | fparam : function( param ) { 222 | return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment; 223 | }, 224 | 225 | // return path segments 226 | segment : function( seg ) { 227 | if ( typeof seg === 'undefined' ) { 228 | return this.data.seg.path; 229 | } else { 230 | seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end 231 | return this.data.seg.path[seg]; 232 | } 233 | }, 234 | 235 | // return fragment segments 236 | fsegment : function( seg ) { 237 | if ( typeof seg === 'undefined' ) { 238 | return this.data.seg.fragment; 239 | } else { 240 | seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end 241 | return this.data.seg.fragment[seg]; 242 | } 243 | } 244 | 245 | }; 246 | 247 | } 248 | 249 | purl.jQuery = function($){ 250 | if ($ != null) { 251 | $.fn.url = function( strictMode ) { 252 | var url = ''; 253 | if ( this.length ) { 254 | url = $(this).attr( getAttrName(this[0]) ) || ''; 255 | } 256 | return purl( url, strictMode ); 257 | }; 258 | 259 | $.url = purl; 260 | } 261 | }; 262 | 263 | purl.jQuery(window.jQuery); 264 | 265 | return purl; 266 | 267 | }); 268 | -------------------------------------------------------------------------------- /src/assets/js/statsioparser.js: -------------------------------------------------------------------------------- 1 | 2 | function includeExample(value, lang) { 3 | var txt = document.getElementById("statiotext"); 4 | if (value == true) { 5 | txt.value = lang.sampleoutput; 6 | } else { 7 | txt.value = ""; 8 | } 9 | } 10 | 11 | function updateQueryStringParameter(uri, key, value) { 12 | var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); 13 | var separator = uri.indexOf('?') !== -1 ? "&" : "?"; 14 | if (uri.match(re)) { 15 | return uri.replace(re, '$1' + key + "=" + value + '$2'); 16 | } else { 17 | return uri + separator + key + "=" + value; 18 | } 19 | } 20 | 21 | function toggleCheckmark(checkmarkSpan, cookieKey) { 22 | if($.cookies.get(cookieKey) === true) { 23 | $.cookies.set(cookieKey, "false"); 24 | checkmarkSpan.style.display = 'none'; 25 | } else { 26 | $.cookies.set(cookieKey, "true"); 27 | checkmarkSpan.style.display = ''; 28 | } 29 | } 30 | 31 | var rowEnum = { 32 | None: 0, 33 | IO: 1, 34 | ExectuionTime: 2, 35 | CompileTime: 3, 36 | RowsAffected: 4, 37 | Error: 5 38 | } 39 | 40 | function statsIOInfo(rownumber, langText, table, scan, logical, physical, readahead, loblogical, lobphysical, lobreadahead) { 41 | this.rownumber = rownumber; 42 | this.table = table; 43 | this.nostats = false; 44 | this.scan = infoReplace(scan, langText.scan, ''); 45 | this.logical = infoReplace(logical, langText.logical, ''); 46 | this.physical = infoReplace(physical, langText.physical, ''); 47 | this.readahead = infoReplace(readahead, langText.readahead, ''); 48 | this.loblogical = infoReplace(loblogical, langText.loblogical, ''); 49 | this.lobphysical = infoReplace(lobphysical, langText.lobphysical, ''); 50 | this.lobreadahead = infoReplace(lobreadahead, langText.lobreadahead, ''); 51 | this.percentread = 0.0; 52 | } 53 | 54 | function statsIOInfoTotal() { 55 | this.rownumber = 0; 56 | this.table = ''; 57 | this.scan = 0; 58 | this.logical = 0; 59 | this.physical = 0; 60 | this.readahead = 0; 61 | this.loblogical = 0; 62 | this.lobphysical = 0; 63 | this.lobreadahead = 0; 64 | this.percentread = 0.0; 65 | } 66 | 67 | function statsTimeInfo(cpu, elapsed) { 68 | this.cpu = parseInt(cpu); 69 | this.elapsed = parseInt(elapsed); 70 | } 71 | 72 | function statsTimeInfoTotal() { 73 | this.cpu = 0; 74 | this.elapsed = 0; 75 | } 76 | 77 | function determineLang(strRow){ 78 | var lang = 1; 79 | 80 | if (strRow.substring(0,7) === 'Table \'') { lang = 1; } // English 81 | else if (strRow.substring(0, 7) === 'Tabla \'') { lang = 2; } // Spanish 82 | else if (strRow.substring(0, 7) === 'Tabella \'') { lang = 3; } // Italian 83 | else if ($.trim(strRow.substring(0, 6)) === 'Tiempo') { lang = 2; } // Spanish 84 | else if ($.trim(strRow.substring(0, 6)) === 'Tempo') { lang = 3; } // Italian 85 | else if ($.trim(strRow.substring(0, 7)) === 'Tiempos') { lang = 2; } // Spanish 86 | else if ($.trim(strRow.substring(0, 7)) === 'Tempo') { lang = 3; } // Italian 87 | 88 | return lang; 89 | } 90 | 91 | function determineLangFilename (langType) { 92 | var filename; 93 | switch(langType) { 94 | case 'en': // English 95 | filename = 'assets/data/languagetext-en.json' 96 | break; 97 | case 'es': // Spanish 98 | filename = 'assets/data/languagetext-es.json' 99 | break; 100 | case 'it': // Italian 101 | filename = 'assets/data/languagetext-it.json' 102 | break; 103 | default : 104 | filename = 'assets/data/languagetext-en.json' 105 | break; 106 | } 107 | return filename; 108 | } 109 | 110 | function infoReplace(strValue, searchValue, newvValue) { 111 | var returnValue = 0; 112 | if (strValue != undefined) { 113 | returnValue = parseInt(strValue.replace(searchValue, newvValue)); 114 | if (isNaN(returnValue)) { 115 | returnValue = 0; 116 | } 117 | } 118 | return returnValue; 119 | } 120 | 121 | function determineRowType(strRow, langText) { 122 | var rowType = rowEnum.None; 123 | 124 | if (strRow.substring(0, 7) === langText.table) { 125 | rowType = rowEnum.IO; 126 | } else if ($.trim(strRow) === langText.executiontime) { 127 | rowType = rowEnum.ExectuionTime; 128 | } else if ($.trim(strRow) === langText.compiletime) { 129 | rowType = rowEnum.CompileTime; 130 | } else if (strRow.indexOf(langText.rowsaffected) > -1) { 131 | rowType = rowEnum.RowsAffected; 132 | } else if (strRow.substring(0,3) === langText.errormsg) { 133 | rowType = rowEnum.Error; 134 | } 135 | 136 | return rowType; 137 | } 138 | 139 | function processTimeRegEx(preText, postText) { 140 | var re = new RegExp("(.*" + preText + "+)(.*?)(\\s+" + postText + ".*)"); 141 | 142 | return re 143 | } 144 | 145 | function processTime(line, cputime, elapsedtime, milliseconds) { 146 | var section = line.split(','); 147 | 148 | var re = processTimeRegEx(cputime, milliseconds); 149 | var re2 = processTimeRegEx(elapsedtime, milliseconds); 150 | 151 | return new statsTimeInfo(section[0].replace(re, "$2"), section[1].replace(re2, "$2")) 152 | } 153 | 154 | function processIOTableRow(line, tableResult, langText) { 155 | var section = line.split('\.'); 156 | var tableName = getSubStr(section[0], '\'') 157 | var tableData = section[1]; 158 | 159 | // If not a statistics IO statement then end table (if necessary) and write line ending in
160 | // If prev line was not a statistics IO statement then start a table. 161 | if (tableData != undefined) { 162 | if (tableData == '') { 163 | var statLineInfo = new statsIOInfo(tableResult.length + 1, langText, line); 164 | statLineInfo.nostats = true; 165 | tableResult.push(statLineInfo); 166 | } 167 | var stat = tableData.split(/[,]+/); 168 | var statInfo = new statsIOInfo(tableResult.length + 1, langText, tableName, stat[0], stat[1], stat[2], stat[3], stat[4], stat[5], stat[6]); 169 | tableResult.push(statInfo); 170 | } else { 171 | if (line.length > 0) { 172 | var statLineInfo = new statsIOInfo(tableResult.length + 1, langText, line); 173 | statLineInfo.nostats = true; 174 | tableResult.push(statLineInfo); 175 | } 176 | } 177 | } 178 | 179 | function parseOutput(txt, lang) { 180 | //var txt = document.getElementById("statiotext").value; 181 | var lines = txt.split('\n'); 182 | var tableIOResult = new Array(); 183 | var executionTotal = new statsTimeInfoTotal(); 184 | var compileTotal = new statsTimeInfoTotal(); 185 | var tableCount = 0; 186 | var inTable = false; 187 | var isExecution = false; 188 | var isCompile = false; 189 | var isError = false; 190 | var formattedOutput = ''; 191 | 192 | for (var i = 0; i < lines.length; i++) { 193 | var line = lines[i]; 194 | 195 | if (isExecution === false && isCompile === false && isError === false) { 196 | var rowType = determineRowType(line, lang); 197 | } 198 | 199 | switch (rowType) { 200 | case rowEnum.IO: 201 | if (inTable === true) { 202 | processIOTableRow(line, tableIOResult, lang); 203 | } else { 204 | tableCount += 1; 205 | inTable = true; 206 | processIOTableRow(line, tableIOResult, lang); 207 | } 208 | break; 209 | case rowEnum.ExectuionTime: 210 | if (isExecution === true) { 211 | var et = processTime(line, lang.cputime, lang.elapsedtime, lang.milliseconds); 212 | formattedOutput += outputTimeTable(et, lang.executiontime, lang.milliseconds, lang.elapsedlabel, lang.cpulabel) 213 | executionTotal.cpu += et.cpu; 214 | executionTotal.elapsed += et.elapsed 215 | } else { 216 | //formattedOutput += '' + line + '
'; 217 | } 218 | isExecution = !isExecution; 219 | break; 220 | case rowEnum.CompileTime: 221 | if (isCompile === true) { 222 | var ct = processTime(line, lang.cputime, lang.elapsedtime, lang.milliseconds); 223 | formattedOutput += outputTimeTable(ct, lang.compiletime, lang.milliseconds, lang.elapsedlabel, lang.cpulabel) 224 | compileTotal.cpu += ct.cpu; 225 | compileTotal.elapsed += ct.elapsed 226 | } else { 227 | //formattedOutput += '' + line + '
'; 228 | } 229 | isCompile = !isCompile; 230 | break; 231 | case rowEnum.RowsAffected: 232 | var re = new RegExp("\\d+"); 233 | var affectedText = lang.headerrowsaffected; 234 | var numRows; 235 | if ((numRows = re.exec(line)) !== null) { 236 | if (numRows[0] === 1) { 237 | affectedText = lang.headerrowaffected; 238 | } 239 | formattedOutput += '
' + numeral(numRows[0]).format('0,0') + affectedText + '
'; 240 | } 241 | break; 242 | case rowEnum.Error: 243 | isError = (isError === false ? true : false); 244 | formattedOutput += '
' + line + '
' 245 | break; 246 | default: 247 | if (inTable === true) { 248 | inTable = false; 249 | formattedOutput += outputIOTable(tableIOResult, statsIOCalcTotals(tableIOResult), tableCount, lang); 250 | tableIOResult = new Array(); 251 | } 252 | formattedOutput += '' + line + '
'; 253 | } 254 | 255 | } 256 | 257 | // if last row a table then call formatOutput 258 | if (inTable == true) { 259 | formattedOutput += outputIOTable(tableIOResult, statsIOCalcTotals(tableIOResult), tableCount, lang); 260 | } 261 | 262 | formattedOutput += '

Totals:

' 263 | formattedOutput += outputTimeTableTotals(executionTotal, compileTotal, lang.compiletime, lang.executiontime, lang.milliseconds, lang.elapsedlabel, lang.cpulabel); 264 | 265 | return {output: formattedOutput, tableCount: tableCount} 266 | } 267 | 268 | function parseText(lang) { 269 | 270 | var formattedOutput = parseOutput( document.getElementById("statiotext").value, lang); 271 | 272 | document.getElementById("result").innerHTML = formattedOutput.output; 273 | document.getElementById("clearButton").innerHTML = 'Clear Results'; 274 | 275 | //Apply datatables plugin 276 | for (var counter = 1; counter <= formattedOutput.tableCount; counter++) { 277 | if($.cookies.get("tableScrollbar") == true) { 278 | $('#resultTable' + counter).dataTable({ 279 | "sDom": "t", 280 | "bFilter": false, 281 | "bPaginate": false, 282 | "sScrollY": "200px", 283 | "bScrollCollapse": false, 284 | "aoColumns": [ 285 | { "sType": "formatted-num", "sClass": "td-column-right" }, 286 | null, 287 | { "sType": "formatted-num", "sClass": "td-column-right" }, 288 | { "sType": "formatted-num", "sClass": "td-column-right" }, 289 | { "sType": "formatted-num", "sClass": "td-column-right" }, 290 | { "sType": "formatted-num", "sClass": "td-column-right" }, 291 | { "sType": "formatted-num", "sClass": "td-column-right" }, 292 | { "sType": "formatted-num", "sClass": "td-column-right" }, 293 | { "sType": "formatted-num", "sClass": "td-column-right" }, 294 | { "sType": "formatted-num", "sClass": "td-column-right" } 295 | ] 296 | }); 297 | } else { 298 | $('#resultTable' + counter).dataTable({ 299 | "sDom": "t", 300 | "bFilter": false, 301 | "bPaginate": false, 302 | "aoColumns": [ 303 | { "sType": "formatted-num", "sClass": "td-column-right" }, 304 | null, 305 | { "sType": "formatted-num", "sClass": "td-column-right" }, 306 | { "sType": "formatted-num", "sClass": "td-column-right" }, 307 | { "sType": "formatted-num", "sClass": "td-column-right" }, 308 | { "sType": "formatted-num", "sClass": "td-column-right" }, 309 | { "sType": "formatted-num", "sClass": "td-column-right" }, 310 | { "sType": "formatted-num", "sClass": "td-column-right" }, 311 | { "sType": "formatted-num", "sClass": "td-column-right" }, 312 | { "sType": "formatted-num", "sClass": "td-column-right" } 313 | ] 314 | }); 315 | } 316 | } 317 | } 318 | 319 | function statsIOCalcTotals(statInfos) { 320 | var statTotal = new statsIOInfoTotal(); 321 | 322 | for (var i = 0; i < statInfos.length; i++) { 323 | statTotal.scan += statInfos[i].scan; 324 | statTotal.logical += statInfos[i].logical; 325 | statTotal.physical += statInfos[i].physical; 326 | statTotal.readahead += statInfos[i].readahead; 327 | statTotal.loblogical += statInfos[i].loblogical; 328 | statTotal.lobphysical += statInfos[i].lobphysical; 329 | statTotal.lobreadahead += statInfos[i].lobreadahead; 330 | } 331 | calcPercent(statInfos, statTotal); 332 | return statTotal; 333 | } 334 | 335 | function calcPercent(statInfos, statTotal) { 336 | for (var i = 0; i < statInfos.length; i++) { 337 | statInfos[i].percentread = ((statInfos[i].logical / statTotal.logical) * 100).toFixed(3); 338 | //statInfos[i].percentread += statInfos[i].percentread.toString() + '%'; 339 | } 340 | } 341 | 342 | function formatms (milliseconds) { 343 | return moment.utc(milliseconds).format("HH:mm:ss.SSS") 344 | } 345 | 346 | function outputTimeTable(timeValues, langTitle, langDuration, elapsedLabel, cpuLabel) { 347 | var result = '
'; 348 | result += ''; 349 | result += ''; 350 | //result += ''; 351 | //result += ''; 352 | result += ''; 353 | result += ''; 354 | result += ''; 355 | result += ''; 356 | result += ''; 357 | result += '';; 358 | //result += ''; 359 | //result += ''; 360 | result += ''; 361 | result += ''; 362 | result += '
' + cpuLabel + ' (' + langDuration + ') ' + elapsedLabel + ' (' + langDuration + ') ' + cpuLabel + ' ' + elapsedLabel + '
' + langTitle + '' + numeral(timeValues.cpu).format('0,0') + '' + numeral(timeValues.elapsed).format('0,0') + '' + formatms(timeValues.cpu) + '' + formatms(timeValues.elapsed) + '
'; 363 | 364 | return result; 365 | } 366 | 367 | function outputTimeTableTotals(executionValues, compileValues, langCompileTitle, langExecutionTitle, langDuration, elapsedLabel, cpuLabel) { 368 | var cpuTotal = parseInt(executionValues.cpu) + parseInt(compileValues.cpu) 369 | var elapsedTotal = parseInt(executionValues.elapsed) + parseInt(compileValues.elapsed) 370 | 371 | var result = '
'; 372 | result += ''; 373 | result += ''; 374 | //result += ''; 375 | //result += ''; 376 | result += ''; 377 | result += ''; 378 | result += ''; 379 | result += ''; 380 | result += ''; 381 | result += ''; 382 | //result += ''; 383 | //result += ''; 384 | result += ''; 385 | result += ''; 386 | result += ''; 387 | result += ''; 388 | //result += ''; 389 | //result += ''; 390 | result += ''; 391 | result += ''; 392 | result += ''; 393 | result += ''; 394 | result += ''; 395 | //result += ''; 396 | //result += ''; 397 | result += ''; 398 | result += ''; 399 | result += '
' + cpuLabel + ' (' + langDuration + ') ' + elapsedLabel + ' (' + langDuration + ') ' + cpuLabel + ' ' + elapsedLabel + '
' + langCompileTitle + '' + numeral(compileValues.cpu).format('0,0') + '' + numeral(compileValues.elapsed).format('0,0') + '' + formatms(compileValues.cpu) + '' + formatms(compileValues.elapsed) + '
' + langExecutionTitle + '' + numeral(executionValues.cpu).format('0,0') + '' + numeral(executionValues.elapsed).format('0,0') + '' + formatms(executionValues.cpu) + '' + formatms(executionValues.elapsed) + '
Total' + numeral(cpuTotal).format('0,0') + '' + numeral(elapsedTotal).format('0,0') + '' + formatms(cpuTotal) + '' + formatms(elapsedTotal) + '
'; 400 | 401 | return result; 402 | } 403 | 404 | function outputIOTable(statInfo, statTotal, tableNumber, langObj) { 405 | var result = ''; 406 | result += ''; 407 | result += ''; 408 | result += ''; 409 | result += ''; 410 | result += ''; 411 | result += ''; 412 | result += ''; 413 | result += ''; 414 | result += ''; 415 | result += ''; 416 | result += ''; 417 | result += ''; 418 | result += ''; 419 | for (var i = 0; i < statInfo.length; i++) { 420 | result += ''; 421 | 422 | result += ''; 423 | result += ''; 424 | if (statInfo[i].nostats) { 425 | result += ''; 426 | result += ''; 427 | result += ''; 428 | result += ''; 429 | result += ''; 430 | result += ''; 431 | result += ''; 432 | result += ''; 433 | } else { 434 | result += ''; 435 | result += ''; 436 | result += ''; 437 | result += ''; 438 | result += ''; 439 | result += ''; 440 | result += ''; 441 | result += ''; 442 | } 443 | result += ''; 444 | } 445 | result += ''; 446 | result += ''; 447 | result += ''; 448 | result += ''; 449 | result += ''; 450 | result += ''; 451 | result += ''; 452 | result += ''; 453 | result += ''; 454 | result += ''; 455 | result += ''; 456 | result += ''; 457 | result += ''; 458 | 459 | result += '
' + langObj.headerrownum + '' + langObj.headertable + '' + langObj.headerscan + '' + langObj.headerlogical + '' + langObj.headerphysical + '' + langObj.headerreadahead + '' + langObj.headerloblogical + '' + langObj.headerlobphysical + '' + langObj.headerlobreadahead + '' + langObj.headerperlogicalread + '
' + statInfo[i].rownumber + '' + statInfo[i].table + '' + numeral(statInfo[i].scan).format('0,0') + '' + numeral(statInfo[i].logical).format('0,0') + '' + numeral(statInfo[i].physical).format('0,0') + '' + numeral(statInfo[i].readahead).format('0,0') + '' + numeral(statInfo[i].loblogical).format('0,0') + '' + numeral(statInfo[i].lobphysical).format('0,0') + '' + numeral(statInfo[i].lobreadahead).format('0,0') + '' + statInfo[i].percentread + '
' 460 | 461 | return result; 462 | } 463 | 464 | function getSubStr(str, delim) { 465 | var a = str.indexOf(delim); 466 | 467 | if (a == -1) 468 | return ''; 469 | 470 | var b = str.indexOf(delim, a + 1); 471 | 472 | if (b == -1) 473 | return ''; 474 | 475 | return str.substr(a + 1, b - a - 1); 476 | } 477 | 478 | function clearResult() { 479 | if (document.getElementById("result").innerHTML != '') { 480 | document.getElementById("result").innerHTML = ''; 481 | } else { 482 | document.getElementById("statiotext").value = ''; 483 | document.getElementById("exampleCheck").checked = false; 484 | } 485 | document.getElementById("clearButton").innerHTML = 'Clear Text'; 486 | } 487 | 488 | function versionNumber() { 489 | document.getElementById("versionNumber").innerHTML = '0.4.4'; 490 | } 491 | 492 | -------------------------------------------------------------------------------- /src/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jorriss/StatisticsParser/a21dfeb108864467fcb50e0690b1234771d76758/src/favicon.png -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Statistics Parser 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 58 | 59 |
60 |
StatisticsIOParser.com is now StatisticsParser.com! New name, same great taste!
61 | 62 |

Statistics Parser

63 |
64 | Sometimes reading SQL Server output from Statistics IO and Statistics Time can be 65 | a total drag. This page will help with that. Just paste in the output of Statistics 66 | IO and/or Statistics Time and press Parse. Your output will be formatted and totaled. Enjoy. 67 |
68 | 69 |
70 |

71 |

72 |
76 |
77 | 78 |

79 |
80 |
81 | 82 |
83 | 84 |
85 | 89 | 92 |
93 |
94 | 95 |
96 |
97 |
98 | 99 |

 

100 |

 

101 |
102 |
103 |
104 | 105 | 106 | 107 |
108 |
109 |

Built and maintained by Richie Rump (blog | twitter) and the fine folks at Jorriss LLC.

110 |

version

111 |
112 |
113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 155 | 156 | 166 | 167 | 168 | --------------------------------------------------------------------------------