Cyclone Slider - Version 2.13.0

Version Description

  • 2017-04-19 =
  • Codebase merge with Cyclone Slider. See detailed post.
  • Add Merge Screen and merge notice.
Download this release

Release Info

Developer kosinix
Plugin Icon 128x128 Cyclone Slider
Version 2.13.0
Comparing to
See all releases

Code changes from version 2.12.4 to 2.13.0

Files changed (88) hide show
  1. README.txt +5 -1
  2. cyclone-slider.php +42 -1
  3. src/CycloneSlider/Merge.php +115 -0
  4. src/cyclone-slider/README.txt +199 -0
  5. src/cyclone-slider/css/admin.css +778 -0
  6. src/cyclone-slider/cyclone-slider.php +28 -0
  7. src/cyclone-slider/images/gear.svg +1 -0
  8. src/cyclone-slider/images/loader.gif +0 -0
  9. src/cyclone-slider/images/screenshot.png +0 -0
  10. src/cyclone-slider/js/admin.js +558 -0
  11. src/cyclone-slider/js/client.js +83 -0
  12. src/cyclone-slider/js/store-json2.min.js +2 -0
  13. src/cyclone-slider/languages/cycloneslider-ar.mo +0 -0
  14. src/cyclone-slider/languages/cycloneslider-ar.po +1187 -0
  15. src/cyclone-slider/languages/cycloneslider-de_DE.mo +0 -0
  16. src/cyclone-slider/languages/cycloneslider-de_DE.po +1116 -0
  17. src/cyclone-slider/languages/cycloneslider-es_ES.mo +0 -0
  18. src/cyclone-slider/languages/cycloneslider-es_ES.po +1316 -0
  19. src/cyclone-slider/languages/cycloneslider-fa_IR.mo +0 -0
  20. src/cyclone-slider/languages/cycloneslider-fa_IR.po +1192 -0
  21. src/cyclone-slider/languages/cycloneslider-fr_FR.mo +0 -0
  22. src/cyclone-slider/languages/cycloneslider-fr_FR.po +1185 -0
  23. src/cyclone-slider/languages/cycloneslider-it_IT.mo +0 -0
  24. src/cyclone-slider/languages/cycloneslider-it_IT.po +1191 -0
  25. src/cyclone-slider/languages/cycloneslider-ja_JP.mo +0 -0
  26. src/cyclone-slider/languages/cycloneslider-ja_JP.po +1055 -0
  27. src/cyclone-slider/languages/cycloneslider-sr_RS.mo +0 -0
  28. src/cyclone-slider/languages/cycloneslider-sr_RS.po +1165 -0
  29. src/cyclone-slider/languages/cycloneslider.pot +1054 -0
  30. src/cyclone-slider/libs/cycle2/jquery.cycle2.carousel.min.js +2 -0
  31. src/cyclone-slider/libs/cycle2/jquery.cycle2.min.js +15 -0
  32. src/cyclone-slider/libs/cycle2/jquery.cycle2.scrollVert.min.js +2 -0
  33. src/cyclone-slider/libs/cycle2/jquery.cycle2.swipe.min.js +2 -0
  34. src/cyclone-slider/libs/cycle2/jquery.cycle2.tile.min.js +2 -0
  35. src/cyclone-slider/libs/cycle2/jquery.cycle2.video.min.js +2 -0
  36. src/cyclone-slider/libs/font-awesome/css/font-awesome-ie7.css +1203 -0
  37. src/cyclone-slider/libs/font-awesome/css/font-awesome-ie7.min.css +384 -0
  38. src/cyclone-slider/libs/font-awesome/css/font-awesome.css +1479 -0
  39. src/cyclone-slider/libs/font-awesome/css/font-awesome.min.css +403 -0
  40. src/cyclone-slider/libs/font-awesome/font/FontAwesome.otf +0 -0
  41. src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
  42. src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.svg +399 -0
  43. src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
  44. src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
  45. src/cyclone-slider/libs/jquery-easing/jquery.easing.1.3.1.js +208 -0
  46. src/cyclone-slider/libs/jquery-easing/jquery.easing.1.3.1.min.js +1 -0
  47. src/cyclone-slider/libs/magnific-popup/jquery.magnific-popup.js +2026 -0
  48. src/cyclone-slider/libs/magnific-popup/jquery.magnific-popup.min.js +4 -0
  49. src/cyclone-slider/libs/magnific-popup/magnific-popup.css +396 -0
  50. src/cyclone-slider/src/CycloneSlider/Admin.php +816 -0
  51. src/cyclone-slider/src/CycloneSlider/AssetLoader.php +193 -0
  52. src/cyclone-slider/src/CycloneSlider/Crispin/RestClientInterface.php +12 -0
  53. src/cyclone-slider/src/CycloneSlider/Crispin/RestClientWp.php +172 -0
  54. src/cyclone-slider/src/CycloneSlider/Crispin/RestSigner.php +38 -0
  55. src/cyclone-slider/src/CycloneSlider/Data.php +1015 -0
  56. src/cyclone-slider/src/CycloneSlider/ExportPage.php +219 -0
  57. src/cyclone-slider/src/CycloneSlider/ExportPageNextgen.php +277 -0
  58. src/cyclone-slider/src/CycloneSlider/Exporter.php +234 -0
  59. src/cyclone-slider/src/CycloneSlider/ExporterNextgen.php +184 -0
  60. src/cyclone-slider/src/CycloneSlider/Frontend.php +236 -0
  61. src/cyclone-slider/src/CycloneSlider/Grafika/Color.php +105 -0
  62. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/CubicBezier.php +105 -0
  63. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Ellipse.php +128 -0
  64. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Line.php +86 -0
  65. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Polygon.php +116 -0
  66. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/QuadraticBezier.php +89 -0
  67. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Rectangle.php +126 -0
  68. src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObjectInterface.php +17 -0
  69. src/cyclone-slider/src/CycloneSlider/Grafika/EditorInterface.php +275 -0
  70. src/cyclone-slider/src/CycloneSlider/Grafika/FilterInterface.php +17 -0
  71. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/CubicBezier.php +412 -0
  72. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Ellipse.php +42 -0
  73. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Line.php +36 -0
  74. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Polygon.php +64 -0
  75. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/QuadraticBezier.php +208 -0
  76. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Rectangle.php +36 -0
  77. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Editor.php +1210 -0
  78. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Blur.php +40 -0
  79. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Brightness.php +39 -0
  80. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Colorize.php +50 -0
  81. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Contrast.php +38 -0
  82. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Dither.php +108 -0
  83. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Gamma.php +38 -0
  84. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Grayscale.php +23 -0
  85. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Invert.php +24 -0
  86. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Pixelate.php +38 -0
  87. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Sharpen.php +49 -0
  88. src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Sobel.php +43 -0
README.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: kosinix
3
  Donate link: http://www.codefleet.net/donate/
4
  Tags: slider, slideshow, drag-and-drop, wordpress-slider, wordpress-slideshow, cycle 2, jquery, responsive, translation-ready, custom-post, cyclone-slider
5
  Requires at least: 3.5
6
- Tested up to: 4.5.3
7
  Stable tag: trunk
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -118,6 +118,10 @@ See: [http://docs.codefleet.net/cyclone-slider-2/creating-your-own-template/](ht
118
 
119
  == Changelog ==
120
 
 
 
 
 
121
  = 2.12.4 - 2016-08-10 =
122
  * Fix for worst image quality bug.
123
  * Merged with Grafika 1.4.0.
3
  Donate link: http://www.codefleet.net/donate/
4
  Tags: slider, slideshow, drag-and-drop, wordpress-slider, wordpress-slideshow, cycle 2, jquery, responsive, translation-ready, custom-post, cyclone-slider
5
  Requires at least: 3.5
6
+ Tested up to: 4.7.3
7
  Stable tag: trunk
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
118
 
119
  == Changelog ==
120
 
121
+ = 2.13.0 - 2017-04-19 =
122
+ * Codebase merge with Cyclone Slider. See [detailed post](https://www.codefleet.net/cyclone-slider-reborn/).
123
+ * Add Merge Screen and merge notice.
124
+
125
  = 2.12.4 - 2016-08-10 =
126
  * Fix for worst image quality bug.
127
  * Merged with Grafika 1.4.0.
cyclone-slider.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Cyclone Slider 2
4
  Plugin URI: http://www.codefleet.net/cyclone-slider-2/
5
  Description: Create and manage sliders with ease. Built for both casual users and developers.
6
- Version: 2.12.4
7
  Author: Nico Amarilla
8
  Author URI: http://www.codefleet.net/
9
  License: GPLv3
@@ -14,6 +14,31 @@ Text Domain: cyclone-slider-2
14
 
15
  require_once 'src/autoloader.php';
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  $cyclone_slider_plugin_instance = null;
18
  $cyclone_slider_saved_done = false;
19
 
@@ -22,6 +47,8 @@ add_action('plugins_loaded', 'cycloneslider_init');
22
  function cycloneslider_init() {
23
  global $cyclone_slider_plugin_instance;
24
 
 
 
25
  $plugin = new CycloneSlider_Plugin();
26
 
27
  $plugin['path'] = realpath(plugin_dir_path(__FILE__)) . DIRECTORY_SEPARATOR;
@@ -136,6 +163,9 @@ function cycloneslider_init() {
136
  'url' => get_admin_url( get_current_blog_id(), 'edit.php?post_type=cycloneslider&page=cycloneslider-import' )
137
  );
138
 
 
 
 
139
  $plugin['zip_archive'] = 'cycloneslider_service_zip_archive';
140
  $plugin['youtube'] = new CycloneSlider_Youtube();
141
  $plugin['vimeo'] = new CycloneSlider_Vimeo();
@@ -428,6 +458,17 @@ function cycloneslider_service_export_page_nextgen( $plugin ) {
428
  return $object;
429
  }
430
 
 
 
 
 
 
 
 
 
 
 
 
431
  function cycloneslider_service_zip_archive( $plugin ){
432
  return 'ZipArchive';
433
  }
3
  Plugin Name: Cyclone Slider 2
4
  Plugin URI: http://www.codefleet.net/cyclone-slider-2/
5
  Description: Create and manage sliders with ease. Built for both casual users and developers.
6
+ Version: 2.13.0
7
  Author: Nico Amarilla
8
  Author URI: http://www.codefleet.net/
9
  License: GPLv3
14
 
15
  require_once 'src/autoloader.php';
16
 
17
+
18
+
19
+ function child_plugin_notice(){
20
+ global $post;
21
+ $get = $_GET;
22
+ $page = '';
23
+ $post_type = '';
24
+ if( isset($post->post_type)){
25
+ $post_type = $post->post_type;
26
+ } else if (isset($get['post_type'])){
27
+ $post_type = $get['post_type'];
28
+ }
29
+
30
+ if (isset($get['page'])){
31
+ $page = $get['page'];
32
+ }
33
+
34
+ if( $post_type == 'cycloneslider' and $page != 'cycloneslider-merge'):
35
+ ?><div class="notice notice-info">
36
+ <p><?php echo sprintf(__('Announcement: Cyclone Slider 2 has been merged back to Cyclone Slider. All future updates will be delivered on the Cyclone Slider trunk. A detailed explanation can be found <a href="%s">here</a>.', 'cycloneslider'), 'https://www.codefleet.net/cyclone-slider-reborn');?></p>
37
+ <p><a href="<?php echo get_admin_url(NULL, 'edit.php?post_type=cycloneslider&page=cycloneslider-merge' ); ?>" class="button-secondary"><?php _e('Go to Merge Screen', 'cycloneslider');?></a></p>
38
+ </div><?php
39
+ endif;
40
+ }
41
+
42
  $cyclone_slider_plugin_instance = null;
43
  $cyclone_slider_saved_done = false;
44
 
47
  function cycloneslider_init() {
48
  global $cyclone_slider_plugin_instance;
49
 
50
+
51
+ add_action( 'admin_notices', 'child_plugin_notice' );
52
  $plugin = new CycloneSlider_Plugin();
53
 
54
  $plugin['path'] = realpath(plugin_dir_path(__FILE__)) . DIRECTORY_SEPARATOR;
163
  'url' => get_admin_url( get_current_blog_id(), 'edit.php?post_type=cycloneslider&page=cycloneslider-import' )
164
  );
165
 
166
+ $plugin['merge_page'] = 'cycloneslider_service_merge_page';
167
+
168
+
169
  $plugin['zip_archive'] = 'cycloneslider_service_zip_archive';
170
  $plugin['youtube'] = new CycloneSlider_Youtube();
171
  $plugin['vimeo'] = new CycloneSlider_Vimeo();
458
  return $object;
459
  }
460
 
461
+ function cycloneslider_service_merge_page( $plugin ){
462
+ static $object;
463
+
464
+ if (null !== $object) {
465
+ return $object;
466
+ }
467
+
468
+ $object = new CycloneSlider_Merge($plugin['view'], $plugin);
469
+ return $object;
470
+ }
471
+
472
  function cycloneslider_service_zip_archive( $plugin ){
473
  return 'ZipArchive';
474
  }
src/CycloneSlider/Merge.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class CycloneSlider_Merge {
3
+
4
+ private $view;
5
+ private $nonce_name;
6
+ private $nonce_action;
7
+ private $plugin;
8
+
9
+ public function __construct($view, $plugin){
10
+ $this->view = $view;
11
+ $this->plugin = $plugin;
12
+ $this->nonce_name = 'cycloneslider_merge_nonce';
13
+ $this->nonce_action = 'cycloneslider_merge';
14
+ }
15
+
16
+ public function run() {
17
+
18
+ // Catch Post
19
+ add_action('init', array( $this, 'catch_posts') );
20
+
21
+ // Add settings page
22
+ add_action( 'admin_menu', array( $this, 'add_menu_and_page'));
23
+ }
24
+
25
+ public function add_menu_and_page(){
26
+
27
+ // Use built-in WP function
28
+ add_submenu_page(
29
+ 'edit.php?post_type=cycloneslider',
30
+ __('Cyclone Slider Merge', 'cyclone-slider-2'),
31
+ __('Merge', 'cyclone-slider-2'),
32
+ 'manage_options',
33
+ 'cycloneslider-merge',
34
+ array( $this, 'render_page')
35
+ );
36
+ }
37
+
38
+ public function render_page(){
39
+ $nonce_name = 'cycloneslider_merge_nonce';
40
+ $nonce_action = 'cycloneslider_merge';
41
+
42
+ $vars = array();
43
+ $vars['nonce_name'] = $this->nonce_name;
44
+ $vars['nonce'] = wp_create_nonce( $this->nonce_action );
45
+ $this->view->render('merge.php', $vars);
46
+ }
47
+
48
+ public function catch_posts(){
49
+ $post = $_POST;
50
+
51
+
52
+ // Verify nonce
53
+ if( isset($post[ $this->nonce_name ]) and wp_verify_nonce( $post[ $this->nonce_name ], $this->nonce_action )){
54
+
55
+ if ( $post['submit'] === 'merge' ) {
56
+
57
+ // Check if CS1 is present and remove
58
+ if( is_dir($this->plugin['wp_content_dir'].'/plugins/cyclone-slider')){
59
+ $this->remdir($this->plugin['wp_content_dir'].'/plugins/cyclone-slider');
60
+ }
61
+
62
+ // Copy CS3
63
+ $src = $this->plugin['path'].'src/cyclone-slider';
64
+ $dest = $this->plugin['wp_content_dir'].'/plugins/cyclone-slider';
65
+
66
+ $this->recurse_copy(
67
+ $src,
68
+ $dest
69
+ );
70
+
71
+ // Deactivate CS2
72
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
73
+ deactivate_plugins( 'cyclone-slider-2/cyclone-slider.php', true );
74
+
75
+ // Activate CS3
76
+ activate_plugin( 'cyclone-slider/cyclone-slider.php', '', false, true );
77
+
78
+ wp_redirect(get_admin_url(NULL, 'plugins.php'));
79
+ exit;
80
+ }
81
+ }
82
+ }
83
+
84
+ public function recurse_copy($src, $dst) {
85
+ $dir = opendir($src);
86
+ @mkdir($dst);
87
+ while(false !== ( $file = readdir($dir)) ) {
88
+ if (( $file != '.' ) && ( $file != '..' )) {
89
+ if ( is_dir($src . '/' . $file) ) {
90
+ $this->recurse_copy($src . '/' . $file,$dst . '/' . $file);
91
+ }
92
+ else {
93
+ copy($src . '/' . $file,$dst . '/' . $file);
94
+ }
95
+ }
96
+ }
97
+ closedir($dir);
98
+ }
99
+
100
+ public function remdir($dir) {
101
+ if (is_dir($dir)) {
102
+ $objects = scandir($dir);
103
+ foreach ($objects as $object) {
104
+ if ($object != "." && $object != "..") {
105
+ if (is_dir($dir."/".$object)) {
106
+ $this->remdir($dir."/".$object);
107
+ } else {
108
+ unlink($dir."/".$object);
109
+ }
110
+ }
111
+ }
112
+ rmdir($dir);
113
+ }
114
+ }
115
+ }
src/cyclone-slider/README.txt ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Cyclone Slider ===
2
+ Contributors: kosinix
3
+ Donate link: http://www.codefleet.net/donate/
4
+ Tags: slider, slideshow, drag-and-drop, wordpress-slider, wordpress-slideshow, cycle 2, jquery, responsive, translation-ready, custom-post, cyclone-slider
5
+ Requires at least: 3.5
6
+ Tested up to: 4.7.3
7
+ Stable tag: trunk
8
+ License: GPLv3
9
+ License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
+
11
+ An easy-to-use and customizable slideshow plugin. For both casual users and expert developers.
12
+
13
+ == Description ==
14
+
15
+ Cyclone Slider is an easy-to-use slideshow plugin with an intuitive user interface. It's simple yet extensible.
16
+
17
+ = Why Use It? =
18
+ * Simplified workflow: 1.) Add slides 2.) Set slideshow properties 3.) Choose a template 4.) Publish! You can choose between a shortcode or a php function (for themes) to display.
19
+ * Supports 5 different slide types: image, YouTube, Vimeo, custom HTML, and testimonial slides.
20
+ * Translation ready and RTL support. Ideal for languages other than English.
21
+ * Comes with 4 core templates: Dark, Default, Standard and Thumbnails.
22
+ * Advance template system. Not happy with the core templates? The template system allows developers to customize the slideshow appearance and behavior. Perfect for every client projects. [More info on templating here](http://docs.codefleet.net/cyclone-slider/templating/).
23
+ * Selective loading. Load only the scripts and styles that you need.
24
+ * Import/export selected slideshows. Moving your slideshow to a different website? No problemo.
25
+ * It's FREE! Cyclone Slider does not impose the pro version to free users.
26
+
27
+ = More Features =
28
+ * Ability to add per-slide transition effects.
29
+ * Customizable tile transition effects.
30
+ * Unlimited sliders.
31
+ * Unique settings for each slider.
32
+ * Supports random slide order.
33
+ * Shortcode for displaying sliders anywhere in your site.
34
+ * Ability to import images from NextGEN (NextGEN must be installed and active).
35
+ * Ability to use qTranslate quick tags for slide title and descriptions (qTranslate must be installed and active).
36
+ * Allows title and alt to be specified for each slide images.
37
+ * Comes with a widget to display your slider easily in widget areas.
38
+ * Ability to fine tune the script settings. You can choose what scripts to load and where to load them.
39
+
40
+ = Cyclone Slider Pro =
41
+
42
+ Cyclone Slider Pro offers even more features:
43
+
44
+ * Allow wrap. Slideshow wraps to beginning slide if it reaches the end slide.
45
+ * Dynamic height. For slides with varying height.
46
+ * Delay. Delay start of slideshow
47
+ * Easing. Some cool transition effects.
48
+ * Swipe. Swipe gesture support for touch devices.
49
+ * 6 resize options: Fit, Fill, Crop, Exact, Exact Width, Exact Height
50
+ * Ability to change the image quality: Low, Medium, High, Very High, Max
51
+ * And two additional templates: Text and Galleria
52
+
53
+
54
+ = Demos =
55
+ * View some [screenshots](http://wordpress.org/plugins/cyclone-slider/screenshots/).
56
+ * Checkout the [Cyclone Slider homepage](https://www.codefleet.net/cyclone-slider/) for a live demo.
57
+
58
+ = Credits =
59
+ * Cyclone Slider was based on [Cycle 2](http://jquery.malsup.com/cycle2/) by [Mike Alsup](http://jquery.malsup.com/).
60
+
61
+ = Translation Credits =
62
+ * Aubin BERTHE for the French translation.
63
+ * maxgx for the Italian translation.
64
+ * [Hassan](http://wordpress.org/support/profile/hassanhamm) for the Arabic translation.
65
+ * Javad for the Persian translation.
66
+ * [Borisa Djuraskovic](http://www.webhostinghub.com/) for the Serbo-Croatian translation.
67
+ * [Gabriel Gil](http://gabrielgil.es/) and [Digital03](http://digital03.net/) for the Spanish translation.
68
+
69
+ Do you want to translate Cyclone Slider manually into your language? Check this [tutorial](http://docs.codefleet.net/cyclone-slider/translation/).
70
+
71
+ = License =
72
+ GPLv3 - http://www.gnu.org/licenses/gpl-3.0.html
73
+
74
+ == Installation ==
75
+
76
+ = Install via WordPress Admin =
77
+ 1. Ready the zip file of the plugin
78
+ 1. Go to Admin > Plugins > Add New
79
+ 1. On the upper portion click the Upload link
80
+ 1. Using the file upload field, upload the plugin zip file here and activate the plugin
81
+
82
+ = Install via FTP =
83
+ 1. First unzip the plugin file
84
+ 1. Using FTP go to your server's wp-content/plugins directory
85
+ 1. Upload the unzipped plugin here
86
+ 1. Once finished login into your WP Admin and go to Admin > Plugins
87
+ 1. Look for Cyclone Slider and activate it
88
+
89
+ = Usage =
90
+ 1. Start adding sliders in 'Cyclone Slider' menu in WordPress
91
+ 1. The shortcodes and php code are generated automatically by the plugin. Just copy and paste it.
92
+
93
+
94
+ == Frequently Asked Questions ==
95
+
96
+ = Why is my slider not working? =
97
+ Check for javascript errors in your page. This is the most common cause of the slider not running. See [diagnosing javascript errors](http://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors). Fix the javascript errors and the slider will run.
98
+
99
+ Also check if you are using jQuery Cycle 1 script by viewing your page source. jQuery Cycle2 won't work if both are present.
100
+
101
+ = How do I pause an auto running slider when I play a YouTube or Vimeo video? =
102
+ Sorry but its not currently supported as it requires loading the YouTube API which is an extra overhead. A solution would be to disable auto transition.
103
+
104
+ = Why is there is an extra slide that I didn't add? =
105
+ Most probably its wordpress adding paragpraphs on line breaks next to the slides therefore adding a blank `<p>` slide. You can try adding this to functions.php:
106
+ `remove_filter('the_content', 'wpautop');`
107
+
108
+ = Where do I add my own templates? =
109
+ See: [http://docs.codefleet.net/cyclone-slider/creating-your-own-template/](http://docs.codefleet.net/cyclone-slider/creating-your-own-template/)
110
+
111
+ == Screenshots ==
112
+
113
+ 1. All Slideshow Screen
114
+ 2. Slideshow Editing Screen
115
+ 3. Slideshow in Action
116
+ 4. Slideshow Widget
117
+ 5. Slideshow Settings
118
+
119
+ == Changelog ==
120
+
121
+ = 3.0.0 - 2017-04-12 =
122
+ * Codebase merge with Cyclone Slider 2. See [detailed post](https://www.codefleet.net/cyclone-slider-reborn/).
123
+ * Add "Legacy Mode" to restore full Cyclone Slider 1 functionality if needed.
124
+ * Add Slider Properties pane. You can now set per-slide settings on all slide types. Before it was only available for Image slides.
125
+ * Move Hidden option to Slider Properties pane.
126
+ * Sorting can now be toggled to prevent accidentally dragging slides.
127
+ * Add minimized/maximized button for it to be more obvious vs just toggling with the slide header.
128
+ * Slicker slide types dropdown.
129
+ * Cosmetic changes to Templates and Slide boxes.
130
+ * Update Cycle2 scripts to latest version.
131
+
132
+ = 1.3.4 - 2013-09-20 =
133
+ * Can now use WP 3.5 media gallery when using WP 3.5 or greater. Older WP versions will use the old media gallery.
134
+ * Clicking slide box title will now expand/collapse the box.
135
+ * Slide box can now be drag anywhere in the title area.
136
+
137
+ = 1.3.3 - 2012-12-18 =
138
+ * Bug fix. Preserve PNG transparency on resize.
139
+
140
+ = 1.3.2 - 2012-12-11 =
141
+ * Added gettext calls for qtranslate to work in title and description fields. You can now place [:en]English Text[:de]German Text in these fields.
142
+
143
+ = 1.3.1 - 2012-12-03 =
144
+ * Removed width and height attributes from slide images in responsive template
145
+
146
+ = 1.3.0 - 2012-11-28 =
147
+ Code now based from Cyclone Slider 2 codebase. The improvements are:
148
+
149
+ * Cleaner and faster user interface that works well even in IE7
150
+ * Ability to import images from NextGEN
151
+ * Option to pause slide on hover
152
+ * Option to open slide links in new tab
153
+ * Improved function cycloneslider_thumb
154
+ * Improved codes in templates. Please check your custom templates to match the changes in the template system. Old templates will still work but may not benefit from the newly added options
155
+ * Renamed jquery.cookie.js to jquery-cookie.js to prevent the bug in some servers where a file named jquery.cookie.js is blocked and not loaded
156
+
157
+ = 1.2.2 - 2012-10-05 =
158
+ * Fix error for CSS not loading for WPMU when there is already GET var in the url. Eg. http://www.url.com?lang=en
159
+
160
+ = 1.2.1 - 2012-09-25 =
161
+ * Added check for undefined jquery cookie plugin
162
+
163
+ = 1.2.0 - 2012-09-05 =
164
+ * Template selection via admin
165
+ * Child theme support. You can now add the `cycloneslider` templates folder inside a child theme. tnx Geoff
166
+ * Bug fix for template url/path missing a slash. tnx Chris
167
+ * German translation
168
+ * Remove unwanted whitespaces on templates at runtime to remove unwanted `<p>` tags from being added by wp
169
+
170
+ = 1.1.1 - 2012-09-02 =
171
+ * Fix bug on function cycloneslider_thumb
172
+ * Added improved thumbnails template
173
+
174
+ = 1.1.0 - 2012-08-31 =
175
+ * New templates
176
+ * New and improved template system
177
+
178
+ = 1.0.6 - 2012-08-26 =
179
+ * Bug fix for titles and descriptions out of sync after deleting a slide
180
+
181
+ = 1.0.5 - 2012-08-24 =
182
+ * Caching for thumbnails
183
+ * Autodetect "cycloneslider" folder inside current active theme
184
+
185
+ = 1.0.4 - 2012-08-18 =
186
+ * Added default values when adding a new slideshow to help users.
187
+ * Added visual cues when adding new slides.
188
+ * Hide preview in admin img when its src is blank to hide the img not found on IE and other browsers. Show only when src is given.
189
+
190
+ = 1.0.3 =
191
+ * Bug fix if shortcode attributes are set to zero eg. timeout="0". Change use of empty() to === to differentiate null from integer zero or blank string
192
+
193
+ = 1.0.2 =
194
+ * Prefixed meta keys with underscore _ to hide from wp custom field metabox. Existing slider data will be silently migrated into this new meta keys.
195
+ * Thumbnail function added.
196
+
197
+ == Upgrade Notice ==
198
+
199
+ See changelog
src/cyclone-slider/css/admin.css ADDED
@@ -0,0 +1,778 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .clear{
2
+ clear:both;
3
+ display: block;
4
+ }
5
+ .clearfix:after,
6
+ .cs-slide-image:after,
7
+ .cs-slide-youtube:after,
8
+ .cs-slide-actions:after,
9
+ .cs-slide-testimonial:after {
10
+ content: "";
11
+ display: block;
12
+ height: 0;
13
+ clear: both;
14
+ visibility: hidden;
15
+ }
16
+
17
+ /*** Add extra space in wp 3.6 ***/
18
+ .cycloneslider.version-3-6 #titlediv{
19
+ margin-bottom: 20px;
20
+ }
21
+
22
+ /*** ID Metabox ***/
23
+ #cyclone-slider-id input[type="text"]{
24
+ display: inline-block;
25
+ min-width: 30%;
26
+ }
27
+ #cyclone-slider-id .cycloneslider-field{
28
+ padding: 10px 10px 0 10px;
29
+ }
30
+
31
+ /*** Codes Metabox ***/
32
+ #cyclone-slider-codes .inside{
33
+ padding:0;
34
+ }
35
+
36
+ /*** Slides Metabox ***/
37
+ #cyclone-slides-metabox .inside,
38
+ #cyclone-slider-templates-metabox .inside {
39
+ margin:0;
40
+ padding:0;
41
+ box-sizing: border-box;
42
+ }
43
+ #cyclone-slides-metabox .inside *,
44
+ #cyclone-slides-templates-metabox .inside * {
45
+ box-sizing: inherit;
46
+ }
47
+ .cs-slide-actions {
48
+ padding: 20px;
49
+ border-bottom: 1px solid #eee;
50
+ }
51
+ .cs-slide-actions button {
52
+ float: left;
53
+ border: 1px solid #d3d3d3;
54
+ padding: 5px 10px;
55
+ margin: 0;
56
+ color: #444;
57
+ line-height: 1.5;
58
+ cursor:pointer;
59
+ outline: 0;
60
+ margin-left: -1px;
61
+ background-color: #f1f1f1; /* Fallback */
62
+ background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */
63
+ background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */
64
+ background-image: -o-linear-gradient(top, #f9f9f9, #ececec); /* Opera */
65
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); /* old Webkit */
66
+ background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); /* new Webkit */
67
+ background-image: linear-gradient(top, #f9f9f9, #ececec); /* proposed W3C Markup */
68
+ }
69
+ .cs-slide-actions button:hover,
70
+ .cs-slide-actions button:focus {
71
+ border-color: #999;
72
+ position: relative;
73
+ z-index: 1;
74
+ }
75
+ .cs-slide-actions button.active {
76
+ -webkit-box-shadow: inset 0 0 15px #006799;
77
+ -moz-box-shadow: inset 0 0 15px #006799;
78
+ box-shadow: inset 0 0 15px #006799;
79
+ background: #0085ba;
80
+ color: #fff;
81
+ border-color: #0085b9;
82
+ }
83
+ .cs-slide-actions button:first-child {
84
+ border-top-left-radius: 3px;
85
+ border-bottom-left-radius: 3px;
86
+ margin-left: 0;
87
+ }
88
+ .cs-slide-actions button:last-child {
89
+ border-top-right-radius: 3px;
90
+ border-bottom-right-radius: 3px;
91
+ }
92
+ .cs-sortables {
93
+ padding: 0;
94
+ margin: 20px;
95
+ }
96
+ .cs-sortables.active {
97
+ padding: 10px;
98
+ border: 1px dashed #d3d3d3;
99
+ }
100
+ .cs-sortables.active .cs-header {
101
+ cursor: move;
102
+ }
103
+ .cs-slide {
104
+ margin-bottom:10px;
105
+ }
106
+ .cs-slide:last-child,
107
+ .cs-slide-placeholder:last-child {
108
+ margin-bottom: 0;
109
+ }
110
+ .cs-header{
111
+ position: relative;
112
+ border:1px solid #D3D3D3;
113
+ background-color: #f1f1f1; /* Fallback */
114
+ background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */
115
+ background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */
116
+ background-image: -o-linear-gradient(top, #f9f9f9, #ececec); /* Opera */
117
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); /* old Webkit */
118
+ background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); /* new Webkit */
119
+ background-image: linear-gradient(top, #f9f9f9, #ececec); /* proposed W3C Markup */
120
+ }
121
+
122
+ .cs-slide[data-slide-hidden="1"] .cs-header {
123
+ border-color: #e0e0e0;
124
+ color: #A2A2A2;
125
+ }
126
+
127
+ .cs-slide-settings .expandable-header {
128
+ border: 0;
129
+ text-align: right;
130
+ }
131
+ .rtl .cs-slide-settings .expandable-header {
132
+ text-align: left;
133
+ }
134
+ .cs-slide-settings .expandable-body {
135
+ border-left: 0;
136
+ border-right: 0;
137
+ }
138
+
139
+ .admin-color-light .cs-header {
140
+ background-color: #F9F9F9;
141
+ background-image: none;
142
+ }
143
+
144
+ /* Admin - Blue */
145
+ .admin-color-blue .cs-title,
146
+ .admin-color-blue .cs-header .cs-icon,
147
+ .admin-color-blue .cs-templates,
148
+ .admin-color-blue .cs-templates .body.active,
149
+ .admin-color-blue .cs-templates a,
150
+ .admin-color-blue.cycloneslider h2,
151
+ .admin-color-blue.cycloneslider h3,
152
+ .admin-color-blue.cycloneslider .meta-box-sortables,
153
+ .admin-color-blue .expandable-header,
154
+ .admin-color-blue .cs-slide .note,
155
+ .admin-color-blue .cycloneslider-field .note {
156
+ color: #0C4D63;
157
+ }
158
+
159
+ /* Admin - Ocean */
160
+ .admin-color-ocean .cs-title,
161
+ .admin-color-ocean .cs-header .cs-icon,
162
+ .admin-color-ocean .cs-templates,
163
+ .admin-color-ocean .cs-templates .body.active,
164
+ .admin-color-ocean .cs-templates a,
165
+ .admin-color-ocean.cycloneslider h2,
166
+ .admin-color-ocean.cycloneslider h3,
167
+ .admin-color-ocean.cycloneslider .meta-box-sortables,
168
+ .admin-color-ocean .expandable-header,
169
+ .admin-color-ocean .cs-slide .note,
170
+ .admin-color-ocean .cycloneslider-field .note {
171
+ color: #516166;
172
+ }
173
+
174
+ /* Admin - Coffee */
175
+ .admin-color-coffee .cs-title,
176
+ .admin-color-coffee .cs-header .cs-icon,
177
+ .admin-color-coffee .cs-templates,
178
+ .admin-color-coffee .cs-templates a,
179
+ .admin-color-coffee.cycloneslider h2,
180
+ .admin-color-coffee.cycloneslider h3,
181
+ .admin-color-coffee.cycloneslider .meta-box-sortables,
182
+ .admin-color-coffee .expandable-header,
183
+ .admin-color-coffee .cs-slide .note,
184
+ .admin-color-coffee .cycloneslider-field .note {
185
+ color: #59524C;
186
+ }
187
+ .admin-color-coffee .cs-templates .body.active,
188
+ .admin-color-coffee .cs-templates .body.active a{
189
+ color: #46403C;
190
+ }
191
+ .admin-color-coffee .cs-header,
192
+ .admin-color-coffee .cs-body,
193
+ .admin-color-coffee .cs-header .cs-icon,
194
+ .admin-color-coffee .cs-slide-type-bar {
195
+ border-color: #D8CCC2;
196
+ }
197
+ .admin-color-coffee .cs-slide:hover .cs-header,
198
+ .admin-color-coffee .cs-slide:hover .cs-body{
199
+ border-color: #CABCB1;
200
+ }
201
+
202
+ /* Admin - Ectoplasm */
203
+ .admin-color-ectoplasm .cs-title,
204
+ .admin-color-ectoplasm .cs-header .cs-icon,
205
+ .admin-color-ectoplasm .cs-templates,
206
+ .admin-color-ectoplasm .cs-templates a,
207
+ .admin-color-ectoplasm.cycloneslider h2,
208
+ .admin-color-ectoplasm.cycloneslider h3,
209
+ .admin-color-ectoplasm.cycloneslider .meta-box-sortables,
210
+ .admin-color-ectoplasm .expandable-header,
211
+ .admin-color-ectoplasm .cs-slide .note,
212
+ .admin-color-ectoplasm .cycloneslider-field .note {
213
+ color: #413256;
214
+ }
215
+ .admin-color-ectoplasm .cs-templates .body.active{
216
+ color: #523F6D;
217
+ }
218
+ .admin-color-ectoplasm .cs-header,
219
+ .admin-color-ectoplasm .cs-body,
220
+ .admin-color-ectoplasm .cs-header .cs-icon,
221
+ .admin-color-ectoplasm .cs-slide-type-bar {
222
+ border-color: #D8CAEC;
223
+ }
224
+ .admin-color-ectoplasm .cs-slide:hover .cs-header,
225
+ .admin-color-ectoplasm .cs-slide:hover .cs-body{
226
+ border-color: #BEB1CF;
227
+ }
228
+
229
+ /* Admin - Sunrise */
230
+ .admin-color-sunrise .cs-title,
231
+ .admin-color-sunrise .cs-header .cs-icon,
232
+ .admin-color-sunrise .cs-templates,
233
+ .admin-color-sunrise .cs-templates .body.active,
234
+ .admin-color-sunrise .cs-templates a,
235
+ .admin-color-sunrise.cycloneslider h2,
236
+ .admin-color-sunrise.cycloneslider h3,
237
+ .admin-color-sunrise.cycloneslider .meta-box-sortables,
238
+ .admin-color-sunrise .expandable-header,
239
+ .admin-color-sunrise .cs-slide .note,
240
+ .admin-color-sunrise .cycloneslider-field .note {
241
+ color: #8B3B38;
242
+ }
243
+
244
+ .cs-header .cs-icon{
245
+ float:left;
246
+ padding:6px;
247
+ border-right:1px solid #D3D3D3;
248
+ }
249
+ .rtl .cs-header .cs-icon{
250
+ float:right;
251
+ border-left:1px solid #D3D3D3;
252
+ border-right:0;
253
+ }
254
+ .cs-icon i{
255
+ font-size: 14px;
256
+ width:14px;
257
+ height:14px;
258
+ display:none;
259
+ }
260
+ .cs-title{
261
+ float:left;
262
+ padding:4px 6px;
263
+ max-width: 50%;
264
+ white-space: nowrap;
265
+ overflow: hidden;
266
+ -ms-text-overflow: ellipsis;
267
+ text-overflow: ellipsis;
268
+ }
269
+ .rtl .cs-title{
270
+ float:right;
271
+ }
272
+ .cs-controls{
273
+ float:right;
274
+ padding:2px 5px;
275
+ }
276
+ .rtl .cs-controls{
277
+ float:left;
278
+ text-align: right;
279
+ }
280
+ .cs-controls button {
281
+ font-size: 16px;
282
+ background: none;
283
+ border: 0;
284
+ outline:0;
285
+ cursor: pointer;
286
+ }
287
+ .cs-controls .cs-delete{
288
+ color: #CC0A0C;
289
+ }
290
+ .cs-controls .cs-minimize{
291
+ color: #444;
292
+ }
293
+ .cs-slide:hover .cs-header,
294
+ .cs-slide:hover .cs-body{
295
+ border-color:#c0c0c0;
296
+ }
297
+ .cs-header .cs-delete:hover{
298
+ color:#ff0000;
299
+ }
300
+ .cs-body{
301
+ background:#F5F5F5;
302
+ min-height:1px; /* IE7 - on open disappearing content - bug fix */
303
+ border-left:1px solid #D3D3D3;
304
+ border-right:1px solid #D3D3D3;
305
+ border-bottom:1px solid #D3D3D3;
306
+ display:none;
307
+ }
308
+ .cs-slide-type-bar{
309
+ padding:10px 2%;
310
+ background: #ECECEC;
311
+ border-bottom:1px solid #D3D3D3;
312
+ }
313
+ .cs-slide-hidden {
314
+ float: right;
315
+ display: block;
316
+ margin-top: 6px;
317
+ }
318
+ .cs-image-thumb img{
319
+ display:block;
320
+ max-width:90%;
321
+ margin-bottom:10px;
322
+ border:3px solid #ccc;
323
+ }
324
+ .cs-media-gallery-show{
325
+ margin-bottom:15px;
326
+ }
327
+ .cs-slide textarea{
328
+ overflow:auto;
329
+ }
330
+ .cs-slide .note,
331
+ .cycloneslider-field .note{
332
+ font-weight:normal;
333
+ font-size:11px;
334
+ font-style:italic;
335
+ color:#666666;
336
+ }
337
+
338
+ /* Image slide */
339
+ .cs-image-preview,
340
+ .cs-image-edit {
341
+ float: left;
342
+ width: 50%;
343
+ padding: 15px;
344
+ }
345
+ .cs-image-edit {
346
+ padding-left: 0;
347
+ }
348
+ .rtl .cs-image-preview,
349
+ .rtl .cs-image-edit {
350
+ float: right;
351
+ }
352
+ .rtl .cs-image-edit {
353
+ padding-left: 15px;
354
+ padding-right: 0;
355
+ }
356
+
357
+ /* Select */
358
+ .cs-slide-type {
359
+ float: left;
360
+ position: relative;
361
+ }
362
+ .switcher {
363
+ cursor: pointer;
364
+ }
365
+ .switcher > i {
366
+ position: absolute;
367
+ right: 10px;
368
+ top: 50%;
369
+ transform: translateY(-60%);
370
+ }
371
+ .switcher .display {
372
+ display: block;
373
+ min-width: 115px;
374
+ border-right: 1px solid #d3d3d3;
375
+ padding: 5px 25px 5px 10px;
376
+ }
377
+ .switcher .display i,
378
+ .switcher li i {
379
+ display: inline-block;
380
+ min-width: 15px;
381
+ }
382
+ .switcher .display span,
383
+ .switcher li span {
384
+ margin-left: 5px;
385
+ padding-left: 6px;
386
+ border-left: 1px solid #d3d3d3;
387
+ }
388
+ .switcher ul {
389
+ display: none;
390
+ padding: 0;
391
+ margin: 0;
392
+ list-style: none inside;
393
+ position: absolute;
394
+ left: 0;
395
+ top: 100%;
396
+ width: 100%;
397
+ background: rgba(255,255,255,0.9);
398
+ border-left:1px solid #d3d3d3;
399
+ border-right:1px solid #d3d3d3;
400
+ border-top:1px solid #d3d3d3;
401
+ z-index: 100;
402
+ }
403
+ .switcher.open ul {
404
+ display: block;
405
+ }
406
+ .switcher li {
407
+ padding: 5px 10px;
408
+ margin: 0;
409
+ border-bottom:1px solid #d3d3d3;
410
+ }
411
+ .switcher li:hover {
412
+ background: #d54e21;
413
+ color: #fff;
414
+ }
415
+
416
+
417
+ /*** Video ***/
418
+ .cs-video-preview{
419
+ padding:15px 2%;
420
+ float:left;
421
+ width:40%;
422
+ }
423
+ .rtl .cs-video-preview{
424
+ float:right;
425
+ }
426
+ .cs-video-error{
427
+ background-color: #FFEBE8;
428
+ border-top: 1px solid #C00;
429
+ border-bottom: 1px solid #C00;
430
+ }
431
+ .cs-video-error p{
432
+ padding: 5px 10px;
433
+ margin: 0;
434
+ }
435
+ .cs-video-settings{
436
+ float:left;
437
+ width:50%;
438
+ padding:15px 2%;
439
+ min-width:300px;
440
+ }
441
+ .rtl .cs-video-settings{
442
+ float:right;
443
+ }
444
+ .cs-loader{
445
+ display:inline-block;
446
+ width:24px;
447
+ height:24px;
448
+
449
+ }
450
+ .cs-video-thumb{
451
+ background: url(../images/loader.gif) no-repeat center;
452
+ min-height:150px;
453
+ }
454
+ .cs-video-thumb img{
455
+ max-width:100%;
456
+ margin-bottom:15px;
457
+ }
458
+
459
+ /*** Custom HTML ***/
460
+ .cs-slide-custom{
461
+ padding:15px 2%;
462
+ }
463
+ .cs-custom-html{
464
+ min-height:140px;
465
+ }
466
+
467
+ /*** YouTube Slide ***/
468
+ .cs-slide-youtube {
469
+ padding: 15px;
470
+ }
471
+
472
+ /*** YouTube Vimeo ***/
473
+ .cs-slide-vimeo {
474
+ padding: 15px;
475
+ }
476
+
477
+ /*** Testimonial ***/
478
+ .cs-testimonial-quote,
479
+ .cs-quote-properties {
480
+ float:left;
481
+ padding:15px;
482
+ width:50%;
483
+ }
484
+ .rtl .cs-testimonial-quote,
485
+ .rtl .cs-quote-properties {
486
+ float:right;
487
+ }
488
+
489
+ /*** Hide other slide types ***/
490
+ .cs-slide-image,
491
+ .cs-slide-video,
492
+ .cs-slide-custom,
493
+ .cs-slide-youtube,
494
+ .cs-slide-vimeo,
495
+ .cs-slide-testimonial{
496
+ display: none;
497
+ }
498
+
499
+ /*** Show selected slide type ***/
500
+ .cs-slide[data-slide-type="image"] .cs-slide-image,
501
+ .cs-slide[data-slide-type="video"] .cs-slide-video,
502
+ .cs-slide[data-slide-type="custom"] .cs-slide-custom,
503
+ .cs-slide[data-slide-type="youtube"] .cs-slide-youtube,
504
+ .cs-slide[data-slide-type="vimeo"] .cs-slide-vimeo,
505
+ .cs-slide[data-slide-type="testimonial"] .cs-slide-testimonial{
506
+ display: block;
507
+ }
508
+
509
+ /*** Slide effects toggle ***/
510
+ .cycloneslider_metas_enable_slide_effects{
511
+ float:right;
512
+ margin-bottom:15px;
513
+ }
514
+ .rtl .cycloneslider_metas_enable_slide_effects{
515
+ float:left;
516
+ }
517
+
518
+ /*** Placeholder ***/
519
+ .cs-slide-placeholder{
520
+ padding:5px;
521
+ height:20px;
522
+ border:1px dashed #ccc;
523
+ margin-bottom:10px;
524
+ min-height: 30px;
525
+ }
526
+
527
+ /* Skeleton for adding slide box in JS */
528
+ .cs-slide-skeleton{
529
+ display:none;
530
+ }
531
+
532
+ /*** Expandables ***/
533
+ .expandable-box.last{
534
+ border-bottom:1px solid #D3D3D3;
535
+ }
536
+ .expandable-header{
537
+ border-left:1px solid #D3D3D3;
538
+ border-right:1px solid #D3D3D3;
539
+ border-top:1px solid #D3D3D3;
540
+ padding:3px 7px;
541
+ color:#666666;
542
+ background-color: #f1f1f1;
543
+ cursor:pointer;
544
+ }
545
+ .expandable-body{
546
+ border-top:1px solid #D3D3D3;
547
+ border-left:1px solid #D3D3D3;
548
+ border-right:1px solid #D3D3D3;
549
+ padding:20px;
550
+ background:#f9f9f9;
551
+ display:none;
552
+ }
553
+ .expandable-header.first{
554
+ -webkit-border-radius: 3px 3px 0px 0px;
555
+ border-radius: 3px 3px 0px 0px;
556
+ }
557
+ .expandable-box input.widefat[type="text"]:disabled{
558
+ background: #f1f1f1;
559
+ }
560
+
561
+
562
+
563
+ /*** Form Fields ***/
564
+ .field{
565
+ margin-bottom:15px;
566
+ }
567
+ .field.last{
568
+ margin:0;
569
+ }
570
+ .field label{
571
+ display:inline-block;
572
+ margin-bottom:5px;
573
+ font-weight:bold;
574
+ }
575
+ .field-inline label{
576
+ width:40%;
577
+ }
578
+ .field-inline input,
579
+ .field-inline select,
580
+ .field-inline textarea{
581
+ max-width:40%;
582
+ }
583
+
584
+ .field-normal {
585
+ padding-top:10px;
586
+ }
587
+ .field-normal label{
588
+ font-weight: normal;
589
+ }
590
+
591
+ .cycloneslider-slide-meta-speed,
592
+ .cycloneslider-slide-meta-timeout,
593
+ .cycloneslider-slide-meta-tile-count,
594
+ .cycloneslider-slide-meta-tile-delay{
595
+ width:25%;
596
+ }
597
+ .cycloneslider-meta-field .note.disabled,
598
+ label.disabled,
599
+ input:disabled{
600
+ color:#999;
601
+ }
602
+
603
+ #cyclone-slider-properties-metabox .inside,
604
+ #cyclone-slider-advanced-settings-metabox .inside{
605
+ padding:0;
606
+ }
607
+
608
+ /*** Cycloneslider Field ***/
609
+ .cycloneslider-field{
610
+ padding:15px 10px 20px 10px;
611
+ border-bottom:1px solid #DFDFDF;
612
+ }
613
+ .cycloneslider-field.last{
614
+ padding-bottom:10px;
615
+ border-bottom:0;
616
+ }
617
+ .cycloneslider-field label{
618
+ display:block;
619
+ font-weight:bold;
620
+ margin-bottom:5px;
621
+ }
622
+ .cycloneslider-field input[type="text"],
623
+ .cycloneslider-field select{
624
+ display:block;
625
+ min-width:50%;
626
+ margin-bottom:3px;
627
+ }
628
+ .cycloneslider-field-tile-properties,
629
+ .cycloneslider-slide-tile-properties{
630
+ display:none;
631
+ }
632
+ .cycloneslider-spacer-10{
633
+ height:10px;
634
+ }
635
+ .cycloneslider-spacer-15{
636
+ height:15px;
637
+ }
638
+
639
+ /*** Nextgen ***/
640
+ #cyclone-nextgen-metabox .inside{
641
+ padding:0;
642
+ }
643
+ .cycloneslider-field label.inline{
644
+ display:inline-block;
645
+ margin:0 0 0 3px;
646
+ }
647
+ #cyclone-nextgen-metabox select{
648
+ display:inline-block;
649
+ margin:0 0 0 3px;
650
+ }
651
+
652
+
653
+ /*** Templates ***/
654
+ .cs-templates {
655
+ width: 100%;
656
+ border-spacing: 0;
657
+
658
+ }
659
+ .cs-templates th {
660
+ padding: 5px;
661
+ border-bottom:1px solid #ececec;
662
+ }
663
+
664
+ .cs-templates td {
665
+ padding: 10px;
666
+ }
667
+ .cs-templates td a {
668
+ text-decoration: none;
669
+ }
670
+ .cs-templates td:nth-child(1),
671
+ .cs-templates td:nth-child(2) {
672
+ text-align: left;
673
+ }
674
+ .rtl .cs-templates td:nth-child(1),
675
+ .rtl .cs-templates td:nth-child(2) {
676
+ text-align: right;
677
+ }
678
+ .cs-templates td:nth-child(3),
679
+ .cs-templates td:nth-child(4) {
680
+ text-align: center;
681
+ }
682
+ .cs-templates td:nth-child(2) a {
683
+ color:#444;
684
+ }
685
+ .cs-templates .active td {
686
+ background: #ececec;
687
+ }
688
+ .cs-templates .active label,
689
+ .cs-templates .active td:nth-child(2) a {
690
+ color: #0085ba;
691
+ }
692
+ .cs-boxy{
693
+ position: absolute;
694
+ left: 0;
695
+ top:10%;
696
+ padding: 10px 20px;
697
+ background: #fff;
698
+ z-index: 1000;
699
+ border: 1px solid #CFCFCF;
700
+ display: none;
701
+ border-radius: 5px;
702
+ }
703
+ .cs-templates-buttons {
704
+ border-top: 1px solid #ececec;
705
+ padding: 10px;
706
+ }
707
+
708
+ /*** Preview ***/
709
+ #cyclone-slider-preview-metabox .inside{
710
+ overflow: auto;
711
+ }
712
+
713
+ /*** Hide admin stuff ***/
714
+ .inline-edit-date,
715
+ .inline-edit-group{
716
+ display:none;
717
+ }
718
+
719
+ #cycloneslider_settings_resize{
720
+ display: inline-block;
721
+ }
722
+ label[for="force_resize"]{
723
+ display: inline-block;
724
+ font-weight: normal;
725
+ margin: 0;
726
+ }
727
+
728
+ /*** Responsive ***/
729
+ @media (max-width: 800px) {
730
+ .cs-templates .template-name {
731
+ width: 20%;
732
+ }
733
+ .cs-templates .supported-slide-types {
734
+ width: 35%;
735
+ }
736
+ .cs-templates .cs-location {
737
+ width: 15%;
738
+ }
739
+ }
740
+
741
+ /*** Pro ***/
742
+ .cycloneslider-cover{
743
+ position: absolute;
744
+ left: 0;
745
+ top: 0;
746
+ width: 100%;
747
+ height: 100%;
748
+ background: #F8F8F8;
749
+ opacity: 0.7;
750
+ z-index: 99;
751
+ }
752
+ .cycloneslider-cover p{
753
+ text-align: center;
754
+ padding: 80px 0 0 0;
755
+ font-size: 20px;
756
+ }
757
+ .cycloneslider-cover p a{
758
+ text-decoration: underline;
759
+ }
760
+ .cs2-disabled{
761
+ color: #999;
762
+ }
763
+
764
+ /* Override Admin CSS to prevent covering the lightbox prev button during preview */
765
+ .sticky-menu #adminmenuwrap {
766
+ z-index: 999;
767
+ }
768
+
769
+ .export-page-list {
770
+ list-style: inside square;
771
+ }
772
+
773
+ .cs-upgrade-action a {
774
+ text-decoration: none;
775
+ display: block;
776
+ padding:1px 2px;
777
+ }
778
+
src/cyclone-slider/cyclone-slider.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Cyclone Slider
4
+ Plugin URI: http://www.codefleet.net/cyclone-slider-3/
5
+ Description: Create and manage sliders with ease. Built for both casual users and developers.
6
+ Version: 3.0.0
7
+ Author: Nico Amarilla
8
+ Author URI: http://www.codefleet.net/
9
+ License: GPLv3
10
+ License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
+ Domain Path: /languages
12
+ Text Domain: cycloneslider
13
+ */
14
+
15
+ // Legacy mode or not
16
+ $option = get_option('cyclone_option_name');
17
+
18
+ $get = $_GET;
19
+ if(isset($get['cs_legacy_mode']) and $get['cs_legacy_mode']='off'){
20
+ $option['legacy'] = 0;
21
+ update_option('cyclone_option_name', $option);
22
+ }
23
+ if ( isset($option['legacy']) and $option['legacy'] ) {
24
+ require_once 'src/legacy/cyclone-slider.php';
25
+ } else {
26
+ require_once 'src/autoloader.php';
27
+ require_once 'src/plugin.php';
28
+ }
src/cyclone-slider/images/gear.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="857.6 857.6 76.8 76.8"><path d="M908.8 896c0-3.533-1.25-6.55-3.75-9.05s-5.517-3.75-9.05-3.75-6.55 1.25-9.05 3.75-3.75 5.517-3.75 9.05 1.25 6.55 3.75 9.05 5.517 3.75 9.05 3.75 6.55-1.25 9.05-3.75 3.75-5.517 3.75-9.05zm25.6-5.45v11.1c0 .4-.134.783-.4 1.15-.267.366-.6.583-1 .65l-9.25 1.4c-.633 1.8-1.283 3.315-1.95 4.55 1.167 1.665 2.95 3.966 5.35 6.898.334.4.5.817.5 1.25 0 .434-.15.817-.45 1.15-.9 1.233-2.55 3.033-4.95 5.4-2.398 2.366-3.966 3.55-4.7 3.55-.398 0-.832-.15-1.3-.45l-6.898-5.4c-1.467.767-2.983 1.4-4.55 1.9-.534 4.533-1.018 7.634-1.45 9.3-.233.934-.834 1.4-1.8 1.4h-11.1c-.468 0-.876-.142-1.226-.425-.35-.284-.542-.642-.575-1.075l-1.4-9.2c-1.632-.533-3.132-1.15-4.5-1.85l-7.05 5.35c-.332.3-.75.45-1.25.45-.466 0-.882-.184-1.25-.55-4.2-3.8-6.95-6.6-8.25-8.4-.232-.333-.35-.717-.35-1.15 0-.4.134-.783.4-1.15.5-.7 1.35-1.808 2.55-3.324 1.2-1.517 2.1-2.69 2.7-3.525-.9-1.667-1.582-3.317-2.05-4.95l-9.15-1.35c-.433-.067-.783-.275-1.05-.626-.266-.35-.4-.74-.4-1.175v-11.1c0-.4.134-.784.4-1.15s.584-.584.95-.65l9.3-1.4c.468-1.534 1.118-3.067 1.95-4.6-1.332-1.9-3.116-4.2-5.35-6.9-.332-.4-.5-.8-.5-1.2 0-.334.15-.718.45-1.15.868-1.2 2.51-2.993 4.926-5.376s3.992-3.575 4.725-3.575c.434 0 .868.166 1.3.5l6.9 5.35c1.468-.768 2.984-1.4 4.55-1.9.534-4.535 1.018-7.634 1.45-9.3.234-.934.834-1.4 1.8-1.4h11.1c.468 0 .876.14 1.227.424.35.284.54.642.575 1.075l1.4 9.2c1.633.532 3.133 1.15 4.5 1.85l7.1-5.35c.3-.3.7-.45 1.2-.45.433 0 .85.166 1.25.5 4.3 3.966 7.05 6.8 8.25 8.5.232.266.35.632.35 1.1 0 .4-.134.782-.4 1.15-.5.7-1.35 1.808-2.55 3.324s-2.1 2.69-2.7 3.525c.867 1.666 1.55 3.3 2.05 4.9l9.15 1.4c.434.066.783.274 1.05.624s.398.743.398 1.176z"/></svg>
src/cyclone-slider/images/loader.gif ADDED
Binary file
src/cyclone-slider/images/screenshot.png ADDED
Binary file
src/cyclone-slider/js/admin.js ADDED
@@ -0,0 +1,558 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*** Wrapper module for js store ***/
2
+ var cs_local_storage = (function () {
3
+ return {
4
+ get: function (key) {
5
+ if(store!=undefined){
6
+ return store.get(key);
7
+ }
8
+ return false;
9
+ },
10
+ set: function (key, value) {
11
+ if(store!=undefined){
12
+ store.set(key, value);
13
+ }
14
+ },
15
+ remove: function (key) {
16
+ if(store!=undefined){
17
+ store.remove(key);
18
+ }
19
+ },
20
+ clear: function () {
21
+ if(store!=undefined){
22
+ store.clear(); /*** Clear all keys ***/
23
+ }
24
+ }
25
+ };
26
+ })();
27
+
28
+ /*** Class for handling open and close expandable and slide elements. Use together with cs_local_storage ***/
29
+ function CsUiOpen(data){
30
+ if(!data){
31
+ data = {};
32
+ }
33
+ this.expandables = data;/*** data format should be object[slideshowId][element_index] ***/
34
+ }
35
+ CsUiOpen.prototype.get = function(slideshow, key){
36
+ if(this.expandables[slideshow]!=undefined){
37
+ if(this.expandables[slideshow][key]!=undefined){
38
+ return this.expandables[slideshow][key];
39
+ }
40
+ }
41
+ return false;
42
+ }
43
+ CsUiOpen.prototype.set = function(slideshow, key, value){
44
+ if(typeof(this.expandables[slideshow])!=='object'){
45
+ this.expandables[slideshow] = {};
46
+ }
47
+
48
+ this.expandables[slideshow][key] = value;
49
+ }
50
+ CsUiOpen.prototype.remove = function(slideshow, key){
51
+ if(this.expandables[slideshow]!=undefined){
52
+ if(this.expandables[slideshow][key]!=undefined){
53
+ delete this.expandables[slideshow][key];
54
+ }
55
+ }
56
+ }
57
+ CsUiOpen.prototype.getAll = function(){
58
+ return this.expandables;
59
+ }
60
+ CsUiOpen.prototype.clear = function(){
61
+ this.expandables = {};
62
+ }
63
+
64
+
65
+ jQuery(document).ready(function($){
66
+ /*** Export ***/
67
+ (function() {
68
+ $('#cs-select-all').click(function(){
69
+ if( $(this).is(':checked') ) {
70
+ $('.cs-sliders').prop('checked', true);
71
+ } else {
72
+ $('.cs-sliders').prop('checked', false);
73
+ }
74
+
75
+ });
76
+ })();
77
+ /*** SLIDE BOXES ***/
78
+ (function() {
79
+ var $slidesMetabox = $('#cyclone-slides-metabox'),
80
+ $sortables = $('#cs-sortables'),
81
+ slideshowId = $sortables.data('post-id'),
82
+ cs_ui_open;
83
+
84
+ cs_ui_open = new CsUiOpen(cs_local_storage.get('cs_slide_toggles'));/*** Handle persistent slide data ***/
85
+
86
+ /*** Init - Sortable slides ***/
87
+ $sortables.sortable({
88
+ handle:'.cs-header',
89
+ placeholder: "cs-slide-placeholder",
90
+ forcePlaceholderSize:true,
91
+ disabled: true,
92
+ /*** Update form field indexes when slide order changes ***/
93
+ update: function(event, ui) {
94
+ $sortables.find('.cs-slide').each(function(boxIndex, box){ /*** Loop thru each box ***/
95
+ $(box).find('input, select, textarea').each(function(i, field){ /*** Loop thru relevant form fields ***/
96
+ var name = $(field).attr('name');
97
+ if(name){
98
+ name = name.replace(/\[[0-9]+\]/, '['+boxIndex+']'); /*** Replace all [index] in field_key[index][name] ***/
99
+ $(field).attr('name',name);
100
+ }
101
+ });
102
+ $(box).find('.cs-changeling-id').each(function(i, field){ /*** Loop thru relevant fields ***/
103
+ var name = $(field).attr('id');
104
+ if(name){
105
+ name = name.replace(/[0-9]+/, boxIndex); /*** Replace all ad_asdasd-x ***/
106
+ $(field).attr('id',name);
107
+ }
108
+ var name = $(field).attr('for');
109
+ if(name){
110
+ name = name.replace(/[0-9]+/, boxIndex); /*** Replace all ad_asdasd-x ***/
111
+ $(field).attr('for',name);
112
+ }
113
+ });
114
+ });
115
+ }
116
+ });
117
+ $('#cs-sort').on('click', function(){
118
+ var $sort = $(this),
119
+ isDisabled = $( "#cs-sortables" ).sortable( "option", "disabled" );
120
+
121
+ $sort.toggleClass('active');
122
+ if(isDisabled){
123
+ $('#cs-sortables').sortable('enable').addClass('active');
124
+ } else {
125
+ $('#cs-sortables').sortable('disable').removeClass('active');
126
+ }
127
+ });
128
+ /*** Init - Slide ID and title ***/
129
+ $sortables.find('.cs-slide').each(function(i){
130
+ var $slide = $(this),
131
+ $body = $slide.find('.cs-body');
132
+
133
+ $slide.data('cs_id', i);
134
+
135
+ if(cs_ui_open.get(slideshowId ,i)=='open'){
136
+ $body.slideDown(0);
137
+ } else {
138
+ $body.slideUp(0);
139
+ }
140
+ });
141
+
142
+ /*** Add - Slide box from a hidden html template ***/
143
+ $slidesMetabox.on('click', '#cs-add-slide', function(e){
144
+ var id = $sortables.find('.cs-slide').length;
145
+ var html = $('#cs-slide-skeleton').html();
146
+ html = html.replace(/{id}/g, id);/*** replace all occurences of {id} to real id ***/
147
+
148
+ $sortables.append(html);
149
+ $sortables.find('.cs-slide:last').find('.cs-thumbnail').hide().end().find('.cs-body').show();
150
+
151
+ $sortables.find('.cs-slide').each(function(i){
152
+ $(this).data('cs_id',i);
153
+ });
154
+
155
+ $('.expandable-body').each(function(i){
156
+ $(this).data('cs_id',i);
157
+ });
158
+
159
+ $(".cycloneslider_metas_enable_slide_effects").trigger('change');
160
+
161
+ e.preventDefault();
162
+ })
163
+ .on('wpAddImage', '.cs-media-gallery-show', function(e, image_url, attachment_id, media_attachment){
164
+
165
+ /*** Add image to slide ***/
166
+
167
+ var $button = $(this),
168
+ $slide = $button.closest('.cs-slide'), // Current slide
169
+ $thumb = $slide.find('.cs-image-thumb'), // Find the thumb
170
+ $hiddenField = $slide.find('.cs-image-id '); // Find the hidden field that will hold the attachment id
171
+
172
+ $thumb.html('<img src="'+image_url+'" alt="Thumbnail" />').show();
173
+ $hiddenField.val(attachment_id);
174
+
175
+ })
176
+ .on('wpAddImages', '.cs-multiple-slides', function(e, media_attachments){
177
+
178
+ /*** Add multiple images as slide ***/
179
+
180
+ var $sortables = $('#cs-sortables'),
181
+ slideCount = $sortables.find('.cs-slide').length,
182
+ i;
183
+
184
+ for(i=0; i<media_attachments.length; ++i){
185
+
186
+ $('#cs-add-slide').trigger('click');
187
+
188
+ $sortables.find('.cs-slide').eq(slideCount+i).find('.cs-media-gallery-show').trigger('wpAddImage', [media_attachments[i].url, media_attachments[i].id, media_attachments[i]]);
189
+ }
190
+
191
+ })
192
+ .on('click', '.cs-minimize', function(e) {
193
+
194
+ /*** Toggle - slide body visiblity ***/
195
+
196
+ var $button = $(this),
197
+ $box = $button.closest('.cs-slide'),
198
+ $body = $box.find('.cs-body'),
199
+ id = $box.data('cs_id');
200
+
201
+ if($body.is(':visible')){
202
+ $body.slideUp(100);
203
+ cs_ui_open.remove(slideshowId , id);
204
+ } else {
205
+ $body.slideDown(100);
206
+ cs_ui_open.set(slideshowId , id, 'open');/*** remember open section ***/
207
+ }
208
+
209
+ cs_local_storage.set('cs_slide_toggles', cs_ui_open.getAll());
210
+ e.preventDefault();
211
+
212
+ }).on('click', '.cs-slide-type .switcher', function(e){
213
+
214
+ /* Switcher - switch between slide types */
215
+
216
+ var $switcher = $(this);
217
+
218
+ $switcher.toggleClass('open');
219
+ $('.cs-slide-type .switcher').not($switcher).removeClass('open');
220
+ e.stopPropagation();
221
+
222
+ }).on('click', '.cs-slide-type .switcher li', function(e){
223
+
224
+ var $list = $(this),
225
+ $box = $list.closest('.cs-slide'),
226
+ $switcher = $list.closest('.switcher'),
227
+ $hidden = $list.closest('.cs-slide-type').find('input'),
228
+ $display = $switcher.find('.display');
229
+
230
+ $display.html($list.html());
231
+ $switcher.removeClass('open');
232
+ $hidden.val($list.attr('data-value'));
233
+ $box.attr('data-slide-type', $hidden.val());
234
+
235
+ e.stopPropagation();
236
+ })
237
+ .on('click', '.cs-delete', function(e) {
238
+
239
+ /*** Delete - Remove slide box ***/
240
+
241
+ var box = $(this).parents('.cs-slide');
242
+ box.fadeOut('slow', function(){ box.remove()});
243
+
244
+ e.preventDefault();
245
+ e.stopPropagation();
246
+ })
247
+ .on('change', '.cycloneslider_metas_link_target', function(e){
248
+
249
+ /*** Enable/Disable Link URL if lightbox is selected ***/
250
+
251
+ var box, link_url;
252
+
253
+ box = $(this).parents('.expandable-box');
254
+
255
+ link_url = box.find('.cycloneslider_metas_link_url');
256
+
257
+ if ($(this).val() == 'lightbox') {
258
+ link_url.attr('disabled', 'disabled');
259
+ } else {
260
+ link_url.removeAttr('disabled');
261
+ }
262
+ })
263
+ .find('.cs-slide').each(function(){
264
+ var $slide = $(this),
265
+ slideType = $slide.attr('data-slide-type');
266
+ $slide.find('.cs-slide-type').find('li[data-value="'+slideType+'"]').trigger('click');
267
+ });
268
+
269
+ $(document).click(function(){
270
+
271
+ /* Handle closing of dropdown on lost focus */
272
+
273
+ $('.cs-slide-type .switcher').removeClass('open');
274
+ });
275
+
276
+ $('.cycloneslider_metas_link_target').trigger('change');
277
+
278
+ })();
279
+
280
+ /*** EXPANDABLES ***/
281
+ (function() {
282
+ var slideshowId, cs_ui_open;
283
+
284
+ /*** Init ***/
285
+ slideshowId = $('#cyclone-slides-metabox .cs-sortables').data('post-id');
286
+
287
+ cs_ui_open = new CsUiOpen(cs_local_storage.get('cs_expandables'));
288
+
289
+ $('#cyclone-slides-metabox .expandable-body').each(function(i){
290
+ $(this).data('cs_id', i);
291
+
292
+ if(cs_ui_open.get(slideshowId ,i)=='open'){
293
+ $(this).slideDown(0);
294
+ } else {
295
+ $(this).slideUp(0);
296
+ }
297
+ });
298
+
299
+ /*** Toggle - Expandable toggling ***/
300
+ $('#cyclone-slides-metabox').on('click', '.expandable-header', function(e){
301
+ var body, id;
302
+
303
+ body = $(this).next('.expandable-body');
304
+ id = body.data('cs_id');
305
+
306
+ if(body.is(':visible')){
307
+ body.slideUp(100);
308
+ cs_ui_open.remove(slideshowId , id);
309
+
310
+ } else {
311
+ body.slideDown(100);
312
+ cs_ui_open.set(slideshowId , id, 'open');
313
+
314
+ }
315
+
316
+ cs_local_storage.set('cs_expandables', cs_ui_open.getAll());
317
+ });
318
+ })();
319
+
320
+ /*** VIDEO SLIDE ***/
321
+ (function() {
322
+ var slideshowId;
323
+
324
+ slideshowId = $('#cyclone-slides-metabox .cs-sortables').data('post-id');
325
+
326
+ /*** Get Video ***/
327
+ $('#cyclone-slides-metabox').on('click', '.cs-video-get', function(e){
328
+ var button, box, textbox_url, url, video_thumb, video_embed;
329
+
330
+ button = $(this);
331
+ box = $(this).parents('.cs-slide');
332
+ video_thumb = box.find('.cs-video-thumb');
333
+ textbox_url = box.find('.cs-video-url');
334
+ url = textbox_url.val();
335
+ if(url==''){
336
+ return;
337
+ }
338
+ video_embed = box.find('.cs-video-embed');
339
+ video_thumb.empty().show();
340
+ textbox_url.attr('disabled','disabled');
341
+ button.attr('disabled','disabled');
342
+
343
+ $.ajax({
344
+ type: "POST",
345
+ url: ajaxurl, /*** Automatically added by wordpress ***/
346
+ data: "action=cycloneslider_get_video&url="+encodeURIComponent(url),
347
+ dataType: 'json',
348
+ success: function(data, textStatus, XMLHttpRequest){
349
+ if(data.success){
350
+ video_thumb.html('<img src="'+data.url+'" alt="thumb">');
351
+ box.find('.cs-video-thumb-url').val(data.url);
352
+ video_embed.val(data.embed);
353
+ textbox_url.removeAttr('disabled');
354
+ button.removeAttr('disabled');
355
+ } else {
356
+ alert('Error. Make sure its a valid youtube or vimeo url.');
357
+ video_thumb.empty().hide();
358
+ textbox_url.removeAttr('disabled');
359
+ button.removeAttr('disabled');
360
+ }
361
+ }
362
+ });
363
+ });
364
+ })();
365
+
366
+ (function() {
367
+
368
+ /*** hide wordpress admin stuff ***/
369
+ $('#minor-publishing-actions').hide();
370
+ $('#misc-publishing-actions').hide();
371
+ $('.inline-edit-date').prev().hide();
372
+
373
+ /*** Post type switcher quick fix ***/
374
+ $('#pts_post_type').html('<option value="cycloneslider">Cycloneslider</option>');
375
+
376
+ /*** Template Chooser ***/
377
+ $('#cyclone-slider-templates-metabox').on('click', '.boxxy', function(e){
378
+ e.preventDefault();
379
+ e.stopPropagation();
380
+
381
+ var trigger = $(this),
382
+ content = '',
383
+ boxy = $('#cs-boxy'),
384
+ width = 0,
385
+ height = 0,
386
+ x = 0,
387
+ y = 0;
388
+
389
+ boxy.html( trigger.data('content') );
390
+ boxy.stop().show();
391
+
392
+ /* Do calcs after element is shown to prevent zero values for hidden element */
393
+ width = boxy.outerWidth(),
394
+ height = boxy.outerHeight(),
395
+ x = trigger.offset().left,
396
+ y = trigger.offset().top,
397
+
398
+ y = y - height;
399
+ if ( $('body').hasClass('admin-bar') ) {
400
+ y -= 32;
401
+ }
402
+
403
+ boxy.css({
404
+ 'left': x+'px',
405
+ 'top': y+'px'
406
+ });
407
+ }).on('change', '.cs-templates input[type="radio"]', function(e){
408
+ var $radio = $(this),
409
+ $tr = $(this).closest('tr'),
410
+ $table = $tr.closest('table');
411
+
412
+ $table.find('tr').removeClass('active');
413
+ $tr.addClass('active');
414
+ console.log($radio.attr('id'));
415
+ });
416
+ $(document).on('click', '#cs-boxy', function(e){
417
+ e.preventDefault();
418
+ e.stopPropagation();
419
+ })
420
+ $(document).on('click', 'body', function(e){
421
+ $('#cs-boxy').fadeOut();
422
+ })
423
+ $(window).resize(function(e){
424
+ $('#cs-boxy').hide();
425
+ })
426
+
427
+ /*** show/Hide Tile Properties for slideshow ***/
428
+ $('#cyclone-slider-properties-metabox').on('change', '#cycloneslider_settings_fx', function(){
429
+ if($(this).val()=='tileBlind' || $(this).val()=='tileSlide'){
430
+ $('.cycloneslider-field-tile-properties').slideDown('fast');
431
+ } else {
432
+ $('.cycloneslider-field-tile-properties').slideUp('fast');
433
+ }
434
+ });
435
+ $("#cycloneslider_settings_fx").trigger('change');
436
+
437
+ /*** Show/hide Tile Properties for slides ***/
438
+ $('#cyclone-slides-metabox').on('change', '.cycloneslider_metas_fx', function(){
439
+ var $select = $(this),
440
+ $field = $select.closest('.field');
441
+
442
+ if($select.val()=='tileBlind' || $select.val()=='tileSlide'){
443
+ $field.siblings('.cycloneslider-slide-tile-properties').slideDown('fast');
444
+ } else {
445
+ $field.siblings('.cycloneslider-slide-tile-properties').slideUp('fast');
446
+ }
447
+ });
448
+ $(".cycloneslider_metas_fx").trigger('change');
449
+
450
+ })();
451
+
452
+ (function() {
453
+ if(typeof(wp) == "undefined" || typeof(wp.media) != "function"){
454
+ return;
455
+ }
456
+ // Prepare the variable that holds our custom media manager.
457
+ var cyclone_media_frame;
458
+ var triggering_element = null;
459
+
460
+ // Bind to our click event in order to open up the new media experience.
461
+ $(document.body).on('click', '.cs-media-gallery-show', function(e){
462
+ // Prevent the default action from occuring.
463
+ e.preventDefault();
464
+
465
+ triggering_element = jQuery(this); /* Get current clicked element */
466
+
467
+
468
+ // If the frame already exists, re-open it.
469
+ if ( cyclone_media_frame ) {
470
+ cyclone_media_frame.open();
471
+ return;
472
+ }
473
+
474
+
475
+ cyclone_media_frame = wp.media.frames.cyclone_media_frame = wp.media({
476
+ className: 'media-frame cs-frame',
477
+ frame: 'select',
478
+ multiple: false,
479
+ title: cycloneslider_admin_vars.title,
480
+ library: {
481
+ type: 'image'
482
+ },
483
+ button: {
484
+ text: cycloneslider_admin_vars.button
485
+ }
486
+ });
487
+
488
+ cyclone_media_frame.on('select', function(){
489
+ var media_attachment, img_url;
490
+
491
+ // Grab our attachment selection and construct a JSON representation of the model.
492
+ media_attachment = cyclone_media_frame.state().get('selection').first().toJSON();
493
+
494
+ if(undefined==media_attachment.sizes.medium){ /*** Account for smaller images where medium does not exist ***/
495
+ img_url = media_attachment.url;
496
+ } else {
497
+ img_url = media_attachment.sizes.medium.url;
498
+ }
499
+
500
+ triggering_element.trigger('wpAddImage', [img_url, media_attachment.id, media_attachment]);
501
+ });
502
+
503
+ // Now that everything has been set, let's open up the frame.
504
+ cyclone_media_frame.open();
505
+ });
506
+ })();
507
+
508
+
509
+ (function() {
510
+ if(typeof(wp) == "undefined" || typeof(wp.media) != "function"){
511
+ return;
512
+ }
513
+ // Prepare the variable that holds our custom media manager.
514
+ var cyclone_media_frame;
515
+ var triggering_element = null;
516
+
517
+ // Bind to our click event in order to open up the new media experience.
518
+ $(document.body).on('click', '.cs-multiple-slides', function(e){
519
+ // Prevent the default action from occuring.
520
+ e.preventDefault();
521
+
522
+ triggering_element = jQuery(this); /* Get current clicked element */
523
+
524
+
525
+ // If the frame already exists, re-open it.
526
+ if ( cyclone_media_frame ) {
527
+ cyclone_media_frame.open();
528
+ return;
529
+ }
530
+
531
+
532
+ cyclone_media_frame = wp.media.frames.cyclone_media_frame = wp.media({
533
+ className: 'media-frame cs-frame',
534
+ frame: 'select',
535
+ multiple: true,
536
+ title: cycloneslider_admin_vars.title2,
537
+ library: {
538
+ type: 'image'
539
+ },
540
+ button: {
541
+ text: cycloneslider_admin_vars.button2
542
+ }
543
+ });
544
+
545
+ cyclone_media_frame.on('select', function(){
546
+ var media_attachments;
547
+
548
+ // Grab our attachment selection and construct a JSON representation of the model.
549
+ media_attachments = cyclone_media_frame.state().get('selection').toJSON();
550
+
551
+ triggering_element.trigger('wpAddImages', [media_attachments]);
552
+ });
553
+
554
+ // Now that everything has been set, let's open up the frame.
555
+ cyclone_media_frame.open();
556
+ });
557
+ })();
558
+ });
src/cyclone-slider/js/client.js ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($){
2
+
3
+ /*** Lightbox ***/
4
+ (function() {
5
+ try{
6
+ $('.magnific-pop').magnificPopup({
7
+ type:'image'
8
+ });
9
+ } catch (ignore) {}
10
+ })();
11
+
12
+ });
13
+
14
+ /*** Global template functionalities ***/
15
+ (function() {
16
+ var slides_selector = '.cycloneslider-template-dark .cycloneslider-slides';
17
+
18
+ slides_selector += ',.cycloneslider-template-default .cycloneslider-slides';
19
+ slides_selector += ',.cycloneslider-template-standard .cycloneslider-slides';
20
+ slides_selector += ',.cycloneslider-template-thumbnails .cycloneslider-slides';
21
+
22
+ slides_selector += ',.cycloneslider-template-galleria .cycloneslider-slides';
23
+ slides_selector += ',.cycloneslider-template-text .cycloneslider-slides';
24
+ slides_selector += ',.cycloneslider-template-dos .cycloneslider-slides';
25
+
26
+ jQuery(document).on('cycle-before', slides_selector, function( event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
27
+ var slide = jQuery( outgoingSlideEl ), /* Current slide */
28
+ curHeight = 0,
29
+ nextHeight = 0;
30
+
31
+ /* Autoheight when dynamic height is on */
32
+ /* Using getBoundingClientRect() instead of jQuery's outerHeight() for more accurate reading (floating point values) */
33
+ if( "on" == optionHash.dynamicHeight ) {
34
+ curHeight = jQuery(outgoingSlideEl)[0].getBoundingClientRect().height;
35
+ if ( undefined == curHeight || 0 == curHeight ) { /* IE8 returns undefined so we use outerHeight as fallback. Also works for older templates! */
36
+ curHeight = jQuery(outgoingSlideEl).outerHeight();
37
+ }
38
+
39
+ nextHeight = jQuery(incomingSlideEl)[0].getBoundingClientRect().height;
40
+ if ( undefined == nextHeight || 0 == nextHeight ) { /* IE8 returns undefined so we use outerHeight as fallback. Also works for older templates! */
41
+ nextHeight = jQuery(incomingSlideEl).outerHeight();
42
+ }
43
+ if ( nextHeight != curHeight ) jQuery(this).animate({height:nextHeight}, optionHash.autoHeightSpeed, optionHash.autoHeightEasing);
44
+ }
45
+
46
+ if(slide.hasClass('cycloneslider-slide-youtube')) pauseYoutube( slide ); /* Pause youtube video on next */
47
+
48
+ if(slide.hasClass('cycloneslider-slide-vimeo')) pauseVimeo( slide ); /* Pause vimeo video on next */
49
+ });
50
+
51
+ jQuery(document).on('cycle-initialized cycle-after', slides_selector, function( event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
52
+ var index = (event.type == 'cycle-initialized') ? optionHash.currSlide : optionHash.nextSlide;
53
+ var slide = jQuery( optionHash.slides[ index ] ); /* Current slide */
54
+
55
+ /* Make sure current slide has the highest z-index.
56
+ Fix for issue when previous slides appear on top of the current slide due to cycle's weird z-index assigments */
57
+ if( false == optionHash.hideNonActive ) slide.css('zIndex', parseInt(slide.css('zIndex'))+20);
58
+ });
59
+
60
+ function pauseYoutube( slide ){
61
+ var data = {
62
+ "event": "command",
63
+ "func": "pauseVideo",
64
+ "args": [],
65
+ "id": ""
66
+ }
67
+ postMessage( slide.find('iframe'), data, '*');
68
+ }
69
+
70
+ function pauseVimeo( slide ){
71
+ postMessage( slide.find('iframe'), {method:'pause'}, slide.find('iframe').attr('src'));
72
+ }
73
+
74
+ function postMessage(iframe, data, url){
75
+ try{
76
+ if (iframe[0]) { // Frame exists
77
+ iframe[0].contentWindow.postMessage(JSON.stringify(data), url);
78
+ }
79
+ } catch (ignore) {}
80
+ }
81
+
82
+ })();
83
+
src/cyclone-slider/js/store-json2.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Copyright (c) 2010-2012 Marcus Westin */
2
+ this.JSON||(this.JSON={}),function(){function f(e){return e<10?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];a&&typeof a=="object"&&typeof a.toJSON=="function"&&(a=a.toJSON(e)),typeof rep=="function"&&(a=rep.call(t,e,a));switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a)return"null";gap+=indent,u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1)u[n]=str(n,a)||"null";return i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]",gap=o,i}if(rep&&typeof rep=="object"){s=rep.length;for(n=0;n<s;n+=1)r=rep[n],typeof r=="string"&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i))}else for(r in a)Object.hasOwnProperty.call(a,r)&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i));return i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}",gap=o,i}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(e){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(e){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(e,t,n){var r;gap="",indent="";if(typeof n=="number")for(r=0;r<n;r+=1)indent+=" ";else typeof n=="string"&&(indent=n);rep=t;if(!t||typeof t=="function"||typeof t=="object"&&typeof t.length=="number")return str("",{"":e});throw new Error("JSON.stringify")}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i=="object")for(n in i)Object.hasOwnProperty.call(i,n)&&(r=walk(i,n),r!==undefined?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),function(){function o(){try{return r in t&&t[r]}catch(e){return!1}}var e={},t=window,n=t.document,r="localStorage",i="__storejs__",s;e.disabled=!1,e.set=function(e,t){},e.get=function(e){},e.remove=function(e){},e.clear=function(){},e.transact=function(t,n,r){var i=e.get(t);r==null&&(r=n,n=null),typeof i=="undefined"&&(i=n||{}),r(i),e.set(t,i)},e.getAll=function(){},e.serialize=function(e){return JSON.stringify(e)},e.deserialize=function(e){if(typeof e!="string")return undefined;try{return JSON.parse(e)}catch(t){return e||undefined}};if(o())s=t[r],e.set=function(t,n){return n===undefined?e.remove(t):(s.setItem(t,e.serialize(n)),n)},e.get=function(t){return e.deserialize(s.getItem(t))},e.remove=function(e){s.removeItem(e)},e.clear=function(){s.clear()},e.getAll=function(){var t={};for(var n=0;n<s.length;++n){var r=s.key(n);t[r]=e.get(r)}return t};else if(n.documentElement.addBehavior){var u,a;try{a=new ActiveXObject("htmlfile"),a.open(),a.write('<script>document.w=window</script><iframe src="/favicon.ico"></frame>'),a.close(),u=a.w.frames[0].document,s=u.createElement("div")}catch(f){s=n.createElement("div"),u=n.body}function l(t){return function(){var n=Array.prototype.slice.call(arguments,0);n.unshift(s),u.appendChild(s),s.addBehavior("#default#userData"),s.load(r);var i=t.apply(e,n);return u.removeChild(s),i}}var c=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function h(e){return e.replace(c,"___")}e.set=l(function(t,n,i){return n=h(n),i===undefined?e.remove(n):(t.setAttribute(n,e.serialize(i)),t.save(r),i)}),e.get=l(function(t,n){return n=h(n),e.deserialize(t.getAttribute(n))}),e.remove=l(function(e,t){t=h(t),e.removeAttribute(t),e.save(r)}),e.clear=l(function(e){var t=e.XMLDocument.documentElement.attributes;e.load(r);for(var n=0,i;i=t[n];n++)e.removeAttribute(i.name);e.save(r)}),e.getAll=l(function(t){var n=t.XMLDocument.documentElement.attributes;t.load(r);var i={};for(var s=0,o;o=n[s];++s)i[o]=e.get(o);return i})}try{e.set(i,i),e.get(i)!=i&&(e.disabled=!0),e.remove(i)}catch(f){e.disabled=!0}e.enabled=!e.disabled,typeof module!="undefined"&&typeof module!="function"?module.exports=e:typeof define=="function"&&define.amd?define(e):this.store=e}()
src/cyclone-slider/languages/cycloneslider-ar.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-ar.po ADDED
@@ -0,0 +1,1187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider 2\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:34+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:38+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: en_US\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPath-1: ..\n"
20
+
21
+ #: ../cyclone-slider.php:93
22
+ msgid "Cyclone Slider Settings"
23
+ msgstr "إعدادات عرض الشرائح"
24
+
25
+ #: ../cyclone-slider.php:94
26
+ msgid "Settings"
27
+ msgstr "إعدادات"
28
+
29
+ #: ../cyclone-slider.php:104
30
+ msgid "Cyclone Slider Export"
31
+ msgstr " التصدير Cyclone Slider"
32
+
33
+ #: ../cyclone-slider.php:105
34
+ #, fuzzy
35
+ msgid "Export/Import"
36
+ msgstr "استيراد"
37
+
38
+ #: ../cyclone-slider.php:117
39
+ #, fuzzy
40
+ msgid "Cyclone Slider Nextgen Export"
41
+ msgstr " التصدير Cyclone Slider"
42
+
43
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
44
+ #, fuzzy
45
+ msgid "Export Nextgen"
46
+ msgstr "أصدر"
47
+
48
+ #: ../cyclone-slider.php:130
49
+ msgid "Cyclone Slider Import"
50
+ msgstr "استيراد Cyclone Slider"
51
+
52
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
53
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
54
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
55
+ #: ../src/CycloneSlider/ImportPage.php:74
56
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
57
+ msgid "Import"
58
+ msgstr "استيراد"
59
+
60
+ #: ../src/CycloneSlider/Admin.php:142
61
+ msgid "Cyclone Slider"
62
+ msgstr "عرض الشرائح"
63
+
64
+ #: ../src/CycloneSlider/Admin.php:143
65
+ msgid "Slideshow"
66
+ msgstr "عرض الشرائح"
67
+
68
+ #: ../src/CycloneSlider/Admin.php:144
69
+ msgid "Add Slideshow"
70
+ msgstr "أضف عرض شرائح"
71
+
72
+ #: ../src/CycloneSlider/Admin.php:145
73
+ msgid "Add New Slideshow"
74
+ msgstr "أضف عرض شرائح جديد"
75
+
76
+ #: ../src/CycloneSlider/Admin.php:146
77
+ msgid "Edit Slideshow"
78
+ msgstr "تحرير عرض شرائح"
79
+
80
+ #: ../src/CycloneSlider/Admin.php:147
81
+ msgid "New Slideshow"
82
+ msgstr "عرض شرائح جديد"
83
+
84
+ #: ../src/CycloneSlider/Admin.php:148
85
+ msgid "View Slideshow"
86
+ msgstr "إظهار عرض الشرائح"
87
+
88
+ #: ../src/CycloneSlider/Admin.php:149
89
+ msgid "Search Slideshows"
90
+ msgstr "البحث في عروض الشرائح"
91
+
92
+ #: ../src/CycloneSlider/Admin.php:150
93
+ msgid "No slideshows found"
94
+ msgstr "لم يتم إيجاد عروض شرائح"
95
+
96
+ #: ../src/CycloneSlider/Admin.php:151
97
+ msgid "No slideshows found in Trash"
98
+ msgstr "لم يتم إيجاد عروض شرائح في المهملات"
99
+
100
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
101
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
102
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
103
+ msgid "Slideshow updated."
104
+ msgstr "تم تحديث عرض الشرائح"
105
+
106
+ #: ../src/CycloneSlider/Admin.php:198
107
+ msgid "Custom field updated."
108
+ msgstr "تم تحديث الحقل المخصوص."
109
+
110
+ #: ../src/CycloneSlider/Admin.php:199
111
+ msgid "Custom field deleted."
112
+ msgstr "تم حذف الحقل المخصوص."
113
+
114
+ #: ../src/CycloneSlider/Admin.php:202
115
+ msgid "Slideshow published."
116
+ msgstr "تم نشر عرض الشرائح."
117
+
118
+ #: ../src/CycloneSlider/Admin.php:203
119
+ msgid "Slideshow saved."
120
+ msgstr "تم حفظ عرض الشرائح."
121
+
122
+ #: ../src/CycloneSlider/Admin.php:242
123
+ msgid "Slides"
124
+ msgstr "شرائح"
125
+
126
+ #: ../src/CycloneSlider/Admin.php:251
127
+ msgid "Slider Preview"
128
+ msgstr "معاينة شريط التمرير"
129
+
130
+ #: ../src/CycloneSlider/Admin.php:260
131
+ msgid "Get Slider Codes"
132
+ msgstr "احصل على أكواد عرض الشرائح"
133
+
134
+ #: ../src/CycloneSlider/Admin.php:269
135
+ msgid "Basic Settings"
136
+ msgstr "الإعدادات الأساسية"
137
+
138
+ #: ../src/CycloneSlider/Admin.php:278
139
+ msgid "Advanced Settings"
140
+ msgstr "إعدادات متقدمة"
141
+
142
+ #: ../src/CycloneSlider/Admin.php:287
143
+ msgid "Templates"
144
+ msgstr "قوالب"
145
+
146
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
147
+ msgid "Slideshow ID"
148
+ msgstr "رقم عرض الشرائح"
149
+
150
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
151
+ #, fuzzy, php-format
152
+ msgid "Slider \"%s\" not found."
153
+ msgstr "[عرض الشرائح \"%s\" لم يتم العثور عليه]"
154
+
155
+ #: ../src/CycloneSlider/Admin.php:323
156
+ msgid "Slide"
157
+ msgstr "شريحة"
158
+
159
+ #: ../src/CycloneSlider/Admin.php:328
160
+ msgid "[Hidden]"
161
+ msgstr ""
162
+
163
+ #: ../src/CycloneSlider/Admin.php:467
164
+ msgid "Core"
165
+ msgstr ""
166
+
167
+ #: ../src/CycloneSlider/Admin.php:468
168
+ #, php-format
169
+ msgid ""
170
+ "You should not make changes to templates in this location. All your changes "
171
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
172
+ msgstr ""
173
+
174
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
175
+ #: ../src/CycloneSlider/Admin.php:481
176
+ #, php-format
177
+ msgid "Location: <strong>%s</strong>"
178
+ msgstr ""
179
+
180
+ #: ../src/CycloneSlider/Admin.php:473
181
+ msgid ""
182
+ "Your template is in danger of being overwritten when you upgrade your theme. "
183
+ "Please consider creating a WordPress plugin Cyclone Slider template."
184
+ msgstr ""
185
+
186
+ #: ../src/CycloneSlider/Admin.php:524
187
+ msgid "Slide *"
188
+ msgstr "شريحة *"
189
+
190
+ #: ../src/CycloneSlider/Admin.php:616
191
+ msgid "Slideshow Name"
192
+ msgstr "اسم عرض الشرائح"
193
+
194
+ #: ../src/CycloneSlider/Admin.php:617
195
+ msgid "Template"
196
+ msgstr "قالب"
197
+
198
+ #: ../src/CycloneSlider/Admin.php:618
199
+ msgid "No. of Slides"
200
+ msgstr "عدد الشرائح"
201
+
202
+ #: ../src/CycloneSlider/Admin.php:620
203
+ msgid "Shortcode"
204
+ msgstr "كود قصير"
205
+
206
+ #: ../src/CycloneSlider/AssetLoader.php:71
207
+ msgid "Select an image"
208
+ msgstr "اختر صورة"
209
+
210
+ #: ../src/CycloneSlider/AssetLoader.php:72
211
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
212
+ msgstr ""
213
+
214
+ #: ../src/CycloneSlider/AssetLoader.php:73
215
+ msgid "Add to Slide"
216
+ msgstr "أضف إلى شريحة"
217
+
218
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
219
+ #, fuzzy
220
+ msgid "Add Images as Slides"
221
+ msgstr "أضف عرض شرائح جديد"
222
+
223
+ #: ../src/CycloneSlider/AssetLoader.php:75
224
+ msgid "Error. Make sure its a valid YouTube URL."
225
+ msgstr "خطأ. تأكد من والخمسين URL يوتيوب صالحة."
226
+
227
+ #: ../src/CycloneSlider/Data.php:276
228
+ #, php-format
229
+ msgid "Invalid format for get_slider %s parameter."
230
+ msgstr ""
231
+
232
+ #: ../src/CycloneSlider/ExportPage.php:64
233
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
234
+ #: ../src/CycloneSlider/ImportPage.php:69
235
+ msgid "Export"
236
+ msgstr "أصدر"
237
+
238
+ #: ../src/CycloneSlider/ExportPage.php:77
239
+ #: ../src/CycloneSlider/ImportPage.php:63
240
+ msgid ""
241
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
242
+ msgstr ""
243
+
244
+ #: ../src/CycloneSlider/ExportPage.php:113
245
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
246
+ msgid "Your export file is ready. Click Download."
247
+ msgstr "ملف التصدير الخاصة بك جاهزة. انقر فوق تحميل."
248
+
249
+ #: ../src/CycloneSlider/ExportPage.php:118
250
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
251
+ msgid "Error creating exports directory."
252
+ msgstr ""
253
+
254
+ #: ../src/CycloneSlider/ExportPage.php:167
255
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
256
+ #, fuzzy
257
+ msgid "No slider selected."
258
+ msgstr "لم يتم العثور على عروض شرائح."
259
+
260
+ #: ../src/CycloneSlider/ExportPage.php:172
261
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
262
+ msgid "Please choose a file name."
263
+ msgstr ""
264
+
265
+ #: ../src/CycloneSlider/Exporter.php:52
266
+ #, fuzzy
267
+ msgid "Error no sliders selected."
268
+ msgstr "لم يتم العثور على عروض شرائح."
269
+
270
+ #: ../src/CycloneSlider/Exporter.php:73
271
+ msgid "Error encoding data to JSON."
272
+ msgstr ""
273
+
274
+ #: ../src/CycloneSlider/Exporter.php:79
275
+ #, php-format
276
+ msgid "Success generating zip %s."
277
+ msgstr ""
278
+
279
+ #: ../src/CycloneSlider/Exporter.php:109
280
+ #, php-format
281
+ msgid "Exporting data for slider \"%s\"."
282
+ msgstr ""
283
+
284
+ #: ../src/CycloneSlider/Exporter.php:138
285
+ #, php-format
286
+ msgid ""
287
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
288
+ msgstr ""
289
+
290
+ #: ../src/CycloneSlider/Exporter.php:182
291
+ #, fuzzy
292
+ msgid "ZipArchive not supported."
293
+ msgstr "نوع الشريحة غير معتمدة."
294
+
295
+ #: ../src/CycloneSlider/Exporter.php:188
296
+ #, php-format
297
+ msgid "Error opening zip file %s. Code: %s"
298
+ msgstr ""
299
+
300
+ #: ../src/CycloneSlider/Exporter.php:197
301
+ #, php-format
302
+ msgid "Error adding file %s to zip."
303
+ msgstr ""
304
+
305
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
306
+ #, php-format
307
+ msgid "File %s added to zip."
308
+ msgstr ""
309
+
310
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
311
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
312
+ msgid "NextGEN Integration"
313
+ msgstr "الدمج مع NextGEN"
314
+
315
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
316
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
317
+ msgid "Choose a NextGEN Gallery"
318
+ msgstr "اختر معرض NextGEN "
319
+
320
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
321
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
322
+ msgid ""
323
+ "Select a gallery to import images from. Images will be added as new slides."
324
+ msgstr "اختر معرضا لاستيراد الصور منه. سيتم إضافة الصور كشرائح جديدة."
325
+
326
+ #: ../src/CycloneSlider/Frontend.php:81
327
+ #, php-format
328
+ msgid "[Slideshow \"%s\" not found]"
329
+ msgstr "[عرض الشرائح \"%s\" لم يتم العثور عليه]"
330
+
331
+ #: ../src/CycloneSlider/Frontend.php:97
332
+ #, php-format
333
+ msgid "[Template \"%s\" not found]"
334
+ msgstr "[القالب \"%s\" لم يتم العثور عليه]"
335
+
336
+ #: ../src/CycloneSlider/ImportPage.php:116
337
+ msgid "Import operation success!"
338
+ msgstr "استيراد نجاح العملية!"
339
+
340
+ #: ../src/CycloneSlider/Importer.php:35
341
+ msgid "Could not read zip files. ZipArchive not supported."
342
+ msgstr ""
343
+
344
+ #: ../src/CycloneSlider/Importer.php:40
345
+ #, fuzzy
346
+ msgid "No zip file found."
347
+ msgstr "لم يتم العثور على عروض شرائح."
348
+
349
+ #: ../src/CycloneSlider/Importer.php:46
350
+ msgid "Error creating imports directory."
351
+ msgstr ""
352
+
353
+ #: ../src/CycloneSlider/Importer.php:53
354
+ msgid "Error moving uploaded zip."
355
+ msgstr ""
356
+
357
+ #: ../src/CycloneSlider/Importer.php:60
358
+ #, php-format
359
+ msgid "Error opening zip: %s"
360
+ msgstr ""
361
+
362
+ #: ../src/CycloneSlider/Importer.php:73
363
+ #, php-format
364
+ msgid "Security error. Invalid %s file."
365
+ msgstr ""
366
+
367
+ #: ../src/CycloneSlider/Importer.php:80
368
+ #, php-format
369
+ msgid "Security error. File %s is not an image."
370
+ msgstr ""
371
+
372
+ #: ../src/CycloneSlider/Importer.php:86
373
+ #, php-format
374
+ msgid "Security error. Missing %s file."
375
+ msgstr ""
376
+
377
+ #: ../src/CycloneSlider/Importer.php:92
378
+ msgid "Error extracting zip."
379
+ msgstr ""
380
+
381
+ #: ../src/CycloneSlider/Importer.php:99
382
+ msgid "Failed to read export JSON."
383
+ msgstr ""
384
+
385
+ #: ../src/CycloneSlider/Importer.php:104
386
+ msgid "Failed to decode JSON."
387
+ msgstr ""
388
+
389
+ #: ../src/CycloneSlider/Importer.php:175
390
+ #, php-format
391
+ msgid "scandir failed on %s"
392
+ msgstr ""
393
+
394
+ #: ../src/CycloneSlider/Importer.php:191
395
+ #, fuzzy, php-format
396
+ msgid "Source image %s not found."
397
+ msgstr "[القالب \"%s\" لم يتم العثور عليه]"
398
+
399
+ #: ../src/CycloneSlider/Importer.php:195
400
+ msgid "Copy error."
401
+ msgstr ""
402
+
403
+ #: ../src/CycloneSlider/SettingsPage.php:51
404
+ msgid "Default options restored."
405
+ msgstr "تم استعادة الخيارات الإفتراضية."
406
+
407
+ #: ../src/CycloneSlider/WidgetSlider.php:13
408
+ msgid "Cyclone Slider Widget"
409
+ msgstr "مربع عرض الشرائح الجانبي"
410
+
411
+ #: ../src/CycloneSlider/WidgetSlider.php:14
412
+ #, fuzzy
413
+ msgid "Widget for displaying sliders."
414
+ msgstr "مربع جانبي لإظهار عروض الشرائح."
415
+
416
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
417
+ msgid "Title:"
418
+ msgstr "العنوان:"
419
+
420
+ #: ../src/CycloneSlider/WidgetSlider.php:79
421
+ #, fuzzy
422
+ msgid "Select a Slider:"
423
+ msgstr "اختر عرض شرائح:"
424
+
425
+ #: ../src/CycloneSlider/WidgetSlider.php:94
426
+ #, fuzzy
427
+ msgid "No sliders found."
428
+ msgstr "لم يتم العثور على عروض شرائح."
429
+
430
+ #: ../templates/dark/slider.php:40
431
+ msgid "View Larger Image"
432
+ msgstr "مشاهدتها بشكل اكبر"
433
+
434
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
435
+ msgid "Learn More"
436
+ msgstr "تعرف على المزيد"
437
+
438
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
439
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
440
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
441
+ msgid "Slide type not supported."
442
+ msgstr "نوع الشريحة غير معتمدة."
443
+
444
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
445
+ #: ../views/export-nextgen-step-3.php:8
446
+ #, fuzzy
447
+ msgid "Cyclone Slider Nextgen Exporter"
448
+ msgstr " التصدير Cyclone Slider"
449
+
450
+ #: ../views/export-nextgen-step-1.php:18
451
+ #, fuzzy
452
+ msgid "Choose a NextGEN Gallery:"
453
+ msgstr "اختر معرض NextGEN "
454
+
455
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
456
+ msgid "Select All"
457
+ msgstr "حدد الكل"
458
+
459
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
460
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
461
+ #, fuzzy
462
+ msgid "File Name:"
463
+ msgstr "اسم"
464
+
465
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
466
+ msgid "No slider to export."
467
+ msgstr "لا التمرير لتصدير."
468
+
469
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
470
+ msgid "Clear"
471
+ msgstr ""
472
+
473
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
474
+ msgid "Next"
475
+ msgstr "التالي"
476
+
477
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
478
+ #, fuzzy
479
+ msgid "Selected slider(s):"
480
+ msgstr "حدد المتزلجون:"
481
+
482
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
483
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
484
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
485
+ #: ../views/import-step-3.php:15
486
+ msgid "Back"
487
+ msgstr "إلى الوراء"
488
+
489
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
490
+ msgid "Generate Export File"
491
+ msgstr ""
492
+
493
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
494
+ msgid "Download"
495
+ msgstr "تحميل"
496
+
497
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
498
+ #: ../views/export-step-3.php:8
499
+ #, fuzzy
500
+ msgid "Cyclone Slider Exporter"
501
+ msgstr " التصدير Cyclone Slider"
502
+
503
+ #: ../views/export-step-1.php:18
504
+ msgid "Select sliders:"
505
+ msgstr "حدد المتزلجون:"
506
+
507
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
508
+ #, fuzzy
509
+ msgid "Cyclone Slider Importer"
510
+ msgstr "استيراد Cyclone Slider"
511
+
512
+ #: ../views/import-step-1.php:17
513
+ msgid "Import Zip File:"
514
+ msgstr "استيراد ملف مضغوط:"
515
+
516
+ #: ../views/import-step-1.php:24
517
+ msgid "Upload"
518
+ msgstr ""
519
+
520
+ #: ../views/settings-page.php:7
521
+ #, fuzzy
522
+ msgid ""
523
+ "Play with these settings if Cyclone Slider is not working or if you want to "
524
+ "optimize it."
525
+ msgstr "قم باللعب بهذه الإعدادات إذا كانت الإضافة لا تعمل أو إذا أردت تحسينها."
526
+
527
+ #: ../views/settings-page.php:16
528
+ msgid "Load scripts in:"
529
+ msgstr "تحميل السكربتات في:"
530
+
531
+ #: ../views/settings-page.php:19
532
+ msgid "Header"
533
+ msgstr "الترويسة"
534
+
535
+ #: ../views/settings-page.php:20
536
+ msgid "Footer"
537
+ msgstr "التذييل"
538
+
539
+ #: ../views/settings-page.php:25
540
+ msgid "Load these scripts:"
541
+ msgstr "قم بتحميل هذه السكربتات:"
542
+
543
+ #: ../views/settings-page.php:30
544
+ msgid "Cycle 2. This is the core script needed by the plugin."
545
+ msgstr "Cycle 2. هذا هو السكربت الأساسي المستخدم في الإضافة."
546
+
547
+ #: ../views/settings-page.php:35
548
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
549
+ msgstr "Cycle 2 - Carousel. يستخدم في هذه القوالب: Galleria, Lea, Dos."
550
+
551
+ #: ../views/settings-page.php:40
552
+ msgid "Cycle 2 - Swipe. For touch swipe events."
553
+ msgstr "Cycle 2 - Swipe. للأحداث انتقاد اللمس."
554
+
555
+ #: ../views/settings-page.php:45
556
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
557
+ msgstr "Cycle 2 - Tile. يستخدم لمؤثرات الانتقال مربعة الشكل."
558
+
559
+ #: ../views/settings-page.php:50
560
+ msgid "Cycle 2 - Video. Used by YouTube template."
561
+ msgstr "Cycle 2 - Video. يستخدم في قالب يوتيوب."
562
+
563
+ #: ../views/settings-page.php:55
564
+ msgid "Magnific Popup - Enable lightbox option."
565
+ msgstr "ماجنيفيك قافزة - خيار العلبة الخفيفة تمكين."
566
+
567
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
568
+ #: ../views/slider-advanced-settings.php:2
569
+ msgid "Available in pro version."
570
+ msgstr "تتوفر في الإصدار برو."
571
+
572
+ #: ../views/settings-page.php:60
573
+ msgid "Easing - Enable easing options."
574
+ msgstr "التيسير - تمكين تخفيف الخيارات."
575
+
576
+ #: ../views/settings-page.php:65
577
+ msgid "Scripts loading priority:"
578
+ msgstr "أولوية تحميل السكربتات:"
579
+
580
+ #: ../views/settings-page.php:68
581
+ msgid "Make this value bigger to load scripts last."
582
+ msgstr "اجعل هذه القيمة أكبر لتحميل السكربتات آخرا."
583
+
584
+ #: ../views/settings-page.php:72
585
+ msgid "Load these templates:"
586
+ msgstr ""
587
+
588
+ #: ../views/settings-page.php:85
589
+ msgid "Save Options"
590
+ msgstr "حفظ الخيارات"
591
+
592
+ #: ../views/settings-page.php:86
593
+ msgid "Restore Defaults"
594
+ msgstr "إستعادة الإفتراضي"
595
+
596
+ #: ../views/slide-edit-image.php:5
597
+ msgid "Thumbnail"
598
+ msgstr ""
599
+
600
+ #: ../views/slide-edit-image.php:9
601
+ msgid "Get Image"
602
+ msgstr "الحصول على صورة"
603
+
604
+ #: ../views/slide-edit-image.php:10
605
+ #, fuzzy
606
+ msgid "View Image"
607
+ msgstr "مشاهدتها بشكل اكبر"
608
+
609
+ #: ../views/slide-edit-image.php:14
610
+ msgid "Caption"
611
+ msgstr "عنوان فرعي"
612
+
613
+ #: ../views/slide-edit-image.php:21
614
+ msgid "Description:"
615
+ msgstr "الوصف:"
616
+
617
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
618
+ msgid "Link"
619
+ msgstr "رابط"
620
+
621
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
622
+ msgid "Link URL:"
623
+ msgstr "عنوان الرابط:"
624
+
625
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
626
+ msgid "Open Link in:"
627
+ msgstr "قم بفتح الرابط في:"
628
+
629
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
630
+ msgid "Same Window"
631
+ msgstr "نفس النافذة"
632
+
633
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
634
+ msgid "New Tab or Window"
635
+ msgstr "تبويبة أو نافذة جديدة"
636
+
637
+ #: ../views/slide-edit-image.php:43
638
+ msgid "Image Attributes"
639
+ msgstr "سمات الصورة"
640
+
641
+ #: ../views/slide-edit-image.php:46
642
+ msgid "Alternate Text:"
643
+ msgstr "النص البديل:"
644
+
645
+ #: ../views/slide-edit-image.php:50
646
+ msgid "Title Text:"
647
+ msgstr "نص العنوان:"
648
+
649
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
650
+ msgid "Image"
651
+ msgstr "صورة"
652
+
653
+ #: ../views/slide-edit.php:12
654
+ msgid "YouTube"
655
+ msgstr "يوتيوب"
656
+
657
+ #: ../views/slide-edit.php:13
658
+ msgid "Vimeo"
659
+ msgstr "فيميو"
660
+
661
+ #: ../views/slide-edit.php:14
662
+ msgid "Custom"
663
+ msgstr "مخصوص"
664
+
665
+ #: ../views/slide-edit.php:15
666
+ msgid "Testimonial"
667
+ msgstr ""
668
+
669
+ #: ../views/slide-edit.php:24
670
+ msgid "Toggle"
671
+ msgstr "تبديل"
672
+
673
+ #: ../views/slide-edit.php:27
674
+ msgid "Delete"
675
+ msgstr "حذف"
676
+
677
+ #: ../views/slide-edit.php:56
678
+ msgid "YouTube URL:"
679
+ msgstr "يوتيوب URL:"
680
+
681
+ #: ../views/slide-edit.php:58
682
+ msgid "Copy and paste a valid YouTube URL here."
683
+ msgstr "نسخ ولصق URL يوتيوب صالحة هنا."
684
+
685
+ #: ../views/slide-edit.php:63
686
+ msgid "Do not show suggested videos when the video finishes."
687
+ msgstr ""
688
+
689
+ #: ../views/slide-edit.php:68
690
+ msgid "Vimeo URL:"
691
+ msgstr "فيميو URL:"
692
+
693
+ #: ../views/slide-edit.php:70
694
+ msgid "Copy and paste a valid Vimeo URL here."
695
+ msgstr "نسخ ولصق URL فيميو صالحة هنا."
696
+
697
+ #: ../views/slide-edit.php:75
698
+ msgid "Custom HTML"
699
+ msgstr "كود HTML مخصوص"
700
+
701
+ #: ../views/slide-edit.php:83
702
+ msgid "Quote"
703
+ msgstr ""
704
+
705
+ #: ../views/slide-edit.php:89
706
+ msgid "Author"
707
+ msgstr ""
708
+
709
+ #: ../views/slide-edit.php:92
710
+ #, fuzzy
711
+ msgid "Name:"
712
+ msgstr "اسم"
713
+
714
+ #: ../views/slide-settings.php:3
715
+ #, fuzzy
716
+ msgid "Slide Properties"
717
+ msgstr "خصائص الشريحة:"
718
+
719
+ #: ../views/slide-settings.php:6
720
+ msgid "Hidden:"
721
+ msgstr ""
722
+
723
+ #: ../views/slide-settings.php:15
724
+ msgid "Transition Effects:"
725
+ msgstr "مؤثرات الانتقال:"
726
+
727
+ #: ../views/slide-settings.php:17
728
+ #, fuzzy
729
+ msgid "Default"
730
+ msgstr "إستعادة الإفتراضي"
731
+
732
+ #: ../views/slide-settings.php:26
733
+ #, fuzzy
734
+ msgid "Effects Speed:"
735
+ msgstr "سرعة مؤثرات الانتقال:"
736
+
737
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
738
+ #: ../views/slider-settings.php:33
739
+ msgid "Milliseconds"
740
+ msgstr "ملي ثانية"
741
+
742
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
743
+ msgid "Next Slide Delay:"
744
+ msgstr "تأخير الشريحة التالية:"
745
+
746
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
747
+ msgid "Tile Count:"
748
+ msgstr "عدد المربعات:"
749
+
750
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
751
+ msgid "The number of tiles to use in the transition."
752
+ msgstr "عدد المربعات المستخدمة في الانتقال."
753
+
754
+ #: ../views/slide-settings.php:49
755
+ msgid "Tile Delay:"
756
+ msgstr "تأخير المربعات:"
757
+
758
+ #: ../views/slide-settings.php:51
759
+ msgid "Milliseconds to delay each individual tile transition."
760
+ msgstr "عدد الملي ثانية لتأخير كل مربع منفرد في الانتقال."
761
+
762
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
763
+ msgid "Tile Position:"
764
+ msgstr "موضع المربعات:"
765
+
766
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
767
+ msgid "Vertical"
768
+ msgstr "عمودي"
769
+
770
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
771
+ msgid "Horizontal"
772
+ msgstr "أفقي"
773
+
774
+ #: ../views/slider-advanced-settings.php:4
775
+ msgid "Allow Wrap?"
776
+ msgstr "تسمح التفاف؟"
777
+
778
+ #: ../views/slider-advanced-settings.php:6
779
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
780
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
781
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
782
+ msgid "Yes"
783
+ msgstr "نعم"
784
+
785
+ #: ../views/slider-advanced-settings.php:7
786
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
787
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
788
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
789
+ msgid "No"
790
+ msgstr "لا"
791
+
792
+ #: ../views/slider-advanced-settings.php:10
793
+ msgid ""
794
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
795
+ msgstr "يحدد إذا المنزلق يلتف إلى بداية الشريحة إذا بلغت الشريحة نهاية."
796
+
797
+ #: ../views/slider-advanced-settings.php:15
798
+ msgid "Dynamic Height:"
799
+ msgstr "دينامية الطول:"
800
+
801
+ #: ../views/slider-advanced-settings.php:17
802
+ msgid "Off"
803
+ msgstr "بعيدا"
804
+
805
+ #: ../views/slider-advanced-settings.php:18
806
+ msgid "On"
807
+ msgstr "عن"
808
+
809
+ #: ../views/slider-advanced-settings.php:21
810
+ msgid "Adjust slider height depending on current slide."
811
+ msgstr "ضبط ارتفاع المنزلق اعتمادا على الشريحة الحالية."
812
+
813
+ #: ../views/slider-advanced-settings.php:26
814
+ msgid "Delay:"
815
+ msgstr "تأخير:"
816
+
817
+ #: ../views/slider-advanced-settings.php:28
818
+ msgid ""
819
+ "Milliseconds to add or substract from the time before the first transition "
820
+ "occurs."
821
+ msgstr "ميلي ثانية لإضافة أو طرح من الوقت قبل أن يحدث التحول الأول."
822
+
823
+ #: ../views/slider-advanced-settings.php:32
824
+ msgid "Easing:"
825
+ msgstr "التيسير:"
826
+
827
+ #: ../views/slider-advanced-settings.php:38
828
+ msgid "Easing for transition animations."
829
+ msgstr "تخفيف عن الرسوم المتحركة التي تمر بمرحلة انتقالية."
830
+
831
+ #: ../views/slider-advanced-settings.php:42
832
+ msgid "Swipe:"
833
+ msgstr "انتقاد:"
834
+
835
+ #: ../views/slider-advanced-settings.php:48
836
+ msgid "Enable swipe gesture support for touch devices."
837
+ msgstr "تمكين الدعم لفتة انتقاد للأجهزة التي تعمل باللمس."
838
+
839
+ #: ../views/slider-advanced-settings.php:53
840
+ msgid "Resize Options:"
841
+ msgstr "تغيير حجم خيارات:"
842
+
843
+ #: ../views/slider-advanced-settings.php:61
844
+ msgid ""
845
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
846
+ msgstr ""
847
+
848
+ #: ../views/slider-advanced-settings.php:62
849
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
850
+ msgstr ""
851
+
852
+ #: ../views/slider-advanced-settings.php:63
853
+ msgid "Crop - Excess parts of images are removed."
854
+ msgstr ""
855
+
856
+ #: ../views/slider-advanced-settings.php:64
857
+ #, fuzzy
858
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
859
+ msgstr "بالضبط - تغيير حجم إلى الأبعاد الدقيقة."
860
+
861
+ #: ../views/slider-advanced-settings.php:65
862
+ #, fuzzy
863
+ msgid "Exact Width - Resize to exact width."
864
+ msgstr "المشهد - تغيير حجم لعرض بالضبط."
865
+
866
+ #: ../views/slider-advanced-settings.php:66
867
+ #, fuzzy
868
+ msgid "Exact Height - Resize to exact height."
869
+ msgstr "صورة - تغيير حجم لارتفاع بالضبط."
870
+
871
+ #: ../views/slider-advanced-settings.php:67
872
+ msgid ""
873
+ "Note: Please clear your browser cache if you are not seeing the changes."
874
+ msgstr ""
875
+
876
+ #: ../views/slider-advanced-settings.php:69
877
+ msgid "Auto - Cyclone Slider decides the resize option."
878
+ msgstr "السيارات - المتزلج إعصار يقرر خيار تغيير الحجم."
879
+
880
+ #: ../views/slider-advanced-settings.php:70
881
+ msgid "Crop - Resize and remove excess parts."
882
+ msgstr "المحاصيل - تغيير حجم وإزالة الأجزاء الزائدة."
883
+
884
+ #: ../views/slider-advanced-settings.php:71
885
+ msgid "Exact - Resize to exact dimensions."
886
+ msgstr "بالضبط - تغيير حجم إلى الأبعاد الدقيقة."
887
+
888
+ #: ../views/slider-advanced-settings.php:72
889
+ msgid "Landscape - Resize to exact width."
890
+ msgstr "المشهد - تغيير حجم لعرض بالضبط."
891
+
892
+ #: ../views/slider-advanced-settings.php:73
893
+ msgid "Portrait - Resize to exact height."
894
+ msgstr "صورة - تغيير حجم لارتفاع بالضبط."
895
+
896
+ #: ../views/slider-advanced-settings.php:80
897
+ msgid "Image Quality (JPEG):"
898
+ msgstr ""
899
+
900
+ #: ../views/slider-advanced-settings.php:83
901
+ msgid "Low"
902
+ msgstr ""
903
+
904
+ #: ../views/slider-advanced-settings.php:84
905
+ msgid "Medium"
906
+ msgstr ""
907
+
908
+ #: ../views/slider-advanced-settings.php:85
909
+ msgid "High"
910
+ msgstr ""
911
+
912
+ #: ../views/slider-advanced-settings.php:86
913
+ msgid "Very High"
914
+ msgstr ""
915
+
916
+ #: ../views/slider-advanced-settings.php:87
917
+ msgid "Max"
918
+ msgstr ""
919
+
920
+ #: ../views/slider-advanced-settings.php:91
921
+ msgid "The quality of the generated images. Applies to JPEG images only."
922
+ msgstr ""
923
+
924
+ #: ../views/slider-advanced-settings.php:92
925
+ msgid ""
926
+ "Low = low quality but small file size. Max = Best quality but large file "
927
+ "size."
928
+ msgstr ""
929
+
930
+ #: ../views/slider-codes.php:4
931
+ msgid "Your Shortcode:"
932
+ msgstr "الكود القصير الخاص بك:"
933
+
934
+ #: ../views/slider-codes.php:6
935
+ msgid ""
936
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
937
+ msgstr ""
938
+ "قم بنسخ ولصق هذا الكود القصير داخل تدويناتك، صفحاتك، أو محررات التدوينات "
939
+ "المخصوصة."
940
+
941
+ #: ../views/slider-codes.php:10
942
+ msgid "Your PHP Code:"
943
+ msgstr "كود PHP الخاص بك:"
944
+
945
+ #: ../views/slider-codes.php:12
946
+ msgid ""
947
+ "Copy and paste this code when you need to display the slider in template "
948
+ "files (header.php, front-page.php, etc.)."
949
+ msgstr ""
950
+ "قم بنسخ ولصق هذا الكود عندما تحتاج إلى عرض شريط التمرير في ملفات القالب "
951
+ "(header.php، front-page.php، الخ)."
952
+
953
+ #: ../views/slider-id.php:5
954
+ msgid "Change the Slideshow ID here."
955
+ msgstr "قم بتغيير رقم عرض الشرائح هنا."
956
+
957
+ #: ../views/slider-preview.php:9
958
+ msgid "Your preview will appear here."
959
+ msgstr "سوف المعاينة تظهر هنا."
960
+
961
+ #: ../views/slider-settings.php:3
962
+ msgid "Transition Effects to Use:"
963
+ msgstr "مؤثرات الانتقال التي سيتم استخدامها:"
964
+
965
+ #: ../views/slider-settings.php:27
966
+ msgid "Milliseconds. 0 to disable auto advance."
967
+ msgstr "ملي ثانية. 0 لتعطيل التقدم التلقائي."
968
+
969
+ #: ../views/slider-settings.php:31
970
+ msgid "Transition Effects Speed:"
971
+ msgstr "سرعة مؤثرات الانتقال:"
972
+
973
+ #: ../views/slider-settings.php:37
974
+ msgid "Width:"
975
+ msgstr "عرض:"
976
+
977
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
978
+ msgid "pixels."
979
+ msgstr "بكسل."
980
+
981
+ #: ../views/slider-settings.php:43
982
+ msgid "Height:"
983
+ msgstr "ارتفاع:"
984
+
985
+ #: ../views/slider-settings.php:49
986
+ msgid "Width Management:"
987
+ msgstr "إدارة العرض:"
988
+
989
+ #: ../views/slider-settings.php:51
990
+ msgid "Responsive"
991
+ msgstr "متجاوب"
992
+
993
+ #: ../views/slider-settings.php:52
994
+ msgid "Full"
995
+ msgstr "كامل"
996
+
997
+ #: ../views/slider-settings.php:53
998
+ msgid "Fixed"
999
+ msgstr "ثابت"
1000
+
1001
+ #: ../views/slider-settings.php:56
1002
+ msgid ""
1003
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1004
+ "provided width."
1005
+ msgstr ""
1006
+ "استجابة - سوف ريسيزيس إلى حجم أصغر ولكن الحد الأقصى العرض مساويا لعرض "
1007
+ "المقدمة."
1008
+
1009
+ #: ../views/slider-settings.php:57
1010
+ msgid ""
1011
+ "Full - the same as responsive but maximum width will be equal to its "
1012
+ "container ignoring the provided width."
1013
+ msgstr ""
1014
+ "كامل - نفس العرض استجابة ولكن الحد الأقصى سوف يكون مساويا لالحاوية الخاصة به "
1015
+ "تجاهل عرض المقدم."
1016
+
1017
+ #: ../views/slider-settings.php:58
1018
+ msgid "Fixed - width and height are not resized."
1019
+ msgstr "ثابت - العرض والارتفاع لا يتم تغيير حجمها."
1020
+
1021
+ #: ../views/slider-settings.php:63
1022
+ msgid "Resize Images?"
1023
+ msgstr "تغيير حجم الصور؟"
1024
+
1025
+ #: ../views/slider-settings.php:70
1026
+ msgid "Force Resize"
1027
+ msgstr "تغيير حجم القوة"
1028
+
1029
+ #: ../views/slider-settings.php:71
1030
+ #, fuzzy
1031
+ msgid ""
1032
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1033
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1034
+ msgstr ""
1035
+ "نعم - قم بتغيير حجم الصور لأبعاد عرض الشرائح. <br>لا - قم باستخدام الصورة "
1036
+ "الأصلية المرفوعة."
1037
+
1038
+ #: ../views/slider-settings.php:75
1039
+ msgid "Pause on Hover?"
1040
+ msgstr "إيقاف مؤقت عند المرور بالمؤشر؟"
1041
+
1042
+ #: ../views/slider-settings.php:83
1043
+ msgid "Show Prev/Next Buttons?"
1044
+ msgstr "إظهار أزرار السابق/التالي؟"
1045
+
1046
+ #: ../views/slider-settings.php:91
1047
+ msgid "Show Navigation?"
1048
+ msgstr "إظهار التصفح"
1049
+
1050
+ #: ../views/slider-settings.php:96
1051
+ msgid "The thumbnails or dots depending on template."
1052
+ msgstr "الصور الصغيرة أو النقاط اعتمادا على القالب."
1053
+
1054
+ #: ../views/slider-settings.php:100
1055
+ msgid "Random Slide Order?"
1056
+ msgstr "ترتيب عشوائي للشرائح"
1057
+
1058
+ #: ../views/slider-settings.php:105
1059
+ msgid "Randomize order of slides on every page visit."
1060
+ msgstr "قم بتغيير ترتيب الشرائح في كل زيارة لصفحة."
1061
+
1062
+ #: ../views/slides.php:8
1063
+ msgid "Add Slide"
1064
+ msgstr "أضف شريحة"
1065
+
1066
+ #: ../views/slides.php:10
1067
+ msgid "Sort"
1068
+ msgstr ""
1069
+
1070
+ #: ../views/template-selection.php:4
1071
+ msgid "Name"
1072
+ msgstr "اسم"
1073
+
1074
+ #: ../views/template-selection.php:5
1075
+ msgid "Supported Slides"
1076
+ msgstr "الشرائح المدعومة"
1077
+
1078
+ #: ../views/template-selection.php:6
1079
+ #, fuzzy
1080
+ msgid "Location"
1081
+ msgstr "عنوان فرعي"
1082
+
1083
+ #: ../views/template-selection.php:7
1084
+ msgid "Selected"
1085
+ msgstr "مختار"
1086
+
1087
+ #: ../views/template-selection.php:43
1088
+ #, fuzzy
1089
+ msgid "Learn More About Templates"
1090
+ msgstr "تعلم كيفية إنشاء قالب خاص بك"
1091
+
1092
+ #: ../views/template-selection.php:44
1093
+ #, fuzzy
1094
+ msgid "Get More Templates"
1095
+ msgstr "احصل على مزيد من القوالب.."
1096
+
1097
+ #~ msgid "Slide Transition Effects"
1098
+ #~ msgstr "مؤثرات انتقال الشريحة"
1099
+
1100
+ #~ msgid "Disable"
1101
+ #~ msgstr "تعطيل"
1102
+
1103
+ #~ msgid "Enable Slide Effects"
1104
+ #~ msgstr "تفعيل مؤثرات الشريحة"
1105
+
1106
+ #~ msgid ""
1107
+ #~ "Templates CSS could not be saved. Make sure %stemplates.css is writable."
1108
+ #~ msgstr ""
1109
+ #~ "تعذر حفظ كود CSS الخاص بالقالب. الرجاء التأكد من أن %stemplates.css قابل "
1110
+ #~ "للتعديل."
1111
+
1112
+ #~ msgid ""
1113
+ #~ "Templates JS could not be saved. Make sure %stemplates.js is writable."
1114
+ #~ msgstr ""
1115
+ #~ "تعذر حفظ كود JS الخاص بالقالب. الرجاء التأكد من أن %stemplates.js قابل "
1116
+ #~ "للتعديل."
1117
+
1118
+ #~ msgid "Video (Old Version)"
1119
+ #~ msgstr "فيديو (النسخة القديمة)"
1120
+
1121
+ #~ msgid ""
1122
+ #~ "This video slide is problematic. Please consider using YouTube, Vimeo or "
1123
+ #~ "Custom slide type for videos. This slide will be removed in the future "
1124
+ #~ "and will be replaced with a better one."
1125
+ #~ msgstr ""
1126
+ #~ "هذه الشريحة الفيديو هو إشكالية. يرجى النظر في استخدام يوتيوب، فيميو أو "
1127
+ #~ "نوع الشريحة مخصص لأشرطة الفيديو. ستتم إزالة هذه الشريحة في المستقبل، "
1128
+ #~ "وسيتم استبدالها بأخرى أفضل."
1129
+
1130
+ #~ msgid "Video URL:"
1131
+ #~ msgstr "عنوان رابط الفيديو:"
1132
+
1133
+ #~ msgid "Copy and paste a Youtube or Vimeo URL and hit the Get Video button."
1134
+ #~ msgstr "قم بنسخ ولصق عنوان فيديو يوتيوب أو فيميو واضغط زر احصل على فيديو."
1135
+
1136
+ #~ msgid "Get Video"
1137
+ #~ msgstr "احصل على فيديو"
1138
+
1139
+ #~ msgid "Embed Code"
1140
+ #~ msgstr "كود التضمين"
1141
+
1142
+ #~ msgid ""
1143
+ #~ "You can place your embed code directly here. Or you can use the Get Video "
1144
+ #~ "button to generate the embed code."
1145
+ #~ msgstr ""
1146
+ #~ "يمكنك وضع كود التضمين الخاص بك هنا مباشرة. أو يمكنك استخدام زر احصل على "
1147
+ #~ "فيديو لتوليد كود التضمين.."
1148
+
1149
+ #~ msgid ""
1150
+ #~ "<strong>Note:</strong> The Slide Properties and Tile effects are not "
1151
+ #~ "supported for videos."
1152
+ #~ msgstr ""
1153
+ #~ "<strong>تنبيه:</strong> خصائص الشريحة ومؤثرات المربعات غير مدعومة في "
1154
+ #~ "الفيديو."
1155
+
1156
+ #~ msgid ""
1157
+ #~ "<strong>Note:</strong> Append &wmode=transparent to the embed code src "
1158
+ #~ "attribute to make HTML elements appear on top of Flash."
1159
+ #~ msgstr ""
1160
+ #~ "<strong>Note:</strong> أضف &wmode=transparent لخاصية src في كود التضمين "
1161
+ #~ "لجعل عناصر HTML تظهر فوق الفلاش."
1162
+
1163
+ #~ msgid "Lightbox"
1164
+ #~ msgstr "العلبة الخفيفة"
1165
+
1166
+ #~ msgid "Slideshow Settings"
1167
+ #~ msgstr "إعدادات عرض الشرائح"
1168
+
1169
+ #~ msgid "Slideshow Templates"
1170
+ #~ msgstr "قوالب عرض الشرائح"
1171
+
1172
+ #~ msgid "Drag"
1173
+ #~ msgstr "سحب"
1174
+
1175
+ #~ msgid ""
1176
+ #~ "Select a template to use. Check the template icons to see what slide type "
1177
+ #~ "it supports."
1178
+ #~ msgstr ""
1179
+ #~ "قم باختيار قالب للاستخدام. تفحص أيقونات القالب لترى أنواع الشرائح التي "
1180
+ #~ "يدعمها"
1181
+
1182
+ #~ msgid ""
1183
+ #~ "Note: If you are looking for the Black, Blue or Myrtle, checkout this <a "
1184
+ #~ "href=\"%s\">post</a>."
1185
+ #~ msgstr ""
1186
+ #~ "تنبيه: إذا كنت تبحث عن القوالب الأسود، الأزرق، والآس، فانظر هذه <a href="
1187
+ #~ "\"%s\">التدوينة</a>."
src/cyclone-slider/languages/cycloneslider-de_DE.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-de_DE.po ADDED
@@ -0,0 +1,1116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:34+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:38+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: de_DE\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cyclone-slider.php:93
21
+ #, fuzzy
22
+ msgid "Cyclone Slider Settings"
23
+ msgstr "Slider-Einstellungen"
24
+
25
+ #: ../cyclone-slider.php:94
26
+ #, fuzzy
27
+ msgid "Settings"
28
+ msgstr "Slider-Einstellungen"
29
+
30
+ #: ../cyclone-slider.php:104
31
+ #, fuzzy
32
+ msgid "Cyclone Slider Export"
33
+ msgstr "Slider-Einstellungen"
34
+
35
+ #: ../cyclone-slider.php:105
36
+ msgid "Export/Import"
37
+ msgstr ""
38
+
39
+ #: ../cyclone-slider.php:117
40
+ #, fuzzy
41
+ msgid "Cyclone Slider Nextgen Export"
42
+ msgstr "Slider-Einstellungen"
43
+
44
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
45
+ msgid "Export Nextgen"
46
+ msgstr ""
47
+
48
+ #: ../cyclone-slider.php:130
49
+ #, fuzzy
50
+ msgid "Cyclone Slider Import"
51
+ msgstr "Slider-Einstellungen"
52
+
53
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
54
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
55
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
56
+ #: ../src/CycloneSlider/ImportPage.php:74
57
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
58
+ msgid "Import"
59
+ msgstr ""
60
+
61
+ #: ../src/CycloneSlider/Admin.php:142
62
+ msgid "Cyclone Slider"
63
+ msgstr ""
64
+
65
+ #: ../src/CycloneSlider/Admin.php:143
66
+ msgid "Slideshow"
67
+ msgstr ""
68
+
69
+ #: ../src/CycloneSlider/Admin.php:144
70
+ msgid "Add Slideshow"
71
+ msgstr "Slideshow hinzufügen"
72
+
73
+ #: ../src/CycloneSlider/Admin.php:145
74
+ msgid "Add New Slideshow"
75
+ msgstr "Neuer Slideshow"
76
+
77
+ #: ../src/CycloneSlider/Admin.php:146
78
+ msgid "Edit Slideshow"
79
+ msgstr "Bearbeiten Slideshow"
80
+
81
+ #: ../src/CycloneSlider/Admin.php:147
82
+ msgid "New Slideshow"
83
+ msgstr "Neue Slideshow"
84
+
85
+ #: ../src/CycloneSlider/Admin.php:148
86
+ msgid "View Slideshow"
87
+ msgstr "Sehen Slideshow"
88
+
89
+ #: ../src/CycloneSlider/Admin.php:149
90
+ msgid "Search Slideshows"
91
+ msgstr "Suchen Slideshows"
92
+
93
+ #: ../src/CycloneSlider/Admin.php:150
94
+ msgid "No slideshows found"
95
+ msgstr "Keine Slideshows gefunden"
96
+
97
+ #: ../src/CycloneSlider/Admin.php:151
98
+ msgid "No slideshows found in Trash"
99
+ msgstr "Keine Diashows in Trash gefunden"
100
+
101
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
102
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
103
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
104
+ msgid "Slideshow updated."
105
+ msgstr ""
106
+
107
+ #: ../src/CycloneSlider/Admin.php:198
108
+ msgid "Custom field updated."
109
+ msgstr ""
110
+
111
+ #: ../src/CycloneSlider/Admin.php:199
112
+ msgid "Custom field deleted."
113
+ msgstr ""
114
+
115
+ #: ../src/CycloneSlider/Admin.php:202
116
+ #, fuzzy
117
+ msgid "Slideshow published."
118
+ msgstr "Slideshow gespeichert."
119
+
120
+ #: ../src/CycloneSlider/Admin.php:203
121
+ msgid "Slideshow saved."
122
+ msgstr "Slideshow gespeichert."
123
+
124
+ #: ../src/CycloneSlider/Admin.php:242
125
+ msgid "Slides"
126
+ msgstr ""
127
+
128
+ #: ../src/CycloneSlider/Admin.php:251
129
+ #, fuzzy
130
+ msgid "Slider Preview"
131
+ msgstr "Slider-Einstellungen"
132
+
133
+ #: ../src/CycloneSlider/Admin.php:260
134
+ #, fuzzy
135
+ msgid "Get Slider Codes"
136
+ msgstr "Next Slide Verzögerung:"
137
+
138
+ #: ../src/CycloneSlider/Admin.php:269
139
+ #, fuzzy
140
+ msgid "Basic Settings"
141
+ msgstr "Slider-Einstellungen"
142
+
143
+ #: ../src/CycloneSlider/Admin.php:278
144
+ #, fuzzy
145
+ msgid "Advanced Settings"
146
+ msgstr "Slider-Einstellungen"
147
+
148
+ #: ../src/CycloneSlider/Admin.php:287
149
+ #, fuzzy
150
+ msgid "Templates"
151
+ msgstr "Slider-Einstellungen"
152
+
153
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
154
+ msgid "Slideshow ID"
155
+ msgstr ""
156
+
157
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
158
+ #, fuzzy, php-format
159
+ msgid "Slider \"%s\" not found."
160
+ msgstr "[Slideshow nicht gefunden]"
161
+
162
+ #: ../src/CycloneSlider/Admin.php:323
163
+ msgid "Slide"
164
+ msgstr ""
165
+
166
+ #: ../src/CycloneSlider/Admin.php:328
167
+ msgid "[Hidden]"
168
+ msgstr ""
169
+
170
+ #: ../src/CycloneSlider/Admin.php:467
171
+ msgid "Core"
172
+ msgstr ""
173
+
174
+ #: ../src/CycloneSlider/Admin.php:468
175
+ #, php-format
176
+ msgid ""
177
+ "You should not make changes to templates in this location. All your changes "
178
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
179
+ msgstr ""
180
+
181
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
182
+ #: ../src/CycloneSlider/Admin.php:481
183
+ #, php-format
184
+ msgid "Location: <strong>%s</strong>"
185
+ msgstr ""
186
+
187
+ #: ../src/CycloneSlider/Admin.php:473
188
+ msgid ""
189
+ "Your template is in danger of being overwritten when you upgrade your theme. "
190
+ "Please consider creating a WordPress plugin Cyclone Slider template."
191
+ msgstr ""
192
+
193
+ #: ../src/CycloneSlider/Admin.php:524
194
+ #, fuzzy
195
+ msgid "Slide *"
196
+ msgstr "Folie hinzufügen"
197
+
198
+ #: ../src/CycloneSlider/Admin.php:616
199
+ msgid "Slideshow Name"
200
+ msgstr "Slideshow Namen"
201
+
202
+ #: ../src/CycloneSlider/Admin.php:617
203
+ msgid "Template"
204
+ msgstr ""
205
+
206
+ #: ../src/CycloneSlider/Admin.php:618
207
+ #, fuzzy
208
+ msgid "No. of Slides"
209
+ msgstr "Folie hinzufügen"
210
+
211
+ #: ../src/CycloneSlider/Admin.php:620
212
+ msgid "Shortcode"
213
+ msgstr ""
214
+
215
+ #: ../src/CycloneSlider/AssetLoader.php:71
216
+ #, fuzzy
217
+ msgid "Select an image"
218
+ msgstr "Suchen Slideshows"
219
+
220
+ #: ../src/CycloneSlider/AssetLoader.php:72
221
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
222
+ msgstr ""
223
+
224
+ #: ../src/CycloneSlider/AssetLoader.php:73
225
+ #, fuzzy
226
+ msgid "Add to Slide"
227
+ msgstr "Folie hinzufügen"
228
+
229
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
230
+ #, fuzzy
231
+ msgid "Add Images as Slides"
232
+ msgstr "Neuer Slideshow"
233
+
234
+ #: ../src/CycloneSlider/AssetLoader.php:75
235
+ msgid "Error. Make sure its a valid YouTube URL."
236
+ msgstr ""
237
+
238
+ #: ../src/CycloneSlider/Data.php:276
239
+ #, php-format
240
+ msgid "Invalid format for get_slider %s parameter."
241
+ msgstr ""
242
+
243
+ #: ../src/CycloneSlider/ExportPage.php:64
244
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
245
+ #: ../src/CycloneSlider/ImportPage.php:69
246
+ msgid "Export"
247
+ msgstr ""
248
+
249
+ #: ../src/CycloneSlider/ExportPage.php:77
250
+ #: ../src/CycloneSlider/ImportPage.php:63
251
+ msgid ""
252
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
253
+ msgstr ""
254
+
255
+ #: ../src/CycloneSlider/ExportPage.php:113
256
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
257
+ msgid "Your export file is ready. Click Download."
258
+ msgstr ""
259
+
260
+ #: ../src/CycloneSlider/ExportPage.php:118
261
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
262
+ msgid "Error creating exports directory."
263
+ msgstr ""
264
+
265
+ #: ../src/CycloneSlider/ExportPage.php:167
266
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
267
+ #, fuzzy
268
+ msgid "No slider selected."
269
+ msgstr "Keine Slideshows gefunden"
270
+
271
+ #: ../src/CycloneSlider/ExportPage.php:172
272
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
273
+ msgid "Please choose a file name."
274
+ msgstr ""
275
+
276
+ #: ../src/CycloneSlider/Exporter.php:52
277
+ #, fuzzy
278
+ msgid "Error no sliders selected."
279
+ msgstr "Keine Slideshows gefunden"
280
+
281
+ #: ../src/CycloneSlider/Exporter.php:73
282
+ msgid "Error encoding data to JSON."
283
+ msgstr ""
284
+
285
+ #: ../src/CycloneSlider/Exporter.php:79
286
+ #, php-format
287
+ msgid "Success generating zip %s."
288
+ msgstr ""
289
+
290
+ #: ../src/CycloneSlider/Exporter.php:109
291
+ #, php-format
292
+ msgid "Exporting data for slider \"%s\"."
293
+ msgstr ""
294
+
295
+ #: ../src/CycloneSlider/Exporter.php:138
296
+ #, php-format
297
+ msgid ""
298
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
299
+ msgstr ""
300
+
301
+ #: ../src/CycloneSlider/Exporter.php:182
302
+ msgid "ZipArchive not supported."
303
+ msgstr ""
304
+
305
+ #: ../src/CycloneSlider/Exporter.php:188
306
+ #, php-format
307
+ msgid "Error opening zip file %s. Code: %s"
308
+ msgstr ""
309
+
310
+ #: ../src/CycloneSlider/Exporter.php:197
311
+ #, php-format
312
+ msgid "Error adding file %s to zip."
313
+ msgstr ""
314
+
315
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
316
+ #, php-format
317
+ msgid "File %s added to zip."
318
+ msgstr ""
319
+
320
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
321
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
322
+ msgid "NextGEN Integration"
323
+ msgstr ""
324
+
325
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
326
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
327
+ msgid "Choose a NextGEN Gallery"
328
+ msgstr ""
329
+
330
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
331
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
332
+ msgid ""
333
+ "Select a gallery to import images from. Images will be added as new slides."
334
+ msgstr ""
335
+
336
+ #: ../src/CycloneSlider/Frontend.php:81
337
+ #, fuzzy, php-format
338
+ msgid "[Slideshow \"%s\" not found]"
339
+ msgstr "[Slideshow nicht gefunden]"
340
+
341
+ #: ../src/CycloneSlider/Frontend.php:97
342
+ #, php-format
343
+ msgid "[Template \"%s\" not found]"
344
+ msgstr "[Template \"%s\" nicht gefunden]"
345
+
346
+ #: ../src/CycloneSlider/ImportPage.php:116
347
+ msgid "Import operation success!"
348
+ msgstr ""
349
+
350
+ #: ../src/CycloneSlider/Importer.php:35
351
+ msgid "Could not read zip files. ZipArchive not supported."
352
+ msgstr ""
353
+
354
+ #: ../src/CycloneSlider/Importer.php:40
355
+ #, fuzzy
356
+ msgid "No zip file found."
357
+ msgstr "Keine Slideshows gefunden"
358
+
359
+ #: ../src/CycloneSlider/Importer.php:46
360
+ msgid "Error creating imports directory."
361
+ msgstr ""
362
+
363
+ #: ../src/CycloneSlider/Importer.php:53
364
+ msgid "Error moving uploaded zip."
365
+ msgstr ""
366
+
367
+ #: ../src/CycloneSlider/Importer.php:60
368
+ #, php-format
369
+ msgid "Error opening zip: %s"
370
+ msgstr ""
371
+
372
+ #: ../src/CycloneSlider/Importer.php:73
373
+ #, php-format
374
+ msgid "Security error. Invalid %s file."
375
+ msgstr ""
376
+
377
+ #: ../src/CycloneSlider/Importer.php:80
378
+ #, php-format
379
+ msgid "Security error. File %s is not an image."
380
+ msgstr ""
381
+
382
+ #: ../src/CycloneSlider/Importer.php:86
383
+ #, php-format
384
+ msgid "Security error. Missing %s file."
385
+ msgstr ""
386
+
387
+ #: ../src/CycloneSlider/Importer.php:92
388
+ msgid "Error extracting zip."
389
+ msgstr ""
390
+
391
+ #: ../src/CycloneSlider/Importer.php:99
392
+ msgid "Failed to read export JSON."
393
+ msgstr ""
394
+
395
+ #: ../src/CycloneSlider/Importer.php:104
396
+ msgid "Failed to decode JSON."
397
+ msgstr ""
398
+
399
+ #: ../src/CycloneSlider/Importer.php:175
400
+ #, php-format
401
+ msgid "scandir failed on %s"
402
+ msgstr ""
403
+
404
+ #: ../src/CycloneSlider/Importer.php:191
405
+ #, fuzzy, php-format
406
+ msgid "Source image %s not found."
407
+ msgstr "[Template \"%s\" nicht gefunden]"
408
+
409
+ #: ../src/CycloneSlider/Importer.php:195
410
+ msgid "Copy error."
411
+ msgstr ""
412
+
413
+ #: ../src/CycloneSlider/SettingsPage.php:51
414
+ msgid "Default options restored."
415
+ msgstr ""
416
+
417
+ #: ../src/CycloneSlider/WidgetSlider.php:13
418
+ msgid "Cyclone Slider Widget"
419
+ msgstr ""
420
+
421
+ #: ../src/CycloneSlider/WidgetSlider.php:14
422
+ msgid "Widget for displaying sliders."
423
+ msgstr ""
424
+
425
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
426
+ #, fuzzy
427
+ msgid "Title:"
428
+ msgstr "Titel"
429
+
430
+ #: ../src/CycloneSlider/WidgetSlider.php:79
431
+ #, fuzzy
432
+ msgid "Select a Slider:"
433
+ msgstr "Suchen Slideshows"
434
+
435
+ #: ../src/CycloneSlider/WidgetSlider.php:94
436
+ #, fuzzy
437
+ msgid "No sliders found."
438
+ msgstr "Keine Slideshows gefunden"
439
+
440
+ #: ../templates/dark/slider.php:40
441
+ msgid "View Larger Image"
442
+ msgstr ""
443
+
444
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
445
+ msgid "Learn More"
446
+ msgstr ""
447
+
448
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
449
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
450
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
451
+ msgid "Slide type not supported."
452
+ msgstr ""
453
+
454
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
455
+ #: ../views/export-nextgen-step-3.php:8
456
+ #, fuzzy
457
+ msgid "Cyclone Slider Nextgen Exporter"
458
+ msgstr "Slider-Einstellungen"
459
+
460
+ #: ../views/export-nextgen-step-1.php:18
461
+ msgid "Choose a NextGEN Gallery:"
462
+ msgstr ""
463
+
464
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
465
+ #, fuzzy
466
+ msgid "Select All"
467
+ msgstr "löschen"
468
+
469
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
470
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
471
+ msgid "File Name:"
472
+ msgstr ""
473
+
474
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
475
+ #, fuzzy
476
+ msgid "No slider to export."
477
+ msgstr "Keine Slideshows gefunden"
478
+
479
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
480
+ msgid "Clear"
481
+ msgstr ""
482
+
483
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
484
+ msgid "Next"
485
+ msgstr ""
486
+
487
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
488
+ #, fuzzy
489
+ msgid "Selected slider(s):"
490
+ msgstr "Suchen Slideshows"
491
+
492
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
493
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
494
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
495
+ #: ../views/import-step-3.php:15
496
+ msgid "Back"
497
+ msgstr ""
498
+
499
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
500
+ msgid "Generate Export File"
501
+ msgstr ""
502
+
503
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
504
+ msgid "Download"
505
+ msgstr ""
506
+
507
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
508
+ #: ../views/export-step-3.php:8
509
+ #, fuzzy
510
+ msgid "Cyclone Slider Exporter"
511
+ msgstr "Slider-Einstellungen"
512
+
513
+ #: ../views/export-step-1.php:18
514
+ #, fuzzy
515
+ msgid "Select sliders:"
516
+ msgstr "Suchen Slideshows"
517
+
518
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
519
+ #, fuzzy
520
+ msgid "Cyclone Slider Importer"
521
+ msgstr "Slider-Einstellungen"
522
+
523
+ #: ../views/import-step-1.php:17
524
+ msgid "Import Zip File:"
525
+ msgstr ""
526
+
527
+ #: ../views/import-step-1.php:24
528
+ msgid "Upload"
529
+ msgstr ""
530
+
531
+ #: ../views/settings-page.php:7
532
+ msgid ""
533
+ "Play with these settings if Cyclone Slider is not working or if you want to "
534
+ "optimize it."
535
+ msgstr ""
536
+
537
+ #: ../views/settings-page.php:16
538
+ msgid "Load scripts in:"
539
+ msgstr ""
540
+
541
+ #: ../views/settings-page.php:19
542
+ msgid "Header"
543
+ msgstr ""
544
+
545
+ #: ../views/settings-page.php:20
546
+ msgid "Footer"
547
+ msgstr ""
548
+
549
+ #: ../views/settings-page.php:25
550
+ msgid "Load these scripts:"
551
+ msgstr ""
552
+
553
+ #: ../views/settings-page.php:30
554
+ msgid "Cycle 2. This is the core script needed by the plugin."
555
+ msgstr ""
556
+
557
+ #: ../views/settings-page.php:35
558
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
559
+ msgstr ""
560
+
561
+ #: ../views/settings-page.php:40
562
+ msgid "Cycle 2 - Swipe. For touch swipe events."
563
+ msgstr ""
564
+
565
+ #: ../views/settings-page.php:45
566
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
567
+ msgstr ""
568
+
569
+ #: ../views/settings-page.php:50
570
+ msgid "Cycle 2 - Video. Used by YouTube template."
571
+ msgstr ""
572
+
573
+ #: ../views/settings-page.php:55
574
+ msgid "Magnific Popup - Enable lightbox option."
575
+ msgstr ""
576
+
577
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
578
+ #: ../views/slider-advanced-settings.php:2
579
+ msgid "Available in pro version."
580
+ msgstr ""
581
+
582
+ #: ../views/settings-page.php:60
583
+ msgid "Easing - Enable easing options."
584
+ msgstr ""
585
+
586
+ #: ../views/settings-page.php:65
587
+ msgid "Scripts loading priority:"
588
+ msgstr ""
589
+
590
+ #: ../views/settings-page.php:68
591
+ msgid "Make this value bigger to load scripts last."
592
+ msgstr ""
593
+
594
+ #: ../views/settings-page.php:72
595
+ msgid "Load these templates:"
596
+ msgstr ""
597
+
598
+ #: ../views/settings-page.php:85
599
+ msgid "Save Options"
600
+ msgstr ""
601
+
602
+ #: ../views/settings-page.php:86
603
+ msgid "Restore Defaults"
604
+ msgstr ""
605
+
606
+ #: ../views/slide-edit-image.php:5
607
+ msgid "Thumbnail"
608
+ msgstr ""
609
+
610
+ #: ../views/slide-edit-image.php:9
611
+ msgid "Get Image"
612
+ msgstr ""
613
+
614
+ #: ../views/slide-edit-image.php:10
615
+ msgid "View Image"
616
+ msgstr ""
617
+
618
+ #: ../views/slide-edit-image.php:14
619
+ msgid "Caption"
620
+ msgstr ""
621
+
622
+ #: ../views/slide-edit-image.php:21
623
+ #, fuzzy
624
+ msgid "Description:"
625
+ msgstr "Beschreibung"
626
+
627
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
628
+ msgid "Link"
629
+ msgstr ""
630
+
631
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
632
+ msgid "Link URL:"
633
+ msgstr ""
634
+
635
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
636
+ msgid "Open Link in:"
637
+ msgstr ""
638
+
639
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
640
+ msgid "Same Window"
641
+ msgstr ""
642
+
643
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
644
+ msgid "New Tab or Window"
645
+ msgstr ""
646
+
647
+ #: ../views/slide-edit-image.php:43
648
+ msgid "Image Attributes"
649
+ msgstr ""
650
+
651
+ #: ../views/slide-edit-image.php:46
652
+ msgid "Alternate Text:"
653
+ msgstr ""
654
+
655
+ #: ../views/slide-edit-image.php:50
656
+ #, fuzzy
657
+ msgid "Title Text:"
658
+ msgstr "Titel"
659
+
660
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
661
+ msgid "Image"
662
+ msgstr ""
663
+
664
+ #: ../views/slide-edit.php:12
665
+ msgid "YouTube"
666
+ msgstr ""
667
+
668
+ #: ../views/slide-edit.php:13
669
+ msgid "Vimeo"
670
+ msgstr ""
671
+
672
+ #: ../views/slide-edit.php:14
673
+ msgid "Custom"
674
+ msgstr ""
675
+
676
+ #: ../views/slide-edit.php:15
677
+ msgid "Testimonial"
678
+ msgstr ""
679
+
680
+ #: ../views/slide-edit.php:24
681
+ msgid "Toggle"
682
+ msgstr "Wechseln"
683
+
684
+ #: ../views/slide-edit.php:27
685
+ msgid "Delete"
686
+ msgstr "löschen"
687
+
688
+ #: ../views/slide-edit.php:56
689
+ msgid "YouTube URL:"
690
+ msgstr ""
691
+
692
+ #: ../views/slide-edit.php:58
693
+ msgid "Copy and paste a valid YouTube URL here."
694
+ msgstr ""
695
+
696
+ #: ../views/slide-edit.php:63
697
+ msgid "Do not show suggested videos when the video finishes."
698
+ msgstr ""
699
+
700
+ #: ../views/slide-edit.php:68
701
+ msgid "Vimeo URL:"
702
+ msgstr ""
703
+
704
+ #: ../views/slide-edit.php:70
705
+ msgid "Copy and paste a valid Vimeo URL here."
706
+ msgstr ""
707
+
708
+ #: ../views/slide-edit.php:75
709
+ msgid "Custom HTML"
710
+ msgstr ""
711
+
712
+ #: ../views/slide-edit.php:83
713
+ msgid "Quote"
714
+ msgstr ""
715
+
716
+ #: ../views/slide-edit.php:89
717
+ msgid "Author"
718
+ msgstr ""
719
+
720
+ #: ../views/slide-edit.php:92
721
+ msgid "Name:"
722
+ msgstr ""
723
+
724
+ #: ../views/slide-settings.php:3
725
+ #, fuzzy
726
+ msgid "Slide Properties"
727
+ msgstr "Slider-Einstellungen"
728
+
729
+ #: ../views/slide-settings.php:6
730
+ msgid "Hidden:"
731
+ msgstr ""
732
+
733
+ #: ../views/slide-settings.php:15
734
+ #, fuzzy
735
+ msgid "Transition Effects:"
736
+ msgstr "Transition Effects Speed:"
737
+
738
+ #: ../views/slide-settings.php:17
739
+ msgid "Default"
740
+ msgstr ""
741
+
742
+ #: ../views/slide-settings.php:26
743
+ #, fuzzy
744
+ msgid "Effects Speed:"
745
+ msgstr "Transition Effects Speed:"
746
+
747
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
748
+ #: ../views/slider-settings.php:33
749
+ msgid "Milliseconds"
750
+ msgstr "Millisekunden"
751
+
752
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
753
+ msgid "Next Slide Delay:"
754
+ msgstr "Next Slide Verzögerung:"
755
+
756
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
757
+ msgid "Tile Count:"
758
+ msgstr ""
759
+
760
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
761
+ msgid "The number of tiles to use in the transition."
762
+ msgstr ""
763
+
764
+ #: ../views/slide-settings.php:49
765
+ #, fuzzy
766
+ msgid "Tile Delay:"
767
+ msgstr "Next Slide Verzögerung:"
768
+
769
+ #: ../views/slide-settings.php:51
770
+ msgid "Milliseconds to delay each individual tile transition."
771
+ msgstr ""
772
+
773
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
774
+ msgid "Tile Position:"
775
+ msgstr ""
776
+
777
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
778
+ msgid "Vertical"
779
+ msgstr ""
780
+
781
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
782
+ msgid "Horizontal"
783
+ msgstr ""
784
+
785
+ #: ../views/slider-advanced-settings.php:4
786
+ msgid "Allow Wrap?"
787
+ msgstr ""
788
+
789
+ #: ../views/slider-advanced-settings.php:6
790
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
791
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
792
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
793
+ msgid "Yes"
794
+ msgstr "Ja"
795
+
796
+ #: ../views/slider-advanced-settings.php:7
797
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
798
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
799
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
800
+ msgid "No"
801
+ msgstr "Nicht"
802
+
803
+ #: ../views/slider-advanced-settings.php:10
804
+ msgid ""
805
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
806
+ msgstr ""
807
+
808
+ #: ../views/slider-advanced-settings.php:15
809
+ #, fuzzy
810
+ msgid "Dynamic Height:"
811
+ msgstr "Höhe:"
812
+
813
+ #: ../views/slider-advanced-settings.php:17
814
+ msgid "Off"
815
+ msgstr ""
816
+
817
+ #: ../views/slider-advanced-settings.php:18
818
+ msgid "On"
819
+ msgstr ""
820
+
821
+ #: ../views/slider-advanced-settings.php:21
822
+ msgid "Adjust slider height depending on current slide."
823
+ msgstr ""
824
+
825
+ #: ../views/slider-advanced-settings.php:26
826
+ #, fuzzy
827
+ msgid "Delay:"
828
+ msgstr "Next Slide Verzögerung:"
829
+
830
+ #: ../views/slider-advanced-settings.php:28
831
+ msgid ""
832
+ "Milliseconds to add or substract from the time before the first transition "
833
+ "occurs."
834
+ msgstr ""
835
+
836
+ #: ../views/slider-advanced-settings.php:32
837
+ msgid "Easing:"
838
+ msgstr ""
839
+
840
+ #: ../views/slider-advanced-settings.php:38
841
+ msgid "Easing for transition animations."
842
+ msgstr ""
843
+
844
+ #: ../views/slider-advanced-settings.php:42
845
+ msgid "Swipe:"
846
+ msgstr ""
847
+
848
+ #: ../views/slider-advanced-settings.php:48
849
+ msgid "Enable swipe gesture support for touch devices."
850
+ msgstr ""
851
+
852
+ #: ../views/slider-advanced-settings.php:53
853
+ #, fuzzy
854
+ msgid "Resize Options:"
855
+ msgstr "Beschreibung"
856
+
857
+ #: ../views/slider-advanced-settings.php:61
858
+ msgid ""
859
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
860
+ msgstr ""
861
+
862
+ #: ../views/slider-advanced-settings.php:62
863
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
864
+ msgstr ""
865
+
866
+ #: ../views/slider-advanced-settings.php:63
867
+ msgid "Crop - Excess parts of images are removed."
868
+ msgstr ""
869
+
870
+ #: ../views/slider-advanced-settings.php:64
871
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
872
+ msgstr ""
873
+
874
+ #: ../views/slider-advanced-settings.php:65
875
+ msgid "Exact Width - Resize to exact width."
876
+ msgstr ""
877
+
878
+ #: ../views/slider-advanced-settings.php:66
879
+ msgid "Exact Height - Resize to exact height."
880
+ msgstr ""
881
+
882
+ #: ../views/slider-advanced-settings.php:67
883
+ msgid ""
884
+ "Note: Please clear your browser cache if you are not seeing the changes."
885
+ msgstr ""
886
+
887
+ #: ../views/slider-advanced-settings.php:69
888
+ msgid "Auto - Cyclone Slider decides the resize option."
889
+ msgstr ""
890
+
891
+ #: ../views/slider-advanced-settings.php:70
892
+ msgid "Crop - Resize and remove excess parts."
893
+ msgstr ""
894
+
895
+ #: ../views/slider-advanced-settings.php:71
896
+ msgid "Exact - Resize to exact dimensions."
897
+ msgstr ""
898
+
899
+ #: ../views/slider-advanced-settings.php:72
900
+ msgid "Landscape - Resize to exact width."
901
+ msgstr ""
902
+
903
+ #: ../views/slider-advanced-settings.php:73
904
+ msgid "Portrait - Resize to exact height."
905
+ msgstr ""
906
+
907
+ #: ../views/slider-advanced-settings.php:80
908
+ msgid "Image Quality (JPEG):"
909
+ msgstr ""
910
+
911
+ #: ../views/slider-advanced-settings.php:83
912
+ msgid "Low"
913
+ msgstr ""
914
+
915
+ #: ../views/slider-advanced-settings.php:84
916
+ msgid "Medium"
917
+ msgstr ""
918
+
919
+ #: ../views/slider-advanced-settings.php:85
920
+ msgid "High"
921
+ msgstr ""
922
+
923
+ #: ../views/slider-advanced-settings.php:86
924
+ msgid "Very High"
925
+ msgstr ""
926
+
927
+ #: ../views/slider-advanced-settings.php:87
928
+ msgid "Max"
929
+ msgstr ""
930
+
931
+ #: ../views/slider-advanced-settings.php:91
932
+ msgid "The quality of the generated images. Applies to JPEG images only."
933
+ msgstr ""
934
+
935
+ #: ../views/slider-advanced-settings.php:92
936
+ msgid ""
937
+ "Low = low quality but small file size. Max = Best quality but large file "
938
+ "size."
939
+ msgstr ""
940
+
941
+ #: ../views/slider-codes.php:4
942
+ msgid "Your Shortcode:"
943
+ msgstr ""
944
+
945
+ #: ../views/slider-codes.php:6
946
+ msgid ""
947
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
948
+ msgstr ""
949
+
950
+ #: ../views/slider-codes.php:10
951
+ msgid "Your PHP Code:"
952
+ msgstr ""
953
+
954
+ #: ../views/slider-codes.php:12
955
+ msgid ""
956
+ "Copy and paste this code when you need to display the slider in template "
957
+ "files (header.php, front-page.php, etc.)."
958
+ msgstr ""
959
+
960
+ #: ../views/slider-id.php:5
961
+ msgid "Change the Slideshow ID here."
962
+ msgstr ""
963
+
964
+ #: ../views/slider-preview.php:9
965
+ msgid "Your preview will appear here."
966
+ msgstr ""
967
+
968
+ #: ../views/slider-settings.php:3
969
+ msgid "Transition Effects to Use:"
970
+ msgstr "Transition Effects zu verwenden:"
971
+
972
+ #: ../views/slider-settings.php:27
973
+ msgid "Milliseconds. 0 to disable auto advance."
974
+ msgstr "Millisekunden. 0 deaktiviert auto Voraus."
975
+
976
+ #: ../views/slider-settings.php:31
977
+ msgid "Transition Effects Speed:"
978
+ msgstr "Transition Effects Speed:"
979
+
980
+ #: ../views/slider-settings.php:37
981
+ msgid "Width:"
982
+ msgstr "Breite:"
983
+
984
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
985
+ msgid "pixels."
986
+ msgstr ""
987
+
988
+ #: ../views/slider-settings.php:43
989
+ msgid "Height:"
990
+ msgstr "Höhe:"
991
+
992
+ #: ../views/slider-settings.php:49
993
+ msgid "Width Management:"
994
+ msgstr ""
995
+
996
+ #: ../views/slider-settings.php:51
997
+ msgid "Responsive"
998
+ msgstr ""
999
+
1000
+ #: ../views/slider-settings.php:52
1001
+ msgid "Full"
1002
+ msgstr ""
1003
+
1004
+ #: ../views/slider-settings.php:53
1005
+ msgid "Fixed"
1006
+ msgstr ""
1007
+
1008
+ #: ../views/slider-settings.php:56
1009
+ msgid ""
1010
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1011
+ "provided width."
1012
+ msgstr ""
1013
+
1014
+ #: ../views/slider-settings.php:57
1015
+ msgid ""
1016
+ "Full - the same as responsive but maximum width will be equal to its "
1017
+ "container ignoring the provided width."
1018
+ msgstr ""
1019
+
1020
+ #: ../views/slider-settings.php:58
1021
+ msgid "Fixed - width and height are not resized."
1022
+ msgstr ""
1023
+
1024
+ #: ../views/slider-settings.php:63
1025
+ msgid "Resize Images?"
1026
+ msgstr ""
1027
+
1028
+ #: ../views/slider-settings.php:70
1029
+ msgid "Force Resize"
1030
+ msgstr ""
1031
+
1032
+ #: ../views/slider-settings.php:71
1033
+ msgid ""
1034
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1035
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1036
+ msgstr ""
1037
+
1038
+ #: ../views/slider-settings.php:75
1039
+ msgid "Pause on Hover?"
1040
+ msgstr ""
1041
+
1042
+ #: ../views/slider-settings.php:83
1043
+ msgid "Show Prev/Next Buttons?"
1044
+ msgstr "eige Tasten PREV / NEXT?"
1045
+
1046
+ #: ../views/slider-settings.php:91
1047
+ msgid "Show Navigation?"
1048
+ msgstr "Zeige Navigation?"
1049
+
1050
+ #: ../views/slider-settings.php:96
1051
+ msgid "The thumbnails or dots depending on template."
1052
+ msgstr ""
1053
+
1054
+ #: ../views/slider-settings.php:100
1055
+ msgid "Random Slide Order?"
1056
+ msgstr ""
1057
+
1058
+ #: ../views/slider-settings.php:105
1059
+ msgid "Randomize order of slides on every page visit."
1060
+ msgstr ""
1061
+
1062
+ #: ../views/slides.php:8
1063
+ msgid "Add Slide"
1064
+ msgstr "Folie hinzufügen"
1065
+
1066
+ #: ../views/slides.php:10
1067
+ msgid "Sort"
1068
+ msgstr ""
1069
+
1070
+ #: ../views/template-selection.php:4
1071
+ msgid "Name"
1072
+ msgstr ""
1073
+
1074
+ #: ../views/template-selection.php:5
1075
+ msgid "Supported Slides"
1076
+ msgstr ""
1077
+
1078
+ #: ../views/template-selection.php:6
1079
+ msgid "Location"
1080
+ msgstr ""
1081
+
1082
+ #: ../views/template-selection.php:7
1083
+ #, fuzzy
1084
+ msgid "Selected"
1085
+ msgstr "löschen"
1086
+
1087
+ #: ../views/template-selection.php:43
1088
+ #, fuzzy
1089
+ msgid "Learn More About Templates"
1090
+ msgstr "Slider-Einstellungen"
1091
+
1092
+ #: ../views/template-selection.php:44
1093
+ #, fuzzy
1094
+ msgid "Get More Templates"
1095
+ msgstr "Slider-Einstellungen"
1096
+
1097
+ #, fuzzy
1098
+ #~ msgid "Slide Transition Effects"
1099
+ #~ msgstr "Transition Effects Speed:"
1100
+
1101
+ #~ msgid "Drag"
1102
+ #~ msgstr "Ziehen"
1103
+
1104
+ #~ msgid "Slideshow updated. Shortcode is [cycloneslider id=\"%s\"]"
1105
+ #~ msgstr "Slideshow aktualisiert. Shortcode ist [cycloneslider id=\"%s\"]"
1106
+
1107
+ #~ msgid "Slideshow published. Shortcode is [cycloneslider id=\"%s\"]"
1108
+ #~ msgstr "Slideshow veröffentlicht. Shortcode ist [cycloneslider id=\"%s\"]"
1109
+
1110
+ #, fuzzy
1111
+ #~ msgid "Slide Elements:"
1112
+ #~ msgstr "Zusätzliche Gleitelemente:"
1113
+
1114
+ #, fuzzy
1115
+ #~ msgid "Slide Effects"
1116
+ #~ msgstr "Slider-Einstellungen"
src/cyclone-slider/languages/cycloneslider-es_ES.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-es_ES.po ADDED
@@ -0,0 +1,1316 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider 2 v2.8.3\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:38+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:38+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: Digital03 <info@digital03.net>\n"
9
+ "Language: es_ES\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: Poedit 1.6.11\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
17
+ "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
18
+ "X-Poedit-Basepath: .\n"
19
+ "X-Textdomain-Support: yes\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+ "X-Poedit-SearchPath-1: ..\n"
22
+
23
+ # @ cycloneslider
24
+ #: ../cyclone-slider.php:93
25
+ msgid "Cyclone Slider Settings"
26
+ msgstr "Ajustes de Cyclone Slider"
27
+
28
+ # @ cycloneslider
29
+ #: ../cyclone-slider.php:94
30
+ msgid "Settings"
31
+ msgstr "Ajustes"
32
+
33
+ # @ cycloneslider
34
+ #: ../cyclone-slider.php:104
35
+ #, fuzzy
36
+ msgid "Cyclone Slider Export"
37
+ msgstr "Cyclone Slider"
38
+
39
+ # @ cycloneslider
40
+ #: ../cyclone-slider.php:105
41
+ #, fuzzy
42
+ msgid "Export/Import"
43
+ msgstr "Importar"
44
+
45
+ # @ cycloneslider
46
+ #: ../cyclone-slider.php:117
47
+ #, fuzzy
48
+ msgid "Cyclone Slider Nextgen Export"
49
+ msgstr "Cyclone Slider Widget"
50
+
51
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
52
+ msgid "Export Nextgen"
53
+ msgstr ""
54
+
55
+ # @ cycloneslider
56
+ #: ../cyclone-slider.php:130
57
+ #, fuzzy
58
+ msgid "Cyclone Slider Import"
59
+ msgstr "Cyclone Slider"
60
+
61
+ # @ cycloneslider
62
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
63
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
64
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
65
+ #: ../src/CycloneSlider/ImportPage.php:74
66
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
67
+ msgid "Import"
68
+ msgstr "Importar"
69
+
70
+ # @ cycloneslider
71
+ #: ../src/CycloneSlider/Admin.php:142
72
+ msgid "Cyclone Slider"
73
+ msgstr "Cyclone Slider"
74
+
75
+ # @ cycloneslider
76
+ #: ../src/CycloneSlider/Admin.php:143
77
+ msgid "Slideshow"
78
+ msgstr "Slideshow"
79
+
80
+ # @ cycloneslider
81
+ #: ../src/CycloneSlider/Admin.php:144
82
+ msgid "Add Slideshow"
83
+ msgstr "Añadir slideshow"
84
+
85
+ # @ cycloneslider
86
+ #: ../src/CycloneSlider/Admin.php:145
87
+ msgid "Add New Slideshow"
88
+ msgstr "Añadir nuevo slideshow"
89
+
90
+ # @ cycloneslider
91
+ #: ../src/CycloneSlider/Admin.php:146
92
+ msgid "Edit Slideshow"
93
+ msgstr "Editar slideshow"
94
+
95
+ # @ cycloneslider
96
+ #: ../src/CycloneSlider/Admin.php:147
97
+ msgid "New Slideshow"
98
+ msgstr "Nuevo slideshow"
99
+
100
+ # @ cycloneslider
101
+ #: ../src/CycloneSlider/Admin.php:148
102
+ msgid "View Slideshow"
103
+ msgstr "Ver slideshow"
104
+
105
+ # @ cycloneslider
106
+ #: ../src/CycloneSlider/Admin.php:149
107
+ msgid "Search Slideshows"
108
+ msgstr "Buscar slideshows"
109
+
110
+ # @ cycloneslider
111
+ #: ../src/CycloneSlider/Admin.php:150
112
+ msgid "No slideshows found"
113
+ msgstr "No se han encontrado slideshows"
114
+
115
+ # @ cycloneslider
116
+ #: ../src/CycloneSlider/Admin.php:151
117
+ msgid "No slideshows found in Trash"
118
+ msgstr "No hay slideshows en la papelera"
119
+
120
+ # @ cycloneslider
121
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
122
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
123
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
124
+ msgid "Slideshow updated."
125
+ msgstr "Slideshow actualizado."
126
+
127
+ # @ cycloneslider
128
+ #: ../src/CycloneSlider/Admin.php:198
129
+ msgid "Custom field updated."
130
+ msgstr "Campos personalizados actualizados"
131
+
132
+ # @ cycloneslider
133
+ #: ../src/CycloneSlider/Admin.php:199
134
+ msgid "Custom field deleted."
135
+ msgstr "Campo personalizado eliminado."
136
+
137
+ # @ cycloneslider
138
+ #: ../src/CycloneSlider/Admin.php:202
139
+ msgid "Slideshow published."
140
+ msgstr "Slideshow publicado."
141
+
142
+ # @ cycloneslider
143
+ #: ../src/CycloneSlider/Admin.php:203
144
+ msgid "Slideshow saved."
145
+ msgstr "Slideshow guardado."
146
+
147
+ # @ cycloneslider
148
+ #: ../src/CycloneSlider/Admin.php:242
149
+ msgid "Slides"
150
+ msgstr "Diapositivas"
151
+
152
+ # @ cycloneslider
153
+ #: ../src/CycloneSlider/Admin.php:251
154
+ msgid "Slider Preview"
155
+ msgstr "Vista previa"
156
+
157
+ # @ cycloneslider
158
+ #: ../src/CycloneSlider/Admin.php:260
159
+ msgid "Get Slider Codes"
160
+ msgstr "Ver el código del slider"
161
+
162
+ # @ cycloneslider
163
+ #: ../src/CycloneSlider/Admin.php:269
164
+ msgid "Basic Settings"
165
+ msgstr "Ajustes básicos"
166
+
167
+ # @ cycloneslider
168
+ #: ../src/CycloneSlider/Admin.php:278
169
+ msgid "Advanced Settings"
170
+ msgstr "Ajustes avanzados"
171
+
172
+ # @ cycloneslider
173
+ #: ../src/CycloneSlider/Admin.php:287
174
+ msgid "Templates"
175
+ msgstr "Plantillas"
176
+
177
+ # @ cycloneslider
178
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
179
+ msgid "Slideshow ID"
180
+ msgstr "ID del slideshow"
181
+
182
+ # @ cycloneslider
183
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
184
+ #, fuzzy, php-format
185
+ msgid "Slider \"%s\" not found."
186
+ msgstr "[Slideshow \"%s\" no encontrado]"
187
+
188
+ # @ cycloneslider
189
+ #: ../src/CycloneSlider/Admin.php:323
190
+ msgid "Slide"
191
+ msgstr "Diapositiva"
192
+
193
+ #: ../src/CycloneSlider/Admin.php:328
194
+ msgid "[Hidden]"
195
+ msgstr ""
196
+
197
+ # @ cycloneslider
198
+ #: ../src/CycloneSlider/Admin.php:467
199
+ msgid "Core"
200
+ msgstr "Núcleo"
201
+
202
+ #: ../src/CycloneSlider/Admin.php:468
203
+ #, php-format
204
+ msgid ""
205
+ "You should not make changes to templates in this location. All your changes "
206
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
207
+ msgstr ""
208
+
209
+ # @ cycloneslider
210
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
211
+ #: ../src/CycloneSlider/Admin.php:481
212
+ #, fuzzy, php-format
213
+ msgid "Location: <strong>%s</strong>"
214
+ msgstr "Localizado dentro de la carpeta wp-content:<br> <strong>%s</strong>"
215
+
216
+ # @ cycloneslider
217
+ #: ../src/CycloneSlider/Admin.php:473
218
+ #, fuzzy
219
+ msgid ""
220
+ "Your template is in danger of being overwritten when you upgrade your theme. "
221
+ "Please consider creating a WordPress plugin Cyclone Slider template."
222
+ msgstr ""
223
+ "Tu plantilla está en peligro de ser sobre-escrita cuando actualices tu tema. "
224
+ "Por favor, muevela dentro de %s."
225
+
226
+ # @ cycloneslider
227
+ #: ../src/CycloneSlider/Admin.php:524
228
+ msgid "Slide *"
229
+ msgstr "Diapositiva *"
230
+
231
+ # @ cycloneslider
232
+ #: ../src/CycloneSlider/Admin.php:616
233
+ msgid "Slideshow Name"
234
+ msgstr "Nombre del slideshow"
235
+
236
+ # @ cycloneslider
237
+ #: ../src/CycloneSlider/Admin.php:617
238
+ msgid "Template"
239
+ msgstr "Plantilla"
240
+
241
+ # @ cycloneslider
242
+ #: ../src/CycloneSlider/Admin.php:618
243
+ msgid "No. of Slides"
244
+ msgstr "No. de diapositivas"
245
+
246
+ # @ cycloneslider
247
+ #: ../src/CycloneSlider/Admin.php:620
248
+ msgid "Shortcode"
249
+ msgstr "Shortcode"
250
+
251
+ # @ cycloneslider
252
+ #: ../src/CycloneSlider/AssetLoader.php:71
253
+ msgid "Select an image"
254
+ msgstr "Seleciona una imagen"
255
+
256
+ # @ cycloneslider
257
+ #: ../src/CycloneSlider/AssetLoader.php:72
258
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
259
+ msgstr "Selecionar varias imágenes - Usar Ctrl + Click o Shift + Click"
260
+
261
+ # @ cycloneslider
262
+ #: ../src/CycloneSlider/AssetLoader.php:73
263
+ msgid "Add to Slide"
264
+ msgstr "Añadir a la diapositiva"
265
+
266
+ # @ cycloneslider
267
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
268
+ msgid "Add Images as Slides"
269
+ msgstr "Añadir imágenes como diapositivas"
270
+
271
+ # @ cycloneslider
272
+ #: ../src/CycloneSlider/AssetLoader.php:75
273
+ msgid "Error. Make sure its a valid YouTube URL."
274
+ msgstr "Error. Asegúrate de que es una dirección de YouTube válida."
275
+
276
+ #: ../src/CycloneSlider/Data.php:276
277
+ #, php-format
278
+ msgid "Invalid format for get_slider %s parameter."
279
+ msgstr ""
280
+
281
+ # @ cycloneslider
282
+ #: ../src/CycloneSlider/ExportPage.php:64
283
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
284
+ #: ../src/CycloneSlider/ImportPage.php:69
285
+ #, fuzzy
286
+ msgid "Export"
287
+ msgstr "Importar"
288
+
289
+ #: ../src/CycloneSlider/ExportPage.php:77
290
+ #: ../src/CycloneSlider/ImportPage.php:63
291
+ msgid ""
292
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
293
+ msgstr ""
294
+
295
+ #: ../src/CycloneSlider/ExportPage.php:113
296
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
297
+ msgid "Your export file is ready. Click Download."
298
+ msgstr ""
299
+
300
+ #: ../src/CycloneSlider/ExportPage.php:118
301
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
302
+ msgid "Error creating exports directory."
303
+ msgstr ""
304
+
305
+ # @ cycloneslider
306
+ #: ../src/CycloneSlider/ExportPage.php:167
307
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
308
+ #, fuzzy
309
+ msgid "No slider selected."
310
+ msgstr "No se han encontrado Sliders."
311
+
312
+ #: ../src/CycloneSlider/ExportPage.php:172
313
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
314
+ msgid "Please choose a file name."
315
+ msgstr ""
316
+
317
+ # @ cycloneslider
318
+ #: ../src/CycloneSlider/Exporter.php:52
319
+ #, fuzzy
320
+ msgid "Error no sliders selected."
321
+ msgstr "No se han encontrado Sliders."
322
+
323
+ #: ../src/CycloneSlider/Exporter.php:73
324
+ msgid "Error encoding data to JSON."
325
+ msgstr ""
326
+
327
+ #: ../src/CycloneSlider/Exporter.php:79
328
+ #, php-format
329
+ msgid "Success generating zip %s."
330
+ msgstr ""
331
+
332
+ #: ../src/CycloneSlider/Exporter.php:109
333
+ #, php-format
334
+ msgid "Exporting data for slider \"%s\"."
335
+ msgstr ""
336
+
337
+ #: ../src/CycloneSlider/Exporter.php:138
338
+ #, php-format
339
+ msgid ""
340
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
341
+ msgstr ""
342
+
343
+ # @ cycloneslider
344
+ #: ../src/CycloneSlider/Exporter.php:182
345
+ #, fuzzy
346
+ msgid "ZipArchive not supported."
347
+ msgstr "Tipo de diapositiva no soportado."
348
+
349
+ #: ../src/CycloneSlider/Exporter.php:188
350
+ #, php-format
351
+ msgid "Error opening zip file %s. Code: %s"
352
+ msgstr ""
353
+
354
+ #: ../src/CycloneSlider/Exporter.php:197
355
+ #, php-format
356
+ msgid "Error adding file %s to zip."
357
+ msgstr ""
358
+
359
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
360
+ #, php-format
361
+ msgid "File %s added to zip."
362
+ msgstr ""
363
+
364
+ # @ cycloneslider
365
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
366
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
367
+ msgid "NextGEN Integration"
368
+ msgstr "Integración con NextGEN"
369
+
370
+ # @ cycloneslider
371
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
372
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
373
+ msgid "Choose a NextGEN Gallery"
374
+ msgstr "Escoge una galería NextGEN"
375
+
376
+ # @ cycloneslider
377
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
378
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
379
+ msgid ""
380
+ "Select a gallery to import images from. Images will be added as new slides."
381
+ msgstr ""
382
+ "Selecciona una galería para importar las imágenes. Las imagenes serán "
383
+ "añadidas como nuevas diapositivas."
384
+
385
+ # @ cycloneslider
386
+ #: ../src/CycloneSlider/Frontend.php:81
387
+ #, php-format
388
+ msgid "[Slideshow \"%s\" not found]"
389
+ msgstr "[Slideshow \"%s\" no encontrado]"
390
+
391
+ # @ cycloneslider
392
+ #: ../src/CycloneSlider/Frontend.php:97
393
+ #, php-format
394
+ msgid "[Template \"%s\" not found]"
395
+ msgstr "[Plantilla \"%s\" no encontrada]"
396
+
397
+ #: ../src/CycloneSlider/ImportPage.php:116
398
+ msgid "Import operation success!"
399
+ msgstr ""
400
+
401
+ #: ../src/CycloneSlider/Importer.php:35
402
+ msgid "Could not read zip files. ZipArchive not supported."
403
+ msgstr ""
404
+
405
+ # @ cycloneslider
406
+ #: ../src/CycloneSlider/Importer.php:40
407
+ #, fuzzy
408
+ msgid "No zip file found."
409
+ msgstr "No se han encontrado Sliders."
410
+
411
+ #: ../src/CycloneSlider/Importer.php:46
412
+ msgid "Error creating imports directory."
413
+ msgstr ""
414
+
415
+ #: ../src/CycloneSlider/Importer.php:53
416
+ msgid "Error moving uploaded zip."
417
+ msgstr ""
418
+
419
+ #: ../src/CycloneSlider/Importer.php:60
420
+ #, php-format
421
+ msgid "Error opening zip: %s"
422
+ msgstr ""
423
+
424
+ #: ../src/CycloneSlider/Importer.php:73
425
+ #, php-format
426
+ msgid "Security error. Invalid %s file."
427
+ msgstr ""
428
+
429
+ #: ../src/CycloneSlider/Importer.php:80
430
+ #, php-format
431
+ msgid "Security error. File %s is not an image."
432
+ msgstr ""
433
+
434
+ #: ../src/CycloneSlider/Importer.php:86
435
+ #, php-format
436
+ msgid "Security error. Missing %s file."
437
+ msgstr ""
438
+
439
+ #: ../src/CycloneSlider/Importer.php:92
440
+ msgid "Error extracting zip."
441
+ msgstr ""
442
+
443
+ #: ../src/CycloneSlider/Importer.php:99
444
+ msgid "Failed to read export JSON."
445
+ msgstr ""
446
+
447
+ #: ../src/CycloneSlider/Importer.php:104
448
+ msgid "Failed to decode JSON."
449
+ msgstr ""
450
+
451
+ #: ../src/CycloneSlider/Importer.php:175
452
+ #, php-format
453
+ msgid "scandir failed on %s"
454
+ msgstr ""
455
+
456
+ # @ cycloneslider
457
+ #: ../src/CycloneSlider/Importer.php:191
458
+ #, fuzzy, php-format
459
+ msgid "Source image %s not found."
460
+ msgstr "[Plantilla \"%s\" no encontrada]"
461
+
462
+ #: ../src/CycloneSlider/Importer.php:195
463
+ msgid "Copy error."
464
+ msgstr ""
465
+
466
+ # @ cycloneslider
467
+ # @ default
468
+ #: ../src/CycloneSlider/SettingsPage.php:51
469
+ msgid "Default options restored."
470
+ msgstr "Ajustes por defecto restaurados."
471
+
472
+ # @ cycloneslider
473
+ #: ../src/CycloneSlider/WidgetSlider.php:13
474
+ msgid "Cyclone Slider Widget"
475
+ msgstr "Cyclone Slider Widget"
476
+
477
+ # @ cycloneslider
478
+ #: ../src/CycloneSlider/WidgetSlider.php:14
479
+ msgid "Widget for displaying sliders."
480
+ msgstr "Widget para mostrar diapositivas."
481
+
482
+ # @ cycloneslider
483
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
484
+ msgid "Title:"
485
+ msgstr "Título:"
486
+
487
+ # @ cycloneslider
488
+ #: ../src/CycloneSlider/WidgetSlider.php:79
489
+ msgid "Select a Slider:"
490
+ msgstr "Selectionar un Slider"
491
+
492
+ # @ cycloneslider
493
+ #: ../src/CycloneSlider/WidgetSlider.php:94
494
+ msgid "No sliders found."
495
+ msgstr "No se han encontrado Sliders."
496
+
497
+ # @ cycloneslider
498
+ #: ../templates/dark/slider.php:40
499
+ msgid "View Larger Image"
500
+ msgstr "Ver imagen grande"
501
+
502
+ # @ cycloneslider
503
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
504
+ msgid "Learn More"
505
+ msgstr "Saber más"
506
+
507
+ # @ cycloneslider
508
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
509
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
510
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
511
+ msgid "Slide type not supported."
512
+ msgstr "Tipo de diapositiva no soportado."
513
+
514
+ # @ cycloneslider
515
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
516
+ #: ../views/export-nextgen-step-3.php:8
517
+ #, fuzzy
518
+ msgid "Cyclone Slider Nextgen Exporter"
519
+ msgstr "Cyclone Slider Widget"
520
+
521
+ # @ cycloneslider
522
+ #: ../views/export-nextgen-step-1.php:18
523
+ #, fuzzy
524
+ msgid "Choose a NextGEN Gallery:"
525
+ msgstr "Escoge una galería NextGEN"
526
+
527
+ # @ cycloneslider
528
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
529
+ #, fuzzy
530
+ msgid "Select All"
531
+ msgstr "Seleccionado"
532
+
533
+ # @ cycloneslider
534
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
535
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
536
+ #, fuzzy
537
+ msgid "File Name:"
538
+ msgstr "Nombre:"
539
+
540
+ # @ cycloneslider
541
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
542
+ #, fuzzy
543
+ msgid "No slider to export."
544
+ msgstr "No se han encontrado Sliders."
545
+
546
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
547
+ msgid "Clear"
548
+ msgstr ""
549
+
550
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
551
+ msgid "Next"
552
+ msgstr ""
553
+
554
+ # @ cycloneslider
555
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
556
+ #, fuzzy
557
+ msgid "Selected slider(s):"
558
+ msgstr "Selectionar un Slider"
559
+
560
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
561
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
562
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
563
+ #: ../views/import-step-3.php:15
564
+ msgid "Back"
565
+ msgstr ""
566
+
567
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
568
+ msgid "Generate Export File"
569
+ msgstr ""
570
+
571
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
572
+ msgid "Download"
573
+ msgstr ""
574
+
575
+ # @ cycloneslider
576
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
577
+ #: ../views/export-step-3.php:8
578
+ #, fuzzy
579
+ msgid "Cyclone Slider Exporter"
580
+ msgstr "Cyclone Slider"
581
+
582
+ # @ cycloneslider
583
+ #: ../views/export-step-1.php:18
584
+ #, fuzzy
585
+ msgid "Select sliders:"
586
+ msgstr "Selectionar un Slider"
587
+
588
+ # @ cycloneslider
589
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
590
+ #, fuzzy
591
+ msgid "Cyclone Slider Importer"
592
+ msgstr "Cyclone Slider"
593
+
594
+ #: ../views/import-step-1.php:17
595
+ msgid "Import Zip File:"
596
+ msgstr ""
597
+
598
+ #: ../views/import-step-1.php:24
599
+ msgid "Upload"
600
+ msgstr ""
601
+
602
+ # @ cycloneslider
603
+ #: ../views/settings-page.php:7
604
+ #, fuzzy
605
+ msgid ""
606
+ "Play with these settings if Cyclone Slider is not working or if you want to "
607
+ "optimize it."
608
+ msgstr ""
609
+ "Cambia estas opciones si Cyclone Slider 2 no funciona bien o si quieres "
610
+ "optimizarlo."
611
+
612
+ # @ cycloneslider
613
+ #: ../views/settings-page.php:16
614
+ msgid "Load scripts in:"
615
+ msgstr "Cargar scripts en:"
616
+
617
+ # @ cycloneslider
618
+ #: ../views/settings-page.php:19
619
+ msgid "Header"
620
+ msgstr "Cabecera"
621
+
622
+ # @ cycloneslider
623
+ #: ../views/settings-page.php:20
624
+ msgid "Footer"
625
+ msgstr "Pie de página"
626
+
627
+ # @ cycloneslider
628
+ #: ../views/settings-page.php:25
629
+ msgid "Load these scripts:"
630
+ msgstr "Cargar estos scripts"
631
+
632
+ # @ cycloneslider
633
+ #: ../views/settings-page.php:30
634
+ msgid "Cycle 2. This is the core script needed by the plugin."
635
+ msgstr "Cycle 2. Este es el script necesario para que el plugin funcione."
636
+
637
+ # @ cycloneslider
638
+ #: ../views/settings-page.php:35
639
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
640
+ msgstr "Cycle 2 - Carousel. Usado por estas plantillas: Galería, Lea, Dos."
641
+
642
+ # @ cycloneslider
643
+ #: ../views/settings-page.php:40
644
+ msgid "Cycle 2 - Swipe. For touch swipe events."
645
+ msgstr "Cycle 2. Swipe. Para eventos táctiles."
646
+
647
+ # @ cycloneslider
648
+ #: ../views/settings-page.php:45
649
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
650
+ msgstr "Cycle 2. Tile. Usado para los efectos de las transiciones."
651
+
652
+ # @ cycloneslider
653
+ #: ../views/settings-page.php:50
654
+ msgid "Cycle 2 - Video. Used by YouTube template."
655
+ msgstr "Cycle 2 - Vídeo. Usado por la plantilla Youtube."
656
+
657
+ # @ cycloneslider
658
+ #: ../views/settings-page.php:55
659
+ msgid "Magnific Popup - Enable lightbox option."
660
+ msgstr "Magnific Popup. Activa la opción lightbox."
661
+
662
+ # @ cycloneslider
663
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
664
+ #: ../views/slider-advanced-settings.php:2
665
+ msgid "Available in pro version."
666
+ msgstr "Disponible en la versión pro."
667
+
668
+ # @ cycloneslider
669
+ #: ../views/settings-page.php:60
670
+ msgid "Easing - Enable easing options."
671
+ msgstr "Easing. Activa las opciones de fundido."
672
+
673
+ # @ cycloneslider
674
+ #: ../views/settings-page.php:65
675
+ msgid "Scripts loading priority:"
676
+ msgstr "Prioridad de carga de scripts:"
677
+
678
+ # @ cycloneslider
679
+ #: ../views/settings-page.php:68
680
+ msgid "Make this value bigger to load scripts last."
681
+ msgstr "Introduce un valor más grande para cargar los scripts los últimos."
682
+
683
+ # @ cycloneslider
684
+ #: ../views/settings-page.php:72
685
+ msgid "Load these templates:"
686
+ msgstr "Usar estas plantillas:"
687
+
688
+ # @ cycloneslider
689
+ #: ../views/settings-page.php:85
690
+ msgid "Save Options"
691
+ msgstr "Guardar opciones"
692
+
693
+ # @ cycloneslider
694
+ #: ../views/settings-page.php:86
695
+ msgid "Restore Defaults"
696
+ msgstr "Restaurar por defecto"
697
+
698
+ #: ../views/slide-edit-image.php:5
699
+ msgid "Thumbnail"
700
+ msgstr ""
701
+
702
+ # @ cycloneslider
703
+ #: ../views/slide-edit-image.php:9
704
+ msgid "Get Image"
705
+ msgstr "Elegir imagen"
706
+
707
+ # @ cycloneslider
708
+ #: ../views/slide-edit-image.php:10
709
+ #, fuzzy
710
+ msgid "View Image"
711
+ msgstr "Ver imagen grande"
712
+
713
+ # @ cycloneslider
714
+ #: ../views/slide-edit-image.php:14
715
+ msgid "Caption"
716
+ msgstr "Leyenda"
717
+
718
+ # @ cycloneslider
719
+ #: ../views/slide-edit-image.php:21
720
+ msgid "Description:"
721
+ msgstr "Decripción:"
722
+
723
+ # @ cycloneslider
724
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
725
+ msgid "Link"
726
+ msgstr "Enlace"
727
+
728
+ # @ cycloneslider
729
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
730
+ msgid "Link URL:"
731
+ msgstr "URL del enlace"
732
+
733
+ # @ cycloneslider
734
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
735
+ msgid "Open Link in:"
736
+ msgstr "Abrir enlace en:"
737
+
738
+ # @ cycloneslider
739
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
740
+ msgid "Same Window"
741
+ msgstr "Misma ventana"
742
+
743
+ # @ cycloneslider
744
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
745
+ msgid "New Tab or Window"
746
+ msgstr "Abrir enlace en una nueva ventana/pestaña"
747
+
748
+ # @ cycloneslider
749
+ #: ../views/slide-edit-image.php:43
750
+ msgid "Image Attributes"
751
+ msgstr "Atributos de imagen"
752
+
753
+ # @ cycloneslider
754
+ #: ../views/slide-edit-image.php:46
755
+ msgid "Alternate Text:"
756
+ msgstr "Texto alternativo:"
757
+
758
+ # @ cycloneslider
759
+ #: ../views/slide-edit-image.php:50
760
+ msgid "Title Text:"
761
+ msgstr "Texto del título:"
762
+
763
+ # @ cycloneslider
764
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
765
+ msgid "Image"
766
+ msgstr "Imagen"
767
+
768
+ # @ cycloneslider
769
+ #: ../views/slide-edit.php:12
770
+ msgid "YouTube"
771
+ msgstr "YouTube. "
772
+
773
+ # @ cycloneslider
774
+ #: ../views/slide-edit.php:13
775
+ msgid "Vimeo"
776
+ msgstr "Vimeo"
777
+
778
+ # @ cycloneslider
779
+ #: ../views/slide-edit.php:14
780
+ #, fuzzy
781
+ msgid "Custom"
782
+ msgstr "HTML personalizado"
783
+
784
+ # @ cycloneslider
785
+ #: ../views/slide-edit.php:15
786
+ msgid "Testimonial"
787
+ msgstr "Recomendación"
788
+
789
+ #: ../views/slide-edit.php:24
790
+ msgid "Toggle"
791
+ msgstr ""
792
+
793
+ # @ cycloneslider
794
+ #: ../views/slide-edit.php:27
795
+ msgid "Delete"
796
+ msgstr "Eliminar"
797
+
798
+ # @ cycloneslider
799
+ #: ../views/slide-edit.php:56
800
+ msgid "YouTube URL:"
801
+ msgstr "URL Youtube:"
802
+
803
+ # @ cycloneslider
804
+ #: ../views/slide-edit.php:58
805
+ msgid "Copy and paste a valid YouTube URL here."
806
+ msgstr "Copia y pega un enlace válido de Youtube aquí."
807
+
808
+ # @ cycloneslider
809
+ #: ../views/slide-edit.php:63
810
+ msgid "Do not show suggested videos when the video finishes."
811
+ msgstr ""
812
+ "No sugerir otros videos relacionados cuando el vídeo seleccionado termine."
813
+
814
+ # @ cycloneslider
815
+ #: ../views/slide-edit.php:68
816
+ msgid "Vimeo URL:"
817
+ msgstr "URL Vimeo:"
818
+
819
+ # @ cycloneslider
820
+ #: ../views/slide-edit.php:70
821
+ msgid "Copy and paste a valid Vimeo URL here."
822
+ msgstr "Copia y pega un enlace válido a Vimeo aquí."
823
+
824
+ # @ cycloneslider
825
+ #: ../views/slide-edit.php:75
826
+ msgid "Custom HTML"
827
+ msgstr "HTML personalizado"
828
+
829
+ # @ cycloneslider
830
+ #: ../views/slide-edit.php:83
831
+ msgid "Quote"
832
+ msgstr "Cita"
833
+
834
+ # @ cycloneslider
835
+ #: ../views/slide-edit.php:89
836
+ msgid "Author"
837
+ msgstr "Autor"
838
+
839
+ # @ cycloneslider
840
+ #: ../views/slide-edit.php:92
841
+ #, fuzzy
842
+ msgid "Name:"
843
+ msgstr "Nombre:"
844
+
845
+ # @ cycloneslider
846
+ #: ../views/slide-settings.php:3
847
+ #, fuzzy
848
+ msgid "Slide Properties"
849
+ msgstr "Vista previa"
850
+
851
+ #: ../views/slide-settings.php:6
852
+ msgid "Hidden:"
853
+ msgstr ""
854
+
855
+ # @ cycloneslider
856
+ #: ../views/slide-settings.php:15
857
+ msgid "Transition Effects:"
858
+ msgstr "Efectos de transición:"
859
+
860
+ # @ cycloneslider
861
+ #: ../views/slide-settings.php:17
862
+ #, fuzzy
863
+ msgid "Default"
864
+ msgstr "Restaurar por defecto"
865
+
866
+ # @ cycloneslider
867
+ #: ../views/slide-settings.php:26
868
+ #, fuzzy
869
+ msgid "Effects Speed:"
870
+ msgstr "Velocidad del efecto de transición:"
871
+
872
+ # @ cycloneslider
873
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
874
+ #: ../views/slider-settings.php:33
875
+ msgid "Milliseconds"
876
+ msgstr "Milisegundos"
877
+
878
+ # @ cycloneslider
879
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
880
+ msgid "Next Slide Delay:"
881
+ msgstr "Retraso siguiente diapositiva:"
882
+
883
+ # @ cycloneslider
884
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
885
+ msgid "Tile Count:"
886
+ msgstr "Número de diapositivas:"
887
+
888
+ # @ cycloneslider
889
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
890
+ msgid "The number of tiles to use in the transition."
891
+ msgstr "Número de diapositivas para usar esta transición."
892
+
893
+ # @ cycloneslider
894
+ #: ../views/slide-settings.php:49
895
+ msgid "Tile Delay:"
896
+ msgstr "Retraso:"
897
+
898
+ # @ cycloneslider
899
+ #: ../views/slide-settings.php:51
900
+ msgid "Milliseconds to delay each individual tile transition."
901
+ msgstr "Milisegundos para retrasar cada transición individual."
902
+
903
+ # @ cycloneslider
904
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
905
+ msgid "Tile Position:"
906
+ msgstr "Posición de la capa:"
907
+
908
+ # @ cycloneslider
909
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
910
+ msgid "Vertical"
911
+ msgstr "Vertical"
912
+
913
+ # @ cycloneslider
914
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
915
+ msgid "Horizontal"
916
+ msgstr "Horizontal"
917
+
918
+ # @ cycloneslider
919
+ #: ../views/slider-advanced-settings.php:4
920
+ msgid "Allow Wrap?"
921
+ msgstr "Permitir volver al inicio?"
922
+
923
+ # @ cycloneslider
924
+ #: ../views/slider-advanced-settings.php:6
925
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
926
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
927
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
928
+ msgid "Yes"
929
+ msgstr "Si"
930
+
931
+ # @ cycloneslider
932
+ #: ../views/slider-advanced-settings.php:7
933
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
934
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
935
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
936
+ msgid "No"
937
+ msgstr "No"
938
+
939
+ # @ cycloneslider
940
+ #: ../views/slider-advanced-settings.php:10
941
+ msgid ""
942
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
943
+ msgstr ""
944
+ "Determina si el slider vuelve al principio tras mostrar la última "
945
+ "diapositiva."
946
+
947
+ # @ cycloneslider
948
+ #: ../views/slider-advanced-settings.php:15
949
+ msgid "Dynamic Height:"
950
+ msgstr "Altura dinámica:"
951
+
952
+ # @ cycloneslider
953
+ #: ../views/slider-advanced-settings.php:17
954
+ msgid "Off"
955
+ msgstr "Apagado"
956
+
957
+ # @ cycloneslider
958
+ #: ../views/slider-advanced-settings.php:18
959
+ msgid "On"
960
+ msgstr "Encendido"
961
+
962
+ # @ cycloneslider
963
+ #: ../views/slider-advanced-settings.php:21
964
+ msgid "Adjust slider height depending on current slide."
965
+ msgstr "Ajustar el alto del slider dependiendo de la diapositiva actual."
966
+
967
+ # @ cycloneslider
968
+ #: ../views/slider-advanced-settings.php:26
969
+ msgid "Delay:"
970
+ msgstr "Retardo:"
971
+
972
+ # @ cycloneslider
973
+ #: ../views/slider-advanced-settings.php:28
974
+ msgid ""
975
+ "Milliseconds to add or substract from the time before the first transition "
976
+ "occurs."
977
+ msgstr "Milisegundos a añadir o quitar del tiempo de transición general."
978
+
979
+ # @ cycloneslider
980
+ #: ../views/slider-advanced-settings.php:32
981
+ msgid "Easing:"
982
+ msgstr "Easing:"
983
+
984
+ # @ cycloneslider
985
+ #: ../views/slider-advanced-settings.php:38
986
+ msgid "Easing for transition animations."
987
+ msgstr "Transición Easing (moderada) para las animaciones"
988
+
989
+ # @ cycloneslider
990
+ #: ../views/slider-advanced-settings.php:42
991
+ msgid "Swipe:"
992
+ msgstr "Swipe:"
993
+
994
+ # @ cycloneslider
995
+ #: ../views/slider-advanced-settings.php:48
996
+ msgid "Enable swipe gesture support for touch devices."
997
+ msgstr "Activar gestos swipe para dispositivos touch."
998
+
999
+ # @ cycloneslider
1000
+ #: ../views/slider-advanced-settings.php:53
1001
+ msgid "Resize Options:"
1002
+ msgstr "Opciones de redimensión:"
1003
+
1004
+ #: ../views/slider-advanced-settings.php:61
1005
+ msgid ""
1006
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
1007
+ msgstr ""
1008
+
1009
+ #: ../views/slider-advanced-settings.php:62
1010
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
1011
+ msgstr ""
1012
+
1013
+ #: ../views/slider-advanced-settings.php:63
1014
+ msgid "Crop - Excess parts of images are removed."
1015
+ msgstr ""
1016
+
1017
+ # @ cycloneslider
1018
+ #: ../views/slider-advanced-settings.php:64
1019
+ #, fuzzy
1020
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
1021
+ msgstr "Exacto. Redimensionar al tamaño exacto."
1022
+
1023
+ # @ cycloneslider
1024
+ #: ../views/slider-advanced-settings.php:65
1025
+ #, fuzzy
1026
+ msgid "Exact Width - Resize to exact width."
1027
+ msgstr "Panorámico. Redimensionar al ancho exacto."
1028
+
1029
+ # @ cycloneslider
1030
+ #: ../views/slider-advanced-settings.php:66
1031
+ #, fuzzy
1032
+ msgid "Exact Height - Resize to exact height."
1033
+ msgstr "Retrato. Redimensionar al alto exacto."
1034
+
1035
+ #: ../views/slider-advanced-settings.php:67
1036
+ msgid ""
1037
+ "Note: Please clear your browser cache if you are not seeing the changes."
1038
+ msgstr ""
1039
+
1040
+ # @ cycloneslider
1041
+ #: ../views/slider-advanced-settings.php:69
1042
+ msgid "Auto - Cyclone Slider decides the resize option."
1043
+ msgstr "Auto - Cyclone Slider decide el redimensionado"
1044
+
1045
+ # @ cycloneslider
1046
+ #: ../views/slider-advanced-settings.php:70
1047
+ msgid "Crop - Resize and remove excess parts."
1048
+ msgstr "Recortar. Redimensionar y eliminar los excesos."
1049
+
1050
+ # @ cycloneslider
1051
+ #: ../views/slider-advanced-settings.php:71
1052
+ msgid "Exact - Resize to exact dimensions."
1053
+ msgstr "Exacto. Redimensionar al tamaño exacto."
1054
+
1055
+ # @ cycloneslider
1056
+ #: ../views/slider-advanced-settings.php:72
1057
+ msgid "Landscape - Resize to exact width."
1058
+ msgstr "Panorámico. Redimensionar al ancho exacto."
1059
+
1060
+ # @ cycloneslider
1061
+ #: ../views/slider-advanced-settings.php:73
1062
+ msgid "Portrait - Resize to exact height."
1063
+ msgstr "Retrato. Redimensionar al alto exacto."
1064
+
1065
+ #: ../views/slider-advanced-settings.php:80
1066
+ msgid "Image Quality (JPEG):"
1067
+ msgstr ""
1068
+
1069
+ #: ../views/slider-advanced-settings.php:83
1070
+ msgid "Low"
1071
+ msgstr ""
1072
+
1073
+ #: ../views/slider-advanced-settings.php:84
1074
+ msgid "Medium"
1075
+ msgstr ""
1076
+
1077
+ #: ../views/slider-advanced-settings.php:85
1078
+ msgid "High"
1079
+ msgstr ""
1080
+
1081
+ #: ../views/slider-advanced-settings.php:86
1082
+ msgid "Very High"
1083
+ msgstr ""
1084
+
1085
+ #: ../views/slider-advanced-settings.php:87
1086
+ msgid "Max"
1087
+ msgstr ""
1088
+
1089
+ #: ../views/slider-advanced-settings.php:91
1090
+ msgid "The quality of the generated images. Applies to JPEG images only."
1091
+ msgstr ""
1092
+
1093
+ #: ../views/slider-advanced-settings.php:92
1094
+ msgid ""
1095
+ "Low = low quality but small file size. Max = Best quality but large file "
1096
+ "size."
1097
+ msgstr ""
1098
+
1099
+ # @ cycloneslider
1100
+ #: ../views/slider-codes.php:4
1101
+ msgid "Your Shortcode:"
1102
+ msgstr "Shortcode:"
1103
+
1104
+ # @ cycloneslider
1105
+ #: ../views/slider-codes.php:6
1106
+ msgid ""
1107
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
1108
+ msgstr ""
1109
+ "Copia y pega este shortcode en tu Entrada, Página o Editor de Entrada "
1110
+ "Personalizado."
1111
+
1112
+ # @ cycloneslider
1113
+ #: ../views/slider-codes.php:10
1114
+ msgid "Your PHP Code:"
1115
+ msgstr "Código PHP:"
1116
+
1117
+ # @ Cyclone Slider 2
1118
+ # @
1119
+ # @ Traducido al español por Digital03
1120
+ # @ http://digital03.net
1121
+ #: ../views/slider-codes.php:12
1122
+ msgid ""
1123
+ "Copy and paste this code when you need to display the slider in template "
1124
+ "files (header.php, front-page.php, etc.)."
1125
+ msgstr ""
1126
+ "Copia y pega este shortcode cuando necesites mostrar este slider en un "
1127
+ "archivo de plantilla (header.php, front-page.php, etc)."
1128
+
1129
+ # @ cycloneslider
1130
+ #: ../views/slider-id.php:5
1131
+ msgid "Change the Slideshow ID here."
1132
+ msgstr "Cambia el ID del Slideshow aquí."
1133
+
1134
+ # @ cycloneslider
1135
+ #: ../views/slider-preview.php:9
1136
+ msgid "Your preview will appear here."
1137
+ msgstr "Tu nombre de usuario aparecerá aquí."
1138
+
1139
+ # @ cycloneslider
1140
+ #: ../views/slider-settings.php:3
1141
+ msgid "Transition Effects to Use:"
1142
+ msgstr "Efecto de transición a usar:"
1143
+
1144
+ # @ cycloneslider
1145
+ #: ../views/slider-settings.php:27
1146
+ msgid "Milliseconds. 0 to disable auto advance."
1147
+ msgstr "Milisegundos. 0 para desactivar el avance automático."
1148
+
1149
+ # @ cycloneslider
1150
+ #: ../views/slider-settings.php:31
1151
+ msgid "Transition Effects Speed:"
1152
+ msgstr "Velocidad del efecto de transición:"
1153
+
1154
+ # @ cycloneslider
1155
+ #: ../views/slider-settings.php:37
1156
+ msgid "Width:"
1157
+ msgstr "Ancho:"
1158
+
1159
+ # @ cycloneslider
1160
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
1161
+ msgid "pixels."
1162
+ msgstr "píxeles."
1163
+
1164
+ # @ cycloneslider
1165
+ #: ../views/slider-settings.php:43
1166
+ msgid "Height:"
1167
+ msgstr "Alto:"
1168
+
1169
+ # @ cycloneslider
1170
+ #: ../views/slider-settings.php:49
1171
+ msgid "Width Management:"
1172
+ msgstr "Gestión del ancho:"
1173
+
1174
+ # @ cycloneslider
1175
+ #: ../views/slider-settings.php:51
1176
+ msgid "Responsive"
1177
+ msgstr "Adaptable"
1178
+
1179
+ # @ cycloneslider
1180
+ #: ../views/slider-settings.php:52
1181
+ msgid "Full"
1182
+ msgstr "Completo"
1183
+
1184
+ # @ cycloneslider
1185
+ #: ../views/slider-settings.php:53
1186
+ msgid "Fixed"
1187
+ msgstr "Fijo"
1188
+
1189
+ # @ cycloneslider
1190
+ #: ../views/slider-settings.php:56
1191
+ msgid ""
1192
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1193
+ "provided width."
1194
+ msgstr ""
1195
+ "Adaptable. Redimensiona al tamaño más pequeño pero el ancho máximo será "
1196
+ "igual que el indicado."
1197
+
1198
+ # @ cycloneslider
1199
+ #: ../views/slider-settings.php:57
1200
+ msgid ""
1201
+ "Full - the same as responsive but maximum width will be equal to its "
1202
+ "container ignoring the provided width."
1203
+ msgstr ""
1204
+ "Completo - lo mismo que adaptable, pero la ancura máxima será igual al "
1205
+ "contenedor ignorando la anchura máxima indicada del slider."
1206
+
1207
+ # @ cycloneslider
1208
+ #: ../views/slider-settings.php:58
1209
+ msgid "Fixed - width and height are not resized."
1210
+ msgstr "Fijo. Ancho y alto no serán modificados."
1211
+
1212
+ # @ cycloneslider
1213
+ #: ../views/slider-settings.php:63
1214
+ msgid "Resize Images?"
1215
+ msgstr "Redimensionar imagenes?"
1216
+
1217
+ # @ cycloneslider
1218
+ #: ../views/slider-settings.php:70
1219
+ msgid "Force Resize"
1220
+ msgstr "Forzar redimensión"
1221
+
1222
+ # @ cycloneslider
1223
+ #: ../views/slider-settings.php:71
1224
+ #, fuzzy
1225
+ msgid ""
1226
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1227
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1228
+ msgstr ""
1229
+ "Si - redimensiona las imagenes al tamaño del slider<br>No - usa el tamaño "
1230
+ "original de la imagen subida"
1231
+
1232
+ # @ cycloneslider
1233
+ #: ../views/slider-settings.php:75
1234
+ msgid "Pause on Hover?"
1235
+ msgstr "Parar con el ratón encima?"
1236
+
1237
+ # @ cycloneslider
1238
+ #: ../views/slider-settings.php:83
1239
+ msgid "Show Prev/Next Buttons?"
1240
+ msgstr "Mostrar botones Anterior/Siguiente?"
1241
+
1242
+ # @ cycloneslider
1243
+ #: ../views/slider-settings.php:91
1244
+ msgid "Show Navigation?"
1245
+ msgstr "Mostrar navegación?"
1246
+
1247
+ # @ cycloneslider
1248
+ #: ../views/slider-settings.php:96
1249
+ msgid "The thumbnails or dots depending on template."
1250
+ msgstr "Miniaturas o puntos dependiendo de la plantilla."
1251
+
1252
+ # @ cycloneslider
1253
+ #: ../views/slider-settings.php:100
1254
+ msgid "Random Slide Order?"
1255
+ msgstr "Orden de diapositivas aleatorio?"
1256
+
1257
+ # @ cycloneslider
1258
+ #: ../views/slider-settings.php:105
1259
+ msgid "Randomize order of slides on every page visit."
1260
+ msgstr "Cambia aleatoriamente el orden de las diapositivas en cada visita"
1261
+
1262
+ # @ cycloneslider
1263
+ #: ../views/slides.php:8
1264
+ msgid "Add Slide"
1265
+ msgstr "Añadir diapositiva"
1266
+
1267
+ #: ../views/slides.php:10
1268
+ msgid "Sort"
1269
+ msgstr ""
1270
+
1271
+ # @ cycloneslider
1272
+ #: ../views/template-selection.php:4
1273
+ msgid "Name"
1274
+ msgstr "Nombre"
1275
+
1276
+ # @ cycloneslider
1277
+ #: ../views/template-selection.php:5
1278
+ msgid "Supported Slides"
1279
+ msgstr "Diapositivas soportadas"
1280
+
1281
+ # @ cycloneslider
1282
+ #: ../views/template-selection.php:6
1283
+ msgid "Location"
1284
+ msgstr "Localización"
1285
+
1286
+ # @ cycloneslider
1287
+ #: ../views/template-selection.php:7
1288
+ msgid "Selected"
1289
+ msgstr "Seleccionado"
1290
+
1291
+ #: ../views/template-selection.php:43
1292
+ msgid "Learn More About Templates"
1293
+ msgstr ""
1294
+
1295
+ # @ cycloneslider
1296
+ #: ../views/template-selection.php:44
1297
+ #, fuzzy
1298
+ msgid "Get More Templates"
1299
+ msgstr "Plantillas"
1300
+
1301
+ # @ cycloneslider
1302
+ #~ msgid "Slide Transition Effects"
1303
+ #~ msgstr "Efectos de transición de diapositivas"
1304
+
1305
+ # @ cycloneslider
1306
+ #~ msgid "Disable"
1307
+ #~ msgstr "Desactivar"
1308
+
1309
+ # @ cycloneslider
1310
+ #~ msgid "Enable Slide Effects"
1311
+ #~ msgstr "Activar efectos de diapositiva"
1312
+
1313
+ # @ cycloneslider
1314
+ #, fuzzy
1315
+ #~ msgid "Located inside the plugin directory:<br> <strong>%s</strong>"
1316
+ #~ msgstr "Localizado dentro de la carpeta wp-content:<br> <strong>%s</strong>"
src/cyclone-slider/languages/cycloneslider-fa_IR.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-fa_IR.po ADDED
@@ -0,0 +1,1192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider 2 for persians\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:38+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:38+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: Mixa <info@Mixa.ir>\n"
9
+ "Language: fa\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cyclone-slider.php:93
21
+ #, fuzzy
22
+ msgid "Cyclone Slider Settings"
23
+ msgstr "ابزارک اسلایدر میکسا"
24
+
25
+ #: ../cyclone-slider.php:94
26
+ #, fuzzy
27
+ msgid "Settings"
28
+ msgstr "تنظیمات اسلایدشو"
29
+
30
+ #: ../cyclone-slider.php:104
31
+ #, fuzzy
32
+ msgid "Cyclone Slider Export"
33
+ msgstr "اسلایدر"
34
+
35
+ #: ../cyclone-slider.php:105
36
+ #, fuzzy
37
+ msgid "Export/Import"
38
+ msgstr "وارد کردن"
39
+
40
+ #: ../cyclone-slider.php:117
41
+ #, fuzzy
42
+ msgid "Cyclone Slider Nextgen Export"
43
+ msgstr "اسلایدر"
44
+
45
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
46
+ #, fuzzy
47
+ msgid "Export Nextgen"
48
+ msgstr "وارد کردن"
49
+
50
+ #: ../cyclone-slider.php:130
51
+ #, fuzzy
52
+ msgid "Cyclone Slider Import"
53
+ msgstr "اسلایدر"
54
+
55
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
56
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
57
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
58
+ #: ../src/CycloneSlider/ImportPage.php:74
59
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
60
+ msgid "Import"
61
+ msgstr "وارد کردن"
62
+
63
+ #: ../src/CycloneSlider/Admin.php:142
64
+ msgid "Cyclone Slider"
65
+ msgstr "اسلایدر"
66
+
67
+ #: ../src/CycloneSlider/Admin.php:143
68
+ msgid "Slideshow"
69
+ msgstr "اسلایدشو"
70
+
71
+ #: ../src/CycloneSlider/Admin.php:144
72
+ msgid "Add Slideshow"
73
+ msgstr "افزودن اسلایدشو"
74
+
75
+ #: ../src/CycloneSlider/Admin.php:145
76
+ msgid "Add New Slideshow"
77
+ msgstr "افزودن اسلایدشو جدید"
78
+
79
+ #: ../src/CycloneSlider/Admin.php:146
80
+ msgid "Edit Slideshow"
81
+ msgstr "ویرایش اسلایدشو"
82
+
83
+ #: ../src/CycloneSlider/Admin.php:147
84
+ msgid "New Slideshow"
85
+ msgstr "اسلایدشو جدید"
86
+
87
+ #: ../src/CycloneSlider/Admin.php:148
88
+ msgid "View Slideshow"
89
+ msgstr "نمایش اسلایدشو"
90
+
91
+ #: ../src/CycloneSlider/Admin.php:149
92
+ msgid "Search Slideshows"
93
+ msgstr "جستجو"
94
+
95
+ #: ../src/CycloneSlider/Admin.php:150
96
+ msgid "No slideshows found"
97
+ msgstr "چیزی یافت نشد"
98
+
99
+ #: ../src/CycloneSlider/Admin.php:151
100
+ msgid "No slideshows found in Trash"
101
+ msgstr "چیزی در سطل زباله یافت نشد"
102
+
103
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
104
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
105
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
106
+ msgid "Slideshow updated."
107
+ msgstr "اسلایدشو به روز شد"
108
+
109
+ #: ../src/CycloneSlider/Admin.php:198
110
+ msgid "Custom field updated."
111
+ msgstr "فیلدهای سفارشی بروز شدند"
112
+
113
+ #: ../src/CycloneSlider/Admin.php:199
114
+ msgid "Custom field deleted."
115
+ msgstr "فیلدهای سفارشی حذف شدند"
116
+
117
+ #: ../src/CycloneSlider/Admin.php:202
118
+ msgid "Slideshow published."
119
+ msgstr "اسلایدشو منتشر شد"
120
+
121
+ #: ../src/CycloneSlider/Admin.php:203
122
+ msgid "Slideshow saved."
123
+ msgstr "اسلایدشو ذخیره شد"
124
+
125
+ #: ../src/CycloneSlider/Admin.php:242
126
+ msgid "Slides"
127
+ msgstr "اسلایدر"
128
+
129
+ #: ../src/CycloneSlider/Admin.php:251
130
+ #, fuzzy
131
+ msgid "Slider Preview"
132
+ msgstr "تنظیمات اسلاید"
133
+
134
+ #: ../src/CycloneSlider/Admin.php:260
135
+ msgid "Get Slider Codes"
136
+ msgstr "دریافت کد اسلایدر"
137
+
138
+ #: ../src/CycloneSlider/Admin.php:269
139
+ #, fuzzy
140
+ msgid "Basic Settings"
141
+ msgstr "تنظیمات اسلایدشو"
142
+
143
+ #: ../src/CycloneSlider/Admin.php:278
144
+ #, fuzzy
145
+ msgid "Advanced Settings"
146
+ msgstr "تنظیمات اسلایدشو"
147
+
148
+ #: ../src/CycloneSlider/Admin.php:287
149
+ #, fuzzy
150
+ msgid "Templates"
151
+ msgstr "الگو"
152
+
153
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
154
+ msgid "Slideshow ID"
155
+ msgstr "کد اسلایدشو"
156
+
157
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
158
+ #, fuzzy, php-format
159
+ msgid "Slider \"%s\" not found."
160
+ msgstr "[اسلایدشو \"%s\" یافت نشد]"
161
+
162
+ #: ../src/CycloneSlider/Admin.php:323
163
+ msgid "Slide"
164
+ msgstr "اسلاید"
165
+
166
+ #: ../src/CycloneSlider/Admin.php:328
167
+ msgid "[Hidden]"
168
+ msgstr ""
169
+
170
+ #: ../src/CycloneSlider/Admin.php:467
171
+ msgid "Core"
172
+ msgstr ""
173
+
174
+ #: ../src/CycloneSlider/Admin.php:468
175
+ #, php-format
176
+ msgid ""
177
+ "You should not make changes to templates in this location. All your changes "
178
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
179
+ msgstr ""
180
+
181
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
182
+ #: ../src/CycloneSlider/Admin.php:481
183
+ #, php-format
184
+ msgid "Location: <strong>%s</strong>"
185
+ msgstr ""
186
+
187
+ #: ../src/CycloneSlider/Admin.php:473
188
+ msgid ""
189
+ "Your template is in danger of being overwritten when you upgrade your theme. "
190
+ "Please consider creating a WordPress plugin Cyclone Slider template."
191
+ msgstr ""
192
+
193
+ #: ../src/CycloneSlider/Admin.php:524
194
+ msgid "Slide *"
195
+ msgstr "اسلاید *"
196
+
197
+ #: ../src/CycloneSlider/Admin.php:616
198
+ msgid "Slideshow Name"
199
+ msgstr "نام اسلایدشو"
200
+
201
+ #: ../src/CycloneSlider/Admin.php:617
202
+ msgid "Template"
203
+ msgstr "الگو"
204
+
205
+ #: ../src/CycloneSlider/Admin.php:618
206
+ msgid "No. of Slides"
207
+ msgstr "شماره اسلاید"
208
+
209
+ #: ../src/CycloneSlider/Admin.php:620
210
+ msgid "Shortcode"
211
+ msgstr "کد کوتاه"
212
+
213
+ #: ../src/CycloneSlider/AssetLoader.php:71
214
+ msgid "Select an image"
215
+ msgstr "انتخاب عکس"
216
+
217
+ #: ../src/CycloneSlider/AssetLoader.php:72
218
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
219
+ msgstr ""
220
+
221
+ #: ../src/CycloneSlider/AssetLoader.php:73
222
+ msgid "Add to Slide"
223
+ msgstr "افزودن به اسلایدر"
224
+
225
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
226
+ #, fuzzy
227
+ msgid "Add Images as Slides"
228
+ msgstr "افزودن اسلایدشو جدید"
229
+
230
+ #: ../src/CycloneSlider/AssetLoader.php:75
231
+ msgid "Error. Make sure its a valid YouTube URL."
232
+ msgstr ""
233
+
234
+ #: ../src/CycloneSlider/Data.php:276
235
+ #, php-format
236
+ msgid "Invalid format for get_slider %s parameter."
237
+ msgstr ""
238
+
239
+ #: ../src/CycloneSlider/ExportPage.php:64
240
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
241
+ #: ../src/CycloneSlider/ImportPage.php:69
242
+ #, fuzzy
243
+ msgid "Export"
244
+ msgstr "وارد کردن"
245
+
246
+ #: ../src/CycloneSlider/ExportPage.php:77
247
+ #: ../src/CycloneSlider/ImportPage.php:63
248
+ msgid ""
249
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
250
+ msgstr ""
251
+
252
+ #: ../src/CycloneSlider/ExportPage.php:113
253
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
254
+ msgid "Your export file is ready. Click Download."
255
+ msgstr ""
256
+
257
+ #: ../src/CycloneSlider/ExportPage.php:118
258
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
259
+ msgid "Error creating exports directory."
260
+ msgstr ""
261
+
262
+ #: ../src/CycloneSlider/ExportPage.php:167
263
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
264
+ #, fuzzy
265
+ msgid "No slider selected."
266
+ msgstr "اسلایدشو یافت نشد"
267
+
268
+ #: ../src/CycloneSlider/ExportPage.php:172
269
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
270
+ msgid "Please choose a file name."
271
+ msgstr ""
272
+
273
+ #: ../src/CycloneSlider/Exporter.php:52
274
+ #, fuzzy
275
+ msgid "Error no sliders selected."
276
+ msgstr "اسلایدشو یافت نشد"
277
+
278
+ #: ../src/CycloneSlider/Exporter.php:73
279
+ msgid "Error encoding data to JSON."
280
+ msgstr ""
281
+
282
+ #: ../src/CycloneSlider/Exporter.php:79
283
+ #, php-format
284
+ msgid "Success generating zip %s."
285
+ msgstr ""
286
+
287
+ #: ../src/CycloneSlider/Exporter.php:109
288
+ #, php-format
289
+ msgid "Exporting data for slider \"%s\"."
290
+ msgstr ""
291
+
292
+ #: ../src/CycloneSlider/Exporter.php:138
293
+ #, php-format
294
+ msgid ""
295
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
296
+ msgstr ""
297
+
298
+ #: ../src/CycloneSlider/Exporter.php:182
299
+ #, fuzzy
300
+ msgid "ZipArchive not supported."
301
+ msgstr "اسلایدشو به روز شد"
302
+
303
+ #: ../src/CycloneSlider/Exporter.php:188
304
+ #, php-format
305
+ msgid "Error opening zip file %s. Code: %s"
306
+ msgstr ""
307
+
308
+ #: ../src/CycloneSlider/Exporter.php:197
309
+ #, php-format
310
+ msgid "Error adding file %s to zip."
311
+ msgstr ""
312
+
313
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
314
+ #, php-format
315
+ msgid "File %s added to zip."
316
+ msgstr ""
317
+
318
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
319
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
320
+ msgid "NextGEN Integration"
321
+ msgstr "ادغام با NextGEN"
322
+
323
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
324
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
325
+ msgid "Choose a NextGEN Gallery"
326
+ msgstr "گالری NextGEN را انتخاب کنید"
327
+
328
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
329
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
330
+ msgid ""
331
+ "Select a gallery to import images from. Images will be added as new slides."
332
+ msgstr ""
333
+ "گالری را برای وارد کردن تصاویر انتخاب کنید. تصاویر در یک اسلاید جدید افزوده "
334
+ "خواهند شد."
335
+
336
+ #: ../src/CycloneSlider/Frontend.php:81
337
+ #, php-format
338
+ msgid "[Slideshow \"%s\" not found]"
339
+ msgstr "[اسلایدشو \"%s\" یافت نشد]"
340
+
341
+ #: ../src/CycloneSlider/Frontend.php:97
342
+ #, php-format
343
+ msgid "[Template \"%s\" not found]"
344
+ msgstr "[الگوی \"%s\" یافت نشد]"
345
+
346
+ #: ../src/CycloneSlider/ImportPage.php:116
347
+ msgid "Import operation success!"
348
+ msgstr ""
349
+
350
+ #: ../src/CycloneSlider/Importer.php:35
351
+ msgid "Could not read zip files. ZipArchive not supported."
352
+ msgstr ""
353
+
354
+ #: ../src/CycloneSlider/Importer.php:40
355
+ #, fuzzy
356
+ msgid "No zip file found."
357
+ msgstr "اسلایدشو یافت نشد"
358
+
359
+ #: ../src/CycloneSlider/Importer.php:46
360
+ msgid "Error creating imports directory."
361
+ msgstr ""
362
+
363
+ #: ../src/CycloneSlider/Importer.php:53
364
+ msgid "Error moving uploaded zip."
365
+ msgstr ""
366
+
367
+ #: ../src/CycloneSlider/Importer.php:60
368
+ #, php-format
369
+ msgid "Error opening zip: %s"
370
+ msgstr ""
371
+
372
+ #: ../src/CycloneSlider/Importer.php:73
373
+ #, php-format
374
+ msgid "Security error. Invalid %s file."
375
+ msgstr ""
376
+
377
+ #: ../src/CycloneSlider/Importer.php:80
378
+ #, php-format
379
+ msgid "Security error. File %s is not an image."
380
+ msgstr ""
381
+
382
+ #: ../src/CycloneSlider/Importer.php:86
383
+ #, php-format
384
+ msgid "Security error. Missing %s file."
385
+ msgstr ""
386
+
387
+ #: ../src/CycloneSlider/Importer.php:92
388
+ msgid "Error extracting zip."
389
+ msgstr ""
390
+
391
+ #: ../src/CycloneSlider/Importer.php:99
392
+ msgid "Failed to read export JSON."
393
+ msgstr ""
394
+
395
+ #: ../src/CycloneSlider/Importer.php:104
396
+ msgid "Failed to decode JSON."
397
+ msgstr ""
398
+
399
+ #: ../src/CycloneSlider/Importer.php:175
400
+ #, php-format
401
+ msgid "scandir failed on %s"
402
+ msgstr ""
403
+
404
+ #: ../src/CycloneSlider/Importer.php:191
405
+ #, fuzzy, php-format
406
+ msgid "Source image %s not found."
407
+ msgstr "[الگوی \"%s\" یافت نشد]"
408
+
409
+ #: ../src/CycloneSlider/Importer.php:195
410
+ msgid "Copy error."
411
+ msgstr ""
412
+
413
+ #: ../src/CycloneSlider/SettingsPage.php:51
414
+ msgid "Default options restored."
415
+ msgstr "تنظیمات پیش فرض بازیابی شد"
416
+
417
+ #: ../src/CycloneSlider/WidgetSlider.php:13
418
+ msgid "Cyclone Slider Widget"
419
+ msgstr "ابزارک اسلایدر میکسا"
420
+
421
+ #: ../src/CycloneSlider/WidgetSlider.php:14
422
+ #, fuzzy
423
+ msgid "Widget for displaying sliders."
424
+ msgstr "ابزارک برای نمایش اسلایدرشوها"
425
+
426
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
427
+ #, fuzzy
428
+ msgid "Title:"
429
+ msgstr "عنوان"
430
+
431
+ #: ../src/CycloneSlider/WidgetSlider.php:79
432
+ #, fuzzy
433
+ msgid "Select a Slider:"
434
+ msgstr "انتخاب اسلایدشو"
435
+
436
+ #: ../src/CycloneSlider/WidgetSlider.php:94
437
+ #, fuzzy
438
+ msgid "No sliders found."
439
+ msgstr "اسلایدشو یافت نشد"
440
+
441
+ #: ../templates/dark/slider.php:40
442
+ msgid "View Larger Image"
443
+ msgstr ""
444
+
445
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
446
+ msgid "Learn More"
447
+ msgstr ""
448
+
449
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
450
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
451
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
452
+ #, fuzzy
453
+ msgid "Slide type not supported."
454
+ msgstr "اسلایدشو به روز شد"
455
+
456
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
457
+ #: ../views/export-nextgen-step-3.php:8
458
+ #, fuzzy
459
+ msgid "Cyclone Slider Nextgen Exporter"
460
+ msgstr "اسلایدر"
461
+
462
+ #: ../views/export-nextgen-step-1.php:18
463
+ #, fuzzy
464
+ msgid "Choose a NextGEN Gallery:"
465
+ msgstr "گالری NextGEN را انتخاب کنید"
466
+
467
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
468
+ #, fuzzy
469
+ msgid "Select All"
470
+ msgstr "حذف"
471
+
472
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
473
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
474
+ msgid "File Name:"
475
+ msgstr ""
476
+
477
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
478
+ #, fuzzy
479
+ msgid "No slider to export."
480
+ msgstr "اسلایدشو یافت نشد"
481
+
482
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
483
+ msgid "Clear"
484
+ msgstr ""
485
+
486
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
487
+ msgid "Next"
488
+ msgstr ""
489
+
490
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
491
+ #, fuzzy
492
+ msgid "Selected slider(s):"
493
+ msgstr "انتخاب اسلایدشو"
494
+
495
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
496
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
497
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
498
+ #: ../views/import-step-3.php:15
499
+ msgid "Back"
500
+ msgstr ""
501
+
502
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
503
+ msgid "Generate Export File"
504
+ msgstr ""
505
+
506
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
507
+ msgid "Download"
508
+ msgstr ""
509
+
510
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
511
+ #: ../views/export-step-3.php:8
512
+ #, fuzzy
513
+ msgid "Cyclone Slider Exporter"
514
+ msgstr "اسلایدر"
515
+
516
+ #: ../views/export-step-1.php:18
517
+ #, fuzzy
518
+ msgid "Select sliders:"
519
+ msgstr "انتخاب اسلایدشو"
520
+
521
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
522
+ #, fuzzy
523
+ msgid "Cyclone Slider Importer"
524
+ msgstr "اسلایدر"
525
+
526
+ #: ../views/import-step-1.php:17
527
+ msgid "Import Zip File:"
528
+ msgstr ""
529
+
530
+ #: ../views/import-step-1.php:24
531
+ msgid "Upload"
532
+ msgstr ""
533
+
534
+ #: ../views/settings-page.php:7
535
+ #, fuzzy
536
+ msgid ""
537
+ "Play with these settings if Cyclone Slider is not working or if you want to "
538
+ "optimize it."
539
+ msgstr ""
540
+ "در صورتی که مشکل در نمایش صحیح یا برای بهینه سازی اسلایدر، تنظیمات زیر را "
541
+ "تغییر دهید."
542
+
543
+ #: ../views/settings-page.php:16
544
+ #, fuzzy
545
+ msgid "Load scripts in:"
546
+ msgstr "بارگزاری اسکریپت های زیر"
547
+
548
+ #: ../views/settings-page.php:19
549
+ msgid "Header"
550
+ msgstr "سرصفحه"
551
+
552
+ #: ../views/settings-page.php:20
553
+ msgid "Footer"
554
+ msgstr "پاصفحه"
555
+
556
+ #: ../views/settings-page.php:25
557
+ msgid "Load these scripts:"
558
+ msgstr "بارگزاری اسکریپت های زیر"
559
+
560
+ #: ../views/settings-page.php:30
561
+ msgid "Cycle 2. This is the core script needed by the plugin."
562
+ msgstr "Cycle 2. اسکریپت هسته اصلی افزونه"
563
+
564
+ #: ../views/settings-page.php:35
565
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
566
+ msgstr "Cycle 2 - Carousel. استفاده شده در پوسته های افزونه"
567
+
568
+ #: ../views/settings-page.php:40
569
+ #, fuzzy
570
+ msgid "Cycle 2 - Swipe. For touch swipe events."
571
+ msgstr "Cycle 2 - Tile. برای جلوه نمایش حرکت کاشی ها در افزونه"
572
+
573
+ #: ../views/settings-page.php:45
574
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
575
+ msgstr "Cycle 2 - Tile. برای جلوه نمایش حرکت کاشی ها در افزونه"
576
+
577
+ #: ../views/settings-page.php:50
578
+ msgid "Cycle 2 - Video. Used by YouTube template."
579
+ msgstr "Cycle 2 - Video. برای نمایش فایل های یوتیوب در الگوها"
580
+
581
+ #: ../views/settings-page.php:55
582
+ msgid "Magnific Popup - Enable lightbox option."
583
+ msgstr ""
584
+
585
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
586
+ #: ../views/slider-advanced-settings.php:2
587
+ msgid "Available in pro version."
588
+ msgstr ""
589
+
590
+ #: ../views/settings-page.php:60
591
+ msgid "Easing - Enable easing options."
592
+ msgstr ""
593
+
594
+ #: ../views/settings-page.php:65
595
+ msgid "Scripts loading priority:"
596
+ msgstr ""
597
+
598
+ #: ../views/settings-page.php:68
599
+ msgid "Make this value bigger to load scripts last."
600
+ msgstr "برای سرعت"
601
+
602
+ #: ../views/settings-page.php:72
603
+ #, fuzzy
604
+ msgid "Load these templates:"
605
+ msgstr "بارگزاری اسکریپت های زیر"
606
+
607
+ #: ../views/settings-page.php:85
608
+ msgid "Save Options"
609
+ msgstr ""
610
+
611
+ #: ../views/settings-page.php:86
612
+ msgid "Restore Defaults"
613
+ msgstr ""
614
+
615
+ #: ../views/slide-edit-image.php:5
616
+ msgid "Thumbnail"
617
+ msgstr ""
618
+
619
+ #: ../views/slide-edit-image.php:9
620
+ msgid "Get Image"
621
+ msgstr "افزودن عکس"
622
+
623
+ #: ../views/slide-edit-image.php:10
624
+ #, fuzzy
625
+ msgid "View Image"
626
+ msgstr "افزودن عکس"
627
+
628
+ #: ../views/slide-edit-image.php:14
629
+ msgid "Caption"
630
+ msgstr ""
631
+
632
+ #: ../views/slide-edit-image.php:21
633
+ #, fuzzy
634
+ msgid "Description:"
635
+ msgstr "توضیح"
636
+
637
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
638
+ msgid "Link"
639
+ msgstr "لینک"
640
+
641
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
642
+ msgid "Link URL:"
643
+ msgstr "آدرس لینک"
644
+
645
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
646
+ msgid "Open Link in:"
647
+ msgstr "نمایش لینک در"
648
+
649
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
650
+ msgid "Same Window"
651
+ msgstr "همان پنجره"
652
+
653
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
654
+ msgid "New Tab or Window"
655
+ msgstr "تب یا پنجره جدید"
656
+
657
+ #: ../views/slide-edit-image.php:43
658
+ msgid "Image Attributes"
659
+ msgstr "ویژگی های عکس"
660
+
661
+ #: ../views/slide-edit-image.php:46
662
+ msgid "Alternate Text:"
663
+ msgstr "متن جایگزین تصاویر"
664
+
665
+ #: ../views/slide-edit-image.php:50
666
+ msgid "Title Text:"
667
+ msgstr "متن عنوان"
668
+
669
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
670
+ msgid "Image"
671
+ msgstr "عکس"
672
+
673
+ #: ../views/slide-edit.php:12
674
+ msgid "YouTube"
675
+ msgstr ""
676
+
677
+ #: ../views/slide-edit.php:13
678
+ #, fuzzy
679
+ msgid "Vimeo"
680
+ msgstr "فیلم"
681
+
682
+ #: ../views/slide-edit.php:14
683
+ msgid "Custom"
684
+ msgstr "سایر"
685
+
686
+ #: ../views/slide-edit.php:15
687
+ msgid "Testimonial"
688
+ msgstr ""
689
+
690
+ #: ../views/slide-edit.php:24
691
+ msgid "Toggle"
692
+ msgstr "Toggle"
693
+
694
+ #: ../views/slide-edit.php:27
695
+ msgid "Delete"
696
+ msgstr "حذف"
697
+
698
+ #: ../views/slide-edit.php:56
699
+ msgid "YouTube URL:"
700
+ msgstr ""
701
+
702
+ #: ../views/slide-edit.php:58
703
+ msgid "Copy and paste a valid YouTube URL here."
704
+ msgstr ""
705
+
706
+ #: ../views/slide-edit.php:63
707
+ msgid "Do not show suggested videos when the video finishes."
708
+ msgstr ""
709
+
710
+ #: ../views/slide-edit.php:68
711
+ #, fuzzy
712
+ msgid "Vimeo URL:"
713
+ msgstr "آدرس ویدیو"
714
+
715
+ #: ../views/slide-edit.php:70
716
+ #, fuzzy
717
+ msgid "Copy and paste a valid Vimeo URL here."
718
+ msgstr ""
719
+ "آدرس ویدیو یوتیوب یا Vimeo را در اینجا گذاشته و دکمه افزودن ویدیو را کلیک "
720
+ "کنید"
721
+
722
+ #: ../views/slide-edit.php:75
723
+ msgid "Custom HTML"
724
+ msgstr "HTML دلخواه"
725
+
726
+ #: ../views/slide-edit.php:83
727
+ msgid "Quote"
728
+ msgstr ""
729
+
730
+ #: ../views/slide-edit.php:89
731
+ msgid "Author"
732
+ msgstr ""
733
+
734
+ #: ../views/slide-edit.php:92
735
+ msgid "Name:"
736
+ msgstr ""
737
+
738
+ #: ../views/slide-settings.php:3
739
+ #, fuzzy
740
+ msgid "Slide Properties"
741
+ msgstr "تنظیمات اسلاید"
742
+
743
+ #: ../views/slide-settings.php:6
744
+ msgid "Hidden:"
745
+ msgstr ""
746
+
747
+ #: ../views/slide-settings.php:15
748
+ msgid "Transition Effects:"
749
+ msgstr "افکت حرکت"
750
+
751
+ #: ../views/slide-settings.php:17
752
+ msgid "Default"
753
+ msgstr ""
754
+
755
+ #: ../views/slide-settings.php:26
756
+ #, fuzzy
757
+ msgid "Effects Speed:"
758
+ msgstr "سرعت نمایش جلوه ها"
759
+
760
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
761
+ #: ../views/slider-settings.php:33
762
+ msgid "Milliseconds"
763
+ msgstr "میلی ثانیه"
764
+
765
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
766
+ msgid "Next Slide Delay:"
767
+ msgstr "تاخیر نمایش اسلاید"
768
+
769
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
770
+ msgid "Tile Count:"
771
+ msgstr "تعداد کاشی ها"
772
+
773
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
774
+ msgid "The number of tiles to use in the transition."
775
+ msgstr "تعداد کاشی ها برای استفاده در جلوه های حرکتی"
776
+
777
+ #: ../views/slide-settings.php:49
778
+ msgid "Tile Delay:"
779
+ msgstr "تاخیر کاشی"
780
+
781
+ #: ../views/slide-settings.php:51
782
+ msgid "Milliseconds to delay each individual tile transition."
783
+ msgstr "برحسب میلی ثانیه برای تاخیر بین حرکت کاشی ها"
784
+
785
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
786
+ msgid "Tile Position:"
787
+ msgstr "موقعیت"
788
+
789
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
790
+ msgid "Vertical"
791
+ msgstr "عمودی"
792
+
793
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
794
+ msgid "Horizontal"
795
+ msgstr "افقی"
796
+
797
+ #: ../views/slider-advanced-settings.php:4
798
+ msgid "Allow Wrap?"
799
+ msgstr ""
800
+
801
+ #: ../views/slider-advanced-settings.php:6
802
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
803
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
804
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
805
+ msgid "Yes"
806
+ msgstr "بله"
807
+
808
+ #: ../views/slider-advanced-settings.php:7
809
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
810
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
811
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
812
+ msgid "No"
813
+ msgstr "خیر"
814
+
815
+ #: ../views/slider-advanced-settings.php:10
816
+ msgid ""
817
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
818
+ msgstr ""
819
+
820
+ #: ../views/slider-advanced-settings.php:15
821
+ #, fuzzy
822
+ msgid "Dynamic Height:"
823
+ msgstr "ارتفاع"
824
+
825
+ #: ../views/slider-advanced-settings.php:17
826
+ msgid "Off"
827
+ msgstr ""
828
+
829
+ #: ../views/slider-advanced-settings.php:18
830
+ msgid "On"
831
+ msgstr ""
832
+
833
+ #: ../views/slider-advanced-settings.php:21
834
+ msgid "Adjust slider height depending on current slide."
835
+ msgstr ""
836
+
837
+ #: ../views/slider-advanced-settings.php:26
838
+ #, fuzzy
839
+ msgid "Delay:"
840
+ msgstr "تاخیر کاشی"
841
+
842
+ #: ../views/slider-advanced-settings.php:28
843
+ msgid ""
844
+ "Milliseconds to add or substract from the time before the first transition "
845
+ "occurs."
846
+ msgstr ""
847
+
848
+ #: ../views/slider-advanced-settings.php:32
849
+ msgid "Easing:"
850
+ msgstr ""
851
+
852
+ #: ../views/slider-advanced-settings.php:38
853
+ msgid "Easing for transition animations."
854
+ msgstr ""
855
+
856
+ #: ../views/slider-advanced-settings.php:42
857
+ msgid "Swipe:"
858
+ msgstr ""
859
+
860
+ #: ../views/slider-advanced-settings.php:48
861
+ msgid "Enable swipe gesture support for touch devices."
862
+ msgstr ""
863
+
864
+ #: ../views/slider-advanced-settings.php:53
865
+ #, fuzzy
866
+ msgid "Resize Options:"
867
+ msgstr "توضیح"
868
+
869
+ #: ../views/slider-advanced-settings.php:61
870
+ msgid ""
871
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
872
+ msgstr ""
873
+
874
+ #: ../views/slider-advanced-settings.php:62
875
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
876
+ msgstr ""
877
+
878
+ #: ../views/slider-advanced-settings.php:63
879
+ msgid "Crop - Excess parts of images are removed."
880
+ msgstr ""
881
+
882
+ #: ../views/slider-advanced-settings.php:64
883
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
884
+ msgstr ""
885
+
886
+ #: ../views/slider-advanced-settings.php:65
887
+ msgid "Exact Width - Resize to exact width."
888
+ msgstr ""
889
+
890
+ #: ../views/slider-advanced-settings.php:66
891
+ msgid "Exact Height - Resize to exact height."
892
+ msgstr ""
893
+
894
+ #: ../views/slider-advanced-settings.php:67
895
+ msgid ""
896
+ "Note: Please clear your browser cache if you are not seeing the changes."
897
+ msgstr ""
898
+
899
+ #: ../views/slider-advanced-settings.php:69
900
+ msgid "Auto - Cyclone Slider decides the resize option."
901
+ msgstr ""
902
+
903
+ #: ../views/slider-advanced-settings.php:70
904
+ msgid "Crop - Resize and remove excess parts."
905
+ msgstr ""
906
+
907
+ #: ../views/slider-advanced-settings.php:71
908
+ msgid "Exact - Resize to exact dimensions."
909
+ msgstr ""
910
+
911
+ #: ../views/slider-advanced-settings.php:72
912
+ msgid "Landscape - Resize to exact width."
913
+ msgstr ""
914
+
915
+ #: ../views/slider-advanced-settings.php:73
916
+ msgid "Portrait - Resize to exact height."
917
+ msgstr ""
918
+
919
+ #: ../views/slider-advanced-settings.php:80
920
+ msgid "Image Quality (JPEG):"
921
+ msgstr ""
922
+
923
+ #: ../views/slider-advanced-settings.php:83
924
+ msgid "Low"
925
+ msgstr ""
926
+
927
+ #: ../views/slider-advanced-settings.php:84
928
+ msgid "Medium"
929
+ msgstr ""
930
+
931
+ #: ../views/slider-advanced-settings.php:85
932
+ msgid "High"
933
+ msgstr ""
934
+
935
+ #: ../views/slider-advanced-settings.php:86
936
+ msgid "Very High"
937
+ msgstr ""
938
+
939
+ #: ../views/slider-advanced-settings.php:87
940
+ msgid "Max"
941
+ msgstr ""
942
+
943
+ #: ../views/slider-advanced-settings.php:91
944
+ msgid "The quality of the generated images. Applies to JPEG images only."
945
+ msgstr ""
946
+
947
+ #: ../views/slider-advanced-settings.php:92
948
+ msgid ""
949
+ "Low = low quality but small file size. Max = Best quality but large file "
950
+ "size."
951
+ msgstr ""
952
+
953
+ #: ../views/slider-codes.php:4
954
+ msgid "Your Shortcode:"
955
+ msgstr "کد کوتاه"
956
+
957
+ #: ../views/slider-codes.php:6
958
+ msgid ""
959
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
960
+ msgstr ""
961
+ "با نمایش این کد کوتاه در نوشته ها، صفحات و یا ویرایشگرهای سفارشی، می توانید "
962
+ "اسلایدر را به نمایش درآوردید."
963
+
964
+ #: ../views/slider-codes.php:10
965
+ msgid "Your PHP Code:"
966
+ msgstr "کد پی اچ پی"
967
+
968
+ #: ../views/slider-codes.php:12
969
+ msgid ""
970
+ "Copy and paste this code when you need to display the slider in template "
971
+ "files (header.php, front-page.php, etc.)."
972
+ msgstr ""
973
+ "با استفاده از این کد می توانید در فایل های اصلی پوسته خود اسلایدر را به "
974
+ "نمایش درآورید."
975
+
976
+ #: ../views/slider-id.php:5
977
+ msgid "Change the Slideshow ID here."
978
+ msgstr "آی دی اسلایدشو را از اینجا تغییر دهید"
979
+
980
+ #: ../views/slider-preview.php:9
981
+ msgid "Your preview will appear here."
982
+ msgstr ""
983
+
984
+ #: ../views/slider-settings.php:3
985
+ msgid "Transition Effects to Use:"
986
+ msgstr "افکت حرکت"
987
+
988
+ #: ../views/slider-settings.php:27
989
+ msgid "Milliseconds. 0 to disable auto advance."
990
+ msgstr "میلی ثانیه. 0 برای غیرفعال سازی حالت خودکار"
991
+
992
+ #: ../views/slider-settings.php:31
993
+ msgid "Transition Effects Speed:"
994
+ msgstr "سرعت نمایش جلوه ها"
995
+
996
+ #: ../views/slider-settings.php:37
997
+ msgid "Width:"
998
+ msgstr "عرض"
999
+
1000
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
1001
+ msgid "pixels."
1002
+ msgstr "پیکسل"
1003
+
1004
+ #: ../views/slider-settings.php:43
1005
+ msgid "Height:"
1006
+ msgstr "ارتفاع"
1007
+
1008
+ #: ../views/slider-settings.php:49
1009
+ msgid "Width Management:"
1010
+ msgstr ""
1011
+
1012
+ #: ../views/slider-settings.php:51
1013
+ msgid "Responsive"
1014
+ msgstr ""
1015
+
1016
+ #: ../views/slider-settings.php:52
1017
+ msgid "Full"
1018
+ msgstr ""
1019
+
1020
+ #: ../views/slider-settings.php:53
1021
+ msgid "Fixed"
1022
+ msgstr ""
1023
+
1024
+ #: ../views/slider-settings.php:56
1025
+ msgid ""
1026
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1027
+ "provided width."
1028
+ msgstr ""
1029
+
1030
+ #: ../views/slider-settings.php:57
1031
+ msgid ""
1032
+ "Full - the same as responsive but maximum width will be equal to its "
1033
+ "container ignoring the provided width."
1034
+ msgstr ""
1035
+
1036
+ #: ../views/slider-settings.php:58
1037
+ msgid "Fixed - width and height are not resized."
1038
+ msgstr ""
1039
+
1040
+ #: ../views/slider-settings.php:63
1041
+ msgid "Resize Images?"
1042
+ msgstr "تغییر اندازه عکس ها"
1043
+
1044
+ #: ../views/slider-settings.php:70
1045
+ msgid "Force Resize"
1046
+ msgstr ""
1047
+
1048
+ #: ../views/slider-settings.php:71
1049
+ #, fuzzy
1050
+ msgid ""
1051
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1052
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1053
+ msgstr ""
1054
+ "بله: تغییر اندازه تصاویر به نسبت ابعاد اسلایدشو </br> خیر: استفاده از فایل "
1055
+ "اصلی آپلود شده"
1056
+
1057
+ #: ../views/slider-settings.php:75
1058
+ msgid "Pause on Hover?"
1059
+ msgstr "توقف در زمان عبور ماوس"
1060
+
1061
+ #: ../views/slider-settings.php:83
1062
+ msgid "Show Prev/Next Buttons?"
1063
+ msgstr "نمایش دکمه قبلی - بعدی"
1064
+
1065
+ #: ../views/slider-settings.php:91
1066
+ msgid "Show Navigation?"
1067
+ msgstr "نمایش ناوبری"
1068
+
1069
+ #: ../views/slider-settings.php:96
1070
+ msgid "The thumbnails or dots depending on template."
1071
+ msgstr "تصویر بندانگشتی یا نقطه یا نمایه، بسته به تنظیمات طرح انتخابی"
1072
+
1073
+ #: ../views/slider-settings.php:100
1074
+ msgid "Random Slide Order?"
1075
+ msgstr "نمایش نامرتب اسلایدها"
1076
+
1077
+ #: ../views/slider-settings.php:105
1078
+ msgid "Randomize order of slides on every page visit."
1079
+ msgstr "نمایش تصادفی ترتیب اسلایدها در هر بار نمایش سایت"
1080
+
1081
+ #: ../views/slides.php:8
1082
+ msgid "Add Slide"
1083
+ msgstr "افزودن اسلاید"
1084
+
1085
+ #: ../views/slides.php:10
1086
+ msgid "Sort"
1087
+ msgstr ""
1088
+
1089
+ #: ../views/template-selection.php:4
1090
+ msgid "Name"
1091
+ msgstr ""
1092
+
1093
+ #: ../views/template-selection.php:5
1094
+ msgid "Supported Slides"
1095
+ msgstr ""
1096
+
1097
+ #: ../views/template-selection.php:6
1098
+ msgid "Location"
1099
+ msgstr ""
1100
+
1101
+ #: ../views/template-selection.php:7
1102
+ #, fuzzy
1103
+ msgid "Selected"
1104
+ msgstr "حذف"
1105
+
1106
+ #: ../views/template-selection.php:43
1107
+ #, fuzzy
1108
+ msgid "Learn More About Templates"
1109
+ msgstr "دانلود مدل های بیشتر..."
1110
+
1111
+ #: ../views/template-selection.php:44
1112
+ #, fuzzy
1113
+ msgid "Get More Templates"
1114
+ msgstr "دانلود مدل های بیشتر..."
1115
+
1116
+ #~ msgid "Slide Transition Effects"
1117
+ #~ msgstr "افکت حرکت اسلاید"
1118
+
1119
+ #~ msgid "Disable"
1120
+ #~ msgstr "غیرفعال"
1121
+
1122
+ #~ msgid "Enable Slide Effects"
1123
+ #~ msgstr "فعال سازی افکت اسلاید"
1124
+
1125
+ #~ msgid ""
1126
+ #~ "Templates CSS could not be saved. Make sure %stemplates.css is writable."
1127
+ #~ msgstr ""
1128
+ #~ "css مربوط به الگو نمی تواند ذخیره شود. دسترسی نوشتن را به %stemplates.css "
1129
+ #~ "بدهید."
1130
+
1131
+ #~ msgid ""
1132
+ #~ "Templates JS could not be saved. Make sure %stemplates.js is writable."
1133
+ #~ msgstr ""
1134
+ #~ "JS مربوط به الگو نمی تواند ذخیره شود. دسترسی نوشتن را به %stemplates.css "
1135
+ #~ "بدهید."
1136
+
1137
+ #~ msgid "Video URL:"
1138
+ #~ msgstr "آدرس ویدیو"
1139
+
1140
+ #~ msgid "Copy and paste a Youtube or Vimeo URL and hit the Get Video button."
1141
+ #~ msgstr ""
1142
+ #~ "آدرس ویدیو یوتیوب یا Vimeo را در اینجا گذاشته و دکمه افزودن ویدیو را کلیک "
1143
+ #~ "کنید"
1144
+
1145
+ #~ msgid "Get Video"
1146
+ #~ msgstr "افزودن ویدیو"
1147
+
1148
+ #~ msgid "Embed Code"
1149
+ #~ msgstr "کد ضمیمه شده"
1150
+
1151
+ #~ msgid ""
1152
+ #~ "You can place your embed code directly here. Or you can use the Get Video "
1153
+ #~ "button to generate the embed code."
1154
+ #~ msgstr ""
1155
+ #~ "شما می توانید کد ویدیو را مستقیما اینجا بریزید یا با کلیک بر روی افزودن "
1156
+ #~ "ویدیو آن را به ما بسپارید."
1157
+
1158
+ #~ msgid ""
1159
+ #~ "<strong>Note:</strong> The Slide Properties and Tile effects are not "
1160
+ #~ "supported for videos."
1161
+ #~ msgstr ""
1162
+ #~ "<strong>نکته:</strong> تنظیمات اسلاید و افکت کاشی بر روی ویدیو غیرفعال است"
1163
+
1164
+ #~ msgid ""
1165
+ #~ "<strong>Note:</strong> Append &wmode=transparent to the embed code src "
1166
+ #~ "attribute to make HTML elements appear on top of Flash."
1167
+ #~ msgstr ""
1168
+ #~ "<strong>نکته:</strong> افزودن &wmode=transparent برای چسباندن ویژگی src "
1169
+ #~ "برای ساختن المنت HTML در بالای آن"
1170
+
1171
+ #~ msgid "Slideshow Settings"
1172
+ #~ msgstr "تنظیمات اسلایدشو"
1173
+
1174
+ #~ msgid "Slideshow Templates"
1175
+ #~ msgstr "الگوهای اسلایشو"
1176
+
1177
+ #~ msgid "Drag"
1178
+ #~ msgstr "کشیدن"
1179
+
1180
+ #~ msgid ""
1181
+ #~ "Select a template to use. Check the template icons to see what slide type "
1182
+ #~ "it supports."
1183
+ #~ msgstr ""
1184
+ #~ "یک الگو را برای استفاده انتخاب کنید. با چک کردن آیکن های نمایش داده شده، "
1185
+ #~ "از ساپورت فرمت مورد نظر خود مطمئن شوید."
1186
+
1187
+ #~ msgid ""
1188
+ #~ "Note: If you are looking for the Black, Blue or Myrtle, checkout this <a "
1189
+ #~ "href=\"%s\">post</a>."
1190
+ #~ msgstr ""
1191
+ #~ "نکته: اگر به دنبال استفاده از طرحی خاص مثل مشکی، آبی هستید، <a href=\"%s"
1192
+ #~ "\">اینجا</a> را چک کنید."
src/cyclone-slider/languages/cycloneslider-fr_FR.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-fr_FR.po ADDED
@@ -0,0 +1,1185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:38+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:38+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: de_DE\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cyclone-slider.php:93
21
+ #, fuzzy
22
+ msgid "Cyclone Slider Settings"
23
+ msgstr "Module de diaporama"
24
+
25
+ #: ../cyclone-slider.php:94
26
+ #, fuzzy
27
+ msgid "Settings"
28
+ msgstr "Réglages du diaporama"
29
+
30
+ #: ../cyclone-slider.php:104
31
+ #, fuzzy
32
+ msgid "Cyclone Slider Export"
33
+ msgstr "Diaporama"
34
+
35
+ #: ../cyclone-slider.php:105
36
+ #, fuzzy
37
+ msgid "Export/Import"
38
+ msgstr "Importer"
39
+
40
+ #: ../cyclone-slider.php:117
41
+ #, fuzzy
42
+ msgid "Cyclone Slider Nextgen Export"
43
+ msgstr "Diaporama"
44
+
45
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
46
+ #, fuzzy
47
+ msgid "Export Nextgen"
48
+ msgstr "Importer"
49
+
50
+ #: ../cyclone-slider.php:130
51
+ #, fuzzy
52
+ msgid "Cyclone Slider Import"
53
+ msgstr "Diaporama"
54
+
55
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
56
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
57
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
58
+ #: ../src/CycloneSlider/ImportPage.php:74
59
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
60
+ msgid "Import"
61
+ msgstr "Importer"
62
+
63
+ #: ../src/CycloneSlider/Admin.php:142
64
+ msgid "Cyclone Slider"
65
+ msgstr "Diaporama"
66
+
67
+ #: ../src/CycloneSlider/Admin.php:143
68
+ msgid "Slideshow"
69
+ msgstr "Diaporama"
70
+
71
+ #: ../src/CycloneSlider/Admin.php:144
72
+ msgid "Add Slideshow"
73
+ msgstr "Ajoutez un diaporama"
74
+
75
+ #: ../src/CycloneSlider/Admin.php:145
76
+ msgid "Add New Slideshow"
77
+ msgstr "Ajouter un nouveau diaporama"
78
+
79
+ #: ../src/CycloneSlider/Admin.php:146
80
+ msgid "Edit Slideshow"
81
+ msgstr "Editer le diaporama"
82
+
83
+ #: ../src/CycloneSlider/Admin.php:147
84
+ msgid "New Slideshow"
85
+ msgstr "Nouveau diaporama"
86
+
87
+ #: ../src/CycloneSlider/Admin.php:148
88
+ msgid "View Slideshow"
89
+ msgstr "Voir le diaporama"
90
+
91
+ #: ../src/CycloneSlider/Admin.php:149
92
+ msgid "Search Slideshows"
93
+ msgstr "Rechercher des diaporamas"
94
+
95
+ #: ../src/CycloneSlider/Admin.php:150
96
+ msgid "No slideshows found"
97
+ msgstr "Pas de diaporama trouvé"
98
+
99
+ #: ../src/CycloneSlider/Admin.php:151
100
+ msgid "No slideshows found in Trash"
101
+ msgstr "Pas de diaporama trouvé"
102
+
103
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
104
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
105
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
106
+ msgid "Slideshow updated."
107
+ msgstr "Diaporama mis à jour"
108
+
109
+ #: ../src/CycloneSlider/Admin.php:198
110
+ msgid "Custom field updated."
111
+ msgstr "Champ mis à jours"
112
+
113
+ #: ../src/CycloneSlider/Admin.php:199
114
+ msgid "Custom field deleted."
115
+ msgstr "Champ supprimé"
116
+
117
+ #: ../src/CycloneSlider/Admin.php:202
118
+ #, fuzzy
119
+ msgid "Slideshow published."
120
+ msgstr "Diaporama sauvegardé"
121
+
122
+ #: ../src/CycloneSlider/Admin.php:203
123
+ msgid "Slideshow saved."
124
+ msgstr "Diaporama sauvegardé"
125
+
126
+ #: ../src/CycloneSlider/Admin.php:242
127
+ msgid "Slides"
128
+ msgstr "Diapos"
129
+
130
+ #: ../src/CycloneSlider/Admin.php:251
131
+ #, fuzzy
132
+ msgid "Slider Preview"
133
+ msgstr "Propriétés de la diapo"
134
+
135
+ #: ../src/CycloneSlider/Admin.php:260
136
+ #, fuzzy
137
+ msgid "Get Slider Codes"
138
+ msgstr "Modifier vidéo"
139
+
140
+ #: ../src/CycloneSlider/Admin.php:269
141
+ #, fuzzy
142
+ msgid "Basic Settings"
143
+ msgstr "Réglages du diaporama"
144
+
145
+ #: ../src/CycloneSlider/Admin.php:278
146
+ #, fuzzy
147
+ msgid "Advanced Settings"
148
+ msgstr "Réglages du diaporama"
149
+
150
+ #: ../src/CycloneSlider/Admin.php:287
151
+ #, fuzzy
152
+ msgid "Templates"
153
+ msgstr "Thème"
154
+
155
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
156
+ msgid "Slideshow ID"
157
+ msgstr "Diaporama ID"
158
+
159
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
160
+ #, fuzzy, php-format
161
+ msgid "Slider \"%s\" not found."
162
+ msgstr "[Diaporama non trouvé]"
163
+
164
+ #: ../src/CycloneSlider/Admin.php:323
165
+ msgid "Slide"
166
+ msgstr "Diapo"
167
+
168
+ #: ../src/CycloneSlider/Admin.php:328
169
+ msgid "[Hidden]"
170
+ msgstr ""
171
+
172
+ #: ../src/CycloneSlider/Admin.php:467
173
+ msgid "Core"
174
+ msgstr ""
175
+
176
+ #: ../src/CycloneSlider/Admin.php:468
177
+ #, php-format
178
+ msgid ""
179
+ "You should not make changes to templates in this location. All your changes "
180
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
181
+ msgstr ""
182
+
183
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
184
+ #: ../src/CycloneSlider/Admin.php:481
185
+ #, php-format
186
+ msgid "Location: <strong>%s</strong>"
187
+ msgstr ""
188
+
189
+ #: ../src/CycloneSlider/Admin.php:473
190
+ msgid ""
191
+ "Your template is in danger of being overwritten when you upgrade your theme. "
192
+ "Please consider creating a WordPress plugin Cyclone Slider template."
193
+ msgstr ""
194
+
195
+ #: ../src/CycloneSlider/Admin.php:524
196
+ msgid "Slide *"
197
+ msgstr "Diapo *"
198
+
199
+ #: ../src/CycloneSlider/Admin.php:616
200
+ msgid "Slideshow Name"
201
+ msgstr "Nom du diaporama"
202
+
203
+ #: ../src/CycloneSlider/Admin.php:617
204
+ msgid "Template"
205
+ msgstr "Thème"
206
+
207
+ #: ../src/CycloneSlider/Admin.php:618
208
+ #, fuzzy
209
+ msgid "No. of Slides"
210
+ msgstr "Ajouter au diaporama"
211
+
212
+ #: ../src/CycloneSlider/Admin.php:620
213
+ msgid "Shortcode"
214
+ msgstr "Shortcode"
215
+
216
+ #: ../src/CycloneSlider/AssetLoader.php:71
217
+ msgid "Select an image"
218
+ msgstr "Sélectionnez une image"
219
+
220
+ #: ../src/CycloneSlider/AssetLoader.php:72
221
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
222
+ msgstr ""
223
+
224
+ #: ../src/CycloneSlider/AssetLoader.php:73
225
+ msgid "Add to Slide"
226
+ msgstr "Ajouter au diaporama"
227
+
228
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
229
+ #, fuzzy
230
+ msgid "Add Images as Slides"
231
+ msgstr "Ajouter un nouveau diaporama"
232
+
233
+ #: ../src/CycloneSlider/AssetLoader.php:75
234
+ msgid "Error. Make sure its a valid YouTube URL."
235
+ msgstr ""
236
+
237
+ #: ../src/CycloneSlider/Data.php:276
238
+ #, php-format
239
+ msgid "Invalid format for get_slider %s parameter."
240
+ msgstr ""
241
+
242
+ #: ../src/CycloneSlider/ExportPage.php:64
243
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
244
+ #: ../src/CycloneSlider/ImportPage.php:69
245
+ #, fuzzy
246
+ msgid "Export"
247
+ msgstr "Importer"
248
+
249
+ #: ../src/CycloneSlider/ExportPage.php:77
250
+ #: ../src/CycloneSlider/ImportPage.php:63
251
+ msgid ""
252
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
253
+ msgstr ""
254
+
255
+ #: ../src/CycloneSlider/ExportPage.php:113
256
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
257
+ msgid "Your export file is ready. Click Download."
258
+ msgstr ""
259
+
260
+ #: ../src/CycloneSlider/ExportPage.php:118
261
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
262
+ msgid "Error creating exports directory."
263
+ msgstr ""
264
+
265
+ #: ../src/CycloneSlider/ExportPage.php:167
266
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
267
+ #, fuzzy
268
+ msgid "No slider selected."
269
+ msgstr "Aucuns diaporamas"
270
+
271
+ #: ../src/CycloneSlider/ExportPage.php:172
272
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
273
+ msgid "Please choose a file name."
274
+ msgstr ""
275
+
276
+ #: ../src/CycloneSlider/Exporter.php:52
277
+ #, fuzzy
278
+ msgid "Error no sliders selected."
279
+ msgstr "Aucuns diaporamas"
280
+
281
+ #: ../src/CycloneSlider/Exporter.php:73
282
+ msgid "Error encoding data to JSON."
283
+ msgstr ""
284
+
285
+ #: ../src/CycloneSlider/Exporter.php:79
286
+ #, php-format
287
+ msgid "Success generating zip %s."
288
+ msgstr ""
289
+
290
+ #: ../src/CycloneSlider/Exporter.php:109
291
+ #, php-format
292
+ msgid "Exporting data for slider \"%s\"."
293
+ msgstr ""
294
+
295
+ #: ../src/CycloneSlider/Exporter.php:138
296
+ #, php-format
297
+ msgid ""
298
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
299
+ msgstr ""
300
+
301
+ #: ../src/CycloneSlider/Exporter.php:182
302
+ #, fuzzy
303
+ msgid "ZipArchive not supported."
304
+ msgstr "Diaporama mis à jour"
305
+
306
+ #: ../src/CycloneSlider/Exporter.php:188
307
+ #, php-format
308
+ msgid "Error opening zip file %s. Code: %s"
309
+ msgstr ""
310
+
311
+ #: ../src/CycloneSlider/Exporter.php:197
312
+ #, php-format
313
+ msgid "Error adding file %s to zip."
314
+ msgstr ""
315
+
316
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
317
+ #, php-format
318
+ msgid "File %s added to zip."
319
+ msgstr ""
320
+
321
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
322
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
323
+ msgid "NextGEN Integration"
324
+ msgstr "NextGEN Integration"
325
+
326
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
327
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
328
+ msgid "Choose a NextGEN Gallery"
329
+ msgstr "Choose a NextGEN Gallery"
330
+
331
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
332
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
333
+ msgid ""
334
+ "Select a gallery to import images from. Images will be added as new slides."
335
+ msgstr ""
336
+ "Selectionnez une galerie pour importer les images. Les images devront être "
337
+ "ajoutées comme des nouvelles diapos "
338
+
339
+ #: ../src/CycloneSlider/Frontend.php:81
340
+ #, fuzzy, php-format
341
+ msgid "[Slideshow \"%s\" not found]"
342
+ msgstr "[Diaporama non trouvé]"
343
+
344
+ #: ../src/CycloneSlider/Frontend.php:97
345
+ #, php-format
346
+ msgid "[Template \"%s\" not found]"
347
+ msgstr "[Thème \"%s\" non trouvé]"
348
+
349
+ #: ../src/CycloneSlider/ImportPage.php:116
350
+ msgid "Import operation success!"
351
+ msgstr ""
352
+
353
+ #: ../src/CycloneSlider/Importer.php:35
354
+ msgid "Could not read zip files. ZipArchive not supported."
355
+ msgstr ""
356
+
357
+ #: ../src/CycloneSlider/Importer.php:40
358
+ #, fuzzy
359
+ msgid "No zip file found."
360
+ msgstr "Aucuns diaporamas"
361
+
362
+ #: ../src/CycloneSlider/Importer.php:46
363
+ msgid "Error creating imports directory."
364
+ msgstr ""
365
+
366
+ #: ../src/CycloneSlider/Importer.php:53
367
+ msgid "Error moving uploaded zip."
368
+ msgstr ""
369
+
370
+ #: ../src/CycloneSlider/Importer.php:60
371
+ #, php-format
372
+ msgid "Error opening zip: %s"
373
+ msgstr ""
374
+
375
+ #: ../src/CycloneSlider/Importer.php:73
376
+ #, php-format
377
+ msgid "Security error. Invalid %s file."
378
+ msgstr ""
379
+
380
+ #: ../src/CycloneSlider/Importer.php:80
381
+ #, php-format
382
+ msgid "Security error. File %s is not an image."
383
+ msgstr ""
384
+
385
+ #: ../src/CycloneSlider/Importer.php:86
386
+ #, php-format
387
+ msgid "Security error. Missing %s file."
388
+ msgstr ""
389
+
390
+ #: ../src/CycloneSlider/Importer.php:92
391
+ msgid "Error extracting zip."
392
+ msgstr ""
393
+
394
+ #: ../src/CycloneSlider/Importer.php:99
395
+ msgid "Failed to read export JSON."
396
+ msgstr ""
397
+
398
+ #: ../src/CycloneSlider/Importer.php:104
399
+ msgid "Failed to decode JSON."
400
+ msgstr ""
401
+
402
+ #: ../src/CycloneSlider/Importer.php:175
403
+ #, php-format
404
+ msgid "scandir failed on %s"
405
+ msgstr ""
406
+
407
+ #: ../src/CycloneSlider/Importer.php:191
408
+ #, fuzzy, php-format
409
+ msgid "Source image %s not found."
410
+ msgstr "[Thème \"%s\" non trouvé]"
411
+
412
+ #: ../src/CycloneSlider/Importer.php:195
413
+ msgid "Copy error."
414
+ msgstr ""
415
+
416
+ #: ../src/CycloneSlider/SettingsPage.php:51
417
+ msgid "Default options restored."
418
+ msgstr ""
419
+
420
+ #: ../src/CycloneSlider/WidgetSlider.php:13
421
+ msgid "Cyclone Slider Widget"
422
+ msgstr "Module de diaporama"
423
+
424
+ #: ../src/CycloneSlider/WidgetSlider.php:14
425
+ #, fuzzy
426
+ msgid "Widget for displaying sliders."
427
+ msgstr "Module pour afficher des diaporamas"
428
+
429
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
430
+ #, fuzzy
431
+ msgid "Title:"
432
+ msgstr "Titre"
433
+
434
+ #: ../src/CycloneSlider/WidgetSlider.php:79
435
+ #, fuzzy
436
+ msgid "Select a Slider:"
437
+ msgstr "Sélectionner un diaporama"
438
+
439
+ #: ../src/CycloneSlider/WidgetSlider.php:94
440
+ #, fuzzy
441
+ msgid "No sliders found."
442
+ msgstr "Aucuns diaporamas"
443
+
444
+ #: ../templates/dark/slider.php:40
445
+ msgid "View Larger Image"
446
+ msgstr ""
447
+
448
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
449
+ msgid "Learn More"
450
+ msgstr ""
451
+
452
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
453
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
454
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
455
+ #, fuzzy
456
+ msgid "Slide type not supported."
457
+ msgstr "Diaporama mis à jour"
458
+
459
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
460
+ #: ../views/export-nextgen-step-3.php:8
461
+ #, fuzzy
462
+ msgid "Cyclone Slider Nextgen Exporter"
463
+ msgstr "Diaporama"
464
+
465
+ #: ../views/export-nextgen-step-1.php:18
466
+ #, fuzzy
467
+ msgid "Choose a NextGEN Gallery:"
468
+ msgstr "Choose a NextGEN Gallery"
469
+
470
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
471
+ #, fuzzy
472
+ msgid "Select All"
473
+ msgstr "Supprimer"
474
+
475
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
476
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
477
+ msgid "File Name:"
478
+ msgstr ""
479
+
480
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
481
+ #, fuzzy
482
+ msgid "No slider to export."
483
+ msgstr "Aucuns diaporamas"
484
+
485
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
486
+ msgid "Clear"
487
+ msgstr ""
488
+
489
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
490
+ msgid "Next"
491
+ msgstr ""
492
+
493
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
494
+ #, fuzzy
495
+ msgid "Selected slider(s):"
496
+ msgstr "Sélectionner un diaporama"
497
+
498
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
499
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
500
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
501
+ #: ../views/import-step-3.php:15
502
+ msgid "Back"
503
+ msgstr ""
504
+
505
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
506
+ msgid "Generate Export File"
507
+ msgstr ""
508
+
509
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
510
+ msgid "Download"
511
+ msgstr ""
512
+
513
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
514
+ #: ../views/export-step-3.php:8
515
+ #, fuzzy
516
+ msgid "Cyclone Slider Exporter"
517
+ msgstr "Diaporama"
518
+
519
+ #: ../views/export-step-1.php:18
520
+ #, fuzzy
521
+ msgid "Select sliders:"
522
+ msgstr "Sélectionner un diaporama"
523
+
524
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
525
+ #, fuzzy
526
+ msgid "Cyclone Slider Importer"
527
+ msgstr "Diaporama"
528
+
529
+ #: ../views/import-step-1.php:17
530
+ msgid "Import Zip File:"
531
+ msgstr ""
532
+
533
+ #: ../views/import-step-1.php:24
534
+ msgid "Upload"
535
+ msgstr ""
536
+
537
+ #: ../views/settings-page.php:7
538
+ msgid ""
539
+ "Play with these settings if Cyclone Slider is not working or if you want to "
540
+ "optimize it."
541
+ msgstr ""
542
+
543
+ #: ../views/settings-page.php:16
544
+ msgid "Load scripts in:"
545
+ msgstr ""
546
+
547
+ #: ../views/settings-page.php:19
548
+ msgid "Header"
549
+ msgstr ""
550
+
551
+ #: ../views/settings-page.php:20
552
+ msgid "Footer"
553
+ msgstr ""
554
+
555
+ #: ../views/settings-page.php:25
556
+ msgid "Load these scripts:"
557
+ msgstr ""
558
+
559
+ #: ../views/settings-page.php:30
560
+ msgid "Cycle 2. This is the core script needed by the plugin."
561
+ msgstr ""
562
+
563
+ #: ../views/settings-page.php:35
564
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
565
+ msgstr ""
566
+
567
+ #: ../views/settings-page.php:40
568
+ msgid "Cycle 2 - Swipe. For touch swipe events."
569
+ msgstr ""
570
+
571
+ #: ../views/settings-page.php:45
572
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
573
+ msgstr ""
574
+
575
+ #: ../views/settings-page.php:50
576
+ msgid "Cycle 2 - Video. Used by YouTube template."
577
+ msgstr ""
578
+
579
+ #: ../views/settings-page.php:55
580
+ msgid "Magnific Popup - Enable lightbox option."
581
+ msgstr ""
582
+
583
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
584
+ #: ../views/slider-advanced-settings.php:2
585
+ msgid "Available in pro version."
586
+ msgstr ""
587
+
588
+ #: ../views/settings-page.php:60
589
+ msgid "Easing - Enable easing options."
590
+ msgstr ""
591
+
592
+ #: ../views/settings-page.php:65
593
+ msgid "Scripts loading priority:"
594
+ msgstr ""
595
+
596
+ #: ../views/settings-page.php:68
597
+ msgid "Make this value bigger to load scripts last."
598
+ msgstr ""
599
+
600
+ #: ../views/settings-page.php:72
601
+ #, fuzzy
602
+ msgid "Load these templates:"
603
+ msgstr "Thèmes de diaporama"
604
+
605
+ #: ../views/settings-page.php:85
606
+ msgid "Save Options"
607
+ msgstr ""
608
+
609
+ #: ../views/settings-page.php:86
610
+ msgid "Restore Defaults"
611
+ msgstr ""
612
+
613
+ #: ../views/slide-edit-image.php:5
614
+ msgid "Thumbnail"
615
+ msgstr ""
616
+
617
+ #: ../views/slide-edit-image.php:9
618
+ msgid "Get Image"
619
+ msgstr "Importer une image"
620
+
621
+ #: ../views/slide-edit-image.php:10
622
+ #, fuzzy
623
+ msgid "View Image"
624
+ msgstr "Importer une image"
625
+
626
+ #: ../views/slide-edit-image.php:14
627
+ msgid "Caption"
628
+ msgstr ""
629
+
630
+ #: ../views/slide-edit-image.php:21
631
+ #, fuzzy
632
+ msgid "Description:"
633
+ msgstr "Description"
634
+
635
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
636
+ msgid "Link"
637
+ msgstr "Lien"
638
+
639
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
640
+ msgid "Link URL:"
641
+ msgstr "Lien"
642
+
643
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
644
+ msgid "Open Link in:"
645
+ msgstr "Ouvrir le lien dans :"
646
+
647
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
648
+ msgid "Same Window"
649
+ msgstr "Même fenêtre"
650
+
651
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
652
+ msgid "New Tab or Window"
653
+ msgstr "Nouvel onglet ou fenêtre"
654
+
655
+ #: ../views/slide-edit-image.php:43
656
+ msgid "Image Attributes"
657
+ msgstr "Attributs de l'image"
658
+
659
+ #: ../views/slide-edit-image.php:46
660
+ msgid "Alternate Text:"
661
+ msgstr "Texte alternatif"
662
+
663
+ #: ../views/slide-edit-image.php:50
664
+ msgid "Title Text:"
665
+ msgstr "Titre"
666
+
667
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
668
+ msgid "Image"
669
+ msgstr "Image"
670
+
671
+ #: ../views/slide-edit.php:12
672
+ msgid "YouTube"
673
+ msgstr ""
674
+
675
+ #: ../views/slide-edit.php:13
676
+ #, fuzzy
677
+ msgid "Vimeo"
678
+ msgstr "Vidéo"
679
+
680
+ #: ../views/slide-edit.php:14
681
+ msgid "Custom"
682
+ msgstr "Personnalisé"
683
+
684
+ #: ../views/slide-edit.php:15
685
+ msgid "Testimonial"
686
+ msgstr ""
687
+
688
+ #: ../views/slide-edit.php:24
689
+ msgid "Toggle"
690
+ msgstr "Basculer"
691
+
692
+ #: ../views/slide-edit.php:27
693
+ msgid "Delete"
694
+ msgstr "Supprimer"
695
+
696
+ #: ../views/slide-edit.php:56
697
+ msgid "YouTube URL:"
698
+ msgstr ""
699
+
700
+ #: ../views/slide-edit.php:58
701
+ msgid "Copy and paste a valid YouTube URL here."
702
+ msgstr ""
703
+
704
+ #: ../views/slide-edit.php:63
705
+ msgid "Do not show suggested videos when the video finishes."
706
+ msgstr ""
707
+
708
+ #: ../views/slide-edit.php:68
709
+ #, fuzzy
710
+ msgid "Vimeo URL:"
711
+ msgstr "Lien vidéo"
712
+
713
+ #: ../views/slide-edit.php:70
714
+ #, fuzzy
715
+ msgid "Copy and paste a valid Vimeo URL here."
716
+ msgstr "copier et coller un lien Youtube ou Vimeo"
717
+
718
+ #: ../views/slide-edit.php:75
719
+ msgid "Custom HTML"
720
+ msgstr "Code HTML personnalisé"
721
+
722
+ #: ../views/slide-edit.php:83
723
+ msgid "Quote"
724
+ msgstr ""
725
+
726
+ #: ../views/slide-edit.php:89
727
+ msgid "Author"
728
+ msgstr ""
729
+
730
+ #: ../views/slide-edit.php:92
731
+ msgid "Name:"
732
+ msgstr ""
733
+
734
+ #: ../views/slide-settings.php:3
735
+ #, fuzzy
736
+ msgid "Slide Properties"
737
+ msgstr "Propriétés de la diapo"
738
+
739
+ #: ../views/slide-settings.php:6
740
+ msgid "Hidden:"
741
+ msgstr ""
742
+
743
+ #: ../views/slide-settings.php:15
744
+ msgid "Transition Effects:"
745
+ msgstr "Effets de transition"
746
+
747
+ #: ../views/slide-settings.php:17
748
+ msgid "Default"
749
+ msgstr ""
750
+
751
+ #: ../views/slide-settings.php:26
752
+ #, fuzzy
753
+ msgid "Effects Speed:"
754
+ msgstr "Temps de l'effet de transtion"
755
+
756
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
757
+ #: ../views/slider-settings.php:33
758
+ msgid "Milliseconds"
759
+ msgstr "Millisecondes"
760
+
761
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
762
+ msgid "Next Slide Delay:"
763
+ msgstr "Temps avant la prochaine diapo"
764
+
765
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
766
+ msgid "Tile Count:"
767
+ msgstr "Nombre de carreaux"
768
+
769
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
770
+ msgid "The number of tiles to use in the transition."
771
+ msgstr "Nombre de carreaux à utiliser pour les transitions"
772
+
773
+ #: ../views/slide-settings.php:49
774
+ msgid "Tile Delay:"
775
+ msgstr "Délais"
776
+
777
+ #: ../views/slide-settings.php:51
778
+ msgid "Milliseconds to delay each individual tile transition."
779
+ msgstr "Delais de transition en millisecondes"
780
+
781
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
782
+ msgid "Tile Position:"
783
+ msgstr "Position"
784
+
785
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
786
+ msgid "Vertical"
787
+ msgstr "Vertical"
788
+
789
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
790
+ msgid "Horizontal"
791
+ msgstr "Horizontal"
792
+
793
+ #: ../views/slider-advanced-settings.php:4
794
+ msgid "Allow Wrap?"
795
+ msgstr ""
796
+
797
+ #: ../views/slider-advanced-settings.php:6
798
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
799
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
800
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
801
+ msgid "Yes"
802
+ msgstr "Oui"
803
+
804
+ #: ../views/slider-advanced-settings.php:7
805
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
806
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
807
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
808
+ msgid "No"
809
+ msgstr "Non"
810
+
811
+ #: ../views/slider-advanced-settings.php:10
812
+ msgid ""
813
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
814
+ msgstr ""
815
+
816
+ #: ../views/slider-advanced-settings.php:15
817
+ #, fuzzy
818
+ msgid "Dynamic Height:"
819
+ msgstr "Hauteur :"
820
+
821
+ #: ../views/slider-advanced-settings.php:17
822
+ msgid "Off"
823
+ msgstr ""
824
+
825
+ #: ../views/slider-advanced-settings.php:18
826
+ msgid "On"
827
+ msgstr ""
828
+
829
+ #: ../views/slider-advanced-settings.php:21
830
+ msgid "Adjust slider height depending on current slide."
831
+ msgstr ""
832
+
833
+ #: ../views/slider-advanced-settings.php:26
834
+ #, fuzzy
835
+ msgid "Delay:"
836
+ msgstr "Délais"
837
+
838
+ #: ../views/slider-advanced-settings.php:28
839
+ msgid ""
840
+ "Milliseconds to add or substract from the time before the first transition "
841
+ "occurs."
842
+ msgstr ""
843
+
844
+ #: ../views/slider-advanced-settings.php:32
845
+ msgid "Easing:"
846
+ msgstr ""
847
+
848
+ #: ../views/slider-advanced-settings.php:38
849
+ msgid "Easing for transition animations."
850
+ msgstr ""
851
+
852
+ #: ../views/slider-advanced-settings.php:42
853
+ msgid "Swipe:"
854
+ msgstr ""
855
+
856
+ #: ../views/slider-advanced-settings.php:48
857
+ msgid "Enable swipe gesture support for touch devices."
858
+ msgstr ""
859
+
860
+ #: ../views/slider-advanced-settings.php:53
861
+ #, fuzzy
862
+ msgid "Resize Options:"
863
+ msgstr "Description"
864
+
865
+ #: ../views/slider-advanced-settings.php:61
866
+ msgid ""
867
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
868
+ msgstr ""
869
+
870
+ #: ../views/slider-advanced-settings.php:62
871
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
872
+ msgstr ""
873
+
874
+ #: ../views/slider-advanced-settings.php:63
875
+ msgid "Crop - Excess parts of images are removed."
876
+ msgstr ""
877
+
878
+ #: ../views/slider-advanced-settings.php:64
879
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
880
+ msgstr ""
881
+
882
+ #: ../views/slider-advanced-settings.php:65
883
+ msgid "Exact Width - Resize to exact width."
884
+ msgstr ""
885
+
886
+ #: ../views/slider-advanced-settings.php:66
887
+ msgid "Exact Height - Resize to exact height."
888
+ msgstr ""
889
+
890
+ #: ../views/slider-advanced-settings.php:67
891
+ msgid ""
892
+ "Note: Please clear your browser cache if you are not seeing the changes."
893
+ msgstr ""
894
+
895
+ #: ../views/slider-advanced-settings.php:69
896
+ msgid "Auto - Cyclone Slider decides the resize option."
897
+ msgstr ""
898
+
899
+ #: ../views/slider-advanced-settings.php:70
900
+ msgid "Crop - Resize and remove excess parts."
901
+ msgstr ""
902
+
903
+ #: ../views/slider-advanced-settings.php:71
904
+ msgid "Exact - Resize to exact dimensions."
905
+ msgstr ""
906
+
907
+ #: ../views/slider-advanced-settings.php:72
908
+ msgid "Landscape - Resize to exact width."
909
+ msgstr ""
910
+
911
+ #: ../views/slider-advanced-settings.php:73
912
+ msgid "Portrait - Resize to exact height."
913
+ msgstr ""
914
+
915
+ #: ../views/slider-advanced-settings.php:80
916
+ msgid "Image Quality (JPEG):"
917
+ msgstr ""
918
+
919
+ #: ../views/slider-advanced-settings.php:83
920
+ msgid "Low"
921
+ msgstr ""
922
+
923
+ #: ../views/slider-advanced-settings.php:84
924
+ msgid "Medium"
925
+ msgstr ""
926
+
927
+ #: ../views/slider-advanced-settings.php:85
928
+ msgid "High"
929
+ msgstr ""
930
+
931
+ #: ../views/slider-advanced-settings.php:86
932
+ msgid "Very High"
933
+ msgstr ""
934
+
935
+ #: ../views/slider-advanced-settings.php:87
936
+ msgid "Max"
937
+ msgstr ""
938
+
939
+ #: ../views/slider-advanced-settings.php:91
940
+ msgid "The quality of the generated images. Applies to JPEG images only."
941
+ msgstr ""
942
+
943
+ #: ../views/slider-advanced-settings.php:92
944
+ msgid ""
945
+ "Low = low quality but small file size. Max = Best quality but large file "
946
+ "size."
947
+ msgstr ""
948
+
949
+ #: ../views/slider-codes.php:4
950
+ #, fuzzy
951
+ msgid "Your Shortcode:"
952
+ msgstr "Shortcode"
953
+
954
+ #: ../views/slider-codes.php:6
955
+ msgid ""
956
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
957
+ msgstr ""
958
+
959
+ #: ../views/slider-codes.php:10
960
+ msgid "Your PHP Code:"
961
+ msgstr ""
962
+
963
+ #: ../views/slider-codes.php:12
964
+ msgid ""
965
+ "Copy and paste this code when you need to display the slider in template "
966
+ "files (header.php, front-page.php, etc.)."
967
+ msgstr ""
968
+
969
+ #: ../views/slider-id.php:5
970
+ msgid "Change the Slideshow ID here."
971
+ msgstr ""
972
+
973
+ #: ../views/slider-preview.php:9
974
+ msgid "Your preview will appear here."
975
+ msgstr ""
976
+
977
+ #: ../views/slider-settings.php:3
978
+ msgid "Transition Effects to Use:"
979
+ msgstr "Effet de transition à utiliser"
980
+
981
+ #: ../views/slider-settings.php:27
982
+ msgid "Milliseconds. 0 to disable auto advance."
983
+ msgstr "Millisecondes. 0 ou désactiver le défilement automatique"
984
+
985
+ #: ../views/slider-settings.php:31
986
+ msgid "Transition Effects Speed:"
987
+ msgstr "Temps de l'effet de transtion"
988
+
989
+ #: ../views/slider-settings.php:37
990
+ msgid "Width:"
991
+ msgstr "Largeur :"
992
+
993
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
994
+ msgid "pixels."
995
+ msgstr "pixels."
996
+
997
+ #: ../views/slider-settings.php:43
998
+ msgid "Height:"
999
+ msgstr "Hauteur :"
1000
+
1001
+ #: ../views/slider-settings.php:49
1002
+ msgid "Width Management:"
1003
+ msgstr ""
1004
+
1005
+ #: ../views/slider-settings.php:51
1006
+ msgid "Responsive"
1007
+ msgstr ""
1008
+
1009
+ #: ../views/slider-settings.php:52
1010
+ msgid "Full"
1011
+ msgstr ""
1012
+
1013
+ #: ../views/slider-settings.php:53
1014
+ msgid "Fixed"
1015
+ msgstr ""
1016
+
1017
+ #: ../views/slider-settings.php:56
1018
+ msgid ""
1019
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1020
+ "provided width."
1021
+ msgstr ""
1022
+
1023
+ #: ../views/slider-settings.php:57
1024
+ msgid ""
1025
+ "Full - the same as responsive but maximum width will be equal to its "
1026
+ "container ignoring the provided width."
1027
+ msgstr ""
1028
+
1029
+ #: ../views/slider-settings.php:58
1030
+ msgid "Fixed - width and height are not resized."
1031
+ msgstr ""
1032
+
1033
+ #: ../views/slider-settings.php:63
1034
+ msgid "Resize Images?"
1035
+ msgstr "Retailler l'image ?"
1036
+
1037
+ #: ../views/slider-settings.php:70
1038
+ msgid "Force Resize"
1039
+ msgstr ""
1040
+
1041
+ #: ../views/slider-settings.php:71
1042
+ #, fuzzy
1043
+ msgid ""
1044
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1045
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1046
+ msgstr ""
1047
+ "Oui - Retailler les images à la dimension du diaporama. <br /> Non - "
1048
+ "utiliser la taille original de l'image importée"
1049
+
1050
+ #: ../views/slider-settings.php:75
1051
+ msgid "Pause on Hover?"
1052
+ msgstr "Pause au survol"
1053
+
1054
+ #: ../views/slider-settings.php:83
1055
+ msgid "Show Prev/Next Buttons?"
1056
+ msgstr "Afficher les boutons précédent et suivant ?"
1057
+
1058
+ #: ../views/slider-settings.php:91
1059
+ msgid "Show Navigation?"
1060
+ msgstr "Afficher la navigation ?"
1061
+
1062
+ #: ../views/slider-settings.php:96
1063
+ msgid "The thumbnails or dots depending on template."
1064
+ msgstr "Les miniatures dépendent du template"
1065
+
1066
+ #: ../views/slider-settings.php:100
1067
+ msgid "Random Slide Order?"
1068
+ msgstr "Ordre des diapos aléatoire ?"
1069
+
1070
+ #: ../views/slider-settings.php:105
1071
+ msgid "Randomize order of slides on every page visit."
1072
+ msgstr "Faire un ordre des diapos aléatoires sur chaque page visité"
1073
+
1074
+ #: ../views/slides.php:8
1075
+ msgid "Add Slide"
1076
+ msgstr "Ajouter une diapo"
1077
+
1078
+ #: ../views/slides.php:10
1079
+ msgid "Sort"
1080
+ msgstr ""
1081
+
1082
+ #: ../views/template-selection.php:4
1083
+ msgid "Name"
1084
+ msgstr ""
1085
+
1086
+ #: ../views/template-selection.php:5
1087
+ msgid "Supported Slides"
1088
+ msgstr ""
1089
+
1090
+ #: ../views/template-selection.php:6
1091
+ msgid "Location"
1092
+ msgstr ""
1093
+
1094
+ #: ../views/template-selection.php:7
1095
+ #, fuzzy
1096
+ msgid "Selected"
1097
+ msgstr "Supprimer"
1098
+
1099
+ #: ../views/template-selection.php:43
1100
+ #, fuzzy
1101
+ msgid "Learn More About Templates"
1102
+ msgstr "Plus de thèmes..."
1103
+
1104
+ #: ../views/template-selection.php:44
1105
+ #, fuzzy
1106
+ msgid "Get More Templates"
1107
+ msgstr "Plus de thèmes..."
1108
+
1109
+ #~ msgid "Slide Transition Effects"
1110
+ #~ msgstr "Effets de transition"
1111
+
1112
+ #~ msgid "Disable"
1113
+ #~ msgstr "Désactivé"
1114
+
1115
+ #~ msgid "Enable Slide Effects"
1116
+ #~ msgstr "Permettre les effets de transition"
1117
+
1118
+ #~ msgid ""
1119
+ #~ "Templates CSS could not be saved. Make sure %stemplates.css is writable."
1120
+ #~ msgstr ""
1121
+ #~ "Thème CSS non sauvegardé. Assurez-vous que le fichier %stemplates.css "
1122
+ #~ "puisse être modifié."
1123
+
1124
+ #~ msgid ""
1125
+ #~ "Templates JS could not be saved. Make sure %stemplates.js is writable."
1126
+ #~ msgstr ""
1127
+ #~ "Thème JS non sauvegardé. Assurez-vous que le fichier %stemplates.js "
1128
+ #~ "puisse être modifié."
1129
+
1130
+ #~ msgid "Video URL:"
1131
+ #~ msgstr "Lien vidéo"
1132
+
1133
+ #~ msgid "Copy and paste a Youtube or Vimeo URL and hit the Get Video button."
1134
+ #~ msgstr "copier et coller un lien Youtube ou Vimeo"
1135
+
1136
+ #~ msgid "Get Video"
1137
+ #~ msgstr "Modifier vidéo"
1138
+
1139
+ #~ msgid "Embed Code"
1140
+ #~ msgstr "Code HTML"
1141
+
1142
+ #~ msgid ""
1143
+ #~ "You can place your embed code directly here. Or you can use the Get Video "
1144
+ #~ "button to generate the embed code."
1145
+ #~ msgstr "Vous pouvez placer du code directement ici"
1146
+
1147
+ #~ msgid ""
1148
+ #~ "<strong>Note:</strong> The Slide Properties and Tile effects are not "
1149
+ #~ "supported for videos."
1150
+ #~ msgstr ""
1151
+ #~ "Note : les propriétés du diaporama ne sont pas supportés pour les vidéos"
1152
+
1153
+ #~ msgid ""
1154
+ #~ "<strong>Note:</strong> Append &wmode=transparent to the embed code src "
1155
+ #~ "attribute to make HTML elements appear on top of Flash."
1156
+ #~ msgstr ""
1157
+ #~ "Note : ajouter à l'attribut &wmode=transparent pour que les éléments HTML "
1158
+ #~ "apparaissent au dessus de Flash."
1159
+
1160
+ #~ msgid "Drag"
1161
+ #~ msgstr "Glisser"
1162
+
1163
+ #~ msgid ""
1164
+ #~ "Select a template to use. Check the template icons to see what slide type "
1165
+ #~ "it supports."
1166
+ #~ msgstr ""
1167
+ #~ "Choisissez le thème à utiliser. Vérifier les icônes du thème pour savoir "
1168
+ #~ "les options qu'il supporte."
1169
+
1170
+ #~ msgid "Slideshow updated. Shortcode is [cycloneslider id=\"%s\"]"
1171
+ #~ msgstr "Diaporama mis à jours. Son shortcode est [cycloneslider id=\"%s\"]"
1172
+
1173
+ #~ msgid "Slideshow published. Shortcode is [cycloneslider id=\"%s\"]"
1174
+ #~ msgstr "Diaporama publié. Son shortcode est [cycloneslider id=\"%s\"]"
1175
+
1176
+ #~ msgid "Images"
1177
+ #~ msgstr "Images"
1178
+
1179
+ #, fuzzy
1180
+ #~ msgid "Slide Elements:"
1181
+ #~ msgstr "Zusätzliche Gleitelemente:"
1182
+
1183
+ #, fuzzy
1184
+ #~ msgid "Slide Effects"
1185
+ #~ msgstr "Slider-Einstellungen"
src/cyclone-slider/languages/cycloneslider-it_IT.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-it_IT.po ADDED
@@ -0,0 +1,1191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:39+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:39+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: Max Guglielmino <info@maxguglielmino.com>\n"
9
+ "Language: it_IT\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: _;gettext;gettext_noop;_e;__\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Generator: Poedit 1.6.11\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPath-1: ..\n"
20
+
21
+ #: ../cyclone-slider.php:93
22
+ #, fuzzy
23
+ msgid "Cyclone Slider Settings"
24
+ msgstr "Cyclone Slider Widget"
25
+
26
+ #: ../cyclone-slider.php:94
27
+ #, fuzzy
28
+ msgid "Settings"
29
+ msgstr "Impostazioni Proiettore"
30
+
31
+ #: ../cyclone-slider.php:104
32
+ #, fuzzy
33
+ msgid "Cyclone Slider Export"
34
+ msgstr "Cyclone Slider"
35
+
36
+ #: ../cyclone-slider.php:105
37
+ #, fuzzy
38
+ msgid "Export/Import"
39
+ msgstr "Importa"
40
+
41
+ #: ../cyclone-slider.php:117
42
+ #, fuzzy
43
+ msgid "Cyclone Slider Nextgen Export"
44
+ msgstr "Cyclone Slider"
45
+
46
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
47
+ #, fuzzy
48
+ msgid "Export Nextgen"
49
+ msgstr "Importa"
50
+
51
+ #: ../cyclone-slider.php:130
52
+ #, fuzzy
53
+ msgid "Cyclone Slider Import"
54
+ msgstr "Cyclone Slider"
55
+
56
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
57
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
58
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
59
+ #: ../src/CycloneSlider/ImportPage.php:74
60
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
61
+ msgid "Import"
62
+ msgstr "Importa"
63
+
64
+ #: ../src/CycloneSlider/Admin.php:142
65
+ msgid "Cyclone Slider"
66
+ msgstr "Cyclone Slider"
67
+
68
+ #: ../src/CycloneSlider/Admin.php:143
69
+ msgid "Slideshow"
70
+ msgstr "Proiettore"
71
+
72
+ #: ../src/CycloneSlider/Admin.php:144
73
+ msgid "Add Slideshow"
74
+ msgstr "Aggiungi Proiettore"
75
+
76
+ #: ../src/CycloneSlider/Admin.php:145
77
+ msgid "Add New Slideshow"
78
+ msgstr "Aggiungi Nuovo Proiettore"
79
+
80
+ #: ../src/CycloneSlider/Admin.php:146
81
+ msgid "Edit Slideshow"
82
+ msgstr "Modifica Proiettore"
83
+
84
+ #: ../src/CycloneSlider/Admin.php:147
85
+ msgid "New Slideshow"
86
+ msgstr "Nuovo Proiettore"
87
+
88
+ #: ../src/CycloneSlider/Admin.php:148
89
+ msgid "View Slideshow"
90
+ msgstr "Visualizza Proiettore"
91
+
92
+ #: ../src/CycloneSlider/Admin.php:149
93
+ msgid "Search Slideshows"
94
+ msgstr "Cerca Proiettori"
95
+
96
+ #: ../src/CycloneSlider/Admin.php:150
97
+ msgid "No slideshows found"
98
+ msgstr "Nessun proiettore trovato"
99
+
100
+ #: ../src/CycloneSlider/Admin.php:151
101
+ msgid "No slideshows found in Trash"
102
+ msgstr "Nessun proiettore trovato nel cestino"
103
+
104
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
105
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
106
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
107
+ msgid "Slideshow updated."
108
+ msgstr "Proiettore aggiornato."
109
+
110
+ #: ../src/CycloneSlider/Admin.php:198
111
+ msgid "Custom field updated."
112
+ msgstr "Campo personalizzato aggiornato."
113
+
114
+ #: ../src/CycloneSlider/Admin.php:199
115
+ msgid "Custom field deleted."
116
+ msgstr "Campo personalizzato cancellato."
117
+
118
+ #: ../src/CycloneSlider/Admin.php:202
119
+ #, fuzzy
120
+ msgid "Slideshow published."
121
+ msgstr "Proiettore salvato."
122
+
123
+ #: ../src/CycloneSlider/Admin.php:203
124
+ msgid "Slideshow saved."
125
+ msgstr "Proiettore salvato."
126
+
127
+ #: ../src/CycloneSlider/Admin.php:242
128
+ msgid "Slides"
129
+ msgstr "Diapositive"
130
+
131
+ #: ../src/CycloneSlider/Admin.php:251
132
+ #, fuzzy
133
+ msgid "Slider Preview"
134
+ msgstr "Proprietà Diapositiva:"
135
+
136
+ #: ../src/CycloneSlider/Admin.php:260
137
+ #, fuzzy
138
+ msgid "Get Slider Codes"
139
+ msgstr "Prendi Video"
140
+
141
+ #: ../src/CycloneSlider/Admin.php:269
142
+ #, fuzzy
143
+ msgid "Basic Settings"
144
+ msgstr "Impostazioni Proiettore"
145
+
146
+ #: ../src/CycloneSlider/Admin.php:278
147
+ #, fuzzy
148
+ msgid "Advanced Settings"
149
+ msgstr "Impostazioni Proiettore"
150
+
151
+ #: ../src/CycloneSlider/Admin.php:287
152
+ #, fuzzy
153
+ msgid "Templates"
154
+ msgstr "Modello"
155
+
156
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
157
+ msgid "Slideshow ID"
158
+ msgstr "ID Proiettore"
159
+
160
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
161
+ #, fuzzy, php-format
162
+ msgid "Slider \"%s\" not found."
163
+ msgstr "[Proiettore \"%s\" non trovato]"
164
+
165
+ #: ../src/CycloneSlider/Admin.php:323
166
+ msgid "Slide"
167
+ msgstr "Diapositiva"
168
+
169
+ #: ../src/CycloneSlider/Admin.php:328
170
+ msgid "[Hidden]"
171
+ msgstr ""
172
+
173
+ #: ../src/CycloneSlider/Admin.php:467
174
+ msgid "Core"
175
+ msgstr ""
176
+
177
+ #: ../src/CycloneSlider/Admin.php:468
178
+ #, php-format
179
+ msgid ""
180
+ "You should not make changes to templates in this location. All your changes "
181
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
182
+ msgstr ""
183
+
184
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
185
+ #: ../src/CycloneSlider/Admin.php:481
186
+ #, php-format
187
+ msgid "Location: <strong>%s</strong>"
188
+ msgstr ""
189
+
190
+ #: ../src/CycloneSlider/Admin.php:473
191
+ msgid ""
192
+ "Your template is in danger of being overwritten when you upgrade your theme. "
193
+ "Please consider creating a WordPress plugin Cyclone Slider template."
194
+ msgstr ""
195
+
196
+ #: ../src/CycloneSlider/Admin.php:524
197
+ msgid "Slide *"
198
+ msgstr "Diapositiva *"
199
+
200
+ #: ../src/CycloneSlider/Admin.php:616
201
+ msgid "Slideshow Name"
202
+ msgstr "Nome Proiettore"
203
+
204
+ #: ../src/CycloneSlider/Admin.php:617
205
+ msgid "Template"
206
+ msgstr "Modello"
207
+
208
+ #: ../src/CycloneSlider/Admin.php:618
209
+ #, fuzzy
210
+ msgid "No. of Slides"
211
+ msgstr "Aggiungi alla Diapositiva"
212
+
213
+ #: ../src/CycloneSlider/Admin.php:620
214
+ msgid "Shortcode"
215
+ msgstr "Shortcode"
216
+
217
+ #: ../src/CycloneSlider/AssetLoader.php:71
218
+ msgid "Select an image"
219
+ msgstr "Seleziona una immagine"
220
+
221
+ #: ../src/CycloneSlider/AssetLoader.php:72
222
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
223
+ msgstr ""
224
+
225
+ #: ../src/CycloneSlider/AssetLoader.php:73
226
+ msgid "Add to Slide"
227
+ msgstr "Aggiungi alla Diapositiva"
228
+
229
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
230
+ #, fuzzy
231
+ msgid "Add Images as Slides"
232
+ msgstr "Aggiungi Nuovo Proiettore"
233
+
234
+ #: ../src/CycloneSlider/AssetLoader.php:75
235
+ msgid "Error. Make sure its a valid YouTube URL."
236
+ msgstr ""
237
+
238
+ #: ../src/CycloneSlider/Data.php:276
239
+ #, php-format
240
+ msgid "Invalid format for get_slider %s parameter."
241
+ msgstr ""
242
+
243
+ #: ../src/CycloneSlider/ExportPage.php:64
244
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
245
+ #: ../src/CycloneSlider/ImportPage.php:69
246
+ #, fuzzy
247
+ msgid "Export"
248
+ msgstr "Importa"
249
+
250
+ #: ../src/CycloneSlider/ExportPage.php:77
251
+ #: ../src/CycloneSlider/ImportPage.php:63
252
+ msgid ""
253
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
254
+ msgstr ""
255
+
256
+ #: ../src/CycloneSlider/ExportPage.php:113
257
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
258
+ msgid "Your export file is ready. Click Download."
259
+ msgstr ""
260
+
261
+ #: ../src/CycloneSlider/ExportPage.php:118
262
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
263
+ msgid "Error creating exports directory."
264
+ msgstr ""
265
+
266
+ #: ../src/CycloneSlider/ExportPage.php:167
267
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
268
+ #, fuzzy
269
+ msgid "No slider selected."
270
+ msgstr "Nessun proiettore trovato."
271
+
272
+ #: ../src/CycloneSlider/ExportPage.php:172
273
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
274
+ msgid "Please choose a file name."
275
+ msgstr ""
276
+
277
+ #: ../src/CycloneSlider/Exporter.php:52
278
+ #, fuzzy
279
+ msgid "Error no sliders selected."
280
+ msgstr "Nessun proiettore trovato."
281
+
282
+ #: ../src/CycloneSlider/Exporter.php:73
283
+ msgid "Error encoding data to JSON."
284
+ msgstr ""
285
+
286
+ #: ../src/CycloneSlider/Exporter.php:79
287
+ #, php-format
288
+ msgid "Success generating zip %s."
289
+ msgstr ""
290
+
291
+ #: ../src/CycloneSlider/Exporter.php:109
292
+ #, php-format
293
+ msgid "Exporting data for slider \"%s\"."
294
+ msgstr ""
295
+
296
+ #: ../src/CycloneSlider/Exporter.php:138
297
+ #, php-format
298
+ msgid ""
299
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
300
+ msgstr ""
301
+
302
+ #: ../src/CycloneSlider/Exporter.php:182
303
+ #, fuzzy
304
+ msgid "ZipArchive not supported."
305
+ msgstr "Proiettore aggiornato."
306
+
307
+ #: ../src/CycloneSlider/Exporter.php:188
308
+ #, php-format
309
+ msgid "Error opening zip file %s. Code: %s"
310
+ msgstr ""
311
+
312
+ #: ../src/CycloneSlider/Exporter.php:197
313
+ #, php-format
314
+ msgid "Error adding file %s to zip."
315
+ msgstr ""
316
+
317
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
318
+ #, php-format
319
+ msgid "File %s added to zip."
320
+ msgstr ""
321
+
322
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
323
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
324
+ msgid "NextGEN Integration"
325
+ msgstr "Integrazione NextGEN"
326
+
327
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
328
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
329
+ msgid "Choose a NextGEN Gallery"
330
+ msgstr "Scegli una Galleria NextGEN"
331
+
332
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
333
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
334
+ msgid ""
335
+ "Select a gallery to import images from. Images will be added as new slides."
336
+ msgstr ""
337
+ "Seleziona una galleria da cui importare le immagini. Le immagini verranno "
338
+ "aggiunte come nuove diapositive."
339
+
340
+ #: ../src/CycloneSlider/Frontend.php:81
341
+ #, php-format
342
+ msgid "[Slideshow \"%s\" not found]"
343
+ msgstr "[Proiettore \"%s\" non trovato]"
344
+
345
+ #: ../src/CycloneSlider/Frontend.php:97
346
+ #, php-format
347
+ msgid "[Template \"%s\" not found]"
348
+ msgstr "[Modello \"%s\" non trovato]"
349
+
350
+ #: ../src/CycloneSlider/ImportPage.php:116
351
+ msgid "Import operation success!"
352
+ msgstr ""
353
+
354
+ #: ../src/CycloneSlider/Importer.php:35
355
+ msgid "Could not read zip files. ZipArchive not supported."
356
+ msgstr ""
357
+
358
+ #: ../src/CycloneSlider/Importer.php:40
359
+ #, fuzzy
360
+ msgid "No zip file found."
361
+ msgstr "Nessun proiettore trovato."
362
+
363
+ #: ../src/CycloneSlider/Importer.php:46
364
+ msgid "Error creating imports directory."
365
+ msgstr ""
366
+
367
+ #: ../src/CycloneSlider/Importer.php:53
368
+ msgid "Error moving uploaded zip."
369
+ msgstr ""
370
+
371
+ #: ../src/CycloneSlider/Importer.php:60
372
+ #, php-format
373
+ msgid "Error opening zip: %s"
374
+ msgstr ""
375
+
376
+ #: ../src/CycloneSlider/Importer.php:73
377
+ #, php-format
378
+ msgid "Security error. Invalid %s file."
379
+ msgstr ""
380
+
381
+ #: ../src/CycloneSlider/Importer.php:80
382
+ #, php-format
383
+ msgid "Security error. File %s is not an image."
384
+ msgstr ""
385
+
386
+ #: ../src/CycloneSlider/Importer.php:86
387
+ #, php-format
388
+ msgid "Security error. Missing %s file."
389
+ msgstr ""
390
+
391
+ #: ../src/CycloneSlider/Importer.php:92
392
+ msgid "Error extracting zip."
393
+ msgstr ""
394
+
395
+ #: ../src/CycloneSlider/Importer.php:99
396
+ msgid "Failed to read export JSON."
397
+ msgstr ""
398
+
399
+ #: ../src/CycloneSlider/Importer.php:104
400
+ msgid "Failed to decode JSON."
401
+ msgstr ""
402
+
403
+ #: ../src/CycloneSlider/Importer.php:175
404
+ #, php-format
405
+ msgid "scandir failed on %s"
406
+ msgstr ""
407
+
408
+ #: ../src/CycloneSlider/Importer.php:191
409
+ #, fuzzy, php-format
410
+ msgid "Source image %s not found."
411
+ msgstr "[Modello \"%s\" non trovato]"
412
+
413
+ #: ../src/CycloneSlider/Importer.php:195
414
+ msgid "Copy error."
415
+ msgstr ""
416
+
417
+ #: ../src/CycloneSlider/SettingsPage.php:51
418
+ msgid "Default options restored."
419
+ msgstr ""
420
+
421
+ #: ../src/CycloneSlider/WidgetSlider.php:13
422
+ msgid "Cyclone Slider Widget"
423
+ msgstr "Cyclone Slider Widget"
424
+
425
+ #: ../src/CycloneSlider/WidgetSlider.php:14
426
+ #, fuzzy
427
+ msgid "Widget for displaying sliders."
428
+ msgstr "Widget per mostrare i Proiettori realizzati con Cyclone Slider."
429
+
430
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
431
+ #, fuzzy
432
+ msgid "Title:"
433
+ msgstr "Titolo"
434
+
435
+ #: ../src/CycloneSlider/WidgetSlider.php:79
436
+ #, fuzzy
437
+ msgid "Select a Slider:"
438
+ msgstr "Seleziona un Proiettore:"
439
+
440
+ #: ../src/CycloneSlider/WidgetSlider.php:94
441
+ #, fuzzy
442
+ msgid "No sliders found."
443
+ msgstr "Nessun proiettore trovato."
444
+
445
+ #: ../templates/dark/slider.php:40
446
+ msgid "View Larger Image"
447
+ msgstr ""
448
+
449
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
450
+ msgid "Learn More"
451
+ msgstr ""
452
+
453
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
454
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
455
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
456
+ #, fuzzy
457
+ msgid "Slide type not supported."
458
+ msgstr "Proiettore aggiornato."
459
+
460
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
461
+ #: ../views/export-nextgen-step-3.php:8
462
+ #, fuzzy
463
+ msgid "Cyclone Slider Nextgen Exporter"
464
+ msgstr "Cyclone Slider"
465
+
466
+ #: ../views/export-nextgen-step-1.php:18
467
+ #, fuzzy
468
+ msgid "Choose a NextGEN Gallery:"
469
+ msgstr "Scegli una Galleria NextGEN"
470
+
471
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
472
+ #, fuzzy
473
+ msgid "Select All"
474
+ msgstr "Cancella"
475
+
476
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
477
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
478
+ msgid "File Name:"
479
+ msgstr ""
480
+
481
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
482
+ #, fuzzy
483
+ msgid "No slider to export."
484
+ msgstr "Nessun proiettore trovato."
485
+
486
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
487
+ msgid "Clear"
488
+ msgstr ""
489
+
490
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
491
+ msgid "Next"
492
+ msgstr ""
493
+
494
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
495
+ #, fuzzy
496
+ msgid "Selected slider(s):"
497
+ msgstr "Seleziona un Proiettore:"
498
+
499
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
500
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
501
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
502
+ #: ../views/import-step-3.php:15
503
+ msgid "Back"
504
+ msgstr ""
505
+
506
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
507
+ msgid "Generate Export File"
508
+ msgstr ""
509
+
510
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
511
+ msgid "Download"
512
+ msgstr ""
513
+
514
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
515
+ #: ../views/export-step-3.php:8
516
+ #, fuzzy
517
+ msgid "Cyclone Slider Exporter"
518
+ msgstr "Cyclone Slider"
519
+
520
+ #: ../views/export-step-1.php:18
521
+ #, fuzzy
522
+ msgid "Select sliders:"
523
+ msgstr "Seleziona un Proiettore:"
524
+
525
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
526
+ #, fuzzy
527
+ msgid "Cyclone Slider Importer"
528
+ msgstr "Cyclone Slider"
529
+
530
+ #: ../views/import-step-1.php:17
531
+ msgid "Import Zip File:"
532
+ msgstr ""
533
+
534
+ #: ../views/import-step-1.php:24
535
+ msgid "Upload"
536
+ msgstr ""
537
+
538
+ #: ../views/settings-page.php:7
539
+ msgid ""
540
+ "Play with these settings if Cyclone Slider is not working or if you want to "
541
+ "optimize it."
542
+ msgstr ""
543
+
544
+ #: ../views/settings-page.php:16
545
+ msgid "Load scripts in:"
546
+ msgstr ""
547
+
548
+ #: ../views/settings-page.php:19
549
+ msgid "Header"
550
+ msgstr ""
551
+
552
+ #: ../views/settings-page.php:20
553
+ msgid "Footer"
554
+ msgstr ""
555
+
556
+ #: ../views/settings-page.php:25
557
+ msgid "Load these scripts:"
558
+ msgstr ""
559
+
560
+ #: ../views/settings-page.php:30
561
+ msgid "Cycle 2. This is the core script needed by the plugin."
562
+ msgstr ""
563
+
564
+ #: ../views/settings-page.php:35
565
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
566
+ msgstr ""
567
+
568
+ #: ../views/settings-page.php:40
569
+ msgid "Cycle 2 - Swipe. For touch swipe events."
570
+ msgstr ""
571
+
572
+ #: ../views/settings-page.php:45
573
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
574
+ msgstr ""
575
+
576
+ #: ../views/settings-page.php:50
577
+ msgid "Cycle 2 - Video. Used by YouTube template."
578
+ msgstr ""
579
+
580
+ #: ../views/settings-page.php:55
581
+ msgid "Magnific Popup - Enable lightbox option."
582
+ msgstr ""
583
+
584
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
585
+ #: ../views/slider-advanced-settings.php:2
586
+ msgid "Available in pro version."
587
+ msgstr ""
588
+
589
+ #: ../views/settings-page.php:60
590
+ msgid "Easing - Enable easing options."
591
+ msgstr ""
592
+
593
+ #: ../views/settings-page.php:65
594
+ msgid "Scripts loading priority:"
595
+ msgstr ""
596
+
597
+ #: ../views/settings-page.php:68
598
+ msgid "Make this value bigger to load scripts last."
599
+ msgstr ""
600
+
601
+ #: ../views/settings-page.php:72
602
+ #, fuzzy
603
+ msgid "Load these templates:"
604
+ msgstr "Modelli Proiettore"
605
+
606
+ #: ../views/settings-page.php:85
607
+ msgid "Save Options"
608
+ msgstr ""
609
+
610
+ #: ../views/settings-page.php:86
611
+ msgid "Restore Defaults"
612
+ msgstr ""
613
+
614
+ #: ../views/slide-edit-image.php:5
615
+ msgid "Thumbnail"
616
+ msgstr ""
617
+
618
+ #: ../views/slide-edit-image.php:9
619
+ msgid "Get Image"
620
+ msgstr "Prendi Immagine"
621
+
622
+ #: ../views/slide-edit-image.php:10
623
+ #, fuzzy
624
+ msgid "View Image"
625
+ msgstr "Prendi Immagine"
626
+
627
+ #: ../views/slide-edit-image.php:14
628
+ msgid "Caption"
629
+ msgstr ""
630
+
631
+ #: ../views/slide-edit-image.php:21
632
+ #, fuzzy
633
+ msgid "Description:"
634
+ msgstr "Descrizione"
635
+
636
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
637
+ msgid "Link"
638
+ msgstr "Link"
639
+
640
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
641
+ msgid "Link URL:"
642
+ msgstr "URL Link:"
643
+
644
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
645
+ msgid "Open Link in:"
646
+ msgstr "Apri il link:"
647
+
648
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
649
+ msgid "Same Window"
650
+ msgstr "Stessa Finestra"
651
+
652
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
653
+ msgid "New Tab or Window"
654
+ msgstr "Nuova Scheda o Finestra"
655
+
656
+ #: ../views/slide-edit-image.php:43
657
+ msgid "Image Attributes"
658
+ msgstr "Attributi Immagine"
659
+
660
+ #: ../views/slide-edit-image.php:46
661
+ msgid "Alternate Text:"
662
+ msgstr "Testo Alternativo:"
663
+
664
+ #: ../views/slide-edit-image.php:50
665
+ msgid "Title Text:"
666
+ msgstr "Testo Titolo:"
667
+
668
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
669
+ msgid "Image"
670
+ msgstr "Immagine"
671
+
672
+ #: ../views/slide-edit.php:12
673
+ msgid "YouTube"
674
+ msgstr ""
675
+
676
+ #: ../views/slide-edit.php:13
677
+ #, fuzzy
678
+ msgid "Vimeo"
679
+ msgstr "Video"
680
+
681
+ #: ../views/slide-edit.php:14
682
+ msgid "Custom"
683
+ msgstr "Personalizzato"
684
+
685
+ #: ../views/slide-edit.php:15
686
+ msgid "Testimonial"
687
+ msgstr ""
688
+
689
+ #: ../views/slide-edit.php:24
690
+ msgid "Toggle"
691
+ msgstr "Attiva/Disattiva"
692
+
693
+ #: ../views/slide-edit.php:27
694
+ msgid "Delete"
695
+ msgstr "Cancella"
696
+
697
+ #: ../views/slide-edit.php:56
698
+ msgid "YouTube URL:"
699
+ msgstr ""
700
+
701
+ #: ../views/slide-edit.php:58
702
+ msgid "Copy and paste a valid YouTube URL here."
703
+ msgstr ""
704
+
705
+ #: ../views/slide-edit.php:63
706
+ msgid "Do not show suggested videos when the video finishes."
707
+ msgstr ""
708
+
709
+ #: ../views/slide-edit.php:68
710
+ #, fuzzy
711
+ msgid "Vimeo URL:"
712
+ msgstr "URL Video:"
713
+
714
+ #: ../views/slide-edit.php:70
715
+ #, fuzzy
716
+ msgid "Copy and paste a valid Vimeo URL here."
717
+ msgstr ""
718
+ "Copia e incolla un URL di YouTube o Vimeo e clicca il pulsante Prendi Video."
719
+
720
+ #: ../views/slide-edit.php:75
721
+ msgid "Custom HTML"
722
+ msgstr "HTML Personalizzato"
723
+
724
+ #: ../views/slide-edit.php:83
725
+ msgid "Quote"
726
+ msgstr ""
727
+
728
+ #: ../views/slide-edit.php:89
729
+ msgid "Author"
730
+ msgstr ""
731
+
732
+ #: ../views/slide-edit.php:92
733
+ msgid "Name:"
734
+ msgstr ""
735
+
736
+ #: ../views/slide-settings.php:3
737
+ #, fuzzy
738
+ msgid "Slide Properties"
739
+ msgstr "Proprietà Diapositiva:"
740
+
741
+ #: ../views/slide-settings.php:6
742
+ msgid "Hidden:"
743
+ msgstr ""
744
+
745
+ #: ../views/slide-settings.php:15
746
+ msgid "Transition Effects:"
747
+ msgstr "Effetti Transizione:"
748
+
749
+ #: ../views/slide-settings.php:17
750
+ msgid "Default"
751
+ msgstr ""
752
+
753
+ #: ../views/slide-settings.php:26
754
+ #, fuzzy
755
+ msgid "Effects Speed:"
756
+ msgstr "Velocità Effetti Transizione:"
757
+
758
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
759
+ #: ../views/slider-settings.php:33
760
+ msgid "Milliseconds"
761
+ msgstr "Millisecondi"
762
+
763
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
764
+ msgid "Next Slide Delay:"
765
+ msgstr "Ritardo Diapositiva Successiva:"
766
+
767
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
768
+ msgid "Tile Count:"
769
+ msgstr "Conteggio Riquadri"
770
+
771
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
772
+ msgid "The number of tiles to use in the transition."
773
+ msgstr "Numero di riquadri da usare nella transizione."
774
+
775
+ #: ../views/slide-settings.php:49
776
+ msgid "Tile Delay:"
777
+ msgstr "Ritardo Riquadri:"
778
+
779
+ #: ../views/slide-settings.php:51
780
+ msgid "Milliseconds to delay each individual tile transition."
781
+ msgstr "I millisecondi per ogni transizione individuale dei riquadri."
782
+
783
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
784
+ msgid "Tile Position:"
785
+ msgstr "Posizione Riquadro:"
786
+
787
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
788
+ msgid "Vertical"
789
+ msgstr "Verticale"
790
+
791
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
792
+ msgid "Horizontal"
793
+ msgstr "Orizzontale"
794
+
795
+ #: ../views/slider-advanced-settings.php:4
796
+ msgid "Allow Wrap?"
797
+ msgstr ""
798
+
799
+ #: ../views/slider-advanced-settings.php:6
800
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
801
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
802
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
803
+ msgid "Yes"
804
+ msgstr "Si"
805
+
806
+ #: ../views/slider-advanced-settings.php:7
807
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
808
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
809
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
810
+ msgid "No"
811
+ msgstr "No"
812
+
813
+ #: ../views/slider-advanced-settings.php:10
814
+ msgid ""
815
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
816
+ msgstr ""
817
+
818
+ #: ../views/slider-advanced-settings.php:15
819
+ #, fuzzy
820
+ msgid "Dynamic Height:"
821
+ msgstr "Altezza:"
822
+
823
+ #: ../views/slider-advanced-settings.php:17
824
+ msgid "Off"
825
+ msgstr ""
826
+
827
+ #: ../views/slider-advanced-settings.php:18
828
+ msgid "On"
829
+ msgstr ""
830
+
831
+ #: ../views/slider-advanced-settings.php:21
832
+ msgid "Adjust slider height depending on current slide."
833
+ msgstr ""
834
+
835
+ #: ../views/slider-advanced-settings.php:26
836
+ #, fuzzy
837
+ msgid "Delay:"
838
+ msgstr "Ritardo Riquadri:"
839
+
840
+ #: ../views/slider-advanced-settings.php:28
841
+ msgid ""
842
+ "Milliseconds to add or substract from the time before the first transition "
843
+ "occurs."
844
+ msgstr ""
845
+
846
+ #: ../views/slider-advanced-settings.php:32
847
+ msgid "Easing:"
848
+ msgstr ""
849
+
850
+ #: ../views/slider-advanced-settings.php:38
851
+ msgid "Easing for transition animations."
852
+ msgstr ""
853
+
854
+ #: ../views/slider-advanced-settings.php:42
855
+ msgid "Swipe:"
856
+ msgstr ""
857
+
858
+ #: ../views/slider-advanced-settings.php:48
859
+ msgid "Enable swipe gesture support for touch devices."
860
+ msgstr ""
861
+
862
+ #: ../views/slider-advanced-settings.php:53
863
+ #, fuzzy
864
+ msgid "Resize Options:"
865
+ msgstr "Descrizione"
866
+
867
+ #: ../views/slider-advanced-settings.php:61
868
+ msgid ""
869
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
870
+ msgstr ""
871
+
872
+ #: ../views/slider-advanced-settings.php:62
873
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
874
+ msgstr ""
875
+
876
+ #: ../views/slider-advanced-settings.php:63
877
+ msgid "Crop - Excess parts of images are removed."
878
+ msgstr ""
879
+
880
+ #: ../views/slider-advanced-settings.php:64
881
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
882
+ msgstr ""
883
+
884
+ #: ../views/slider-advanced-settings.php:65
885
+ msgid "Exact Width - Resize to exact width."
886
+ msgstr ""
887
+
888
+ #: ../views/slider-advanced-settings.php:66
889
+ msgid "Exact Height - Resize to exact height."
890
+ msgstr ""
891
+
892
+ #: ../views/slider-advanced-settings.php:67
893
+ msgid ""
894
+ "Note: Please clear your browser cache if you are not seeing the changes."
895
+ msgstr ""
896
+
897
+ #: ../views/slider-advanced-settings.php:69
898
+ msgid "Auto - Cyclone Slider decides the resize option."
899
+ msgstr ""
900
+
901
+ #: ../views/slider-advanced-settings.php:70
902
+ msgid "Crop - Resize and remove excess parts."
903
+ msgstr ""
904
+
905
+ #: ../views/slider-advanced-settings.php:71
906
+ msgid "Exact - Resize to exact dimensions."
907
+ msgstr ""
908
+
909
+ #: ../views/slider-advanced-settings.php:72
910
+ msgid "Landscape - Resize to exact width."
911
+ msgstr ""
912
+
913
+ #: ../views/slider-advanced-settings.php:73
914
+ msgid "Portrait - Resize to exact height."
915
+ msgstr ""
916
+
917
+ #: ../views/slider-advanced-settings.php:80
918
+ msgid "Image Quality (JPEG):"
919
+ msgstr ""
920
+
921
+ #: ../views/slider-advanced-settings.php:83
922
+ msgid "Low"
923
+ msgstr ""
924
+
925
+ #: ../views/slider-advanced-settings.php:84
926
+ msgid "Medium"
927
+ msgstr ""
928
+
929
+ #: ../views/slider-advanced-settings.php:85
930
+ msgid "High"
931
+ msgstr ""
932
+
933
+ #: ../views/slider-advanced-settings.php:86
934
+ msgid "Very High"
935
+ msgstr ""
936
+
937
+ #: ../views/slider-advanced-settings.php:87
938
+ msgid "Max"
939
+ msgstr ""
940
+
941
+ #: ../views/slider-advanced-settings.php:91
942
+ msgid "The quality of the generated images. Applies to JPEG images only."
943
+ msgstr ""
944
+
945
+ #: ../views/slider-advanced-settings.php:92
946
+ msgid ""
947
+ "Low = low quality but small file size. Max = Best quality but large file "
948
+ "size."
949
+ msgstr ""
950
+
951
+ #: ../views/slider-codes.php:4
952
+ #, fuzzy
953
+ msgid "Your Shortcode:"
954
+ msgstr "Shortcode"
955
+
956
+ #: ../views/slider-codes.php:6
957
+ msgid ""
958
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
959
+ msgstr ""
960
+
961
+ #: ../views/slider-codes.php:10
962
+ msgid "Your PHP Code:"
963
+ msgstr ""
964
+
965
+ #: ../views/slider-codes.php:12
966
+ msgid ""
967
+ "Copy and paste this code when you need to display the slider in template "
968
+ "files (header.php, front-page.php, etc.)."
969
+ msgstr ""
970
+
971
+ #: ../views/slider-id.php:5
972
+ msgid "Change the Slideshow ID here."
973
+ msgstr ""
974
+
975
+ #: ../views/slider-preview.php:9
976
+ msgid "Your preview will appear here."
977
+ msgstr ""
978
+
979
+ #: ../views/slider-settings.php:3
980
+ msgid "Transition Effects to Use:"
981
+ msgstr "Effetti transizione da usare:"
982
+
983
+ #: ../views/slider-settings.php:27
984
+ msgid "Milliseconds. 0 to disable auto advance."
985
+ msgstr "Millisecondi. 0 per disabilitare auto-avanzamento."
986
+
987
+ #: ../views/slider-settings.php:31
988
+ msgid "Transition Effects Speed:"
989
+ msgstr "Velocità Effetti Transizione:"
990
+
991
+ #: ../views/slider-settings.php:37
992
+ msgid "Width:"
993
+ msgstr "Larghezza:"
994
+
995
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
996
+ msgid "pixels."
997
+ msgstr "pixels."
998
+
999
+ #: ../views/slider-settings.php:43
1000
+ msgid "Height:"
1001
+ msgstr "Altezza:"
1002
+
1003
+ #: ../views/slider-settings.php:49
1004
+ msgid "Width Management:"
1005
+ msgstr ""
1006
+
1007
+ #: ../views/slider-settings.php:51
1008
+ msgid "Responsive"
1009
+ msgstr ""
1010
+
1011
+ #: ../views/slider-settings.php:52
1012
+ msgid "Full"
1013
+ msgstr ""
1014
+
1015
+ #: ../views/slider-settings.php:53
1016
+ msgid "Fixed"
1017
+ msgstr ""
1018
+
1019
+ #: ../views/slider-settings.php:56
1020
+ msgid ""
1021
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1022
+ "provided width."
1023
+ msgstr ""
1024
+
1025
+ #: ../views/slider-settings.php:57
1026
+ msgid ""
1027
+ "Full - the same as responsive but maximum width will be equal to its "
1028
+ "container ignoring the provided width."
1029
+ msgstr ""
1030
+
1031
+ #: ../views/slider-settings.php:58
1032
+ msgid "Fixed - width and height are not resized."
1033
+ msgstr ""
1034
+
1035
+ #: ../views/slider-settings.php:63
1036
+ msgid "Resize Images?"
1037
+ msgstr "Scala Immagini?"
1038
+
1039
+ #: ../views/slider-settings.php:70
1040
+ msgid "Force Resize"
1041
+ msgstr ""
1042
+
1043
+ #: ../views/slider-settings.php:71
1044
+ #, fuzzy
1045
+ msgid ""
1046
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1047
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1048
+ msgstr ""
1049
+ "Si - scala le immagini alle dimensioni del proiettore. <br>No - usa "
1050
+ "l'immagine originale caricata"
1051
+
1052
+ #: ../views/slider-settings.php:75
1053
+ msgid "Pause on Hover?"
1054
+ msgstr "Pausa al passaggio del mouse?"
1055
+
1056
+ #: ../views/slider-settings.php:83
1057
+ msgid "Show Prev/Next Buttons?"
1058
+ msgstr "Mostra Pulsanti Prec./Succ.?"
1059
+
1060
+ #: ../views/slider-settings.php:91
1061
+ msgid "Show Navigation?"
1062
+ msgstr "Mostra Navigazione?"
1063
+
1064
+ #: ../views/slider-settings.php:96
1065
+ msgid "The thumbnails or dots depending on template."
1066
+ msgstr "Le miniature o i dischi a seconda del modello usato."
1067
+
1068
+ #: ../views/slider-settings.php:100
1069
+ msgid "Random Slide Order?"
1070
+ msgstr "Ordina le Diapositive a caso?"
1071
+
1072
+ #: ../views/slider-settings.php:105
1073
+ msgid "Randomize order of slides on every page visit."
1074
+ msgstr "Ordina a caso le diapositive ad ogni visita della pagina."
1075
+
1076
+ #: ../views/slides.php:8
1077
+ msgid "Add Slide"
1078
+ msgstr "Aggiungi Diapositiva"
1079
+
1080
+ #: ../views/slides.php:10
1081
+ msgid "Sort"
1082
+ msgstr ""
1083
+
1084
+ #: ../views/template-selection.php:4
1085
+ msgid "Name"
1086
+ msgstr ""
1087
+
1088
+ #: ../views/template-selection.php:5
1089
+ msgid "Supported Slides"
1090
+ msgstr ""
1091
+
1092
+ #: ../views/template-selection.php:6
1093
+ msgid "Location"
1094
+ msgstr ""
1095
+
1096
+ #: ../views/template-selection.php:7
1097
+ #, fuzzy
1098
+ msgid "Selected"
1099
+ msgstr "Cancella"
1100
+
1101
+ #: ../views/template-selection.php:43
1102
+ #, fuzzy
1103
+ msgid "Learn More About Templates"
1104
+ msgstr "Ricevi più modelli..."
1105
+
1106
+ #: ../views/template-selection.php:44
1107
+ #, fuzzy
1108
+ msgid "Get More Templates"
1109
+ msgstr "Ricevi più modelli..."
1110
+
1111
+ #~ msgid "Slide Transition Effects"
1112
+ #~ msgstr "Effetti Transizione Diapositiva"
1113
+
1114
+ #~ msgid "Disable"
1115
+ #~ msgstr "Disabilita"
1116
+
1117
+ #~ msgid "Enable Slide Effects"
1118
+ #~ msgstr "Abilita Effetti"
1119
+
1120
+ #~ msgid ""
1121
+ #~ "Templates CSS could not be saved. Make sure %stemplates.css is writable."
1122
+ #~ msgstr ""
1123
+ #~ "Non è stato possibile salvare il modello CSS. Assicurarsi che %stemplates."
1124
+ #~ "css sia scrivibile."
1125
+
1126
+ #~ msgid ""
1127
+ #~ "Templates JS could not be saved. Make sure %stemplates.js is writable."
1128
+ #~ msgstr ""
1129
+ #~ "Non è stato possibile salvare il modello JS. Assicurarsi che %stemplates."
1130
+ #~ "js sia scrivibile."
1131
+
1132
+ #~ msgid "Video URL:"
1133
+ #~ msgstr "URL Video:"
1134
+
1135
+ #~ msgid "Copy and paste a Youtube or Vimeo URL and hit the Get Video button."
1136
+ #~ msgstr ""
1137
+ #~ "Copia e incolla un URL di YouTube o Vimeo e clicca il pulsante Prendi "
1138
+ #~ "Video."
1139
+
1140
+ #~ msgid "Get Video"
1141
+ #~ msgstr "Prendi Video"
1142
+
1143
+ #~ msgid "Embed Code"
1144
+ #~ msgstr "Codice Embed"
1145
+
1146
+ #~ msgid ""
1147
+ #~ "You can place your embed code directly here. Or you can use the Get Video "
1148
+ #~ "button to generate the embed code."
1149
+ #~ msgstr ""
1150
+ #~ "Puoi piazzare il tuo codice embed direttamente qui. Oppure puoi usare il "
1151
+ #~ "pulsante Prendi Video per generare il codice embed."
1152
+
1153
+ #~ msgid ""
1154
+ #~ "<strong>Note:</strong> The Slide Properties and Tile effects are not "
1155
+ #~ "supported for videos."
1156
+ #~ msgstr ""
1157
+ #~ "<strong>Nota:</strong> Le Proprietà e gli Effetti delle diapositive non "
1158
+ #~ "sono supportate per i video."
1159
+
1160
+ #~ msgid ""
1161
+ #~ "<strong>Note:</strong> Append &wmode=transparent to the embed code src "
1162
+ #~ "attribute to make HTML elements appear on top of Flash."
1163
+ #~ msgstr ""
1164
+ #~ "<strong>Nota:</strong> Aggiungi &wmode=transparent all'attributo src del "
1165
+ #~ "codice embedper fare apparire gli elementi HTML sopra il formato Flash."
1166
+
1167
+ #~ msgid "Slideshow updated. Shortcode is [cycloneslider id=\"%s\"]"
1168
+ #~ msgstr "Proiettore aggiornato. Lo shortcode è [cycloneslider id=\"%s\"]"
1169
+
1170
+ #~ msgid "Slideshow published. Shortcode is [cycloneslider id=\"%s\"]"
1171
+ #~ msgstr "Proiettore pubblicato. Lo shortcode è [cycloneslider id=\"%s\"]"
1172
+
1173
+ #~ msgid "Images"
1174
+ #~ msgstr "Immagini"
1175
+
1176
+ #~ msgid "Drag"
1177
+ #~ msgstr "Trascina"
1178
+
1179
+ #~ msgid ""
1180
+ #~ "Select a template to use. Check the template icons to see what slide type "
1181
+ #~ "it supports."
1182
+ #~ msgstr ""
1183
+ #~ "Seleziona un modello da usare. Controlla l'icona del modello per vedere "
1184
+ #~ "quale tipo supporta."
1185
+
1186
+ #~ msgid ""
1187
+ #~ "Note: If you are looking for the Black, Blue or Myrtle, checkout this <a "
1188
+ #~ "href=\"%s\">post</a>."
1189
+ #~ msgstr ""
1190
+ #~ "Nota: Se cerchi per i modelli Black, Blue o Myrtle, controlla questo <a "
1191
+ #~ "href=\"%s\">articolo</a>."
src/cyclone-slider/languages/cycloneslider-ja_JP.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-ja_JP.po ADDED
@@ -0,0 +1,1055 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 20:03+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 20:03+0800\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: ja_JP\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPath-1: ..\n"
20
+
21
+ #: ../cyclone-slider.php:93
22
+ msgid "Cyclone Slider Settings"
23
+ msgstr "サイクロンスライダの設定"
24
+
25
+ #: ../cyclone-slider.php:94
26
+ msgid "Settings"
27
+ msgstr "設定"
28
+
29
+ #: ../cyclone-slider.php:104
30
+ msgid "Cyclone Slider Export"
31
+ msgstr "サイクロンスライダー輸出"
32
+
33
+ #: ../cyclone-slider.php:105
34
+ msgid "Export/Import"
35
+ msgstr "輸出入"
36
+
37
+ #: ../cyclone-slider.php:117
38
+ msgid "Cyclone Slider Nextgen Export"
39
+ msgstr "サイクロンスライダーNextgenエクスポート"
40
+
41
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
42
+ msgid "Export Nextgen"
43
+ msgstr "Nextgenのエクスポート"
44
+
45
+ #: ../cyclone-slider.php:130
46
+ msgid "Cyclone Slider Import"
47
+ msgstr "サイクロンスライダのインポート"
48
+
49
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
50
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
51
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
52
+ #: ../src/CycloneSlider/ImportPage.php:74
53
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
54
+ msgid "Import"
55
+ msgstr "インポート"
56
+
57
+ #: ../src/CycloneSlider/Admin.php:142
58
+ msgid "Cyclone Slider"
59
+ msgstr "サイクロンスライダー"
60
+
61
+ #: ../src/CycloneSlider/Admin.php:143
62
+ msgid "Slideshow"
63
+ msgstr "スライドショー"
64
+
65
+ #: ../src/CycloneSlider/Admin.php:144
66
+ msgid "Add Slideshow"
67
+ msgstr "スライドショーを追加"
68
+
69
+ #: ../src/CycloneSlider/Admin.php:145
70
+ msgid "Add New Slideshow"
71
+ msgstr "新しいスライドショーを追加"
72
+
73
+ #: ../src/CycloneSlider/Admin.php:146
74
+ msgid "Edit Slideshow"
75
+ msgstr "スライドショーを編集"
76
+
77
+ #: ../src/CycloneSlider/Admin.php:147
78
+ msgid "New Slideshow"
79
+ msgstr "新しいスライドショー"
80
+
81
+ #: ../src/CycloneSlider/Admin.php:148
82
+ msgid "View Slideshow"
83
+ msgstr "スライドショーを見る"
84
+
85
+ #: ../src/CycloneSlider/Admin.php:149
86
+ msgid "Search Slideshows"
87
+ msgstr "スライドショーを検索"
88
+
89
+ #: ../src/CycloneSlider/Admin.php:150
90
+ msgid "No slideshows found"
91
+ msgstr "スライドショーが見つかりません"
92
+
93
+ #: ../src/CycloneSlider/Admin.php:151
94
+ msgid "No slideshows found in Trash"
95
+ msgstr ""
96
+
97
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
98
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
99
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
100
+ msgid "Slideshow updated."
101
+ msgstr "スライドショーが更新されました。"
102
+
103
+ #: ../src/CycloneSlider/Admin.php:198
104
+ msgid "Custom field updated."
105
+ msgstr ""
106
+
107
+ #: ../src/CycloneSlider/Admin.php:199
108
+ msgid "Custom field deleted."
109
+ msgstr ""
110
+
111
+ #: ../src/CycloneSlider/Admin.php:202
112
+ msgid "Slideshow published."
113
+ msgstr ""
114
+
115
+ #: ../src/CycloneSlider/Admin.php:203
116
+ msgid "Slideshow saved."
117
+ msgstr ""
118
+
119
+ #: ../src/CycloneSlider/Admin.php:242
120
+ msgid "Slides"
121
+ msgstr "スライド"
122
+
123
+ #: ../src/CycloneSlider/Admin.php:251
124
+ msgid "Slider Preview"
125
+ msgstr ""
126
+
127
+ #: ../src/CycloneSlider/Admin.php:260
128
+ msgid "Get Slider Codes"
129
+ msgstr ""
130
+
131
+ #: ../src/CycloneSlider/Admin.php:269
132
+ msgid "Basic Settings"
133
+ msgstr "基本設定"
134
+
135
+ #: ../src/CycloneSlider/Admin.php:278
136
+ msgid "Advanced Settings"
137
+ msgstr "高度な設定"
138
+
139
+ #: ../src/CycloneSlider/Admin.php:287
140
+ msgid "Templates"
141
+ msgstr "テンプレート"
142
+
143
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
144
+ msgid "Slideshow ID"
145
+ msgstr "スライドショーID"
146
+
147
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
148
+ #, php-format
149
+ msgid "Slider \"%s\" not found."
150
+ msgstr "スライダ\"%s\"が見つかりません。"
151
+
152
+ #: ../src/CycloneSlider/Admin.php:323
153
+ msgid "Slide"
154
+ msgstr "滑り台"
155
+
156
+ #: ../src/CycloneSlider/Admin.php:328
157
+ msgid "[Hidden]"
158
+ msgstr "[隠された]"
159
+
160
+ #: ../src/CycloneSlider/Admin.php:467
161
+ msgid "Core"
162
+ msgstr "コア"
163
+
164
+ #: ../src/CycloneSlider/Admin.php:468
165
+ #, php-format
166
+ msgid ""
167
+ "You should not make changes to templates in this location. All your changes "
168
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
169
+ msgstr ""
170
+
171
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
172
+ #: ../src/CycloneSlider/Admin.php:481
173
+ #, php-format
174
+ msgid "Location: <strong>%s</strong>"
175
+ msgstr ""
176
+
177
+ #: ../src/CycloneSlider/Admin.php:473
178
+ msgid ""
179
+ "Your template is in danger of being overwritten when you upgrade your theme. "
180
+ "Please consider creating a WordPress plugin Cyclone Slider template."
181
+ msgstr ""
182
+
183
+ #: ../src/CycloneSlider/Admin.php:524
184
+ msgid "Slide *"
185
+ msgstr ""
186
+
187
+ #: ../src/CycloneSlider/Admin.php:616
188
+ msgid "Slideshow Name"
189
+ msgstr ""
190
+
191
+ #: ../src/CycloneSlider/Admin.php:617
192
+ msgid "Template"
193
+ msgstr ""
194
+
195
+ #: ../src/CycloneSlider/Admin.php:618
196
+ msgid "No. of Slides"
197
+ msgstr ""
198
+
199
+ #: ../src/CycloneSlider/Admin.php:620
200
+ msgid "Shortcode"
201
+ msgstr ""
202
+
203
+ #: ../src/CycloneSlider/AssetLoader.php:71
204
+ msgid "Select an image"
205
+ msgstr ""
206
+
207
+ #: ../src/CycloneSlider/AssetLoader.php:72
208
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
209
+ msgstr ""
210
+
211
+ #: ../src/CycloneSlider/AssetLoader.php:73
212
+ msgid "Add to Slide"
213
+ msgstr ""
214
+
215
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
216
+ msgid "Add Images as Slides"
217
+ msgstr ""
218
+
219
+ #: ../src/CycloneSlider/AssetLoader.php:75
220
+ msgid "Error. Make sure its a valid YouTube URL."
221
+ msgstr ""
222
+
223
+ #: ../src/CycloneSlider/Data.php:276
224
+ #, php-format
225
+ msgid "Invalid format for get_slider %s parameter."
226
+ msgstr ""
227
+
228
+ #: ../src/CycloneSlider/ExportPage.php:64
229
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
230
+ #: ../src/CycloneSlider/ImportPage.php:69
231
+ msgid "Export"
232
+ msgstr ""
233
+
234
+ #: ../src/CycloneSlider/ExportPage.php:77
235
+ #: ../src/CycloneSlider/ImportPage.php:63
236
+ msgid ""
237
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
238
+ msgstr ""
239
+
240
+ #: ../src/CycloneSlider/ExportPage.php:113
241
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
242
+ msgid "Your export file is ready. Click Download."
243
+ msgstr ""
244
+
245
+ #: ../src/CycloneSlider/ExportPage.php:118
246
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
247
+ msgid "Error creating exports directory."
248
+ msgstr ""
249
+
250
+ #: ../src/CycloneSlider/ExportPage.php:167
251
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
252
+ msgid "No slider selected."
253
+ msgstr ""
254
+
255
+ #: ../src/CycloneSlider/ExportPage.php:172
256
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
257
+ msgid "Please choose a file name."
258
+ msgstr ""
259
+
260
+ #: ../src/CycloneSlider/Exporter.php:52
261
+ msgid "Error no sliders selected."
262
+ msgstr ""
263
+
264
+ #: ../src/CycloneSlider/Exporter.php:73
265
+ msgid "Error encoding data to JSON."
266
+ msgstr ""
267
+
268
+ #: ../src/CycloneSlider/Exporter.php:79
269
+ #, php-format
270
+ msgid "Success generating zip %s."
271
+ msgstr ""
272
+
273
+ #: ../src/CycloneSlider/Exporter.php:109
274
+ #, php-format
275
+ msgid "Exporting data for slider \"%s\"."
276
+ msgstr ""
277
+
278
+ #: ../src/CycloneSlider/Exporter.php:138
279
+ #, php-format
280
+ msgid ""
281
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
282
+ msgstr ""
283
+
284
+ #: ../src/CycloneSlider/Exporter.php:182
285
+ msgid "ZipArchive not supported."
286
+ msgstr ""
287
+
288
+ #: ../src/CycloneSlider/Exporter.php:188
289
+ #, php-format
290
+ msgid "Error opening zip file %s. Code: %s"
291
+ msgstr ""
292
+
293
+ #: ../src/CycloneSlider/Exporter.php:197
294
+ #, php-format
295
+ msgid "Error adding file %s to zip."
296
+ msgstr ""
297
+
298
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
299
+ #, php-format
300
+ msgid "File %s added to zip."
301
+ msgstr ""
302
+
303
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
304
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
305
+ msgid "NextGEN Integration"
306
+ msgstr ""
307
+
308
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
309
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
310
+ msgid "Choose a NextGEN Gallery"
311
+ msgstr ""
312
+
313
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
314
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
315
+ msgid ""
316
+ "Select a gallery to import images from. Images will be added as new slides."
317
+ msgstr ""
318
+
319
+ #: ../src/CycloneSlider/Frontend.php:81
320
+ #, php-format
321
+ msgid "[Slideshow \"%s\" not found]"
322
+ msgstr ""
323
+
324
+ #: ../src/CycloneSlider/Frontend.php:97
325
+ #, php-format
326
+ msgid "[Template \"%s\" not found]"
327
+ msgstr ""
328
+
329
+ #: ../src/CycloneSlider/ImportPage.php:116
330
+ msgid "Import operation success!"
331
+ msgstr ""
332
+
333
+ #: ../src/CycloneSlider/Importer.php:35
334
+ msgid "Could not read zip files. ZipArchive not supported."
335
+ msgstr ""
336
+
337
+ #: ../src/CycloneSlider/Importer.php:40
338
+ msgid "No zip file found."
339
+ msgstr ""
340
+
341
+ #: ../src/CycloneSlider/Importer.php:46
342
+ msgid "Error creating imports directory."
343
+ msgstr ""
344
+
345
+ #: ../src/CycloneSlider/Importer.php:53
346
+ msgid "Error moving uploaded zip."
347
+ msgstr ""
348
+
349
+ #: ../src/CycloneSlider/Importer.php:60
350
+ #, php-format
351
+ msgid "Error opening zip: %s"
352
+ msgstr ""
353
+
354
+ #: ../src/CycloneSlider/Importer.php:73
355
+ #, php-format
356
+ msgid "Security error. Invalid %s file."
357
+ msgstr ""
358
+
359
+ #: ../src/CycloneSlider/Importer.php:80
360
+ #, php-format
361
+ msgid "Security error. File %s is not an image."
362
+ msgstr ""
363
+
364
+ #: ../src/CycloneSlider/Importer.php:86
365
+ #, php-format
366
+ msgid "Security error. Missing %s file."
367
+ msgstr ""
368
+
369
+ #: ../src/CycloneSlider/Importer.php:92
370
+ msgid "Error extracting zip."
371
+ msgstr ""
372
+
373
+ #: ../src/CycloneSlider/Importer.php:99
374
+ msgid "Failed to read export JSON."
375
+ msgstr ""
376
+
377
+ #: ../src/CycloneSlider/Importer.php:104
378
+ msgid "Failed to decode JSON."
379
+ msgstr ""
380
+
381
+ #: ../src/CycloneSlider/Importer.php:175
382
+ #, php-format
383
+ msgid "scandir failed on %s"
384
+ msgstr ""
385
+
386
+ #: ../src/CycloneSlider/Importer.php:191
387
+ #, php-format
388
+ msgid "Source image %s not found."
389
+ msgstr ""
390
+
391
+ #: ../src/CycloneSlider/Importer.php:195
392
+ msgid "Copy error."
393
+ msgstr ""
394
+
395
+ #: ../src/CycloneSlider/SettingsPage.php:51
396
+ msgid "Default options restored."
397
+ msgstr ""
398
+
399
+ #: ../src/CycloneSlider/WidgetSlider.php:13
400
+ msgid "Cyclone Slider Widget"
401
+ msgstr ""
402
+
403
+ #: ../src/CycloneSlider/WidgetSlider.php:14
404
+ msgid "Widget for displaying sliders."
405
+ msgstr ""
406
+
407
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
408
+ msgid "Title:"
409
+ msgstr ""
410
+
411
+ #: ../src/CycloneSlider/WidgetSlider.php:79
412
+ msgid "Select a Slider:"
413
+ msgstr ""
414
+
415
+ #: ../src/CycloneSlider/WidgetSlider.php:94
416
+ msgid "No sliders found."
417
+ msgstr ""
418
+
419
+ #: ../templates/dark/slider.php:40
420
+ msgid "View Larger Image"
421
+ msgstr ""
422
+
423
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
424
+ msgid "Learn More"
425
+ msgstr ""
426
+
427
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
428
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
429
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
430
+ msgid "Slide type not supported."
431
+ msgstr ""
432
+
433
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
434
+ #: ../views/export-nextgen-step-3.php:8
435
+ msgid "Cyclone Slider Nextgen Exporter"
436
+ msgstr ""
437
+
438
+ #: ../views/export-nextgen-step-1.php:18
439
+ msgid "Choose a NextGEN Gallery:"
440
+ msgstr ""
441
+
442
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
443
+ msgid "Select All"
444
+ msgstr ""
445
+
446
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
447
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
448
+ msgid "File Name:"
449
+ msgstr ""
450
+
451
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
452
+ msgid "No slider to export."
453
+ msgstr ""
454
+
455
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
456
+ msgid "Clear"
457
+ msgstr ""
458
+
459
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
460
+ msgid "Next"
461
+ msgstr ""
462
+
463
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
464
+ msgid "Selected slider(s):"
465
+ msgstr ""
466
+
467
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
468
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
469
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
470
+ #: ../views/import-step-3.php:15
471
+ msgid "Back"
472
+ msgstr ""
473
+
474
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
475
+ msgid "Generate Export File"
476
+ msgstr ""
477
+
478
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
479
+ msgid "Download"
480
+ msgstr ""
481
+
482
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
483
+ #: ../views/export-step-3.php:8
484
+ msgid "Cyclone Slider Exporter"
485
+ msgstr ""
486
+
487
+ #: ../views/export-step-1.php:18
488
+ msgid "Select sliders:"
489
+ msgstr ""
490
+
491
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
492
+ msgid "Cyclone Slider Importer"
493
+ msgstr ""
494
+
495
+ #: ../views/import-step-1.php:17
496
+ msgid "Import Zip File:"
497
+ msgstr ""
498
+
499
+ #: ../views/import-step-1.php:24
500
+ msgid "Upload"
501
+ msgstr ""
502
+
503
+ #: ../views/settings-page.php:7
504
+ msgid ""
505
+ "Play with these settings if Cyclone Slider is not working or if you want to "
506
+ "optimize it."
507
+ msgstr ""
508
+
509
+ #: ../views/settings-page.php:16
510
+ msgid "Load scripts in:"
511
+ msgstr ""
512
+
513
+ #: ../views/settings-page.php:19
514
+ msgid "Header"
515
+ msgstr ""
516
+
517
+ #: ../views/settings-page.php:20
518
+ msgid "Footer"
519
+ msgstr ""
520
+
521
+ #: ../views/settings-page.php:25
522
+ msgid "Load these scripts:"
523
+ msgstr ""
524
+
525
+ #: ../views/settings-page.php:30
526
+ msgid "Cycle 2. This is the core script needed by the plugin."
527
+ msgstr ""
528
+
529
+ #: ../views/settings-page.php:35
530
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
531
+ msgstr ""
532
+
533
+ #: ../views/settings-page.php:40
534
+ msgid "Cycle 2 - Swipe. For touch swipe events."
535
+ msgstr ""
536
+
537
+ #: ../views/settings-page.php:45
538
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
539
+ msgstr ""
540
+
541
+ #: ../views/settings-page.php:50
542
+ msgid "Cycle 2 - Video. Used by YouTube template."
543
+ msgstr ""
544
+
545
+ #: ../views/settings-page.php:55
546
+ msgid "Magnific Popup - Enable lightbox option."
547
+ msgstr ""
548
+
549
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
550
+ #: ../views/slider-advanced-settings.php:2
551
+ msgid "Available in pro version."
552
+ msgstr ""
553
+
554
+ #: ../views/settings-page.php:60
555
+ msgid "Easing - Enable easing options."
556
+ msgstr ""
557
+
558
+ #: ../views/settings-page.php:65
559
+ msgid "Scripts loading priority:"
560
+ msgstr ""
561
+
562
+ #: ../views/settings-page.php:68
563
+ msgid "Make this value bigger to load scripts last."
564
+ msgstr ""
565
+
566
+ #: ../views/settings-page.php:72
567
+ msgid "Load these templates:"
568
+ msgstr ""
569
+
570
+ #: ../views/settings-page.php:85
571
+ msgid "Save Options"
572
+ msgstr ""
573
+
574
+ #: ../views/settings-page.php:86
575
+ msgid "Restore Defaults"
576
+ msgstr ""
577
+
578
+ #: ../views/slide-edit-image.php:5
579
+ msgid "Thumbnail"
580
+ msgstr ""
581
+
582
+ #: ../views/slide-edit-image.php:9
583
+ msgid "Get Image"
584
+ msgstr ""
585
+
586
+ #: ../views/slide-edit-image.php:10
587
+ msgid "View Image"
588
+ msgstr ""
589
+
590
+ #: ../views/slide-edit-image.php:14
591
+ msgid "Caption"
592
+ msgstr ""
593
+
594
+ #: ../views/slide-edit-image.php:21
595
+ msgid "Description:"
596
+ msgstr "説明:"
597
+
598
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
599
+ msgid "Link"
600
+ msgstr ""
601
+
602
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
603
+ msgid "Link URL:"
604
+ msgstr ""
605
+
606
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
607
+ msgid "Open Link in:"
608
+ msgstr ""
609
+
610
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
611
+ msgid "Same Window"
612
+ msgstr ""
613
+
614
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
615
+ msgid "New Tab or Window"
616
+ msgstr ""
617
+
618
+ #: ../views/slide-edit-image.php:43
619
+ msgid "Image Attributes"
620
+ msgstr ""
621
+
622
+ #: ../views/slide-edit-image.php:46
623
+ msgid "Alternate Text:"
624
+ msgstr ""
625
+
626
+ #: ../views/slide-edit-image.php:50
627
+ msgid "Title Text:"
628
+ msgstr ""
629
+
630
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
631
+ msgid "Image"
632
+ msgstr "画像"
633
+
634
+ #: ../views/slide-edit.php:12
635
+ msgid "YouTube"
636
+ msgstr ""
637
+
638
+ #: ../views/slide-edit.php:13
639
+ msgid "Vimeo"
640
+ msgstr ""
641
+
642
+ #: ../views/slide-edit.php:14
643
+ msgid "Custom"
644
+ msgstr ""
645
+
646
+ #: ../views/slide-edit.php:15
647
+ msgid "Testimonial"
648
+ msgstr ""
649
+
650
+ #: ../views/slide-edit.php:24
651
+ msgid "Toggle"
652
+ msgstr ""
653
+
654
+ #: ../views/slide-edit.php:27
655
+ msgid "Delete"
656
+ msgstr ""
657
+
658
+ #: ../views/slide-edit.php:56
659
+ msgid "YouTube URL:"
660
+ msgstr "YouTubeのURL:"
661
+
662
+ #: ../views/slide-edit.php:58
663
+ msgid "Copy and paste a valid YouTube URL here."
664
+ msgstr ""
665
+
666
+ #: ../views/slide-edit.php:63
667
+ msgid "Do not show suggested videos when the video finishes."
668
+ msgstr ""
669
+
670
+ #: ../views/slide-edit.php:68
671
+ msgid "Vimeo URL:"
672
+ msgstr ""
673
+
674
+ #: ../views/slide-edit.php:70
675
+ msgid "Copy and paste a valid Vimeo URL here."
676
+ msgstr ""
677
+
678
+ #: ../views/slide-edit.php:75
679
+ msgid "Custom HTML"
680
+ msgstr ""
681
+
682
+ #: ../views/slide-edit.php:83
683
+ msgid "Quote"
684
+ msgstr ""
685
+
686
+ #: ../views/slide-edit.php:89
687
+ msgid "Author"
688
+ msgstr ""
689
+
690
+ #: ../views/slide-edit.php:92
691
+ msgid "Name:"
692
+ msgstr ""
693
+
694
+ #: ../views/slide-settings.php:3
695
+ msgid "Slide Properties"
696
+ msgstr ""
697
+
698
+ #: ../views/slide-settings.php:6
699
+ msgid "Hidden:"
700
+ msgstr ""
701
+
702
+ #: ../views/slide-settings.php:15
703
+ msgid "Transition Effects:"
704
+ msgstr ""
705
+
706
+ #: ../views/slide-settings.php:17
707
+ msgid "Default"
708
+ msgstr ""
709
+
710
+ #: ../views/slide-settings.php:26
711
+ msgid "Effects Speed:"
712
+ msgstr ""
713
+
714
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
715
+ #: ../views/slider-settings.php:33
716
+ msgid "Milliseconds"
717
+ msgstr ""
718
+
719
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
720
+ msgid "Next Slide Delay:"
721
+ msgstr ""
722
+
723
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
724
+ msgid "Tile Count:"
725
+ msgstr ""
726
+
727
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
728
+ msgid "The number of tiles to use in the transition."
729
+ msgstr ""
730
+
731
+ #: ../views/slide-settings.php:49
732
+ msgid "Tile Delay:"
733
+ msgstr ""
734
+
735
+ #: ../views/slide-settings.php:51
736
+ msgid "Milliseconds to delay each individual tile transition."
737
+ msgstr ""
738
+
739
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
740
+ msgid "Tile Position:"
741
+ msgstr ""
742
+
743
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
744
+ msgid "Vertical"
745
+ msgstr ""
746
+
747
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
748
+ msgid "Horizontal"
749
+ msgstr ""
750
+
751
+ #: ../views/slider-advanced-settings.php:4
752
+ msgid "Allow Wrap?"
753
+ msgstr ""
754
+
755
+ #: ../views/slider-advanced-settings.php:6
756
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
757
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
758
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
759
+ msgid "Yes"
760
+ msgstr ""
761
+
762
+ #: ../views/slider-advanced-settings.php:7
763
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
764
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
765
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
766
+ msgid "No"
767
+ msgstr ""
768
+
769
+ #: ../views/slider-advanced-settings.php:10
770
+ msgid ""
771
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
772
+ msgstr ""
773
+
774
+ #: ../views/slider-advanced-settings.php:15
775
+ msgid "Dynamic Height:"
776
+ msgstr ""
777
+
778
+ #: ../views/slider-advanced-settings.php:17
779
+ msgid "Off"
780
+ msgstr ""
781
+
782
+ #: ../views/slider-advanced-settings.php:18
783
+ msgid "On"
784
+ msgstr ""
785
+
786
+ #: ../views/slider-advanced-settings.php:21
787
+ msgid "Adjust slider height depending on current slide."
788
+ msgstr ""
789
+
790
+ #: ../views/slider-advanced-settings.php:26
791
+ msgid "Delay:"
792
+ msgstr ""
793
+
794
+ #: ../views/slider-advanced-settings.php:28
795
+ msgid ""
796
+ "Milliseconds to add or substract from the time before the first transition "
797
+ "occurs."
798
+ msgstr ""
799
+
800
+ #: ../views/slider-advanced-settings.php:32
801
+ msgid "Easing:"
802
+ msgstr ""
803
+
804
+ #: ../views/slider-advanced-settings.php:38
805
+ msgid "Easing for transition animations."
806
+ msgstr ""
807
+
808
+ #: ../views/slider-advanced-settings.php:42
809
+ msgid "Swipe:"
810
+ msgstr ""
811
+
812
+ #: ../views/slider-advanced-settings.php:48
813
+ msgid "Enable swipe gesture support for touch devices."
814
+ msgstr ""
815
+
816
+ #: ../views/slider-advanced-settings.php:53
817
+ msgid "Resize Options:"
818
+ msgstr ""
819
+
820
+ #: ../views/slider-advanced-settings.php:61
821
+ msgid ""
822
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
823
+ msgstr ""
824
+
825
+ #: ../views/slider-advanced-settings.php:62
826
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
827
+ msgstr ""
828
+
829
+ #: ../views/slider-advanced-settings.php:63
830
+ msgid "Crop - Excess parts of images are removed."
831
+ msgstr ""
832
+
833
+ #: ../views/slider-advanced-settings.php:64
834
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
835
+ msgstr ""
836
+
837
+ #: ../views/slider-advanced-settings.php:65
838
+ msgid "Exact Width - Resize to exact width."
839
+ msgstr ""
840
+
841
+ #: ../views/slider-advanced-settings.php:66
842
+ msgid "Exact Height - Resize to exact height."
843
+ msgstr ""
844
+
845
+ #: ../views/slider-advanced-settings.php:67
846
+ msgid ""
847
+ "Note: Please clear your browser cache if you are not seeing the changes."
848
+ msgstr ""
849
+
850
+ #: ../views/slider-advanced-settings.php:69
851
+ msgid "Auto - Cyclone Slider decides the resize option."
852
+ msgstr ""
853
+
854
+ #: ../views/slider-advanced-settings.php:70
855
+ msgid "Crop - Resize and remove excess parts."
856
+ msgstr ""
857
+
858
+ #: ../views/slider-advanced-settings.php:71
859
+ msgid "Exact - Resize to exact dimensions."
860
+ msgstr ""
861
+
862
+ #: ../views/slider-advanced-settings.php:72
863
+ msgid "Landscape - Resize to exact width."
864
+ msgstr ""
865
+
866
+ #: ../views/slider-advanced-settings.php:73
867
+ msgid "Portrait - Resize to exact height."
868
+ msgstr ""
869
+
870
+ #: ../views/slider-advanced-settings.php:80
871
+ msgid "Image Quality (JPEG):"
872
+ msgstr ""
873
+
874
+ #: ../views/slider-advanced-settings.php:83
875
+ msgid "Low"
876
+ msgstr ""
877
+
878
+ #: ../views/slider-advanced-settings.php:84
879
+ msgid "Medium"
880
+ msgstr ""
881
+
882
+ #: ../views/slider-advanced-settings.php:85
883
+ msgid "High"
884
+ msgstr ""
885
+
886
+ #: ../views/slider-advanced-settings.php:86
887
+ msgid "Very High"
888
+ msgstr ""
889
+
890
+ #: ../views/slider-advanced-settings.php:87
891
+ msgid "Max"
892
+ msgstr ""
893
+
894
+ #: ../views/slider-advanced-settings.php:91
895
+ msgid "The quality of the generated images. Applies to JPEG images only."
896
+ msgstr ""
897
+
898
+ #: ../views/slider-advanced-settings.php:92
899
+ msgid ""
900
+ "Low = low quality but small file size. Max = Best quality but large file "
901
+ "size."
902
+ msgstr ""
903
+
904
+ #: ../views/slider-codes.php:4
905
+ msgid "Your Shortcode:"
906
+ msgstr ""
907
+
908
+ #: ../views/slider-codes.php:6
909
+ msgid ""
910
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
911
+ msgstr ""
912
+
913
+ #: ../views/slider-codes.php:10
914
+ msgid "Your PHP Code:"
915
+ msgstr ""
916
+
917
+ #: ../views/slider-codes.php:12
918
+ msgid ""
919
+ "Copy and paste this code when you need to display the slider in template "
920
+ "files (header.php, front-page.php, etc.)."
921
+ msgstr ""
922
+
923
+ #: ../views/slider-id.php:5
924
+ msgid "Change the Slideshow ID here."
925
+ msgstr ""
926
+
927
+ #: ../views/slider-preview.php:9
928
+ msgid "Your preview will appear here."
929
+ msgstr ""
930
+
931
+ #: ../views/slider-settings.php:3
932
+ msgid "Transition Effects to Use:"
933
+ msgstr ""
934
+
935
+ #: ../views/slider-settings.php:27
936
+ msgid "Milliseconds. 0 to disable auto advance."
937
+ msgstr ""
938
+
939
+ #: ../views/slider-settings.php:31
940
+ msgid "Transition Effects Speed:"
941
+ msgstr ""
942
+
943
+ #: ../views/slider-settings.php:37
944
+ msgid "Width:"
945
+ msgstr ""
946
+
947
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
948
+ msgid "pixels."
949
+ msgstr ""
950
+
951
+ #: ../views/slider-settings.php:43
952
+ msgid "Height:"
953
+ msgstr ""
954
+
955
+ #: ../views/slider-settings.php:49
956
+ msgid "Width Management:"
957
+ msgstr ""
958
+
959
+ #: ../views/slider-settings.php:51
960
+ msgid "Responsive"
961
+ msgstr ""
962
+
963
+ #: ../views/slider-settings.php:52
964
+ msgid "Full"
965
+ msgstr ""
966
+
967
+ #: ../views/slider-settings.php:53
968
+ msgid "Fixed"
969
+ msgstr ""
970
+
971
+ #: ../views/slider-settings.php:56
972
+ msgid ""
973
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
974
+ "provided width."
975
+ msgstr ""
976
+
977
+ #: ../views/slider-settings.php:57
978
+ msgid ""
979
+ "Full - the same as responsive but maximum width will be equal to its "
980
+ "container ignoring the provided width."
981
+ msgstr ""
982
+
983
+ #: ../views/slider-settings.php:58
984
+ msgid "Fixed - width and height are not resized."
985
+ msgstr ""
986
+
987
+ #: ../views/slider-settings.php:63
988
+ msgid "Resize Images?"
989
+ msgstr ""
990
+
991
+ #: ../views/slider-settings.php:70
992
+ msgid "Force Resize"
993
+ msgstr ""
994
+
995
+ #: ../views/slider-settings.php:71
996
+ msgid ""
997
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
998
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
999
+ msgstr ""
1000
+
1001
+ #: ../views/slider-settings.php:75
1002
+ msgid "Pause on Hover?"
1003
+ msgstr ""
1004
+
1005
+ #: ../views/slider-settings.php:83
1006
+ msgid "Show Prev/Next Buttons?"
1007
+ msgstr ""
1008
+
1009
+ #: ../views/slider-settings.php:91
1010
+ msgid "Show Navigation?"
1011
+ msgstr ""
1012
+
1013
+ #: ../views/slider-settings.php:96
1014
+ msgid "The thumbnails or dots depending on template."
1015
+ msgstr ""
1016
+
1017
+ #: ../views/slider-settings.php:100
1018
+ msgid "Random Slide Order?"
1019
+ msgstr ""
1020
+
1021
+ #: ../views/slider-settings.php:105
1022
+ msgid "Randomize order of slides on every page visit."
1023
+ msgstr ""
1024
+
1025
+ #: ../views/slides.php:8
1026
+ msgid "Add Slide"
1027
+ msgstr ""
1028
+
1029
+ #: ../views/slides.php:10
1030
+ msgid "Sort"
1031
+ msgstr ""
1032
+
1033
+ #: ../views/template-selection.php:4
1034
+ msgid "Name"
1035
+ msgstr ""
1036
+
1037
+ #: ../views/template-selection.php:5
1038
+ msgid "Supported Slides"
1039
+ msgstr ""
1040
+
1041
+ #: ../views/template-selection.php:6
1042
+ msgid "Location"
1043
+ msgstr ""
1044
+
1045
+ #: ../views/template-selection.php:7
1046
+ msgid "Selected"
1047
+ msgstr ""
1048
+
1049
+ #: ../views/template-selection.php:43
1050
+ msgid "Learn More About Templates"
1051
+ msgstr ""
1052
+
1053
+ #: ../views/template-selection.php:44
1054
+ msgid "Get More Templates"
1055
+ msgstr ""
src/cyclone-slider/languages/cycloneslider-sr_RS.mo ADDED
Binary file
src/cyclone-slider/languages/cycloneslider-sr_RS.po ADDED
@@ -0,0 +1,1165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:39+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:39+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: en_US\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cyclone-slider.php:93
21
+ msgid "Cyclone Slider Settings"
22
+ msgstr "Cyclone Slider Postavke"
23
+
24
+ #: ../cyclone-slider.php:94
25
+ msgid "Settings"
26
+ msgstr "Postavke"
27
+
28
+ #: ../cyclone-slider.php:104
29
+ msgid "Cyclone Slider Export"
30
+ msgstr "Cyclone Slider izvoz."
31
+
32
+ #: ../cyclone-slider.php:105
33
+ #, fuzzy
34
+ msgid "Export/Import"
35
+ msgstr "Uvoz"
36
+
37
+ #: ../cyclone-slider.php:117
38
+ #, fuzzy
39
+ msgid "Cyclone Slider Nextgen Export"
40
+ msgstr "Cyclone Slider izvoz."
41
+
42
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
43
+ #, fuzzy
44
+ msgid "Export Nextgen"
45
+ msgstr "Izvoz"
46
+
47
+ #: ../cyclone-slider.php:130
48
+ msgid "Cyclone Slider Import"
49
+ msgstr "Cyclone Slider uvoz."
50
+
51
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
52
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
53
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
54
+ #: ../src/CycloneSlider/ImportPage.php:74
55
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
56
+ msgid "Import"
57
+ msgstr "Uvoz"
58
+
59
+ #: ../src/CycloneSlider/Admin.php:142
60
+ msgid "Cyclone Slider"
61
+ msgstr "Cyclone Slider"
62
+
63
+ #: ../src/CycloneSlider/Admin.php:143
64
+ msgid "Slideshow"
65
+ msgstr "Slideshow"
66
+
67
+ #: ../src/CycloneSlider/Admin.php:144
68
+ msgid "Add Slideshow"
69
+ msgstr "Dodaj prezentaciju"
70
+
71
+ #: ../src/CycloneSlider/Admin.php:145
72
+ msgid "Add New Slideshow"
73
+ msgstr "Dodaj novu prezentaciju"
74
+
75
+ #: ../src/CycloneSlider/Admin.php:146
76
+ msgid "Edit Slideshow"
77
+ msgstr "Uredi prezentaciju"
78
+
79
+ #: ../src/CycloneSlider/Admin.php:147
80
+ msgid "New Slideshow"
81
+ msgstr "Nova prezentacija"
82
+
83
+ #: ../src/CycloneSlider/Admin.php:148
84
+ msgid "View Slideshow"
85
+ msgstr "Pregledaj prezentaciju"
86
+
87
+ #: ../src/CycloneSlider/Admin.php:149
88
+ msgid "Search Slideshows"
89
+ msgstr "Pretraži prezentaciju"
90
+
91
+ #: ../src/CycloneSlider/Admin.php:150
92
+ msgid "No slideshows found"
93
+ msgstr "Prezentacija nije pronađena"
94
+
95
+ #: ../src/CycloneSlider/Admin.php:151
96
+ msgid "No slideshows found in Trash"
97
+ msgstr "U korpi nije pronađena nijedna prezentacija"
98
+
99
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
100
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
101
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
102
+ msgid "Slideshow updated."
103
+ msgstr "Prezentacija ažurirana"
104
+
105
+ #: ../src/CycloneSlider/Admin.php:198
106
+ msgid "Custom field updated."
107
+ msgstr "Priolagođeno polje ažurirano"
108
+
109
+ #: ../src/CycloneSlider/Admin.php:199
110
+ msgid "Custom field deleted."
111
+ msgstr "Prilagođeno polje obrisano"
112
+
113
+ #: ../src/CycloneSlider/Admin.php:202
114
+ msgid "Slideshow published."
115
+ msgstr "Prezentacija objavljena"
116
+
117
+ #: ../src/CycloneSlider/Admin.php:203
118
+ msgid "Slideshow saved."
119
+ msgstr "Prezentacija sačuvana"
120
+
121
+ #: ../src/CycloneSlider/Admin.php:242
122
+ msgid "Slides"
123
+ msgstr "Slajdovi"
124
+
125
+ #: ../src/CycloneSlider/Admin.php:251
126
+ msgid "Slider Preview"
127
+ msgstr "Pregled slajdera"
128
+
129
+ #: ../src/CycloneSlider/Admin.php:260
130
+ msgid "Get Slider Codes"
131
+ msgstr "Izlistaj kodove slajdera"
132
+
133
+ #: ../src/CycloneSlider/Admin.php:269
134
+ msgid "Basic Settings"
135
+ msgstr "Osnovne postavke"
136
+
137
+ #: ../src/CycloneSlider/Admin.php:278
138
+ msgid "Advanced Settings"
139
+ msgstr "Napredne postavke"
140
+
141
+ #: ../src/CycloneSlider/Admin.php:287
142
+ msgid "Templates"
143
+ msgstr "Šabloni"
144
+
145
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
146
+ msgid "Slideshow ID"
147
+ msgstr "ID prezentacije"
148
+
149
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
150
+ #, fuzzy, php-format
151
+ msgid "Slider \"%s\" not found."
152
+ msgstr "[Prezentacija \"%s\" nije pronađena]"
153
+
154
+ #: ../src/CycloneSlider/Admin.php:323
155
+ msgid "Slide"
156
+ msgstr "Slajd "
157
+
158
+ #: ../src/CycloneSlider/Admin.php:328
159
+ msgid "[Hidden]"
160
+ msgstr ""
161
+
162
+ #: ../src/CycloneSlider/Admin.php:467
163
+ msgid "Core"
164
+ msgstr ""
165
+
166
+ #: ../src/CycloneSlider/Admin.php:468
167
+ #, php-format
168
+ msgid ""
169
+ "You should not make changes to templates in this location. All your changes "
170
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
171
+ msgstr ""
172
+
173
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
174
+ #: ../src/CycloneSlider/Admin.php:481
175
+ #, php-format
176
+ msgid "Location: <strong>%s</strong>"
177
+ msgstr ""
178
+
179
+ #: ../src/CycloneSlider/Admin.php:473
180
+ msgid ""
181
+ "Your template is in danger of being overwritten when you upgrade your theme. "
182
+ "Please consider creating a WordPress plugin Cyclone Slider template."
183
+ msgstr ""
184
+
185
+ #: ../src/CycloneSlider/Admin.php:524
186
+ msgid "Slide *"
187
+ msgstr "Slajd *"
188
+
189
+ #: ../src/CycloneSlider/Admin.php:616
190
+ msgid "Slideshow Name"
191
+ msgstr "Naziv prezentacije"
192
+
193
+ #: ../src/CycloneSlider/Admin.php:617
194
+ msgid "Template"
195
+ msgstr "Šablon"
196
+
197
+ #: ../src/CycloneSlider/Admin.php:618
198
+ msgid "No. of Slides"
199
+ msgstr "Broj slajda"
200
+
201
+ #: ../src/CycloneSlider/Admin.php:620
202
+ msgid "Shortcode"
203
+ msgstr "Shortcode"
204
+
205
+ #: ../src/CycloneSlider/AssetLoader.php:71
206
+ msgid "Select an image"
207
+ msgstr "Odaberi sliku"
208
+
209
+ #: ../src/CycloneSlider/AssetLoader.php:72
210
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
211
+ msgstr ""
212
+
213
+ #: ../src/CycloneSlider/AssetLoader.php:73
214
+ msgid "Add to Slide"
215
+ msgstr "Dodaj slajdu"
216
+
217
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
218
+ #, fuzzy
219
+ msgid "Add Images as Slides"
220
+ msgstr "Dodaj novu prezentaciju"
221
+
222
+ #: ../src/CycloneSlider/AssetLoader.php:75
223
+ msgid "Error. Make sure its a valid YouTube URL."
224
+ msgstr "Greška: Proverite da li je YouTube URL validan."
225
+
226
+ #: ../src/CycloneSlider/Data.php:276
227
+ #, php-format
228
+ msgid "Invalid format for get_slider %s parameter."
229
+ msgstr ""
230
+
231
+ #: ../src/CycloneSlider/ExportPage.php:64
232
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
233
+ #: ../src/CycloneSlider/ImportPage.php:69
234
+ msgid "Export"
235
+ msgstr "Izvoz"
236
+
237
+ #: ../src/CycloneSlider/ExportPage.php:77
238
+ #: ../src/CycloneSlider/ImportPage.php:63
239
+ msgid ""
240
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
241
+ msgstr ""
242
+
243
+ #: ../src/CycloneSlider/ExportPage.php:113
244
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
245
+ msgid "Your export file is ready. Click Download."
246
+ msgstr "Vaša datoteka za izvoz je spremna."
247
+
248
+ #: ../src/CycloneSlider/ExportPage.php:118
249
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
250
+ msgid "Error creating exports directory."
251
+ msgstr ""
252
+
253
+ #: ../src/CycloneSlider/ExportPage.php:167
254
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
255
+ #, fuzzy
256
+ msgid "No slider selected."
257
+ msgstr "Nije pronađen slajder"
258
+
259
+ #: ../src/CycloneSlider/ExportPage.php:172
260
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
261
+ msgid "Please choose a file name."
262
+ msgstr ""
263
+
264
+ #: ../src/CycloneSlider/Exporter.php:52
265
+ #, fuzzy
266
+ msgid "Error no sliders selected."
267
+ msgstr "Nije pronađen slajder"
268
+
269
+ #: ../src/CycloneSlider/Exporter.php:73
270
+ msgid "Error encoding data to JSON."
271
+ msgstr ""
272
+
273
+ #: ../src/CycloneSlider/Exporter.php:79
274
+ #, php-format
275
+ msgid "Success generating zip %s."
276
+ msgstr ""
277
+
278
+ #: ../src/CycloneSlider/Exporter.php:109
279
+ #, php-format
280
+ msgid "Exporting data for slider \"%s\"."
281
+ msgstr ""
282
+
283
+ #: ../src/CycloneSlider/Exporter.php:138
284
+ #, php-format
285
+ msgid ""
286
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
287
+ msgstr ""
288
+
289
+ #: ../src/CycloneSlider/Exporter.php:182
290
+ #, fuzzy
291
+ msgid "ZipArchive not supported."
292
+ msgstr "Vrsta slajda nije podržana."
293
+
294
+ #: ../src/CycloneSlider/Exporter.php:188
295
+ #, php-format
296
+ msgid "Error opening zip file %s. Code: %s"
297
+ msgstr ""
298
+
299
+ #: ../src/CycloneSlider/Exporter.php:197
300
+ #, php-format
301
+ msgid "Error adding file %s to zip."
302
+ msgstr ""
303
+
304
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
305
+ #, php-format
306
+ msgid "File %s added to zip."
307
+ msgstr ""
308
+
309
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
310
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
311
+ msgid "NextGEN Integration"
312
+ msgstr "NextGEN Integracija"
313
+
314
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
315
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
316
+ msgid "Choose a NextGEN Gallery"
317
+ msgstr "Izaberi NextGEN galeriju"
318
+
319
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
320
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
321
+ msgid ""
322
+ "Select a gallery to import images from. Images will be added as new slides."
323
+ msgstr ""
324
+ "Odaberi galeriju za uvoz slika. Slike će biti dodate kao novi slajdovi."
325
+
326
+ #: ../src/CycloneSlider/Frontend.php:81
327
+ #, php-format
328
+ msgid "[Slideshow \"%s\" not found]"
329
+ msgstr "[Prezentacija \"%s\" nije pronađena]"
330
+
331
+ #: ../src/CycloneSlider/Frontend.php:97
332
+ #, php-format
333
+ msgid "[Template \"%s\" not found]"
334
+ msgstr "[Šablon \"%s\" nije pronađen]"
335
+
336
+ #: ../src/CycloneSlider/ImportPage.php:116
337
+ msgid "Import operation success!"
338
+ msgstr "Operacija uvoza uspela."
339
+
340
+ #: ../src/CycloneSlider/Importer.php:35
341
+ msgid "Could not read zip files. ZipArchive not supported."
342
+ msgstr ""
343
+
344
+ #: ../src/CycloneSlider/Importer.php:40
345
+ #, fuzzy
346
+ msgid "No zip file found."
347
+ msgstr "Nije pronađen slajder"
348
+
349
+ #: ../src/CycloneSlider/Importer.php:46
350
+ msgid "Error creating imports directory."
351
+ msgstr ""
352
+
353
+ #: ../src/CycloneSlider/Importer.php:53
354
+ msgid "Error moving uploaded zip."
355
+ msgstr ""
356
+
357
+ #: ../src/CycloneSlider/Importer.php:60
358
+ #, php-format
359
+ msgid "Error opening zip: %s"
360
+ msgstr ""
361
+
362
+ #: ../src/CycloneSlider/Importer.php:73
363
+ #, php-format
364
+ msgid "Security error. Invalid %s file."
365
+ msgstr ""
366
+
367
+ #: ../src/CycloneSlider/Importer.php:80
368
+ #, php-format
369
+ msgid "Security error. File %s is not an image."
370
+ msgstr ""
371
+
372
+ #: ../src/CycloneSlider/Importer.php:86
373
+ #, php-format
374
+ msgid "Security error. Missing %s file."
375
+ msgstr ""
376
+
377
+ #: ../src/CycloneSlider/Importer.php:92
378
+ msgid "Error extracting zip."
379
+ msgstr ""
380
+
381
+ #: ../src/CycloneSlider/Importer.php:99
382
+ msgid "Failed to read export JSON."
383
+ msgstr ""
384
+
385
+ #: ../src/CycloneSlider/Importer.php:104
386
+ msgid "Failed to decode JSON."
387
+ msgstr ""
388
+
389
+ #: ../src/CycloneSlider/Importer.php:175
390
+ #, php-format
391
+ msgid "scandir failed on %s"
392
+ msgstr ""
393
+
394
+ #: ../src/CycloneSlider/Importer.php:191
395
+ #, fuzzy, php-format
396
+ msgid "Source image %s not found."
397
+ msgstr "[Šablon \"%s\" nije pronađen]"
398
+
399
+ #: ../src/CycloneSlider/Importer.php:195
400
+ msgid "Copy error."
401
+ msgstr ""
402
+
403
+ #: ../src/CycloneSlider/SettingsPage.php:51
404
+ msgid "Default options restored."
405
+ msgstr "Standardne opcije ponovo uspostavljene."
406
+
407
+ #: ../src/CycloneSlider/WidgetSlider.php:13
408
+ msgid "Cyclone Slider Widget"
409
+ msgstr "Cyclone Slider Widget"
410
+
411
+ #: ../src/CycloneSlider/WidgetSlider.php:14
412
+ msgid "Widget for displaying sliders."
413
+ msgstr "Widget za prikazivanje slajdera"
414
+
415
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
416
+ msgid "Title:"
417
+ msgstr "Naslov:"
418
+
419
+ #: ../src/CycloneSlider/WidgetSlider.php:79
420
+ msgid "Select a Slider:"
421
+ msgstr "Odaberite slajder"
422
+
423
+ #: ../src/CycloneSlider/WidgetSlider.php:94
424
+ msgid "No sliders found."
425
+ msgstr "Nije pronađen slajder"
426
+
427
+ #: ../templates/dark/slider.php:40
428
+ msgid "View Larger Image"
429
+ msgstr "Pogledaj veću sliku."
430
+
431
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
432
+ msgid "Learn More"
433
+ msgstr "Nauči više"
434
+
435
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
436
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
437
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
438
+ msgid "Slide type not supported."
439
+ msgstr "Vrsta slajda nije podržana."
440
+
441
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
442
+ #: ../views/export-nextgen-step-3.php:8
443
+ #, fuzzy
444
+ msgid "Cyclone Slider Nextgen Exporter"
445
+ msgstr "Cyclone Slider izvoz."
446
+
447
+ #: ../views/export-nextgen-step-1.php:18
448
+ #, fuzzy
449
+ msgid "Choose a NextGEN Gallery:"
450
+ msgstr "Izaberi NextGEN galeriju"
451
+
452
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
453
+ msgid "Select All"
454
+ msgstr "Selektuj sve"
455
+
456
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
457
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
458
+ #, fuzzy
459
+ msgid "File Name:"
460
+ msgstr "Naziv"
461
+
462
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
463
+ msgid "No slider to export."
464
+ msgstr "Nema slajdera za izvoz"
465
+
466
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
467
+ msgid "Clear"
468
+ msgstr ""
469
+
470
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
471
+ msgid "Next"
472
+ msgstr "Sledeći"
473
+
474
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
475
+ #, fuzzy
476
+ msgid "Selected slider(s):"
477
+ msgstr "Odaberi slajdere:"
478
+
479
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
480
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
481
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
482
+ #: ../views/import-step-3.php:15
483
+ msgid "Back"
484
+ msgstr "Nazad"
485
+
486
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
487
+ msgid "Generate Export File"
488
+ msgstr ""
489
+
490
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
491
+ msgid "Download"
492
+ msgstr "Preuzmi"
493
+
494
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
495
+ #: ../views/export-step-3.php:8
496
+ #, fuzzy
497
+ msgid "Cyclone Slider Exporter"
498
+ msgstr "Cyclone Slider izvoz."
499
+
500
+ #: ../views/export-step-1.php:18
501
+ msgid "Select sliders:"
502
+ msgstr "Odaberi slajdere:"
503
+
504
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
505
+ #, fuzzy
506
+ msgid "Cyclone Slider Importer"
507
+ msgstr "Cyclone Slider uvoz."
508
+
509
+ #: ../views/import-step-1.php:17
510
+ msgid "Import Zip File:"
511
+ msgstr "Uvezi zip datoteku."
512
+
513
+ #: ../views/import-step-1.php:24
514
+ msgid "Upload"
515
+ msgstr ""
516
+
517
+ #: ../views/settings-page.php:7
518
+ #, fuzzy
519
+ msgid ""
520
+ "Play with these settings if Cyclone Slider is not working or if you want to "
521
+ "optimize it."
522
+ msgstr ""
523
+ "Pusti sa ovim postavkama ako Cyclone Slider 2 ne radi ili ako hoćete da ga "
524
+ "poboljšate."
525
+
526
+ #: ../views/settings-page.php:16
527
+ msgid "Load scripts in:"
528
+ msgstr "Učitaj skripte"
529
+
530
+ #: ../views/settings-page.php:19
531
+ msgid "Header"
532
+ msgstr "Zaglavlje"
533
+
534
+ #: ../views/settings-page.php:20
535
+ msgid "Footer"
536
+ msgstr "Podnožje"
537
+
538
+ #: ../views/settings-page.php:25
539
+ msgid "Load these scripts:"
540
+ msgstr "Učitaj sledeće skripte"
541
+
542
+ #: ../views/settings-page.php:30
543
+ msgid "Cycle 2. This is the core script needed by the plugin."
544
+ msgstr "Cycle 2. Ovo je osnovna skripta potrebna za plugin."
545
+
546
+ #: ../views/settings-page.php:35
547
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
548
+ msgstr "Cycle 2 - Carousel. Koriste ga sledeći šabloni: Galleria, Lea, Dos."
549
+
550
+ #: ../views/settings-page.php:40
551
+ msgid "Cycle 2 - Swipe. For touch swipe events."
552
+ msgstr "Cycle 2 - Swipe. Za touch swipe događaje."
553
+
554
+ #: ../views/settings-page.php:45
555
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
556
+ msgstr "Cycle 2 - Tile. Upotrebljava se za tranzicione efekte pločica. "
557
+
558
+ #: ../views/settings-page.php:50
559
+ msgid "Cycle 2 - Video. Used by YouTube template."
560
+ msgstr "Cycle 2 - Video. Koristi ga YouTube šablon."
561
+
562
+ #: ../views/settings-page.php:55
563
+ msgid "Magnific Popup - Enable lightbox option."
564
+ msgstr "Magnific Popup - štiklirajte lightbox opciju."
565
+
566
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
567
+ #: ../views/slider-advanced-settings.php:2
568
+ msgid "Available in pro version."
569
+ msgstr "Raspoloživ u pro verziji."
570
+
571
+ #: ../views/settings-page.php:60
572
+ msgid "Easing - Enable easing options."
573
+ msgstr "Ublažavanje - aktivirajte opciju za ublažavanje."
574
+
575
+ #: ../views/settings-page.php:65
576
+ msgid "Scripts loading priority:"
577
+ msgstr "Prioritet učitavanja skripta:"
578
+
579
+ #: ../views/settings-page.php:68
580
+ msgid "Make this value bigger to load scripts last."
581
+ msgstr "Ako želite da se skripte sporije učitavaju, povećajte ovu vrednost."
582
+
583
+ #: ../views/settings-page.php:72
584
+ msgid "Load these templates:"
585
+ msgstr "Učitaj sledeće šablone."
586
+
587
+ #: ../views/settings-page.php:85
588
+ msgid "Save Options"
589
+ msgstr "Sačuvaj opcije"
590
+
591
+ #: ../views/settings-page.php:86
592
+ msgid "Restore Defaults"
593
+ msgstr "Vrati na podrazumevane vrednosti"
594
+
595
+ #: ../views/slide-edit-image.php:5
596
+ msgid "Thumbnail"
597
+ msgstr ""
598
+
599
+ #: ../views/slide-edit-image.php:9
600
+ msgid "Get Image"
601
+ msgstr "Uzmi sliku"
602
+
603
+ #: ../views/slide-edit-image.php:10
604
+ #, fuzzy
605
+ msgid "View Image"
606
+ msgstr "Pogledaj veću sliku."
607
+
608
+ #: ../views/slide-edit-image.php:14
609
+ msgid "Caption"
610
+ msgstr "Naslov"
611
+
612
+ #: ../views/slide-edit-image.php:21
613
+ msgid "Description:"
614
+ msgstr "Opsi"
615
+
616
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
617
+ msgid "Link"
618
+ msgstr "Link"
619
+
620
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
621
+ msgid "Link URL:"
622
+ msgstr "Link URL:"
623
+
624
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
625
+ msgid "Open Link in:"
626
+ msgstr "Otvori link u"
627
+
628
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
629
+ msgid "Same Window"
630
+ msgstr "Istom prozoru"
631
+
632
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
633
+ msgid "New Tab or Window"
634
+ msgstr "Novoj kartici ili novom prozoru"
635
+
636
+ #: ../views/slide-edit-image.php:43
637
+ msgid "Image Attributes"
638
+ msgstr "Atributi slike"
639
+
640
+ #: ../views/slide-edit-image.php:46
641
+ msgid "Alternate Text:"
642
+ msgstr "Alternativni tekst"
643
+
644
+ #: ../views/slide-edit-image.php:50
645
+ msgid "Title Text:"
646
+ msgstr "Tekst titla"
647
+
648
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
649
+ msgid "Image"
650
+ msgstr "Slika "
651
+
652
+ #: ../views/slide-edit.php:12
653
+ msgid "YouTube"
654
+ msgstr "YouTube"
655
+
656
+ #: ../views/slide-edit.php:13
657
+ msgid "Vimeo"
658
+ msgstr "Vimeo"
659
+
660
+ #: ../views/slide-edit.php:14
661
+ #, fuzzy
662
+ msgid "Custom"
663
+ msgstr "prilagođeni HTML"
664
+
665
+ #: ../views/slide-edit.php:15
666
+ msgid "Testimonial"
667
+ msgstr ""
668
+
669
+ #: ../views/slide-edit.php:24
670
+ msgid "Toggle"
671
+ msgstr ""
672
+
673
+ #: ../views/slide-edit.php:27
674
+ msgid "Delete"
675
+ msgstr "Obriši"
676
+
677
+ #: ../views/slide-edit.php:56
678
+ msgid "YouTube URL:"
679
+ msgstr "YouTube URL:"
680
+
681
+ #: ../views/slide-edit.php:58
682
+ msgid "Copy and paste a valid YouTube URL here."
683
+ msgstr "Ovde kopirajte i nalepite validan YouTube URL: "
684
+
685
+ #: ../views/slide-edit.php:63
686
+ msgid "Do not show suggested videos when the video finishes."
687
+ msgstr ""
688
+
689
+ #: ../views/slide-edit.php:68
690
+ msgid "Vimeo URL:"
691
+ msgstr "Vimeo URL:"
692
+
693
+ #: ../views/slide-edit.php:70
694
+ msgid "Copy and paste a valid Vimeo URL here."
695
+ msgstr "Ovde kopirajte i nalepite validan Vimeo URL:"
696
+
697
+ #: ../views/slide-edit.php:75
698
+ msgid "Custom HTML"
699
+ msgstr "prilagođeni HTML"
700
+
701
+ #: ../views/slide-edit.php:83
702
+ msgid "Quote"
703
+ msgstr ""
704
+
705
+ #: ../views/slide-edit.php:89
706
+ msgid "Author"
707
+ msgstr ""
708
+
709
+ #: ../views/slide-edit.php:92
710
+ #, fuzzy
711
+ msgid "Name:"
712
+ msgstr "Naziv"
713
+
714
+ #: ../views/slide-settings.php:3
715
+ #, fuzzy
716
+ msgid "Slide Properties"
717
+ msgstr "Osobine slajda"
718
+
719
+ #: ../views/slide-settings.php:6
720
+ msgid "Hidden:"
721
+ msgstr ""
722
+
723
+ #: ../views/slide-settings.php:15
724
+ msgid "Transition Effects:"
725
+ msgstr "Tranzicioni efekti"
726
+
727
+ #: ../views/slide-settings.php:17
728
+ #, fuzzy
729
+ msgid "Default"
730
+ msgstr "Vrati na podrazumevane vrednosti"
731
+
732
+ #: ../views/slide-settings.php:26
733
+ #, fuzzy
734
+ msgid "Effects Speed:"
735
+ msgstr "Brzina tranzicionih efekata"
736
+
737
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
738
+ #: ../views/slider-settings.php:33
739
+ msgid "Milliseconds"
740
+ msgstr "Milisekunde"
741
+
742
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
743
+ msgid "Next Slide Delay:"
744
+ msgstr "Odlaganje sledećeg slajda"
745
+
746
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
747
+ msgid "Tile Count:"
748
+ msgstr "Broj pločica"
749
+
750
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
751
+ msgid "The number of tiles to use in the transition."
752
+ msgstr "Broj pločica u tranziciji"
753
+
754
+ #: ../views/slide-settings.php:49
755
+ msgid "Tile Delay:"
756
+ msgstr "Odlaganje"
757
+
758
+ #: ../views/slide-settings.php:51
759
+ msgid "Milliseconds to delay each individual tile transition."
760
+ msgstr "Milisekunde za odlaganje tranzicije svake pojedine pločice."
761
+
762
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
763
+ msgid "Tile Position:"
764
+ msgstr "Pozicija pločice:"
765
+
766
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
767
+ msgid "Vertical"
768
+ msgstr "Vertikalna"
769
+
770
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
771
+ msgid "Horizontal"
772
+ msgstr "Horizontalna"
773
+
774
+ #: ../views/slider-advanced-settings.php:4
775
+ msgid "Allow Wrap?"
776
+ msgstr "Dozvoliti prelom?"
777
+
778
+ #: ../views/slider-advanced-settings.php:6
779
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
780
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
781
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
782
+ msgid "Yes"
783
+ msgstr "Da"
784
+
785
+ #: ../views/slider-advanced-settings.php:7
786
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
787
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
788
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
789
+ msgid "No"
790
+ msgstr "Ne"
791
+
792
+ #: ../views/slider-advanced-settings.php:10
793
+ msgid ""
794
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
795
+ msgstr ""
796
+ "Određuje da li se slajder prelama na početni slajd ako je dostigao krajnji "
797
+ "slajd. "
798
+
799
+ #: ../views/slider-advanced-settings.php:15
800
+ msgid "Dynamic Height:"
801
+ msgstr "Dinamička visina"
802
+
803
+ #: ../views/slider-advanced-settings.php:17
804
+ msgid "Off"
805
+ msgstr "Isključena"
806
+
807
+ #: ../views/slider-advanced-settings.php:18
808
+ msgid "On"
809
+ msgstr "Uključena"
810
+
811
+ #: ../views/slider-advanced-settings.php:21
812
+ msgid "Adjust slider height depending on current slide."
813
+ msgstr "Podesi visini slajdera prema trenutnom slajdu."
814
+
815
+ #: ../views/slider-advanced-settings.php:26
816
+ msgid "Delay:"
817
+ msgstr "Odloži:"
818
+
819
+ #: ../views/slider-advanced-settings.php:28
820
+ msgid ""
821
+ "Milliseconds to add or substract from the time before the first transition "
822
+ "occurs."
823
+ msgstr "Milisekunde koje treba dodati ili oduzeti pre prve tranzicije."
824
+
825
+ #: ../views/slider-advanced-settings.php:32
826
+ msgid "Easing:"
827
+ msgstr "Easing:"
828
+
829
+ #: ../views/slider-advanced-settings.php:38
830
+ msgid "Easing for transition animations."
831
+ msgstr "Easing za tranziciju animacija "
832
+
833
+ #: ../views/slider-advanced-settings.php:42
834
+ msgid "Swipe:"
835
+ msgstr "Prevlačenje"
836
+
837
+ #: ../views/slider-advanced-settings.php:48
838
+ msgid "Enable swipe gesture support for touch devices."
839
+ msgstr "Aktiviraj podršku za prevlačenje prstom za uređajem koji imaju touch."
840
+
841
+ #: ../views/slider-advanced-settings.php:53
842
+ msgid "Resize Options:"
843
+ msgstr "Opcije promene veličine"
844
+
845
+ #: ../views/slider-advanced-settings.php:61
846
+ msgid ""
847
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
848
+ msgstr ""
849
+
850
+ #: ../views/slider-advanced-settings.php:62
851
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
852
+ msgstr ""
853
+
854
+ #: ../views/slider-advanced-settings.php:63
855
+ msgid "Crop - Excess parts of images are removed."
856
+ msgstr ""
857
+
858
+ #: ../views/slider-advanced-settings.php:64
859
+ #, fuzzy
860
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
861
+ msgstr "Exact - menja veličinu na osnovu određenih dimenzija."
862
+
863
+ #: ../views/slider-advanced-settings.php:65
864
+ #, fuzzy
865
+ msgid "Exact Width - Resize to exact width."
866
+ msgstr "Landscape - Menja širinu na osnovu određene dimenzije."
867
+
868
+ #: ../views/slider-advanced-settings.php:66
869
+ #, fuzzy
870
+ msgid "Exact Height - Resize to exact height."
871
+ msgstr "Portrait - Menja visinu na osnovu određene dimenzije."
872
+
873
+ #: ../views/slider-advanced-settings.php:67
874
+ msgid ""
875
+ "Note: Please clear your browser cache if you are not seeing the changes."
876
+ msgstr ""
877
+
878
+ #: ../views/slider-advanced-settings.php:69
879
+ msgid "Auto - Cyclone Slider decides the resize option."
880
+ msgstr ""
881
+ "Auto - Cyclone Slider odlučuje da li će aktivirati opciju promene veličine."
882
+
883
+ #: ../views/slider-advanced-settings.php:70
884
+ msgid "Crop - Resize and remove excess parts."
885
+ msgstr "Crop - Menja veličinu i uklanja delove koji je prevazilaze."
886
+
887
+ #: ../views/slider-advanced-settings.php:71
888
+ msgid "Exact - Resize to exact dimensions."
889
+ msgstr "Exact - menja veličinu na osnovu određenih dimenzija."
890
+
891
+ #: ../views/slider-advanced-settings.php:72
892
+ msgid "Landscape - Resize to exact width."
893
+ msgstr "Landscape - Menja širinu na osnovu određene dimenzije."
894
+
895
+ #: ../views/slider-advanced-settings.php:73
896
+ msgid "Portrait - Resize to exact height."
897
+ msgstr "Portrait - Menja visinu na osnovu određene dimenzije."
898
+
899
+ #: ../views/slider-advanced-settings.php:80
900
+ msgid "Image Quality (JPEG):"
901
+ msgstr ""
902
+
903
+ #: ../views/slider-advanced-settings.php:83
904
+ msgid "Low"
905
+ msgstr ""
906
+
907
+ #: ../views/slider-advanced-settings.php:84
908
+ msgid "Medium"
909
+ msgstr ""
910
+
911
+ #: ../views/slider-advanced-settings.php:85
912
+ msgid "High"
913
+ msgstr ""
914
+
915
+ #: ../views/slider-advanced-settings.php:86
916
+ msgid "Very High"
917
+ msgstr ""
918
+
919
+ #: ../views/slider-advanced-settings.php:87
920
+ msgid "Max"
921
+ msgstr ""
922
+
923
+ #: ../views/slider-advanced-settings.php:91
924
+ msgid "The quality of the generated images. Applies to JPEG images only."
925
+ msgstr ""
926
+
927
+ #: ../views/slider-advanced-settings.php:92
928
+ msgid ""
929
+ "Low = low quality but small file size. Max = Best quality but large file "
930
+ "size."
931
+ msgstr ""
932
+
933
+ #: ../views/slider-codes.php:4
934
+ msgid "Your Shortcode:"
935
+ msgstr "Vaš Shortcode:"
936
+
937
+ #: ../views/slider-codes.php:6
938
+ msgid ""
939
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
940
+ msgstr ""
941
+ "Kopirajte i nalepite ovaj shortcode u svoj post, na stranicu ili urednik "
942
+ "prilagođenog posta."
943
+
944
+ #: ../views/slider-codes.php:10
945
+ msgid "Your PHP Code:"
946
+ msgstr "Vaš PHP kod"
947
+
948
+ #: ../views/slider-codes.php:12
949
+ msgid ""
950
+ "Copy and paste this code when you need to display the slider in template "
951
+ "files (header.php, front-page.php, etc.)."
952
+ msgstr ""
953
+ "Kopirajte i nalepite ovaj kod kad treba da prikažete slajder u datotekama "
954
+ "šablona (header.php, front-page.php itd.)"
955
+
956
+ #: ../views/slider-id.php:5
957
+ msgid "Change the Slideshow ID here."
958
+ msgstr "Ovde promenite ID za Slideshow."
959
+
960
+ #: ../views/slider-preview.php:9
961
+ msgid "Your preview will appear here."
962
+ msgstr "Vaš pregled prikazaće se ovde."
963
+
964
+ #: ../views/slider-settings.php:3
965
+ msgid "Transition Effects to Use:"
966
+ msgstr "Efekti prelaza."
967
+
968
+ #: ../views/slider-settings.php:27
969
+ msgid "Milliseconds. 0 to disable auto advance."
970
+ msgstr "Milisekunde. 0 da biste deaktivirali automatsko pokretanje."
971
+
972
+ #: ../views/slider-settings.php:31
973
+ msgid "Transition Effects Speed:"
974
+ msgstr "Brzina tranzicionih efekata"
975
+
976
+ #: ../views/slider-settings.php:37
977
+ msgid "Width:"
978
+ msgstr "Širina"
979
+
980
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
981
+ msgid "pixels."
982
+ msgstr "pikseli:"
983
+
984
+ #: ../views/slider-settings.php:43
985
+ msgid "Height:"
986
+ msgstr "Visina:"
987
+
988
+ #: ../views/slider-settings.php:49
989
+ msgid "Width Management:"
990
+ msgstr "Upravljanje širinom:"
991
+
992
+ #: ../views/slider-settings.php:51
993
+ msgid "Responsive"
994
+ msgstr "Povratni"
995
+
996
+ #: ../views/slider-settings.php:52
997
+ msgid "Full"
998
+ msgstr "Pun"
999
+
1000
+ #: ../views/slider-settings.php:53
1001
+ msgid "Fixed"
1002
+ msgstr "Fiksni"
1003
+
1004
+ #: ../views/slider-settings.php:56
1005
+ msgid ""
1006
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
1007
+ "provided width."
1008
+ msgstr ""
1009
+ "Povratni - smanjuje veličinu, ali maksimalna širina biće jednaka širini koju "
1010
+ "ste uneli."
1011
+
1012
+ #: ../views/slider-settings.php:57
1013
+ msgid ""
1014
+ "Full - the same as responsive but maximum width will be equal to its "
1015
+ "container ignoring the provided width."
1016
+ msgstr ""
1017
+ "Pun - isto kao i povratni, ali maksimalna širina biće jednaka kontejneru bez "
1018
+ "obzira na širinu koju ste uneli."
1019
+
1020
+ #: ../views/slider-settings.php:58
1021
+ msgid "Fixed - width and height are not resized."
1022
+ msgstr "Fiksna - širina i visina neće se menjati."
1023
+
1024
+ #: ../views/slider-settings.php:63
1025
+ msgid "Resize Images?"
1026
+ msgstr "Promeniti veličine slika? "
1027
+
1028
+ #: ../views/slider-settings.php:70
1029
+ msgid "Force Resize"
1030
+ msgstr "Prinudna promena veličine"
1031
+
1032
+ #: ../views/slider-settings.php:71
1033
+ #, fuzzy
1034
+ msgid ""
1035
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
1036
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
1037
+ msgstr ""
1038
+ "Da - prilagodite veličine slika dimenzijama slideshow-a. <br>No - koristite "
1039
+ "originalnu učitanu sliku."
1040
+
1041
+ #: ../views/slider-settings.php:75
1042
+ msgid "Pause on Hover?"
1043
+ msgstr "Pauzirati? "
1044
+
1045
+ #: ../views/slider-settings.php:83
1046
+ msgid "Show Prev/Next Buttons?"
1047
+ msgstr "Prikaži prethodni/sledeći taster?"
1048
+
1049
+ #: ../views/slider-settings.php:91
1050
+ msgid "Show Navigation?"
1051
+ msgstr "Prikazati navigaciju?"
1052
+
1053
+ #: ../views/slider-settings.php:96
1054
+ msgid "The thumbnails or dots depending on template."
1055
+ msgstr "Sličice ili tačkice zavise od vašeg šablona."
1056
+
1057
+ #: ../views/slider-settings.php:100
1058
+ msgid "Random Slide Order?"
1059
+ msgstr "Nasumično prikazivanje slajdova?"
1060
+
1061
+ #: ../views/slider-settings.php:105
1062
+ msgid "Randomize order of slides on every page visit."
1063
+ msgstr "Neka redosled slajdova na svakoj posećenoj strani bude nasumičan."
1064
+
1065
+ #: ../views/slides.php:8
1066
+ msgid "Add Slide"
1067
+ msgstr "Dodaj slajd"
1068
+
1069
+ #: ../views/slides.php:10
1070
+ msgid "Sort"
1071
+ msgstr ""
1072
+
1073
+ #: ../views/template-selection.php:4
1074
+ msgid "Name"
1075
+ msgstr "Naziv"
1076
+
1077
+ #: ../views/template-selection.php:5
1078
+ msgid "Supported Slides"
1079
+ msgstr "Podržani slajdovi"
1080
+
1081
+ #: ../views/template-selection.php:6
1082
+ #, fuzzy
1083
+ msgid "Location"
1084
+ msgstr "Naslov"
1085
+
1086
+ #: ../views/template-selection.php:7
1087
+ msgid "Selected"
1088
+ msgstr "Odabrani"
1089
+
1090
+ #: ../views/template-selection.php:43
1091
+ msgid "Learn More About Templates"
1092
+ msgstr ""
1093
+
1094
+ #: ../views/template-selection.php:44
1095
+ #, fuzzy
1096
+ msgid "Get More Templates"
1097
+ msgstr "Šabloni"
1098
+
1099
+ #~ msgid "Slide Transition Effects"
1100
+ #~ msgstr "Efekti tranzicije slajdova"
1101
+
1102
+ #~ msgid "Disable"
1103
+ #~ msgstr "Deaktiviraj"
1104
+
1105
+ #~ msgid "Enable Slide Effects"
1106
+ #~ msgstr "Aktiviraj efekte slajda"
1107
+
1108
+ #~ msgid ""
1109
+ #~ "Templates CSS could not be saved. Make sure %stemplates.css is writable."
1110
+ #~ msgstr ""
1111
+ #~ "CSS šabloni ne mogu se sačuvati. Proverite da li su %s obrasci "
1112
+ #~ "raspoloživi za css pisanje."
1113
+
1114
+ #~ msgid ""
1115
+ #~ "Templates JS could not be saved. Make sure %stemplates.js is writable."
1116
+ #~ msgstr ""
1117
+ #~ "JS šabloni ne mogu se sačuvati. Proverite da li su %s obrasci raspoloživi "
1118
+ #~ "za js pisanje."
1119
+
1120
+ #~ msgid "Video (Old Version)"
1121
+ #~ msgstr "Video (stara verzija)"
1122
+
1123
+ #~ msgid ""
1124
+ #~ "This video slide is problematic. Please consider using YouTube, Vimeo or "
1125
+ #~ "Custom slide type for videos. This slide will be removed in the future "
1126
+ #~ "and will be replaced with a better one."
1127
+ #~ msgstr ""
1128
+ #~ "Ovaj video slajd je problematičan. Razmislite o tome da koristite "
1129
+ #~ "YouTube, Vimeo ili prilagođeni slajd za video. Ovaj slajd biće uklonjen i "
1130
+ #~ "zamenjen boljim. "
1131
+
1132
+ #~ msgid "Video URL:"
1133
+ #~ msgstr "Video URL:"
1134
+
1135
+ #~ msgid "Copy and paste a Youtube or Vimeo URL and hit the Get Video button."
1136
+ #~ msgstr ""
1137
+ #~ "Kopirajte i nalepite Youtube ili Vimeo URL i kliknite na taster: Uzmi "
1138
+ #~ "Video "
1139
+
1140
+ #~ msgid "Get Video"
1141
+ #~ msgstr "Uzmi video"
1142
+
1143
+ #~ msgid "Embed Code"
1144
+ #~ msgstr "Ugrađen kod"
1145
+
1146
+ #~ msgid ""
1147
+ #~ "You can place your embed code directly here. Or you can use the Get Video "
1148
+ #~ "button to generate the embed code."
1149
+ #~ msgstr ""
1150
+ #~ "Možete svoj ugrađeni kod smestiti direktno ovde. Ili možete koristiti "
1151
+ #~ "taster: Uzmi video da biste generisali ugrađeni kod."
1152
+
1153
+ #~ msgid ""
1154
+ #~ "<strong>Note:</strong> The Slide Properties and Tile effects are not "
1155
+ #~ "supported for videos."
1156
+ #~ msgstr ""
1157
+ #~ "<strong>Note:</strong> Osobine slajda i efekti pločica nisu podržani za "
1158
+ #~ "video zapise."
1159
+
1160
+ #~ msgid ""
1161
+ #~ "<strong>Note:</strong> Append &wmode=transparent to the embed code src "
1162
+ #~ "attribute to make HTML elements appear on top of Flash."
1163
+ #~ msgstr ""
1164
+ #~ "<strong>Note:</strong> Append &wmode= transparentan za ugrađeni kod src "
1165
+ #~ "atributa za prikazivanje HTML elemenata na vrhu Flash-a."
src/cyclone-slider/languages/cycloneslider.pot ADDED
@@ -0,0 +1,1054 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Cyclone Slider\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-04-08 19:34+0800\n"
6
+ "PO-Revision-Date: 2017-04-08 19:34+0800\n"
7
+ "Last-Translator: Kosinix <kosinix@codefleet.net>\n"
8
+ "Language-Team: kosinix <kosinix@codefleet.net>\n"
9
+ "Language: en_US\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e;_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.6.11\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cyclone-slider.php:93
21
+ msgid "Cyclone Slider Settings"
22
+ msgstr ""
23
+
24
+ #: ../cyclone-slider.php:94
25
+ msgid "Settings"
26
+ msgstr ""
27
+
28
+ #: ../cyclone-slider.php:104
29
+ msgid "Cyclone Slider Export"
30
+ msgstr ""
31
+
32
+ #: ../cyclone-slider.php:105
33
+ msgid "Export/Import"
34
+ msgstr ""
35
+
36
+ #: ../cyclone-slider.php:117
37
+ msgid "Cyclone Slider Nextgen Export"
38
+ msgstr ""
39
+
40
+ #: ../cyclone-slider.php:118 ../src/CycloneSlider/ExportPageNextgen.php:72
41
+ msgid "Export Nextgen"
42
+ msgstr ""
43
+
44
+ #: ../cyclone-slider.php:130
45
+ msgid "Cyclone Slider Import"
46
+ msgstr ""
47
+
48
+ #: ../cyclone-slider.php:131 ../src/CycloneSlider/ExportPage.php:69
49
+ #: ../src/CycloneSlider/ExportPageNextgen.php:67
50
+ #: ../src/CycloneSlider/ExporterNextgen.php:65
51
+ #: ../src/CycloneSlider/ImportPage.php:74
52
+ #: ../src/CycloneSlider/NextgenIntegration.php:65
53
+ msgid "Import"
54
+ msgstr ""
55
+
56
+ #: ../src/CycloneSlider/Admin.php:142
57
+ msgid "Cyclone Slider"
58
+ msgstr ""
59
+
60
+ #: ../src/CycloneSlider/Admin.php:143
61
+ msgid "Slideshow"
62
+ msgstr ""
63
+
64
+ #: ../src/CycloneSlider/Admin.php:144
65
+ msgid "Add Slideshow"
66
+ msgstr ""
67
+
68
+ #: ../src/CycloneSlider/Admin.php:145
69
+ msgid "Add New Slideshow"
70
+ msgstr ""
71
+
72
+ #: ../src/CycloneSlider/Admin.php:146
73
+ msgid "Edit Slideshow"
74
+ msgstr ""
75
+
76
+ #: ../src/CycloneSlider/Admin.php:147
77
+ msgid "New Slideshow"
78
+ msgstr ""
79
+
80
+ #: ../src/CycloneSlider/Admin.php:148
81
+ msgid "View Slideshow"
82
+ msgstr ""
83
+
84
+ #: ../src/CycloneSlider/Admin.php:149
85
+ msgid "Search Slideshows"
86
+ msgstr ""
87
+
88
+ #: ../src/CycloneSlider/Admin.php:150
89
+ msgid "No slideshows found"
90
+ msgstr ""
91
+
92
+ #: ../src/CycloneSlider/Admin.php:151
93
+ msgid "No slideshows found in Trash"
94
+ msgstr ""
95
+
96
+ #: ../src/CycloneSlider/Admin.php:197 ../src/CycloneSlider/Admin.php:200
97
+ #: ../src/CycloneSlider/Admin.php:201 ../src/CycloneSlider/Admin.php:204
98
+ #: ../src/CycloneSlider/Admin.php:205 ../src/CycloneSlider/Admin.php:206
99
+ msgid "Slideshow updated."
100
+ msgstr ""
101
+
102
+ #: ../src/CycloneSlider/Admin.php:198
103
+ msgid "Custom field updated."
104
+ msgstr ""
105
+
106
+ #: ../src/CycloneSlider/Admin.php:199
107
+ msgid "Custom field deleted."
108
+ msgstr ""
109
+
110
+ #: ../src/CycloneSlider/Admin.php:202
111
+ msgid "Slideshow published."
112
+ msgstr ""
113
+
114
+ #: ../src/CycloneSlider/Admin.php:203
115
+ msgid "Slideshow saved."
116
+ msgstr ""
117
+
118
+ #: ../src/CycloneSlider/Admin.php:242
119
+ msgid "Slides"
120
+ msgstr ""
121
+
122
+ #: ../src/CycloneSlider/Admin.php:251
123
+ msgid "Slider Preview"
124
+ msgstr ""
125
+
126
+ #: ../src/CycloneSlider/Admin.php:260
127
+ msgid "Get Slider Codes"
128
+ msgstr ""
129
+
130
+ #: ../src/CycloneSlider/Admin.php:269
131
+ msgid "Basic Settings"
132
+ msgstr ""
133
+
134
+ #: ../src/CycloneSlider/Admin.php:278
135
+ msgid "Advanced Settings"
136
+ msgstr ""
137
+
138
+ #: ../src/CycloneSlider/Admin.php:287
139
+ msgid "Templates"
140
+ msgstr ""
141
+
142
+ #: ../src/CycloneSlider/Admin.php:296 ../src/CycloneSlider/Admin.php:619
143
+ msgid "Slideshow ID"
144
+ msgstr ""
145
+
146
+ #: ../src/CycloneSlider/Admin.php:316 ../src/CycloneSlider/Exporter.php:111
147
+ #, php-format
148
+ msgid "Slider \"%s\" not found."
149
+ msgstr ""
150
+
151
+ #: ../src/CycloneSlider/Admin.php:323
152
+ msgid "Slide"
153
+ msgstr ""
154
+
155
+ #: ../src/CycloneSlider/Admin.php:328
156
+ msgid "[Hidden]"
157
+ msgstr ""
158
+
159
+ #: ../src/CycloneSlider/Admin.php:467
160
+ msgid "Core"
161
+ msgstr ""
162
+
163
+ #: ../src/CycloneSlider/Admin.php:468
164
+ #, php-format
165
+ msgid ""
166
+ "You should not make changes to templates in this location. All your changes "
167
+ "will be gone when the plugin is updated. <br />Location: <strong>%s</strong>"
168
+ msgstr ""
169
+
170
+ #: ../src/CycloneSlider/Admin.php:472 ../src/CycloneSlider/Admin.php:477
171
+ #: ../src/CycloneSlider/Admin.php:481
172
+ #, php-format
173
+ msgid "Location: <strong>%s</strong>"
174
+ msgstr ""
175
+
176
+ #: ../src/CycloneSlider/Admin.php:473
177
+ msgid ""
178
+ "Your template is in danger of being overwritten when you upgrade your theme. "
179
+ "Please consider creating a WordPress plugin Cyclone Slider template."
180
+ msgstr ""
181
+
182
+ #: ../src/CycloneSlider/Admin.php:524
183
+ msgid "Slide *"
184
+ msgstr ""
185
+
186
+ #: ../src/CycloneSlider/Admin.php:616
187
+ msgid "Slideshow Name"
188
+ msgstr ""
189
+
190
+ #: ../src/CycloneSlider/Admin.php:617
191
+ msgid "Template"
192
+ msgstr ""
193
+
194
+ #: ../src/CycloneSlider/Admin.php:618
195
+ msgid "No. of Slides"
196
+ msgstr ""
197
+
198
+ #: ../src/CycloneSlider/Admin.php:620
199
+ msgid "Shortcode"
200
+ msgstr ""
201
+
202
+ #: ../src/CycloneSlider/AssetLoader.php:71
203
+ msgid "Select an image"
204
+ msgstr ""
205
+
206
+ #: ../src/CycloneSlider/AssetLoader.php:72
207
+ msgid "Select Images - Use Ctrl + Click or Shift + Click"
208
+ msgstr ""
209
+
210
+ #: ../src/CycloneSlider/AssetLoader.php:73
211
+ msgid "Add to Slide"
212
+ msgstr ""
213
+
214
+ #: ../src/CycloneSlider/AssetLoader.php:74 ../views/slides.php:9
215
+ msgid "Add Images as Slides"
216
+ msgstr ""
217
+
218
+ #: ../src/CycloneSlider/AssetLoader.php:75
219
+ msgid "Error. Make sure its a valid YouTube URL."
220
+ msgstr ""
221
+
222
+ #: ../src/CycloneSlider/Data.php:276
223
+ #, php-format
224
+ msgid "Invalid format for get_slider %s parameter."
225
+ msgstr ""
226
+
227
+ #: ../src/CycloneSlider/ExportPage.php:64
228
+ #: ../src/CycloneSlider/ExportPageNextgen.php:62
229
+ #: ../src/CycloneSlider/ImportPage.php:69
230
+ msgid "Export"
231
+ msgstr ""
232
+
233
+ #: ../src/CycloneSlider/ExportPage.php:77
234
+ #: ../src/CycloneSlider/ImportPage.php:63
235
+ msgid ""
236
+ "ZipArchive not supported. ZipArchive is needed for Import and Export to work."
237
+ msgstr ""
238
+
239
+ #: ../src/CycloneSlider/ExportPage.php:113
240
+ #: ../src/CycloneSlider/ExportPageNextgen.php:118
241
+ msgid "Your export file is ready. Click Download."
242
+ msgstr ""
243
+
244
+ #: ../src/CycloneSlider/ExportPage.php:118
245
+ #: ../src/CycloneSlider/ExportPageNextgen.php:123
246
+ msgid "Error creating exports directory."
247
+ msgstr ""
248
+
249
+ #: ../src/CycloneSlider/ExportPage.php:167
250
+ #: ../src/CycloneSlider/ExportPageNextgen.php:172
251
+ msgid "No slider selected."
252
+ msgstr ""
253
+
254
+ #: ../src/CycloneSlider/ExportPage.php:172
255
+ #: ../src/CycloneSlider/ExportPageNextgen.php:177
256
+ msgid "Please choose a file name."
257
+ msgstr ""
258
+
259
+ #: ../src/CycloneSlider/Exporter.php:52
260
+ msgid "Error no sliders selected."
261
+ msgstr ""
262
+
263
+ #: ../src/CycloneSlider/Exporter.php:73
264
+ msgid "Error encoding data to JSON."
265
+ msgstr ""
266
+
267
+ #: ../src/CycloneSlider/Exporter.php:79
268
+ #, php-format
269
+ msgid "Success generating zip %s."
270
+ msgstr ""
271
+
272
+ #: ../src/CycloneSlider/Exporter.php:109
273
+ #, php-format
274
+ msgid "Exporting data for slider \"%s\"."
275
+ msgstr ""
276
+
277
+ #: ../src/CycloneSlider/Exporter.php:138
278
+ #, php-format
279
+ msgid ""
280
+ "Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s."
281
+ msgstr ""
282
+
283
+ #: ../src/CycloneSlider/Exporter.php:182
284
+ msgid "ZipArchive not supported."
285
+ msgstr ""
286
+
287
+ #: ../src/CycloneSlider/Exporter.php:188
288
+ #, php-format
289
+ msgid "Error opening zip file %s. Code: %s"
290
+ msgstr ""
291
+
292
+ #: ../src/CycloneSlider/Exporter.php:197
293
+ #, php-format
294
+ msgid "Error adding file %s to zip."
295
+ msgstr ""
296
+
297
+ #: ../src/CycloneSlider/Exporter.php:199 ../src/CycloneSlider/Exporter.php:207
298
+ #, php-format
299
+ msgid "File %s added to zip."
300
+ msgstr ""
301
+
302
+ #: ../src/CycloneSlider/ExporterNextgen.php:39
303
+ #: ../src/CycloneSlider/NextgenIntegration.php:39
304
+ msgid "NextGEN Integration"
305
+ msgstr ""
306
+
307
+ #: ../src/CycloneSlider/ExporterNextgen.php:55
308
+ #: ../src/CycloneSlider/NextgenIntegration.php:55
309
+ msgid "Choose a NextGEN Gallery"
310
+ msgstr ""
311
+
312
+ #: ../src/CycloneSlider/ExporterNextgen.php:67
313
+ #: ../src/CycloneSlider/NextgenIntegration.php:67
314
+ msgid ""
315
+ "Select a gallery to import images from. Images will be added as new slides."
316
+ msgstr ""
317
+
318
+ #: ../src/CycloneSlider/Frontend.php:81
319
+ #, php-format
320
+ msgid "[Slideshow \"%s\" not found]"
321
+ msgstr ""
322
+
323
+ #: ../src/CycloneSlider/Frontend.php:97
324
+ #, php-format
325
+ msgid "[Template \"%s\" not found]"
326
+ msgstr ""
327
+
328
+ #: ../src/CycloneSlider/ImportPage.php:116
329
+ msgid "Import operation success!"
330
+ msgstr ""
331
+
332
+ #: ../src/CycloneSlider/Importer.php:35
333
+ msgid "Could not read zip files. ZipArchive not supported."
334
+ msgstr ""
335
+
336
+ #: ../src/CycloneSlider/Importer.php:40
337
+ msgid "No zip file found."
338
+ msgstr ""
339
+
340
+ #: ../src/CycloneSlider/Importer.php:46
341
+ msgid "Error creating imports directory."
342
+ msgstr ""
343
+
344
+ #: ../src/CycloneSlider/Importer.php:53
345
+ msgid "Error moving uploaded zip."
346
+ msgstr ""
347
+
348
+ #: ../src/CycloneSlider/Importer.php:60
349
+ #, php-format
350
+ msgid "Error opening zip: %s"
351
+ msgstr ""
352
+
353
+ #: ../src/CycloneSlider/Importer.php:73
354
+ #, php-format
355
+ msgid "Security error. Invalid %s file."
356
+ msgstr ""
357
+
358
+ #: ../src/CycloneSlider/Importer.php:80
359
+ #, php-format
360
+ msgid "Security error. File %s is not an image."
361
+ msgstr ""
362
+
363
+ #: ../src/CycloneSlider/Importer.php:86
364
+ #, php-format
365
+ msgid "Security error. Missing %s file."
366
+ msgstr ""
367
+
368
+ #: ../src/CycloneSlider/Importer.php:92
369
+ msgid "Error extracting zip."
370
+ msgstr ""
371
+
372
+ #: ../src/CycloneSlider/Importer.php:99
373
+ msgid "Failed to read export JSON."
374
+ msgstr ""
375
+
376
+ #: ../src/CycloneSlider/Importer.php:104
377
+ msgid "Failed to decode JSON."
378
+ msgstr ""
379
+
380
+ #: ../src/CycloneSlider/Importer.php:175
381
+ #, php-format
382
+ msgid "scandir failed on %s"
383
+ msgstr ""
384
+
385
+ #: ../src/CycloneSlider/Importer.php:191
386
+ #, php-format
387
+ msgid "Source image %s not found."
388
+ msgstr ""
389
+
390
+ #: ../src/CycloneSlider/Importer.php:195
391
+ msgid "Copy error."
392
+ msgstr ""
393
+
394
+ #: ../src/CycloneSlider/SettingsPage.php:51
395
+ msgid "Default options restored."
396
+ msgstr ""
397
+
398
+ #: ../src/CycloneSlider/WidgetSlider.php:13
399
+ msgid "Cyclone Slider Widget"
400
+ msgstr ""
401
+
402
+ #: ../src/CycloneSlider/WidgetSlider.php:14
403
+ msgid "Widget for displaying sliders."
404
+ msgstr ""
405
+
406
+ #: ../src/CycloneSlider/WidgetSlider.php:65 ../views/slide-edit-image.php:17
407
+ msgid "Title:"
408
+ msgstr ""
409
+
410
+ #: ../src/CycloneSlider/WidgetSlider.php:79
411
+ msgid "Select a Slider:"
412
+ msgstr ""
413
+
414
+ #: ../src/CycloneSlider/WidgetSlider.php:94
415
+ msgid "No sliders found."
416
+ msgstr ""
417
+
418
+ #: ../templates/dark/slider.php:40
419
+ msgid "View Larger Image"
420
+ msgstr ""
421
+
422
+ #: ../templates/dark/slider.php:43 ../templates/dark/slider.php:45
423
+ msgid "Learn More"
424
+ msgstr ""
425
+
426
+ #: ../templates/dark/slider.php:61 ../templates/default/slider.php:62
427
+ #: ../templates/default/slider.php:66 ../templates/default/slider.php:70
428
+ #: ../templates/standard/slider.php:67 ../templates/thumbnails/slider.php:70
429
+ msgid "Slide type not supported."
430
+ msgstr ""
431
+
432
+ #: ../views/export-nextgen-step-1.php:8 ../views/export-nextgen-step-2.php:8
433
+ #: ../views/export-nextgen-step-3.php:8
434
+ msgid "Cyclone Slider Nextgen Exporter"
435
+ msgstr ""
436
+
437
+ #: ../views/export-nextgen-step-1.php:18
438
+ msgid "Choose a NextGEN Gallery:"
439
+ msgstr ""
440
+
441
+ #: ../views/export-nextgen-step-1.php:22 ../views/export-step-1.php:22
442
+ msgid "Select All"
443
+ msgstr ""
444
+
445
+ #: ../views/export-nextgen-step-1.php:34 ../views/export-nextgen-step-2.php:28
446
+ #: ../views/export-step-1.php:34 ../views/export-step-2.php:28
447
+ msgid "File Name:"
448
+ msgstr ""
449
+
450
+ #: ../views/export-nextgen-step-1.php:41 ../views/export-step-1.php:41
451
+ msgid "No slider to export."
452
+ msgstr ""
453
+
454
+ #: ../views/export-nextgen-step-1.php:44 ../views/export-step-1.php:44
455
+ msgid "Clear"
456
+ msgstr ""
457
+
458
+ #: ../views/export-nextgen-step-1.php:45 ../views/export-step-1.php:45
459
+ msgid "Next"
460
+ msgstr ""
461
+
462
+ #: ../views/export-nextgen-step-2.php:17 ../views/export-step-2.php:17
463
+ msgid "Selected slider(s):"
464
+ msgstr ""
465
+
466
+ #: ../views/export-nextgen-step-2.php:35 ../views/export-nextgen-step-3.php:21
467
+ #: ../views/export-nextgen-step-3.php:26 ../views/export-step-2.php:35
468
+ #: ../views/export-step-3.php:21 ../views/export-step-3.php:26
469
+ #: ../views/import-step-3.php:15
470
+ msgid "Back"
471
+ msgstr ""
472
+
473
+ #: ../views/export-nextgen-step-2.php:36 ../views/export-step-2.php:36
474
+ msgid "Generate Export File"
475
+ msgstr ""
476
+
477
+ #: ../views/export-nextgen-step-3.php:22 ../views/export-step-3.php:22
478
+ msgid "Download"
479
+ msgstr ""
480
+
481
+ #: ../views/export-step-1.php:8 ../views/export-step-2.php:8
482
+ #: ../views/export-step-3.php:8
483
+ msgid "Cyclone Slider Exporter"
484
+ msgstr ""
485
+
486
+ #: ../views/export-step-1.php:18
487
+ msgid "Select sliders:"
488
+ msgstr ""
489
+
490
+ #: ../views/import-step-1.php:8 ../views/import-step-3.php:8
491
+ msgid "Cyclone Slider Importer"
492
+ msgstr ""
493
+
494
+ #: ../views/import-step-1.php:17
495
+ msgid "Import Zip File:"
496
+ msgstr ""
497
+
498
+ #: ../views/import-step-1.php:24
499
+ msgid "Upload"
500
+ msgstr ""
501
+
502
+ #: ../views/settings-page.php:7
503
+ msgid ""
504
+ "Play with these settings if Cyclone Slider is not working or if you want to "
505
+ "optimize it."
506
+ msgstr ""
507
+
508
+ #: ../views/settings-page.php:16
509
+ msgid "Load scripts in:"
510
+ msgstr ""
511
+
512
+ #: ../views/settings-page.php:19
513
+ msgid "Header"
514
+ msgstr ""
515
+
516
+ #: ../views/settings-page.php:20
517
+ msgid "Footer"
518
+ msgstr ""
519
+
520
+ #: ../views/settings-page.php:25
521
+ msgid "Load these scripts:"
522
+ msgstr ""
523
+
524
+ #: ../views/settings-page.php:30
525
+ msgid "Cycle 2. This is the core script needed by the plugin."
526
+ msgstr ""
527
+
528
+ #: ../views/settings-page.php:35
529
+ msgid "Cycle 2 - Carousel. Used by these templates: Galleria, Lea, Dos."
530
+ msgstr ""
531
+
532
+ #: ../views/settings-page.php:40
533
+ msgid "Cycle 2 - Swipe. For touch swipe events."
534
+ msgstr ""
535
+
536
+ #: ../views/settings-page.php:45
537
+ msgid "Cycle 2 - Tile. Used for tile transition effects."
538
+ msgstr ""
539
+
540
+ #: ../views/settings-page.php:50
541
+ msgid "Cycle 2 - Video. Used by YouTube template."
542
+ msgstr ""
543
+
544
+ #: ../views/settings-page.php:55
545
+ msgid "Magnific Popup - Enable lightbox option."
546
+ msgstr ""
547
+
548
+ #: ../views/settings-page.php:55 ../views/settings-page.php:60
549
+ #: ../views/slider-advanced-settings.php:2
550
+ msgid "Available in pro version."
551
+ msgstr ""
552
+
553
+ #: ../views/settings-page.php:60
554
+ msgid "Easing - Enable easing options."
555
+ msgstr ""
556
+
557
+ #: ../views/settings-page.php:65
558
+ msgid "Scripts loading priority:"
559
+ msgstr ""
560
+
561
+ #: ../views/settings-page.php:68
562
+ msgid "Make this value bigger to load scripts last."
563
+ msgstr ""
564
+
565
+ #: ../views/settings-page.php:72
566
+ msgid "Load these templates:"
567
+ msgstr ""
568
+
569
+ #: ../views/settings-page.php:85
570
+ msgid "Save Options"
571
+ msgstr ""
572
+
573
+ #: ../views/settings-page.php:86
574
+ msgid "Restore Defaults"
575
+ msgstr ""
576
+
577
+ #: ../views/slide-edit-image.php:5
578
+ msgid "Thumbnail"
579
+ msgstr ""
580
+
581
+ #: ../views/slide-edit-image.php:9
582
+ msgid "Get Image"
583
+ msgstr ""
584
+
585
+ #: ../views/slide-edit-image.php:10
586
+ msgid "View Image"
587
+ msgstr ""
588
+
589
+ #: ../views/slide-edit-image.php:14
590
+ msgid "Caption"
591
+ msgstr ""
592
+
593
+ #: ../views/slide-edit-image.php:21
594
+ msgid "Description:"
595
+ msgstr ""
596
+
597
+ #: ../views/slide-edit-image.php:27 ../views/slide-edit.php:98
598
+ msgid "Link"
599
+ msgstr ""
600
+
601
+ #: ../views/slide-edit-image.php:30 ../views/slide-edit.php:101
602
+ msgid "Link URL:"
603
+ msgstr ""
604
+
605
+ #: ../views/slide-edit-image.php:34 ../views/slide-edit.php:105
606
+ msgid "Open Link in:"
607
+ msgstr ""
608
+
609
+ #: ../views/slide-edit-image.php:36 ../views/slide-edit.php:107
610
+ msgid "Same Window"
611
+ msgstr ""
612
+
613
+ #: ../views/slide-edit-image.php:37 ../views/slide-edit.php:108
614
+ msgid "New Tab or Window"
615
+ msgstr ""
616
+
617
+ #: ../views/slide-edit-image.php:43
618
+ msgid "Image Attributes"
619
+ msgstr ""
620
+
621
+ #: ../views/slide-edit-image.php:46
622
+ msgid "Alternate Text:"
623
+ msgstr ""
624
+
625
+ #: ../views/slide-edit-image.php:50
626
+ msgid "Title Text:"
627
+ msgstr ""
628
+
629
+ #: ../views/slide-edit.php:8 ../views/slide-edit.php:11
630
+ msgid "Image"
631
+ msgstr ""
632
+
633
+ #: ../views/slide-edit.php:12
634
+ msgid "YouTube"
635
+ msgstr ""
636
+
637
+ #: ../views/slide-edit.php:13
638
+ msgid "Vimeo"
639
+ msgstr ""
640
+
641
+ #: ../views/slide-edit.php:14
642
+ msgid "Custom"
643
+ msgstr ""
644
+
645
+ #: ../views/slide-edit.php:15
646
+ msgid "Testimonial"
647
+ msgstr ""
648
+
649
+ #: ../views/slide-edit.php:24
650
+ msgid "Toggle"
651
+ msgstr ""
652
+
653
+ #: ../views/slide-edit.php:27
654
+ msgid "Delete"
655
+ msgstr ""
656
+
657
+ #: ../views/slide-edit.php:56
658
+ msgid "YouTube URL:"
659
+ msgstr ""
660
+
661
+ #: ../views/slide-edit.php:58
662
+ msgid "Copy and paste a valid YouTube URL here."
663
+ msgstr ""
664
+
665
+ #: ../views/slide-edit.php:63
666
+ msgid "Do not show suggested videos when the video finishes."
667
+ msgstr ""
668
+
669
+ #: ../views/slide-edit.php:68
670
+ msgid "Vimeo URL:"
671
+ msgstr ""
672
+
673
+ #: ../views/slide-edit.php:70
674
+ msgid "Copy and paste a valid Vimeo URL here."
675
+ msgstr ""
676
+
677
+ #: ../views/slide-edit.php:75
678
+ msgid "Custom HTML"
679
+ msgstr ""
680
+
681
+ #: ../views/slide-edit.php:83
682
+ msgid "Quote"
683
+ msgstr ""
684
+
685
+ #: ../views/slide-edit.php:89
686
+ msgid "Author"
687
+ msgstr ""
688
+
689
+ #: ../views/slide-edit.php:92
690
+ msgid "Name:"
691
+ msgstr ""
692
+
693
+ #: ../views/slide-settings.php:3
694
+ msgid "Slide Properties"
695
+ msgstr ""
696
+
697
+ #: ../views/slide-settings.php:6
698
+ msgid "Hidden:"
699
+ msgstr ""
700
+
701
+ #: ../views/slide-settings.php:15
702
+ msgid "Transition Effects:"
703
+ msgstr ""
704
+
705
+ #: ../views/slide-settings.php:17
706
+ msgid "Default"
707
+ msgstr ""
708
+
709
+ #: ../views/slide-settings.php:26
710
+ msgid "Effects Speed:"
711
+ msgstr ""
712
+
713
+ #: ../views/slide-settings.php:28 ../views/slide-settings.php:35
714
+ #: ../views/slider-settings.php:33
715
+ msgid "Milliseconds"
716
+ msgstr ""
717
+
718
+ #: ../views/slide-settings.php:33 ../views/slider-settings.php:25
719
+ msgid "Next Slide Delay:"
720
+ msgstr ""
721
+
722
+ #: ../views/slide-settings.php:43 ../views/slider-settings.php:12
723
+ msgid "Tile Count:"
724
+ msgstr ""
725
+
726
+ #: ../views/slide-settings.php:45 ../views/slider-settings.php:14
727
+ msgid "The number of tiles to use in the transition."
728
+ msgstr ""
729
+
730
+ #: ../views/slide-settings.php:49
731
+ msgid "Tile Delay:"
732
+ msgstr ""
733
+
734
+ #: ../views/slide-settings.php:51
735
+ msgid "Milliseconds to delay each individual tile transition."
736
+ msgstr ""
737
+
738
+ #: ../views/slide-settings.php:55 ../views/slider-settings.php:17
739
+ msgid "Tile Position:"
740
+ msgstr ""
741
+
742
+ #: ../views/slide-settings.php:57 ../views/slider-settings.php:19
743
+ msgid "Vertical"
744
+ msgstr ""
745
+
746
+ #: ../views/slide-settings.php:58 ../views/slider-settings.php:20
747
+ msgid "Horizontal"
748
+ msgstr ""
749
+
750
+ #: ../views/slider-advanced-settings.php:4
751
+ msgid "Allow Wrap?"
752
+ msgstr ""
753
+
754
+ #: ../views/slider-advanced-settings.php:6
755
+ #: ../views/slider-advanced-settings.php:44 ../views/slider-settings.php:66
756
+ #: ../views/slider-settings.php:77 ../views/slider-settings.php:85
757
+ #: ../views/slider-settings.php:93 ../views/slider-settings.php:103
758
+ msgid "Yes"
759
+ msgstr ""
760
+
761
+ #: ../views/slider-advanced-settings.php:7
762
+ #: ../views/slider-advanced-settings.php:45 ../views/slider-settings.php:65
763
+ #: ../views/slider-settings.php:78 ../views/slider-settings.php:86
764
+ #: ../views/slider-settings.php:94 ../views/slider-settings.php:102
765
+ msgid "No"
766
+ msgstr ""
767
+
768
+ #: ../views/slider-advanced-settings.php:10
769
+ msgid ""
770
+ "Determines if slider wraps to beginning slide if it reaches the end slide."
771
+ msgstr ""
772
+
773
+ #: ../views/slider-advanced-settings.php:15
774
+ msgid "Dynamic Height:"
775
+ msgstr ""
776
+
777
+ #: ../views/slider-advanced-settings.php:17
778
+ msgid "Off"
779
+ msgstr ""
780
+
781
+ #: ../views/slider-advanced-settings.php:18
782
+ msgid "On"
783
+ msgstr ""
784
+
785
+ #: ../views/slider-advanced-settings.php:21
786
+ msgid "Adjust slider height depending on current slide."
787
+ msgstr ""
788
+
789
+ #: ../views/slider-advanced-settings.php:26
790
+ msgid "Delay:"
791
+ msgstr ""
792
+
793
+ #: ../views/slider-advanced-settings.php:28
794
+ msgid ""
795
+ "Milliseconds to add or substract from the time before the first transition "
796
+ "occurs."
797
+ msgstr ""
798
+
799
+ #: ../views/slider-advanced-settings.php:32
800
+ msgid "Easing:"
801
+ msgstr ""
802
+
803
+ #: ../views/slider-advanced-settings.php:38
804
+ msgid "Easing for transition animations."
805
+ msgstr ""
806
+
807
+ #: ../views/slider-advanced-settings.php:42
808
+ msgid "Swipe:"
809
+ msgstr ""
810
+
811
+ #: ../views/slider-advanced-settings.php:48
812
+ msgid "Enable swipe gesture support for touch devices."
813
+ msgstr ""
814
+
815
+ #: ../views/slider-advanced-settings.php:53
816
+ msgid "Resize Options:"
817
+ msgstr ""
818
+
819
+ #: ../views/slider-advanced-settings.php:61
820
+ msgid ""
821
+ "Fit - (Default) Fit images inside the slideshow maintaining aspect ratio."
822
+ msgstr ""
823
+
824
+ #: ../views/slider-advanced-settings.php:62
825
+ msgid "Fill - Images will fill the entire slideshow with no empty space."
826
+ msgstr ""
827
+
828
+ #: ../views/slider-advanced-settings.php:63
829
+ msgid "Crop - Excess parts of images are removed."
830
+ msgstr ""
831
+
832
+ #: ../views/slider-advanced-settings.php:64
833
+ msgid "Exact - Resize images to exact dimensions ignoring aspect ratio."
834
+ msgstr ""
835
+
836
+ #: ../views/slider-advanced-settings.php:65
837
+ msgid "Exact Width - Resize to exact width."
838
+ msgstr ""
839
+
840
+ #: ../views/slider-advanced-settings.php:66
841
+ msgid "Exact Height - Resize to exact height."
842
+ msgstr ""
843
+
844
+ #: ../views/slider-advanced-settings.php:67
845
+ msgid ""
846
+ "Note: Please clear your browser cache if you are not seeing the changes."
847
+ msgstr ""
848
+
849
+ #: ../views/slider-advanced-settings.php:69
850
+ msgid "Auto - Cyclone Slider decides the resize option."
851
+ msgstr ""
852
+
853
+ #: ../views/slider-advanced-settings.php:70
854
+ msgid "Crop - Resize and remove excess parts."
855
+ msgstr ""
856
+
857
+ #: ../views/slider-advanced-settings.php:71
858
+ msgid "Exact - Resize to exact dimensions."
859
+ msgstr ""
860
+
861
+ #: ../views/slider-advanced-settings.php:72
862
+ msgid "Landscape - Resize to exact width."
863
+ msgstr ""
864
+
865
+ #: ../views/slider-advanced-settings.php:73
866
+ msgid "Portrait - Resize to exact height."
867
+ msgstr ""
868
+
869
+ #: ../views/slider-advanced-settings.php:80
870
+ msgid "Image Quality (JPEG):"
871
+ msgstr ""
872
+
873
+ #: ../views/slider-advanced-settings.php:83
874
+ msgid "Low"
875
+ msgstr ""
876
+
877
+ #: ../views/slider-advanced-settings.php:84
878
+ msgid "Medium"
879
+ msgstr ""
880
+
881
+ #: ../views/slider-advanced-settings.php:85
882
+ msgid "High"
883
+ msgstr ""
884
+
885
+ #: ../views/slider-advanced-settings.php:86
886
+ msgid "Very High"
887
+ msgstr ""
888
+
889
+ #: ../views/slider-advanced-settings.php:87
890
+ msgid "Max"
891
+ msgstr ""
892
+
893
+ #: ../views/slider-advanced-settings.php:91
894
+ msgid "The quality of the generated images. Applies to JPEG images only."
895
+ msgstr ""
896
+
897
+ #: ../views/slider-advanced-settings.php:92
898
+ msgid ""
899
+ "Low = low quality but small file size. Max = Best quality but large file "
900
+ "size."
901
+ msgstr ""
902
+
903
+ #: ../views/slider-codes.php:4
904
+ msgid "Your Shortcode:"
905
+ msgstr ""
906
+
907
+ #: ../views/slider-codes.php:6
908
+ msgid ""
909
+ "Copy and paste this shortcode into your Post, Page or Custom Post editor."
910
+ msgstr ""
911
+
912
+ #: ../views/slider-codes.php:10
913
+ msgid "Your PHP Code:"
914
+ msgstr ""
915
+
916
+ #: ../views/slider-codes.php:12
917
+ msgid ""
918
+ "Copy and paste this code when you need to display the slider in template "
919
+ "files (header.php, front-page.php, etc.)."
920
+ msgstr ""
921
+
922
+ #: ../views/slider-id.php:5
923
+ msgid "Change the Slideshow ID here."
924
+ msgstr ""
925
+
926
+ #: ../views/slider-preview.php:9
927
+ msgid "Your preview will appear here."
928
+ msgstr ""
929
+
930
+ #: ../views/slider-settings.php:3
931
+ msgid "Transition Effects to Use:"
932
+ msgstr ""
933
+
934
+ #: ../views/slider-settings.php:27
935
+ msgid "Milliseconds. 0 to disable auto advance."
936
+ msgstr ""
937
+
938
+ #: ../views/slider-settings.php:31
939
+ msgid "Transition Effects Speed:"
940
+ msgstr ""
941
+
942
+ #: ../views/slider-settings.php:37
943
+ msgid "Width:"
944
+ msgstr ""
945
+
946
+ #: ../views/slider-settings.php:39 ../views/slider-settings.php:45
947
+ msgid "pixels."
948
+ msgstr ""
949
+
950
+ #: ../views/slider-settings.php:43
951
+ msgid "Height:"
952
+ msgstr ""
953
+
954
+ #: ../views/slider-settings.php:49
955
+ msgid "Width Management:"
956
+ msgstr ""
957
+
958
+ #: ../views/slider-settings.php:51
959
+ msgid "Responsive"
960
+ msgstr ""
961
+
962
+ #: ../views/slider-settings.php:52
963
+ msgid "Full"
964
+ msgstr ""
965
+
966
+ #: ../views/slider-settings.php:53
967
+ msgid "Fixed"
968
+ msgstr ""
969
+
970
+ #: ../views/slider-settings.php:56
971
+ msgid ""
972
+ "Responsive - resizes to smaller size but maximum width will be equal to the "
973
+ "provided width."
974
+ msgstr ""
975
+
976
+ #: ../views/slider-settings.php:57
977
+ msgid ""
978
+ "Full - the same as responsive but maximum width will be equal to its "
979
+ "container ignoring the provided width."
980
+ msgstr ""
981
+
982
+ #: ../views/slider-settings.php:58
983
+ msgid "Fixed - width and height are not resized."
984
+ msgstr ""
985
+
986
+ #: ../views/slider-settings.php:63
987
+ msgid "Resize Images?"
988
+ msgstr ""
989
+
990
+ #: ../views/slider-settings.php:70
991
+ msgid "Force Resize"
992
+ msgstr ""
993
+
994
+ #: ../views/slider-settings.php:71
995
+ msgid ""
996
+ "Yes - resize images to slideshow dimension. <br>No - use the original "
997
+ "uploaded image. <br>Force Resize - Regenerate all images and thumbnails."
998
+ msgstr ""
999
+
1000
+ #: ../views/slider-settings.php:75
1001
+ msgid "Pause on Hover?"
1002
+ msgstr ""
1003
+
1004
+ #: ../views/slider-settings.php:83
1005
+ msgid "Show Prev/Next Buttons?"
1006
+ msgstr ""
1007
+
1008
+ #: ../views/slider-settings.php:91
1009
+ msgid "Show Navigation?"
1010
+ msgstr ""
1011
+
1012
+ #: ../views/slider-settings.php:96
1013
+ msgid "The thumbnails or dots depending on template."
1014
+ msgstr ""
1015
+
1016
+ #: ../views/slider-settings.php:100
1017
+ msgid "Random Slide Order?"
1018
+ msgstr ""
1019
+
1020
+ #: ../views/slider-settings.php:105
1021
+ msgid "Randomize order of slides on every page visit."
1022
+ msgstr ""
1023
+
1024
+ #: ../views/slides.php:8
1025
+ msgid "Add Slide"
1026
+ msgstr ""
1027
+
1028
+ #: ../views/slides.php:10
1029
+ msgid "Sort"
1030
+ msgstr ""
1031
+
1032
+ #: ../views/template-selection.php:4
1033
+ msgid "Name"
1034
+ msgstr ""
1035
+
1036
+ #: ../views/template-selection.php:5
1037
+ msgid "Supported Slides"
1038
+ msgstr ""
1039
+
1040
+ #: ../views/template-selection.php:6
1041
+ msgid "Location"
1042
+ msgstr ""
1043
+
1044
+ #: ../views/template-selection.php:7
1045
+ msgid "Selected"
1046
+ msgstr ""
1047
+
1048
+ #: ../views/template-selection.php:43
1049
+ msgid "Learn More About Templates"
1050
+ msgstr ""
1051
+
1052
+ #: ../views/template-selection.php:44
1053
+ msgid "Get More Templates"
1054
+ msgstr ""
src/cyclone-slider/libs/cycle2/jquery.cycle2.carousel.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2
+ !function(a){"use strict";a(document).on("cycle-bootstrap",function(a,b,c){"carousel"===b.fx&&(c.getSlideIndex=function(a){var b=this.opts()._carouselWrap.children(),c=b.index(a);return c%b.length},c.next=function(){var a=b.reverse?-1:1;b.allowWrap===!1&&b.currSlide+a>b.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;c<b.startingSlide;c++)b.container.append(b.slides[0])},postInit:function(b){var c,d,e,f,g=b.carouselVertical;b.carouselVisible&&b.carouselVisible>b.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a('<div class="cycle-carousel-wrap"></div>').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c<b.slideCount;c++)f.append(b.slides[c].cloneNode(!0));for(c=b.slideCount;c--;)f.prepend(b.slides[c].cloneNode(!0))}f.find(".cycle-slide-active").removeClass("cycle-slide-active"),b.slides.eq(b.startingSlide).addClass("cycle-slide-active")}b.pager&&b.allowWrap===!1&&(e=b.slideCount-h,a(b.pager).children().filter(":gt("+e+")").hide()),b._nextBoundry=b.slideCount-b.carouselVisible,this.prepareDimensions(b)},prepareDimensions:function(b){var c,d,e,f,g=b.carouselVertical,h=b.carouselVisible||b.slides.length;if(b.carouselFluid&&b.carouselVisible?b._carouselResizeThrottle||this.fluidSlides(b):b.carouselVisible&&b.carouselSlideDimension?(c=h*b.carouselSlideDimension,b.container[g?"height":"width"](c)):b.carouselVisible&&(c=h*a(b.slides[0])[g?"outerHeight":"outerWidth"](!0),b.container[g?"height":"width"](c)),d=b.carouselOffset||0,b.allowWrap!==!1)if(b.carouselSlideDimension)d-=(b.slideCount+b.currSlide)*b.carouselSlideDimension;else for(e=b._carouselWrap.children(),f=0;f<b.slideCount+b.currSlide;f++)d-=a(e[f])[g?"outerHeight":"outerWidth"](!0);b._carouselWrap.css(g?"top":"left",d)},fluidSlides:function(b){function c(){clearTimeout(e),e=setTimeout(d,20)}function d(){b._carouselWrap.stop(!1,!0);var a=b.container.width()/b.carouselVisible;a=Math.ceil(a-g),b._carouselWrap.children().width(a),b._sentinel&&b._sentinel.width(a),h(b)}var e,f=b.slides.eq(0),g=f.outerWidth()-f.width(),h=this.prepareDimensions;a(window).on("resize",c),b._carouselResizeThrottle=c,d()},transition:function(b,c,d,e,f){var g,h={},i=b.nextSlide-b.currSlide,j=b.carouselVertical,k=b.speed;if(b.allowWrap===!1){e=i>0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery);
src/cyclone-slider/libs/cycle2/jquery.cycle2.min.js ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Cycle2; version: 2.1.6 build: 20141007
3
+ * http://jquery.malsup.com/cycle2/
4
+ * Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL
5
+ */
6
+ !function(a){"use strict";function b(a){return(a||"").toLowerCase()}var c="2.1.6";a.fn.cycle=function(c){var d;return 0!==this.length||a.isReady?this.each(function(){var d,e,f,g,h=a(this),i=a.fn.cycle.log;if(!h.data("cycle.opts")){(h.data("cycle-log")===!1||c&&c.log===!1||e&&e.log===!1)&&(i=a.noop),i("--c2 init--"),d=h.data();for(var j in d)d.hasOwnProperty(j)&&/^cycle[A-Z]+/.test(j)&&(g=d[j],f=j.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),i(f+":",g,"("+typeof g+")"),d[f]=g);e=a.extend({},a.fn.cycle.defaults,d,c||{}),e.timeoutId=0,e.paused=e.paused||!1,e.container=h,e._maxZ=e.maxZ,e.API=a.extend({_container:h},a.fn.cycle.API),e.API.log=i,e.API.trigger=function(a,b){return e.container.trigger(a,b),e.API},h.data("cycle.opts",e),h.data("cycle.API",e.API),e.API.trigger("cycle-bootstrap",[e,e.API]),e.API.addInitialSlides(),e.API.preInitSlideshow(),e.slides.length&&e.API.initSlideshow()}}):(d={s:this.selector,c:this.context},a.fn.cycle.log("requeuing slideshow (dom not ready)"),a(function(){a(d.s,d.c).cycle(c)}),this)},a.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var b=this.opts(),c=b.slides;b.slideCount=0,b.slides=a(),c=c.jquery?c:b.container.find(c),b.random&&c.sort(function(){return Math.random()-.5}),b.API.add(c)},preInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-pre-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.preInit)&&c.preInit(b),b._preInitialized=!0},postInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-post-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.postInit)&&c.postInit(b)},initSlideshow:function(){var b,c=this.opts(),d=c.container;c.API.calcFirstSlide(),"static"==c.container.css("position")&&c.container.css("position","relative"),a(c.slides[c.currSlide]).css({opacity:1,display:"block",visibility:"visible"}),c.API.stackSlides(c.slides[c.currSlide],c.slides[c.nextSlide],!c.reverse),c.pauseOnHover&&(c.pauseOnHover!==!0&&(d=a(c.pauseOnHover)),d.hover(function(){c.API.pause(!0)},function(){c.API.resume(!0)})),c.timeout&&(b=c.API.getSlideOpts(c.currSlide),c.API.queueTransition(b,b.timeout+c.delay)),c._initialized=!0,c.API.updateView(!0),c.API.trigger("cycle-initialized",[c]),c.API.postInitSlideshow()},pause:function(b){var c=this.opts(),d=c.API.getSlideOpts(),e=c.hoverPaused||c.paused;b?c.hoverPaused=!0:c.paused=!0,e||(c.container.addClass("cycle-paused"),c.API.trigger("cycle-paused",[c]).log("cycle-paused"),d.timeout&&(clearTimeout(c.timeoutId),c.timeoutId=0,c._remainingTimeout-=a.now()-c._lastQueue,(c._remainingTimeout<0||isNaN(c._remainingTimeout))&&(c._remainingTimeout=void 0)))},resume:function(a){var b=this.opts(),c=!b.hoverPaused&&!b.paused;a?b.hoverPaused=!1:b.paused=!1,c||(b.container.removeClass("cycle-paused"),0===b.slides.filter(":animated").length&&b.API.queueTransition(b.API.getSlideOpts(),b._remainingTimeout),b.API.trigger("cycle-resumed",[b,b._remainingTimeout]).log("cycle-resumed"))},add:function(b,c){var d,e=this.opts(),f=e.slideCount,g=!1;"string"==a.type(b)&&(b=a.trim(b)),a(b).each(function(){var b,d=a(this);c?e.container.prepend(d):e.container.append(d),e.slideCount++,b=e.API.buildSlideOpts(d),e.slides=c?a(d).add(e.slides):e.slides.add(d),e.API.initSlide(b,d,--e._maxZ),d.data("cycle.opts",b),e.API.trigger("cycle-slide-added",[e,b,d])}),e.API.updateView(!0),g=e._preInitialized&&2>f&&e.slideCount>=1,g&&(e._initialized?e.timeout&&(d=e.slides.length,e.nextSlide=e.reverse?d-1:1,e.timeoutId||e.API.queueTransition(e)):e.API.initSlideshow())},calcFirstSlide:function(){var a,b=this.opts();a=parseInt(b.startingSlide||0,10),(a>=b.slides.length||0>a)&&(a=0),b.currSlide=a,b.reverse?(b.nextSlide=a-1,b.nextSlide<0&&(b.nextSlide=b.slides.length-1)):(b.nextSlide=a+1,b.nextSlide==b.slides.length&&(b.nextSlide=0))},calcNextSlide:function(){var a,b=this.opts();b.reverse?(a=b.nextSlide-1<0,b.nextSlide=a?b.slideCount-1:b.nextSlide-1,b.currSlide=a?0:b.nextSlide+1):(a=b.nextSlide+1==b.slides.length,b.nextSlide=a?0:b.nextSlide+1,b.currSlide=a?b.slides.length-1:b.nextSlide-1)},calcTx:function(b,c){var d,e=b;return e._tempFx?d=a.fn.cycle.transitions[e._tempFx]:c&&e.manualFx&&(d=a.fn.cycle.transitions[e.manualFx]),d||(d=a.fn.cycle.transitions[e.fx]),e._tempFx=null,this.opts()._tempFx=null,d||(d=a.fn.cycle.transitions.fade,e.API.log('Transition "'+e.fx+'" not found. Using fade.')),d},prepareTx:function(a,b){var c,d,e,f,g,h=this.opts();return h.slideCount<2?void(h.timeoutId=0):(!a||h.busy&&!h.manualTrump||(h.API.stopTransition(),h.busy=!1,clearTimeout(h.timeoutId),h.timeoutId=0),void(h.busy||(0!==h.timeoutId||a)&&(d=h.slides[h.currSlide],e=h.slides[h.nextSlide],f=h.API.getSlideOpts(h.nextSlide),g=h.API.calcTx(f,a),h._tx=g,a&&void 0!==f.manualSpeed&&(f.speed=f.manualSpeed),h.nextSlide!=h.currSlide&&(a||!h.paused&&!h.hoverPaused&&h.timeout)?(h.API.trigger("cycle-before",[f,d,e,b]),g.before&&g.before(f,d,e,b),c=function(){h.busy=!1,h.container.data("cycle.opts")&&(g.after&&g.after(f,d,e,b),h.API.trigger("cycle-after",[f,d,e,b]),h.API.queueTransition(f),h.API.updateView(!0))},h.busy=!0,g.transition?g.transition(f,d,e,b,c):h.API.doTransition(f,d,e,b,c),h.API.calcNextSlide(),h.API.updateView()):h.API.queueTransition(f))))},doTransition:function(b,c,d,e,f){var g=b,h=a(c),i=a(d),j=function(){i.animate(g.animIn||{opacity:1},g.speed,g.easeIn||g.easing,f)};i.css(g.cssBefore||{}),h.animate(g.animOut||{},g.speed,g.easeOut||g.easing,function(){h.css(g.cssAfter||{}),g.sync||j()}),g.sync&&j()},queueTransition:function(b,c){var d=this.opts(),e=void 0!==c?c:b.timeout;return 0===d.nextSlide&&0===--d.loop?(d.API.log("terminating; loop=0"),d.timeout=0,e?setTimeout(function(){d.API.trigger("cycle-finished",[d])},e):d.API.trigger("cycle-finished",[d]),void(d.nextSlide=d.currSlide)):void 0!==d.continueAuto&&(d.continueAuto===!1||a.isFunction(d.continueAuto)&&d.continueAuto()===!1)?(d.API.log("terminating automatic transitions"),d.timeout=0,void(d.timeoutId&&clearTimeout(d.timeoutId))):void(e&&(d._lastQueue=a.now(),void 0===c&&(d._remainingTimeout=b.timeout),d.paused||d.hoverPaused||(d.timeoutId=setTimeout(function(){d.API.prepareTx(!1,!d.reverse)},e))))},stopTransition:function(){var a=this.opts();a.slides.filter(":animated").length&&(a.slides.stop(!1,!0),a.API.trigger("cycle-transition-stopped",[a])),a._tx&&a._tx.stopTransition&&a._tx.stopTransition(a)},advanceSlide:function(a){var b=this.opts();return clearTimeout(b.timeoutId),b.timeoutId=0,b.nextSlide=b.currSlide+a,b.nextSlide<0?b.nextSlide=b.slides.length-1:b.nextSlide>=b.slides.length&&(b.nextSlide=0),b.API.prepareTx(!0,a>=0),!1},buildSlideOpts:function(c){var d,e,f=this.opts(),g=c.data()||{};for(var h in g)g.hasOwnProperty(h)&&/^cycle[A-Z]+/.test(h)&&(d=g[h],e=h.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),f.API.log("["+(f.slideCount-1)+"]",e+":",d,"("+typeof d+")"),g[e]=d);g=a.extend({},a.fn.cycle.defaults,f,g),g.slideNum=f.slideCount;try{delete g.API,delete g.slideCount,delete g.currSlide,delete g.nextSlide,delete g.slides}catch(i){}return g},getSlideOpts:function(b){var c=this.opts();void 0===b&&(b=c.currSlide);var d=c.slides[b],e=a(d).data("cycle.opts");return a.extend({},c,e)},initSlide:function(b,c,d){var e=this.opts();c.css(b.slideCss||{}),d>0&&c.css("zIndex",d),isNaN(b.speed)&&(b.speed=a.fx.speeds[b.speed]||a.fx.speeds._default),b.sync||(b.speed=b.speed/2),c.addClass(e.slideClass)},updateView:function(a,b){var c=this.opts();if(c._initialized){var d=c.API.getSlideOpts(),e=c.slides[c.currSlide];!a&&b!==!0&&(c.API.trigger("cycle-update-view-before",[c,d,e]),c.updateView<0)||(c.slideActiveClass&&c.slides.removeClass(c.slideActiveClass).eq(c.currSlide).addClass(c.slideActiveClass),a&&c.hideNonActive&&c.slides.filter(":not(."+c.slideActiveClass+")").css("visibility","hidden"),0===c.updateView&&setTimeout(function(){c.API.trigger("cycle-update-view",[c,d,e,a])},d.speed/(c.sync?2:1)),0!==c.updateView&&c.API.trigger("cycle-update-view",[c,d,e,a]),a&&c.API.trigger("cycle-update-view-after",[c,d,e]))}},getComponent:function(b){var c=this.opts(),d=c[b];return"string"==typeof d?/^\s*[\>|\+|~]/.test(d)?c.container.find(d):a(d):d.jquery?d:a(d)},stackSlides:function(b,c,d){var e=this.opts();b||(b=e.slides[e.currSlide],c=e.slides[e.nextSlide],d=!e.reverse),a(b).css("zIndex",e.maxZ);var f,g=e.maxZ-2,h=e.slideCount;if(d){for(f=e.currSlide+1;h>f;f++)a(e.slides[f]).css("zIndex",g--);for(f=0;f<e.currSlide;f++)a(e.slides[f]).css("zIndex",g--)}else{for(f=e.currSlide-1;f>=0;f--)a(e.slides[f]).css("zIndex",g--);for(f=h-1;f>e.currSlide;f--)a(e.slides[f]).css("zIndex",g--)}a(c).css("zIndex",e.maxZ-1)},getSlideIndex:function(a){return this.opts().slides.index(a)}},a.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))},a.fn.cycle.version=function(){return"Cycle2: "+c},a.fn.cycle.transitions={custom:{},none:{before:function(a,b,c,d){a.API.stackSlides(c,b,d),a.cssBefore={opacity:1,visibility:"visible",display:"block"}}},fade:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:0,visibility:"visible",display:"block"}),b.animIn={opacity:1},b.animOut={opacity:0}}},fadeout:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:1,visibility:"visible",display:"block"}),b.animOut={opacity:0}}},scrollHorz:{before:function(a,b,c,d){a.API.stackSlides(b,c,d);var e=a.container.css("overflow","hidden").width();a.cssBefore={left:d?e:-e,top:0,opacity:1,visibility:"visible",display:"block"},a.cssAfter={zIndex:a._maxZ-2,left:0},a.animIn={left:0},a.animOut={left:d?-e:e}}}},a.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},a(document).ready(function(){a(a.fn.cycle.defaults.autoSelector).cycle()})}(jQuery),/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */
7
+ function(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\d+\:\d+/.test(i)&&(h=i.match(/(\d+)\:(\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery),/*! caption plugin for Cycle2; version: 20130306 */
8
+ function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"<div>{{title}}</div><div>{{desc}}</div>",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery),/*! command plugin for Cycle2; version: 20140415 */
9
+ function(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log('slideshow must be initialized before sending commands; "'+d+'" ignored'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){var d=a(this);d.removeData(),d.removeClass(b.slideClass),c(this,"parsedAttrs",!1)})},jump:function(a,b){var c,d=this.opts();if(!d.busy||d.manualTrump){var e=parseInt(a,10);if(isNaN(e)||0>e||e>=d.slides.length)return void d.API.log("goto: invalid slide index: "+e);if(e==d.currSlide)return void d.API.log("goto: skipping, already on slide",e);d.nextSlide=e,clearTimeout(d.timeoutId),d.timeoutId=0,d.API.log("goto: ",e," (zero-index)"),c=d.currSlide<d.nextSlide,d._tempFx=b,d.API.prepareTx(!0,c)}},stop:function(){var b=this.opts(),c=b.container;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stopTransition(),b.pauseOnHover&&(b.pauseOnHover!==!0&&(c=a(b.pauseOnHover)),c.off("mouseenter mouseleave")),b.API.trigger("cycle-stopped",[b]).log("cycle-stopped")},reinit:function(){var a=this.opts();a.API.destroy(),a.container.cycle()},remove:function(b){for(var c,d,e=this.opts(),f=[],g=1,h=0;h<e.slides.length;h++)c=e.slides[h],h==b?d=c:(f.push(c),a(c).data("cycle.opts").slideNum=g,g++);d&&(e.slides=a(f),e.slideCount--,a(d).remove(),b==e.currSlide?e.API.advanceSlide(1):b<e.currSlide?e.currSlide--:e.currSlide++,e.API.trigger("cycle-slide-removed",[e,b,d]).log("cycle-slide-removed"),e.API.updateView())}}),a(document).on("click.cycle","[data-cycle-cmd]",function(b){b.preventDefault();var c=a(this),d=c.data("cycle-cmd"),e=c.data("cycle-context")||".cycle-slideshow";a(e).cycle(d,c.data("cycle-arg"))})}(jQuery),/*! hash plugin for Cycle2; version: 20130905 */
10
+ function(a){"use strict";function b(b,c){var d;return b._hashFence?void(b._hashFence=!1):(d=window.location.hash.substring(1),void b.slides.each(function(e){if(a(this).data("cycle-hash")==d){if(c===!0)b.startingSlide=e;else{var f=b.currSlide<e;b.nextSlide=e,b.API.prepareTx(!0,f)}return!1}}))}a(document).on("cycle-pre-initialize",function(c,d){b(d,!0),d._onHashChange=function(){b(d,!1)},a(window).on("hashchange",d._onHashChange)}),a(document).on("cycle-update-view",function(a,b,c){c.hash&&"#"+c.hash!=window.location.hash&&(b._hashFence=!0,window.location.hash=c.hash)}),a(document).on("cycle-destroyed",function(b,c){c._onHashChange&&a(window).off("hashchange",c._onHashChange)})}(jQuery),/*! loader plugin for Cycle2; version: 20131121 */
11
+ function(a){"use strict";a.extend(a.fn.cycle.defaults,{loader:!1}),a(document).on("cycle-bootstrap",function(b,c){function d(b,d){function f(b){var f;"wait"==c.loader?(h.push(b),0===j&&(h.sort(g),e.apply(c.API,[h,d]),c.container.removeClass("cycle-loading"))):(f=a(c.slides[c.currSlide]),e.apply(c.API,[b,d]),f.show(),c.container.removeClass("cycle-loading"))}function g(a,b){return a.data("index")-b.data("index")}var h=[];if("string"==a.type(b))b=a.trim(b);else if("array"===a.type(b))for(var i=0;i<b.length;i++)b[i]=a(b[i])[0];b=a(b);var j=b.length;j&&(b.css("visibility","hidden").appendTo("body").each(function(b){function g(){0===--i&&(--j,f(k))}var i=0,k=a(this),l=k.is("img")?k:k.find("img");return k.data("index",b),l=l.filter(":not(.cycle-loader-ignore)").filter(':not([src=""])'),l.length?(i=l.length,void l.each(function(){this.complete?g():a(this).load(function(){g()}).on("error",function(){0===--i&&(c.API.log("slide skipped; img not loaded:",this.src),0===--j&&"wait"==c.loader&&e.apply(c.API,[h,d]))})})):(--j,void h.push(k))}),j&&c.container.addClass("cycle-loading"))}var e;c.loader&&(e=c.API.add,c.API.add=d)})}(jQuery),/*! pager plugin for Cycle2; version: 20140415 */
12
+ function(a){"use strict";function b(b,c,d){var e,f=b.API.getComponent("pager");f.each(function(){var f=a(this);if(c.pagerTemplate){var g=b.API.tmpl(c.pagerTemplate,c,b,d[0]);e=a(g).appendTo(f)}else e=f.children().eq(b.slideCount-1);e.on(b.pagerEvent,function(a){b.pagerEventBubble||a.preventDefault(),b.API.page(f,a.currentTarget)})})}function c(a,b){var c=this.opts();if(!c.busy||c.manualTrump){var d=a.children().index(b),e=d,f=c.currSlide<e;c.currSlide!=e&&(c.nextSlide=e,c._tempFx=c.pagerFx,c.API.prepareTx(!0,f),c.API.trigger("cycle-pager-activated",[c,a,b]))}}a.extend(a.fn.cycle.defaults,{pager:"> .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerEventBubble:void 0,pagerTemplate:"<span>&bull;</span>"}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery),/*! prevnext plugin for Cycle2; version: 20140408 */
13
+ function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b._tempFx=b.swipeFx,b.API.next()}),b.container.on(d,function(){b._tempFx=b.swipeFx,b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2; version: 20130315 */
14
+ function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f=c.API,g=f.next,h=f.prev,i=f.prepareTx,j=a.type(c.progressive);if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(k){return void f.log("error parsing progressive slides",k)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}i&&(f.prepareTx=function(a,b){var e,f;return a||0===d.length?void i.apply(c.API,[a,b]):void(b&&c.currSlide==c.slideCount-1?(f=d[0],d=d.slice(1),c.container.one("cycle-slide-added",function(a,b){setTimeout(function(){b.API.advanceSlide(1)},50)}),c.API.add(f)):b||0!==c.currSlide?i.apply(c.API,[a,b]):(e=d.length-1,f=d[e],d=d.slice(0,e),c.container.one("cycle-slide-added",function(a,b){setTimeout(function(){b.currSlide=1,b.API.advanceSlide(-1)},50)}),c.API.add(f,!0)))}),g&&(f.next=function(){var a=this.opts();if(d.length&&a.currSlide==a.slideCount-1){var b=d[0];d=d.slice(1),a.container.one("cycle-slide-added",function(a,b){g.apply(b.API),b.container.removeClass("cycle-loading")}),a.container.addClass("cycle-loading"),a.API.add(b)}else g.apply(a.API)}),h&&(f.prev=function(){var a=this.opts();if(d.length&&0===a.currSlide){var b=d.length-1,c=d[b];d=d.slice(0,b),a.container.one("cycle-slide-added",function(a,b){b.currSlide=1,b.API.advanceSlide(-1),b.container.removeClass("cycle-loading")}),a.container.addClass("cycle-loading"),a.API.add(c,!0)}else h.apply(a.API)})}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */
15
+ function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d<e.length;d++)if(g=e[d]){if(i.length>1)for(h=g,f=0;f<i.length;f++)g=h,h=h[i[f]]||c;else h=g[c];if(a.isFunction(h))return h.apply(g,e);if(void 0!==h&&null!==h&&h!=c)return h}return c})}})}(jQuery);
src/cyclone-slider/libs/cycle2/jquery.cycle2.scrollVert.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2
+ !function(a){"use strict";a.fn.cycle.transitions.scrollVert={before:function(a,b,c,d){a.API.stackSlides(a,b,c,d);var e=a.container.css("overflow","hidden").height();a.cssBefore={top:d?-e:e,left:0,opacity:1,display:"block",visibility:"visible"},a.animIn={top:0},a.animOut={top:d?e:-e}}}}(jQuery);
src/cyclone-slider/libs/cycle2/jquery.cycle2.swipe.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2
+ !function(a){"use strict";a.event.special.swipe=a.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var b=a(this);b.bind("touchstart",function(c){function d(b){if(g){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;e={time:(new Date).getTime(),coords:[c.pageX,c.pageY]},Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e,f=c.originalEvent.touches?c.originalEvent.touches[0]:c,g={time:(new Date).getTime(),coords:[f.pageX,f.pageY],origin:a(c.target)};b.bind("touchmove",d).one("touchend",function(){b.unbind("touchmove",d),g&&e&&e.time-g.time<a.event.special.swipe.durationThreshold&&Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.horizontalDistanceThreshold&&Math.abs(g.coords[1]-e.coords[1])<a.event.special.swipe.verticalDistanceThreshold&&g.origin.trigger("swipe").trigger(g.coords[0]>e.coords[0]?"swipeleft":"swiperight"),g=e=void 0})})}},a.event.special.swipeleft=a.event.special.swipeleft||{setup:function(){a(this).bind("swipe",a.noop)}},a.event.special.swiperight=a.event.special.swiperight||a.event.special.swipeleft}(jQuery);
src/cyclone-slider/libs/cycle2/jquery.cycle2.tile.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2
+ !function(a){"use strict";a.fn.cycle.transitions.tileSlide=a.fn.cycle.transitions.tileBlind={before:function(b,c,d,e){b.API.stackSlides(c,d,e),a(c).css({display:"block",visibility:"visible"}),b.container.css("overflow","hidden"),b.tileDelay=b.tileDelay||"tileSlide"==b.fx?100:125,b.tileCount=b.tileCount||7,b.tileVertical=b.tileVertical!==!1,b.container.data("cycleTileInitialized")||(b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.container.data("cycleTileInitialized",!0))},transition:function(b,c,d,e,f){function g(a){m.eq(a).animate(t,{duration:b.speed,easing:b.easing,complete:function(){(e?p-1===a:0===a)&&b._tileAniCallback()}}),setTimeout(function(){(e?p-1!==a:0!==a)&&g(e?a+1:a-1)},b.tileDelay)}b.slides.not(c).not(d).css("visibility","hidden");var h,i,j,k,l,m=a(),n=a(c),o=a(d),p=b.tileCount,q=b.tileVertical,r=b.container.height(),s=b.container.width();q?(i=Math.floor(s/p),k=s-i*(p-1),j=l=r):(i=k=s,j=Math.floor(r/p),l=r-j*(p-1)),b.container.find(".cycle-tiles-container").remove();var t,u={left:0,top:0,overflow:"hidden",position:"absolute",margin:0,padding:0};t=q?"tileSlide"==b.fx?{top:r}:{width:0}:"tileSlide"==b.fx?{left:s}:{height:0};var v=a('<div class="cycle-tiles-container"></div>');v.css({zIndex:n.css("z-index"),overflow:"visible",position:"absolute",top:0,left:0,direction:"ltr"}),v.insertBefore(d);for(var w=0;p>w;w++)h=a("<div></div>").css(u).css({width:p-1===w?k:i,height:p-1===w?l:j,marginLeft:q?w*i:0,marginTop:q?0:w*j}).append(n.clone().css({position:"relative",maxWidth:"none",width:n.width(),margin:0,padding:0,marginLeft:q?-(w*i):0,marginTop:q?0:-(w*j)})),m=m.add(h);v.append(m),n.css("visibility","hidden"),o.css({opacity:1,display:"block",visibility:"visible"}),g(e?0:p-1),b._tileAniCallback=function(){o.css({display:"block",visibility:"visible"}),n.css("visibility","hidden"),v.remove(),f()}},stopTransition:function(a){a.container.find("*").stop(!0,!0),a._tileAniCallback&&a._tileAniCallback()},onDestroy:function(){var a=this.opts();a.container.find(".cycle-tiles-container").remove()}}}(jQuery);
src/cyclone-slider/libs/cycle2/jquery.cycle2.video.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2
+ !function(a){"use strict";function b(){try{this.playVideo()}catch(a){}}function c(){try{this.pauseVideo()}catch(a){}}var d='<div class=cycle-youtube><object width="640" height="360"><param name="movie" value="{{url}}"></param><param name="allowFullScreen" value="{{allowFullScreen}}"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="opaque"></param><embed src="{{url}}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="{{allowFullScreen}}" wmode="opaque"></embed></object></div>';a.extend(a.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),a(document).on("cycle-bootstrap",function(e,f){f.youtube&&(f.hideNonActive=!1,f.container.find(f.slides).each(function(b){if(void 0!==a(this).attr("href")){var c,e=a(this),g=e.attr("href"),h=f.youtubeAllowFullScreen?"true":"false";g+=(/\?/.test(g)?"&":"?")+"enablejsapi=1",f.youtubeAutostart&&f.startingSlide===b&&(g+="&autoplay=1"),c=f.API.tmpl(d,{url:g,allowFullScreen:h}),e.replaceWith(c)}}),f.slides=f.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),f.youtubeAutostart&&f.container.on("cycle-initialized cycle-after",function(c,d){var e="cycle-initialized"==c.type?d.currSlide:d.nextSlide;a(d.slides[e]).find("object,embed").each(b)}),f.youtubeAutostop&&f.container.on("cycle-before",function(b,d){a(d.slides[d.currSlide]).find("object,embed").each(c)}))})}(jQuery);
src/cyclone-slider/libs/font-awesome/css/font-awesome-ie7.css ADDED
@@ -0,0 +1,1203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 3.2.1
3
+ * the iconic font designed for Bootstrap
4
+ * ------------------------------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation can be
6
+ * found at http://fontawesome.io. Stay up to date on Twitter at
7
+ * http://twitter.com/fontawesome.
8
+ *
9
+ * License
10
+ * ------------------------------------------------------------------------------
11
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
12
+ * http://scripts.sil.org/OFL
13
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
14
+ * http://opensource.org/licenses/mit-license.html
15
+ * - Font Awesome documentation licensed under CC BY 3.0 -
16
+ * http://creativecommons.org/licenses/by/3.0/
17
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
18
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
19
+ *
20
+ * Author - Dave Gandy
21
+ * ------------------------------------------------------------------------------
22
+ * Email: dave@fontawesome.io
23
+ * Twitter: http://twitter.com/davegandy
24
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
25
+ */
26
+ .icon-large {
27
+ font-size: 1.3333333333333333em;
28
+ margin-top: -4px;
29
+ padding-top: 3px;
30
+ margin-bottom: -4px;
31
+ padding-bottom: 3px;
32
+ vertical-align: middle;
33
+ }
34
+ .nav [class^="icon-"],
35
+ .nav [class*=" icon-"] {
36
+ vertical-align: inherit;
37
+ margin-top: -4px;
38
+ padding-top: 3px;
39
+ margin-bottom: -4px;
40
+ padding-bottom: 3px;
41
+ }
42
+ .nav [class^="icon-"].icon-large,
43
+ .nav [class*=" icon-"].icon-large {
44
+ vertical-align: -25%;
45
+ }
46
+ .nav-pills [class^="icon-"].icon-large,
47
+ .nav-tabs [class^="icon-"].icon-large,
48
+ .nav-pills [class*=" icon-"].icon-large,
49
+ .nav-tabs [class*=" icon-"].icon-large {
50
+ line-height: .75em;
51
+ margin-top: -7px;
52
+ padding-top: 5px;
53
+ margin-bottom: -5px;
54
+ padding-bottom: 4px;
55
+ }
56
+ .btn [class^="icon-"].pull-left,
57
+ .btn [class*=" icon-"].pull-left,
58
+ .btn [class^="icon-"].pull-right,
59
+ .btn [class*=" icon-"].pull-right {
60
+ vertical-align: inherit;
61
+ }
62
+ .btn [class^="icon-"].icon-large,
63
+ .btn [class*=" icon-"].icon-large {
64
+ margin-top: -0.5em;
65
+ }
66
+ a [class^="icon-"],
67
+ a [class*=" icon-"] {
68
+ cursor: pointer;
69
+ }
70
+ .icon-glass {
71
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf000;');
72
+ }
73
+ .icon-music {
74
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf001;');
75
+ }
76
+ .icon-search {
77
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');
78
+ }
79
+ .icon-envelope-alt {
80
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf003;');
81
+ }
82
+ .icon-heart {
83
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf004;');
84
+ }
85
+ .icon-star {
86
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf005;');
87
+ }
88
+ .icon-star-empty {
89
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf006;');
90
+ }
91
+ .icon-user {
92
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf007;');
93
+ }
94
+ .icon-film {
95
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf008;');
96
+ }
97
+ .icon-th-large {
98
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf009;');
99
+ }
100
+ .icon-th {
101
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00a;');
102
+ }
103
+ .icon-th-list {
104
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00b;');
105
+ }
106
+ .icon-ok {
107
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00c;');
108
+ }
109
+ .icon-remove {
110
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');
111
+ }
112
+ .icon-zoom-in {
113
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00e;');
114
+ }
115
+ .icon-zoom-out {
116
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf010;');
117
+ }
118
+ .icon-off {
119
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');
120
+ }
121
+ .icon-power-off {
122
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');
123
+ }
124
+ .icon-signal {
125
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf012;');
126
+ }
127
+ .icon-cog {
128
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf013;');
129
+ }
130
+ .icon-gear {
131
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf013;');
132
+ }
133
+ .icon-trash {
134
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf014;');
135
+ }
136
+ .icon-home {
137
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf015;');
138
+ }
139
+ .icon-file-alt {
140
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf016;');
141
+ }
142
+ .icon-time {
143
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');
144
+ }
145
+ .icon-road {
146
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf018;');
147
+ }
148
+ .icon-download-alt {
149
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');
150
+ }
151
+ .icon-download {
152
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01a;');
153
+ }
154
+ .icon-upload {
155
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01b;');
156
+ }
157
+ .icon-inbox {
158
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01c;');
159
+ }
160
+ .icon-play-circle {
161
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01d;');
162
+ }
163
+ .icon-repeat {
164
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01e;');
165
+ }
166
+ .icon-rotate-right {
167
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01e;');
168
+ }
169
+ .icon-refresh {
170
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf021;');
171
+ }
172
+ .icon-list-alt {
173
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf022;');
174
+ }
175
+ .icon-lock {
176
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf023;');
177
+ }
178
+ .icon-flag {
179
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf024;');
180
+ }
181
+ .icon-headphones {
182
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf025;');
183
+ }
184
+ .icon-volume-off {
185
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf026;');
186
+ }
187
+ .icon-volume-down {
188
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf027;');
189
+ }
190
+ .icon-volume-up {
191
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf028;');
192
+ }
193
+ .icon-qrcode {
194
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf029;');
195
+ }
196
+ .icon-barcode {
197
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02a;');
198
+ }
199
+ .icon-tag {
200
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02b;');
201
+ }
202
+ .icon-tags {
203
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02c;');
204
+ }
205
+ .icon-book {
206
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02d;');
207
+ }
208
+ .icon-bookmark {
209
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02e;');
210
+ }
211
+ .icon-print {
212
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02f;');
213
+ }
214
+ .icon-camera {
215
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf030;');
216
+ }
217
+ .icon-font {
218
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf031;');
219
+ }
220
+ .icon-bold {
221
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf032;');
222
+ }
223
+ .icon-italic {
224
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf033;');
225
+ }
226
+ .icon-text-height {
227
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf034;');
228
+ }
229
+ .icon-text-width {
230
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf035;');
231
+ }
232
+ .icon-align-left {
233
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf036;');
234
+ }
235
+ .icon-align-center {
236
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf037;');
237
+ }
238
+ .icon-align-right {
239
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf038;');
240
+ }
241
+ .icon-align-justify {
242
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf039;');
243
+ }
244
+ .icon-list {
245
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03a;');
246
+ }
247
+ .icon-indent-left {
248
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03b;');
249
+ }
250
+ .icon-indent-right {
251
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03c;');
252
+ }
253
+ .icon-facetime-video {
254
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03d;');
255
+ }
256
+ .icon-picture {
257
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03e;');
258
+ }
259
+ .icon-pencil {
260
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');
261
+ }
262
+ .icon-map-marker {
263
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf041;');
264
+ }
265
+ .icon-adjust {
266
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf042;');
267
+ }
268
+ .icon-tint {
269
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf043;');
270
+ }
271
+ .icon-edit {
272
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf044;');
273
+ }
274
+ .icon-share {
275
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf045;');
276
+ }
277
+ .icon-check {
278
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf046;');
279
+ }
280
+ .icon-move {
281
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf047;');
282
+ }
283
+ .icon-step-backward {
284
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf048;');
285
+ }
286
+ .icon-fast-backward {
287
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf049;');
288
+ }
289
+ .icon-backward {
290
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04a;');
291
+ }
292
+ .icon-play {
293
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');
294
+ }
295
+ .icon-pause {
296
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04c;');
297
+ }
298
+ .icon-stop {
299
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04d;');
300
+ }
301
+ .icon-forward {
302
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04e;');
303
+ }
304
+ .icon-fast-forward {
305
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf050;');
306
+ }
307
+ .icon-step-forward {
308
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf051;');
309
+ }
310
+ .icon-eject {
311
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf052;');
312
+ }
313
+ .icon-chevron-left {
314
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf053;');
315
+ }
316
+ .icon-chevron-right {
317
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf054;');
318
+ }
319
+ .icon-plus-sign {
320
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');
321
+ }
322
+ .icon-minus-sign {
323
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf056;');
324
+ }
325
+ .icon-remove-sign {
326
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf057;');
327
+ }
328
+ .icon-ok-sign {
329
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');
330
+ }
331
+ .icon-question-sign {
332
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf059;');
333
+ }
334
+ .icon-info-sign {
335
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05a;');
336
+ }
337
+ .icon-screenshot {
338
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05b;');
339
+ }
340
+ .icon-remove-circle {
341
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05c;');
342
+ }
343
+ .icon-ok-circle {
344
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05d;');
345
+ }
346
+ .icon-ban-circle {
347
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05e;');
348
+ }
349
+ .icon-arrow-left {
350
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf060;');
351
+ }
352
+ .icon-arrow-right {
353
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf061;');
354
+ }
355
+ .icon-arrow-up {
356
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf062;');
357
+ }
358
+ .icon-arrow-down {
359
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf063;');
360
+ }
361
+ .icon-share-alt {
362
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');
363
+ }
364
+ .icon-mail-forward {
365
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');
366
+ }
367
+ .icon-resize-full {
368
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf065;');
369
+ }
370
+ .icon-resize-small {
371
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf066;');
372
+ }
373
+ .icon-plus {
374
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');
375
+ }
376
+ .icon-minus {
377
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf068;');
378
+ }
379
+ .icon-asterisk {
380
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf069;');
381
+ }
382
+ .icon-exclamation-sign {
383
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06a;');
384
+ }
385
+ .icon-gift {
386
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06b;');
387
+ }
388
+ .icon-leaf {
389
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06c;');
390
+ }
391
+ .icon-fire {
392
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06d;');
393
+ }
394
+ .icon-eye-open {
395
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06e;');
396
+ }
397
+ .icon-eye-close {
398
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf070;');
399
+ }
400
+ .icon-warning-sign {
401
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf071;');
402
+ }
403
+ .icon-plane {
404
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf072;');
405
+ }
406
+ .icon-calendar {
407
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf073;');
408
+ }
409
+ .icon-random {
410
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf074;');
411
+ }
412
+ .icon-comment {
413
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf075;');
414
+ }
415
+ .icon-magnet {
416
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf076;');
417
+ }
418
+ .icon-chevron-up {
419
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf077;');
420
+ }
421
+ .icon-chevron-down {
422
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf078;');
423
+ }
424
+ .icon-retweet {
425
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf079;');
426
+ }
427
+ .icon-shopping-cart {
428
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07a;');
429
+ }
430
+ .icon-folder-close {
431
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07b;');
432
+ }
433
+ .icon-folder-open {
434
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07c;');
435
+ }
436
+ .icon-resize-vertical {
437
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07d;');
438
+ }
439
+ .icon-resize-horizontal {
440
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07e;');
441
+ }
442
+ .icon-bar-chart {
443
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf080;');
444
+ }
445
+ .icon-twitter-sign {
446
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf081;');
447
+ }
448
+ .icon-facebook-sign {
449
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf082;');
450
+ }
451
+ .icon-camera-retro {
452
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf083;');
453
+ }
454
+ .icon-key {
455
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf084;');
456
+ }
457
+ .icon-cogs {
458
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');
459
+ }
460
+ .icon-gears {
461
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');
462
+ }
463
+ .icon-comments {
464
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf086;');
465
+ }
466
+ .icon-thumbs-up-alt {
467
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf087;');
468
+ }
469
+ .icon-thumbs-down-alt {
470
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf088;');
471
+ }
472
+ .icon-star-half {
473
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf089;');
474
+ }
475
+ .icon-heart-empty {
476
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08a;');
477
+ }
478
+ .icon-signout {
479
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08b;');
480
+ }
481
+ .icon-linkedin-sign {
482
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08c;');
483
+ }
484
+ .icon-pushpin {
485
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08d;');
486
+ }
487
+ .icon-external-link {
488
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08e;');
489
+ }
490
+ .icon-signin {
491
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf090;');
492
+ }
493
+ .icon-trophy {
494
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf091;');
495
+ }
496
+ .icon-github-sign {
497
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf092;');
498
+ }
499
+ .icon-upload-alt {
500
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');
501
+ }
502
+ .icon-lemon {
503
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf094;');
504
+ }
505
+ .icon-phone {
506
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf095;');
507
+ }
508
+ .icon-check-empty {
509
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf096;');
510
+ }
511
+ .icon-unchecked {
512
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf096;');
513
+ }
514
+ .icon-bookmark-empty {
515
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf097;');
516
+ }
517
+ .icon-phone-sign {
518
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf098;');
519
+ }
520
+ .icon-twitter {
521
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf099;');
522
+ }
523
+ .icon-facebook {
524
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09a;');
525
+ }
526
+ .icon-github {
527
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09b;');
528
+ }
529
+ .icon-unlock {
530
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09c;');
531
+ }
532
+ .icon-credit-card {
533
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09d;');
534
+ }
535
+ .icon-rss {
536
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09e;');
537
+ }
538
+ .icon-hdd {
539
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a0;');
540
+ }
541
+ .icon-bullhorn {
542
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a1;');
543
+ }
544
+ .icon-bell {
545
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a2;');
546
+ }
547
+ .icon-certificate {
548
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a3;');
549
+ }
550
+ .icon-hand-right {
551
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');
552
+ }
553
+ .icon-hand-left {
554
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a5;');
555
+ }
556
+ .icon-hand-up {
557
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a6;');
558
+ }
559
+ .icon-hand-down {
560
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a7;');
561
+ }
562
+ .icon-circle-arrow-left {
563
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a8;');
564
+ }
565
+ .icon-circle-arrow-right {
566
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a9;');
567
+ }
568
+ .icon-circle-arrow-up {
569
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0aa;');
570
+ }
571
+ .icon-circle-arrow-down {
572
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ab;');
573
+ }
574
+ .icon-globe {
575
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ac;');
576
+ }
577
+ .icon-wrench {
578
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ad;');
579
+ }
580
+ .icon-tasks {
581
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ae;');
582
+ }
583
+ .icon-filter {
584
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b0;');
585
+ }
586
+ .icon-briefcase {
587
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b1;');
588
+ }
589
+ .icon-fullscreen {
590
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b2;');
591
+ }
592
+ .icon-group {
593
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c0;');
594
+ }
595
+ .icon-link {
596
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');
597
+ }
598
+ .icon-cloud {
599
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c2;');
600
+ }
601
+ .icon-beaker {
602
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c3;');
603
+ }
604
+ .icon-cut {
605
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c4;');
606
+ }
607
+ .icon-copy {
608
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c5;');
609
+ }
610
+ .icon-paper-clip {
611
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c6;');
612
+ }
613
+ .icon-paperclip {
614
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c6;');
615
+ }
616
+ .icon-save {
617
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c7;');
618
+ }
619
+ .icon-sign-blank {
620
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c8;');
621
+ }
622
+ .icon-reorder {
623
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c9;');
624
+ }
625
+ .icon-list-ul {
626
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ca;');
627
+ }
628
+ .icon-list-ol {
629
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cb;');
630
+ }
631
+ .icon-strikethrough {
632
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cc;');
633
+ }
634
+ .icon-underline {
635
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cd;');
636
+ }
637
+ .icon-table {
638
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ce;');
639
+ }
640
+ .icon-magic {
641
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d0;');
642
+ }
643
+ .icon-truck {
644
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d1;');
645
+ }
646
+ .icon-pinterest {
647
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d2;');
648
+ }
649
+ .icon-pinterest-sign {
650
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d3;');
651
+ }
652
+ .icon-google-plus-sign {
653
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d4;');
654
+ }
655
+ .icon-google-plus {
656
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d5;');
657
+ }
658
+ .icon-money {
659
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d6;');
660
+ }
661
+ .icon-caret-down {
662
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d7;');
663
+ }
664
+ .icon-caret-up {
665
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d8;');
666
+ }
667
+ .icon-caret-left {
668
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d9;');
669
+ }
670
+ .icon-caret-right {
671
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0da;');
672
+ }
673
+ .icon-columns {
674
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0db;');
675
+ }
676
+ .icon-sort {
677
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dc;');
678
+ }
679
+ .icon-sort-down {
680
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dd;');
681
+ }
682
+ .icon-sort-up {
683
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0de;');
684
+ }
685
+ .icon-envelope {
686
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e0;');
687
+ }
688
+ .icon-linkedin {
689
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e1;');
690
+ }
691
+ .icon-undo {
692
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e2;');
693
+ }
694
+ .icon-rotate-left {
695
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e2;');
696
+ }
697
+ .icon-legal {
698
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e3;');
699
+ }
700
+ .icon-dashboard {
701
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e4;');
702
+ }
703
+ .icon-comment-alt {
704
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e5;');
705
+ }
706
+ .icon-comments-alt {
707
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e6;');
708
+ }
709
+ .icon-bolt {
710
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e7;');
711
+ }
712
+ .icon-sitemap {
713
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e8;');
714
+ }
715
+ .icon-umbrella {
716
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e9;');
717
+ }
718
+ .icon-paste {
719
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ea;');
720
+ }
721
+ .icon-lightbulb {
722
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0eb;');
723
+ }
724
+ .icon-exchange {
725
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ec;');
726
+ }
727
+ .icon-cloud-download {
728
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ed;');
729
+ }
730
+ .icon-cloud-upload {
731
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ee;');
732
+ }
733
+ .icon-user-md {
734
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f0;');
735
+ }
736
+ .icon-stethoscope {
737
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f1;');
738
+ }
739
+ .icon-suitcase {
740
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f2;');
741
+ }
742
+ .icon-bell-alt {
743
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f3;');
744
+ }
745
+ .icon-coffee {
746
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f4;');
747
+ }
748
+ .icon-food {
749
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f5;');
750
+ }
751
+ .icon-file-text-alt {
752
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f6;');
753
+ }
754
+ .icon-building {
755
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f7;');
756
+ }
757
+ .icon-hospital {
758
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f8;');
759
+ }
760
+ .icon-ambulance {
761
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f9;');
762
+ }
763
+ .icon-medkit {
764
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fa;');
765
+ }
766
+ .icon-fighter-jet {
767
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fb;');
768
+ }
769
+ .icon-beer {
770
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fc;');
771
+ }
772
+ .icon-h-sign {
773
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fd;');
774
+ }
775
+ .icon-plus-sign-alt {
776
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fe;');
777
+ }
778
+ .icon-double-angle-left {
779
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf100;');
780
+ }
781
+ .icon-double-angle-right {
782
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf101;');
783
+ }
784
+ .icon-double-angle-up {
785
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf102;');
786
+ }
787
+ .icon-double-angle-down {
788
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf103;');
789
+ }
790
+ .icon-angle-left {
791
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf104;');
792
+ }
793
+ .icon-angle-right {
794
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf105;');
795
+ }
796
+ .icon-angle-up {
797
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf106;');
798
+ }
799
+ .icon-angle-down {
800
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf107;');
801
+ }
802
+ .icon-desktop {
803
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf108;');
804
+ }
805
+ .icon-laptop {
806
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf109;');
807
+ }
808
+ .icon-tablet {
809
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10a;');
810
+ }
811
+ .icon-mobile-phone {
812
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10b;');
813
+ }
814
+ .icon-circle-blank {
815
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10c;');
816
+ }
817
+ .icon-quote-left {
818
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10d;');
819
+ }
820
+ .icon-quote-right {
821
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10e;');
822
+ }
823
+ .icon-spinner {
824
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf110;');
825
+ }
826
+ .icon-circle {
827
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf111;');
828
+ }
829
+ .icon-reply {
830
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf112;');
831
+ }
832
+ .icon-mail-reply {
833
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf112;');
834
+ }
835
+ .icon-github-alt {
836
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf113;');
837
+ }
838
+ .icon-folder-close-alt {
839
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf114;');
840
+ }
841
+ .icon-folder-open-alt {
842
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf115;');
843
+ }
844
+ .icon-expand-alt {
845
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf116;');
846
+ }
847
+ .icon-collapse-alt {
848
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf117;');
849
+ }
850
+ .icon-smile {
851
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf118;');
852
+ }
853
+ .icon-frown {
854
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf119;');
855
+ }
856
+ .icon-meh {
857
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11a;');
858
+ }
859
+ .icon-gamepad {
860
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11b;');
861
+ }
862
+ .icon-keyboard {
863
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11c;');
864
+ }
865
+ .icon-flag-alt {
866
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11d;');
867
+ }
868
+ .icon-flag-checkered {
869
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11e;');
870
+ }
871
+ .icon-terminal {
872
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf120;');
873
+ }
874
+ .icon-code {
875
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf121;');
876
+ }
877
+ .icon-reply-all {
878
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');
879
+ }
880
+ .icon-mail-reply-all {
881
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');
882
+ }
883
+ .icon-star-half-empty {
884
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf123;');
885
+ }
886
+ .icon-star-half-full {
887
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf123;');
888
+ }
889
+ .icon-location-arrow {
890
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf124;');
891
+ }
892
+ .icon-crop {
893
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf125;');
894
+ }
895
+ .icon-code-fork {
896
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf126;');
897
+ }
898
+ .icon-unlink {
899
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');
900
+ }
901
+ .icon-question {
902
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf128;');
903
+ }
904
+ .icon-info {
905
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf129;');
906
+ }
907
+ .icon-exclamation {
908
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12a;');
909
+ }
910
+ .icon-superscript {
911
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12b;');
912
+ }
913
+ .icon-subscript {
914
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12c;');
915
+ }
916
+ .icon-eraser {
917
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12d;');
918
+ }
919
+ .icon-puzzle-piece {
920
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12e;');
921
+ }
922
+ .icon-microphone {
923
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf130;');
924
+ }
925
+ .icon-microphone-off {
926
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf131;');
927
+ }
928
+ .icon-shield {
929
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf132;');
930
+ }
931
+ .icon-calendar-empty {
932
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf133;');
933
+ }
934
+ .icon-fire-extinguisher {
935
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf134;');
936
+ }
937
+ .icon-rocket {
938
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf135;');
939
+ }
940
+ .icon-maxcdn {
941
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf136;');
942
+ }
943
+ .icon-chevron-sign-left {
944
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf137;');
945
+ }
946
+ .icon-chevron-sign-right {
947
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf138;');
948
+ }
949
+ .icon-chevron-sign-up {
950
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf139;');
951
+ }
952
+ .icon-chevron-sign-down {
953
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13a;');
954
+ }
955
+ .icon-html5 {
956
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13b;');
957
+ }
958
+ .icon-css3 {
959
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13c;');
960
+ }
961
+ .icon-anchor {
962
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13d;');
963
+ }
964
+ .icon-unlock-alt {
965
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13e;');
966
+ }
967
+ .icon-bullseye {
968
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf140;');
969
+ }
970
+ .icon-ellipsis-horizontal {
971
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf141;');
972
+ }
973
+ .icon-ellipsis-vertical {
974
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf142;');
975
+ }
976
+ .icon-rss-sign {
977
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf143;');
978
+ }
979
+ .icon-play-sign {
980
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf144;');
981
+ }
982
+ .icon-ticket {
983
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf145;');
984
+ }
985
+ .icon-minus-sign-alt {
986
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf146;');
987
+ }
988
+ .icon-check-minus {
989
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf147;');
990
+ }
991
+ .icon-level-up {
992
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf148;');
993
+ }
994
+ .icon-level-down {
995
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf149;');
996
+ }
997
+ .icon-check-sign {
998
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14a;');
999
+ }
1000
+ .icon-edit-sign {
1001
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14b;');
1002
+ }
1003
+ .icon-external-link-sign {
1004
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14c;');
1005
+ }
1006
+ .icon-share-sign {
1007
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14d;');
1008
+ }
1009
+ .icon-compass {
1010
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14e;');
1011
+ }
1012
+ .icon-collapse {
1013
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf150;');
1014
+ }
1015
+ .icon-collapse-top {
1016
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf151;');
1017
+ }
1018
+ .icon-expand {
1019
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf152;');
1020
+ }
1021
+ .icon-eur {
1022
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf153;');
1023
+ }
1024
+ .icon-euro {
1025
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf153;');
1026
+ }
1027
+ .icon-gbp {
1028
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf154;');
1029
+ }
1030
+ .icon-usd {
1031
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf155;');
1032
+ }
1033
+ .icon-dollar {
1034
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf155;');
1035
+ }
1036
+ .icon-inr {
1037
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf156;');
1038
+ }
1039
+ .icon-rupee {
1040
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf156;');
1041
+ }
1042
+ .icon-jpy {
1043
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf157;');
1044
+ }
1045
+ .icon-yen {
1046
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf157;');
1047
+ }
1048
+ .icon-cny {
1049
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf158;');
1050
+ }
1051
+ .icon-renminbi {
1052
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf158;');
1053
+ }
1054
+ .icon-krw {
1055
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf159;');
1056
+ }
1057
+ .icon-won {
1058
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf159;');
1059
+ }
1060
+ .icon-btc {
1061
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15a;');
1062
+ }
1063
+ .icon-bitcoin {
1064
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15a;');
1065
+ }
1066
+ .icon-file {
1067
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15b;');
1068
+ }
1069
+ .icon-file-text {
1070
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15c;');
1071
+ }
1072
+ .icon-sort-by-alphabet {
1073
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15d;');
1074
+ }
1075
+ .icon-sort-by-alphabet-alt {
1076
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15e;');
1077
+ }
1078
+ .icon-sort-by-attributes {
1079
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf160;');
1080
+ }
1081
+ .icon-sort-by-attributes-alt {
1082
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf161;');
1083
+ }
1084
+ .icon-sort-by-order {
1085
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf162;');
1086
+ }
1087
+ .icon-sort-by-order-alt {
1088
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf163;');
1089
+ }
1090
+ .icon-thumbs-up {
1091
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf164;');
1092
+ }
1093
+ .icon-thumbs-down {
1094
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf165;');
1095
+ }
1096
+ .icon-youtube-sign {
1097
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf166;');
1098
+ }
1099
+ .icon-youtube {
1100
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf167;');
1101
+ }
1102
+ .icon-xing {
1103
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf168;');
1104
+ }
1105
+ .icon-xing-sign {
1106
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf169;');
1107
+ }
1108
+ .icon-youtube-play {
1109
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16a;');
1110
+ }
1111
+ .icon-dropbox {
1112
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16b;');
1113
+ }
1114
+ .icon-stackexchange {
1115
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16c;');
1116
+ }
1117
+ .icon-instagram {
1118
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16d;');
1119
+ }
1120
+ .icon-flickr {
1121
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16e;');
1122
+ }
1123
+ .icon-adn {
1124
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf170;');
1125
+ }
1126
+ .icon-bitbucket {
1127
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf171;');
1128
+ }
1129
+ .icon-bitbucket-sign {
1130
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf172;');
1131
+ }
1132
+ .icon-tumblr {
1133
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf173;');
1134
+ }
1135
+ .icon-tumblr-sign {
1136
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf174;');
1137
+ }
1138
+ .icon-long-arrow-down {
1139
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf175;');
1140
+ }
1141
+ .icon-long-arrow-up {
1142
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf176;');
1143
+ }
1144
+ .icon-long-arrow-left {
1145
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf177;');
1146
+ }
1147
+ .icon-long-arrow-right {
1148
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf178;');
1149
+ }
1150
+ .icon-apple {
1151
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf179;');
1152
+ }
1153
+ .icon-windows {
1154
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17a;');
1155
+ }
1156
+ .icon-android {
1157
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17b;');
1158
+ }
1159
+ .icon-linux {
1160
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17c;');
1161
+ }
1162
+ .icon-dribbble {
1163
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17d;');
1164
+ }
1165
+ .icon-skype {
1166
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17e;');
1167
+ }
1168
+ .icon-foursquare {
1169
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf180;');
1170
+ }
1171
+ .icon-trello {
1172
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf181;');
1173
+ }
1174
+ .icon-female {
1175
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf182;');
1176
+ }
1177
+ .icon-male {
1178
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf183;');
1179
+ }
1180
+ .icon-gittip {
1181
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf184;');
1182
+ }
1183
+ .icon-sun {
1184
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf185;');
1185
+ }
1186
+ .icon-moon {
1187
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf186;');
1188
+ }
1189
+ .icon-archive {
1190
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf187;');
1191
+ }
1192
+ .icon-bug {
1193
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');
1194
+ }
1195
+ .icon-vk {
1196
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf189;');
1197
+ }
1198
+ .icon-weibo {
1199
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf18a;');
1200
+ }
1201
+ .icon-renren {
1202
+ *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf18b;');
1203
+ }
src/cyclone-slider/libs/font-awesome/css/font-awesome-ie7.min.css ADDED
@@ -0,0 +1,384 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle;}
2
+ .nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%;}
3
+ .nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px;}
4
+ .btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit;}
5
+ .btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em;}
6
+ a [class^="icon-"],a [class*=" icon-"]{cursor:pointer;}
7
+ .icon-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf000;');}
8
+ .icon-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf001;');}
9
+ .icon-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
10
+ .icon-envelope-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf003;');}
11
+ .icon-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf004;');}
12
+ .icon-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf005;');}
13
+ .icon-star-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf006;');}
14
+ .icon-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf007;');}
15
+ .icon-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf008;');}
16
+ .icon-th-large{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf009;');}
17
+ .icon-th{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00a;');}
18
+ .icon-th-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00b;');}
19
+ .icon-ok{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00c;');}
20
+ .icon-remove{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
21
+ .icon-zoom-in{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00e;');}
22
+ .icon-zoom-out{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf010;');}
23
+ .icon-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
24
+ .icon-power-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
25
+ .icon-signal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf012;');}
26
+ .icon-cog{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf013;');}
27
+ .icon-gear{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf013;');}
28
+ .icon-trash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf014;');}
29
+ .icon-home{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf015;');}
30
+ .icon-file-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf016;');}
31
+ .icon-time{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');}
32
+ .icon-road{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf018;');}
33
+ .icon-download-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');}
34
+ .icon-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01a;');}
35
+ .icon-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01b;');}
36
+ .icon-inbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01c;');}
37
+ .icon-play-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01d;');}
38
+ .icon-repeat{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01e;');}
39
+ .icon-rotate-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01e;');}
40
+ .icon-refresh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf021;');}
41
+ .icon-list-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf022;');}
42
+ .icon-lock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf023;');}
43
+ .icon-flag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf024;');}
44
+ .icon-headphones{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf025;');}
45
+ .icon-volume-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf026;');}
46
+ .icon-volume-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf027;');}
47
+ .icon-volume-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf028;');}
48
+ .icon-qrcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf029;');}
49
+ .icon-barcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02a;');}
50
+ .icon-tag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02b;');}
51
+ .icon-tags{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02c;');}
52
+ .icon-book{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02d;');}
53
+ .icon-bookmark{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02e;');}
54
+ .icon-print{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02f;');}
55
+ .icon-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf030;');}
56
+ .icon-font{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf031;');}
57
+ .icon-bold{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf032;');}
58
+ .icon-italic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf033;');}
59
+ .icon-text-height{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf034;');}
60
+ .icon-text-width{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf035;');}
61
+ .icon-align-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf036;');}
62
+ .icon-align-center{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf037;');}
63
+ .icon-align-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf038;');}
64
+ .icon-align-justify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf039;');}
65
+ .icon-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03a;');}
66
+ .icon-indent-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03b;');}
67
+ .icon-indent-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03c;');}
68
+ .icon-facetime-video{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03d;');}
69
+ .icon-picture{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03e;');}
70
+ .icon-pencil{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');}
71
+ .icon-map-marker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf041;');}
72
+ .icon-adjust{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf042;');}
73
+ .icon-tint{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf043;');}
74
+ .icon-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf044;');}
75
+ .icon-share{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf045;');}
76
+ .icon-check{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf046;');}
77
+ .icon-move{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf047;');}
78
+ .icon-step-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf048;');}
79
+ .icon-fast-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf049;');}
80
+ .icon-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04a;');}
81
+ .icon-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
82
+ .icon-pause{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04c;');}
83
+ .icon-stop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04d;');}
84
+ .icon-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04e;');}
85
+ .icon-fast-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf050;');}
86
+ .icon-step-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf051;');}
87
+ .icon-eject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf052;');}
88
+ .icon-chevron-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf053;');}
89
+ .icon-chevron-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf054;');}
90
+ .icon-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
91
+ .icon-minus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf056;');}
92
+ .icon-remove-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf057;');}
93
+ .icon-ok-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
94
+ .icon-question-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf059;');}
95
+ .icon-info-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05a;');}
96
+ .icon-screenshot{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05b;');}
97
+ .icon-remove-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05c;');}
98
+ .icon-ok-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05d;');}
99
+ .icon-ban-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05e;');}
100
+ .icon-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf060;');}
101
+ .icon-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf061;');}
102
+ .icon-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf062;');}
103
+ .icon-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf063;');}
104
+ .icon-share-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');}
105
+ .icon-mail-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');}
106
+ .icon-resize-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf065;');}
107
+ .icon-resize-small{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf066;');}
108
+ .icon-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
109
+ .icon-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf068;');}
110
+ .icon-asterisk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf069;');}
111
+ .icon-exclamation-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06a;');}
112
+ .icon-gift{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06b;');}
113
+ .icon-leaf{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06c;');}
114
+ .icon-fire{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06d;');}
115
+ .icon-eye-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06e;');}
116
+ .icon-eye-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf070;');}
117
+ .icon-warning-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf071;');}
118
+ .icon-plane{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf072;');}
119
+ .icon-calendar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf073;');}
120
+ .icon-random{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf074;');}
121
+ .icon-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf075;');}
122
+ .icon-magnet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf076;');}
123
+ .icon-chevron-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf077;');}
124
+ .icon-chevron-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf078;');}
125
+ .icon-retweet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf079;');}
126
+ .icon-shopping-cart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07a;');}
127
+ .icon-folder-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07b;');}
128
+ .icon-folder-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07c;');}
129
+ .icon-resize-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07d;');}
130
+ .icon-resize-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07e;');}
131
+ .icon-bar-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf080;');}
132
+ .icon-twitter-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf081;');}
133
+ .icon-facebook-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf082;');}
134
+ .icon-camera-retro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf083;');}
135
+ .icon-key{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf084;');}
136
+ .icon-cogs{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
137
+ .icon-gears{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
138
+ .icon-comments{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf086;');}
139
+ .icon-thumbs-up-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf087;');}
140
+ .icon-thumbs-down-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf088;');}
141
+ .icon-star-half{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf089;');}
142
+ .icon-heart-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08a;');}
143
+ .icon-signout{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08b;');}
144
+ .icon-linkedin-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08c;');}
145
+ .icon-pushpin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08d;');}
146
+ .icon-external-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08e;');}
147
+ .icon-signin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf090;');}
148
+ .icon-trophy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf091;');}
149
+ .icon-github-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf092;');}
150
+ .icon-upload-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');}
151
+ .icon-lemon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf094;');}
152
+ .icon-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf095;');}
153
+ .icon-check-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf096;');}
154
+ .icon-unchecked{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf096;');}
155
+ .icon-bookmark-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf097;');}
156
+ .icon-phone-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf098;');}
157
+ .icon-twitter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf099;');}
158
+ .icon-facebook{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09a;');}
159
+ .icon-github{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09b;');}
160
+ .icon-unlock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09c;');}
161
+ .icon-credit-card{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09d;');}
162
+ .icon-rss{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09e;');}
163
+ .icon-hdd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a0;');}
164
+ .icon-bullhorn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a1;');}
165
+ .icon-bell{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a2;');}
166
+ .icon-certificate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a3;');}
167
+ .icon-hand-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');}
168
+ .icon-hand-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a5;');}
169
+ .icon-hand-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a6;');}
170
+ .icon-hand-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a7;');}
171
+ .icon-circle-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a8;');}
172
+ .icon-circle-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a9;');}
173
+ .icon-circle-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0aa;');}
174
+ .icon-circle-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ab;');}
175
+ .icon-globe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ac;');}
176
+ .icon-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ad;');}
177
+ .icon-tasks{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ae;');}
178
+ .icon-filter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b0;');}
179
+ .icon-briefcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b1;');}
180
+ .icon-fullscreen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b2;');}
181
+ .icon-group{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c0;');}
182
+ .icon-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
183
+ .icon-cloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c2;');}
184
+ .icon-beaker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c3;');}
185
+ .icon-cut{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c4;');}
186
+ .icon-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c5;');}
187
+ .icon-paper-clip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c6;');}
188
+ .icon-paperclip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c6;');}
189
+ .icon-save{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c7;');}
190
+ .icon-sign-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c8;');}
191
+ .icon-reorder{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c9;');}
192
+ .icon-list-ul{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ca;');}
193
+ .icon-list-ol{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cb;');}
194
+ .icon-strikethrough{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cc;');}
195
+ .icon-underline{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cd;');}
196
+ .icon-table{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ce;');}
197
+ .icon-magic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d0;');}
198
+ .icon-truck{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d1;');}
199
+ .icon-pinterest{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d2;');}
200
+ .icon-pinterest-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d3;');}
201
+ .icon-google-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d4;');}
202
+ .icon-google-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d5;');}
203
+ .icon-money{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d6;');}
204
+ .icon-caret-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d7;');}
205
+ .icon-caret-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d8;');}
206
+ .icon-caret-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d9;');}
207
+ .icon-caret-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0da;');}
208
+ .icon-columns{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0db;');}
209
+ .icon-sort{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dc;');}
210
+ .icon-sort-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dd;');}
211
+ .icon-sort-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0de;');}
212
+ .icon-envelope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e0;');}
213
+ .icon-linkedin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e1;');}
214
+ .icon-undo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e2;');}
215
+ .icon-rotate-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e2;');}
216
+ .icon-legal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e3;');}
217
+ .icon-dashboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e4;');}
218
+ .icon-comment-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e5;');}
219
+ .icon-comments-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e6;');}
220
+ .icon-bolt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e7;');}
221
+ .icon-sitemap{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e8;');}
222
+ .icon-umbrella{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e9;');}
223
+ .icon-paste{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ea;');}
224
+ .icon-lightbulb{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0eb;');}
225
+ .icon-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ec;');}
226
+ .icon-cloud-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ed;');}
227
+ .icon-cloud-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ee;');}
228
+ .icon-user-md{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f0;');}
229
+ .icon-stethoscope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f1;');}
230
+ .icon-suitcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f2;');}
231
+ .icon-bell-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f3;');}
232
+ .icon-coffee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f4;');}
233
+ .icon-food{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f5;');}
234
+ .icon-file-text-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f6;');}
235
+ .icon-building{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f7;');}
236
+ .icon-hospital{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f8;');}
237
+ .icon-ambulance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f9;');}
238
+ .icon-medkit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fa;');}
239
+ .icon-fighter-jet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fb;');}
240
+ .icon-beer{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fc;');}
241
+ .icon-h-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fd;');}
242
+ .icon-plus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fe;');}
243
+ .icon-double-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf100;');}
244
+ .icon-double-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf101;');}
245
+ .icon-double-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf102;');}
246
+ .icon-double-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf103;');}
247
+ .icon-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf104;');}
248
+ .icon-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf105;');}
249
+ .icon-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf106;');}
250
+ .icon-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf107;');}
251
+ .icon-desktop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf108;');}
252
+ .icon-laptop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf109;');}
253
+ .icon-tablet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10a;');}
254
+ .icon-mobile-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10b;');}
255
+ .icon-circle-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10c;');}
256
+ .icon-quote-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10d;');}
257
+ .icon-quote-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10e;');}
258
+ .icon-spinner{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf110;');}
259
+ .icon-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf111;');}
260
+ .icon-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf112;');}
261
+ .icon-mail-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf112;');}
262
+ .icon-github-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf113;');}
263
+ .icon-folder-close-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf114;');}
264
+ .icon-folder-open-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf115;');}
265
+ .icon-expand-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf116;');}
266
+ .icon-collapse-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf117;');}
267
+ .icon-smile{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf118;');}
268
+ .icon-frown{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf119;');}
269
+ .icon-meh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11a;');}
270
+ .icon-gamepad{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11b;');}
271
+ .icon-keyboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11c;');}
272
+ .icon-flag-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11d;');}
273
+ .icon-flag-checkered{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11e;');}
274
+ .icon-terminal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf120;');}
275
+ .icon-code{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf121;');}
276
+ .icon-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');}
277
+ .icon-mail-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');}
278
+ .icon-star-half-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf123;');}
279
+ .icon-star-half-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf123;');}
280
+ .icon-location-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf124;');}
281
+ .icon-crop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf125;');}
282
+ .icon-code-fork{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf126;');}
283
+ .icon-unlink{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');}
284
+ .icon-question{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf128;');}
285
+ .icon-info{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf129;');}
286
+ .icon-exclamation{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12a;');}
287
+ .icon-superscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12b;');}
288
+ .icon-subscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12c;');}
289
+ .icon-eraser{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12d;');}
290
+ .icon-puzzle-piece{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12e;');}
291
+ .icon-microphone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf130;');}
292
+ .icon-microphone-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf131;');}
293
+ .icon-shield{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf132;');}
294
+ .icon-calendar-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf133;');}
295
+ .icon-fire-extinguisher{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf134;');}
296
+ .icon-rocket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf135;');}
297
+ .icon-maxcdn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf136;');}
298
+ .icon-chevron-sign-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf137;');}
299
+ .icon-chevron-sign-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf138;');}
300
+ .icon-chevron-sign-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf139;');}
301
+ .icon-chevron-sign-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13a;');}
302
+ .icon-html5{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13b;');}
303
+ .icon-css3{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13c;');}
304
+ .icon-anchor{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13d;');}
305
+ .icon-unlock-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13e;');}
306
+ .icon-bullseye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf140;');}
307
+ .icon-ellipsis-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf141;');}
308
+ .icon-ellipsis-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf142;');}
309
+ .icon-rss-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf143;');}
310
+ .icon-play-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf144;');}
311
+ .icon-ticket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf145;');}
312
+ .icon-minus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf146;');}
313
+ .icon-check-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf147;');}
314
+ .icon-level-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf148;');}
315
+ .icon-level-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf149;');}
316
+ .icon-check-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14a;');}
317
+ .icon-edit-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14b;');}
318
+ .icon-external-link-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14c;');}
319
+ .icon-share-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14d;');}
320
+ .icon-compass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14e;');}
321
+ .icon-collapse{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf150;');}
322
+ .icon-collapse-top{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf151;');}
323
+ .icon-expand{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf152;');}
324
+ .icon-eur{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf153;');}
325
+ .icon-euro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf153;');}
326
+ .icon-gbp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf154;');}
327
+ .icon-usd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf155;');}
328
+ .icon-dollar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf155;');}
329
+ .icon-inr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf156;');}
330
+ .icon-rupee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf156;');}
331
+ .icon-jpy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf157;');}
332
+ .icon-yen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf157;');}
333
+ .icon-cny{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf158;');}
334
+ .icon-renminbi{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf158;');}
335
+ .icon-krw{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf159;');}
336
+ .icon-won{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf159;');}
337
+ .icon-btc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15a;');}
338
+ .icon-bitcoin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15a;');}
339
+ .icon-file{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15b;');}
340
+ .icon-file-text{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15c;');}
341
+ .icon-sort-by-alphabet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15d;');}
342
+ .icon-sort-by-alphabet-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf15e;');}
343
+ .icon-sort-by-attributes{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf160;');}
344
+ .icon-sort-by-attributes-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf161;');}
345
+ .icon-sort-by-order{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf162;');}
346
+ .icon-sort-by-order-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf163;');}
347
+ .icon-thumbs-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf164;');}
348
+ .icon-thumbs-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf165;');}
349
+ .icon-youtube-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf166;');}
350
+ .icon-youtube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf167;');}
351
+ .icon-xing{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf168;');}
352
+ .icon-xing-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf169;');}
353
+ .icon-youtube-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16a;');}
354
+ .icon-dropbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16b;');}
355
+ .icon-stackexchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16c;');}
356
+ .icon-instagram{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16d;');}
357
+ .icon-flickr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf16e;');}
358
+ .icon-adn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf170;');}
359
+ .icon-bitbucket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf171;');}
360
+ .icon-bitbucket-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf172;');}
361
+ .icon-tumblr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf173;');}
362
+ .icon-tumblr-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf174;');}
363
+ .icon-long-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf175;');}
364
+ .icon-long-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf176;');}
365
+ .icon-long-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf177;');}
366
+ .icon-long-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf178;');}
367
+ .icon-apple{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf179;');}
368
+ .icon-windows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17a;');}
369
+ .icon-android{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17b;');}
370
+ .icon-linux{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17c;');}
371
+ .icon-dribbble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17d;');}
372
+ .icon-skype{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf17e;');}
373
+ .icon-foursquare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf180;');}
374
+ .icon-trello{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf181;');}
375
+ .icon-female{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf182;');}
376
+ .icon-male{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf183;');}
377
+ .icon-gittip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf184;');}
378
+ .icon-sun{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf185;');}
379
+ .icon-moon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf186;');}
380
+ .icon-archive{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf187;');}
381
+ .icon-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
382
+ .icon-vk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf189;');}
383
+ .icon-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf18a;');}
384
+ .icon-renren{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf18b;');}
src/cyclone-slider/libs/font-awesome/css/font-awesome.css ADDED
@@ -0,0 +1,1479 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 3.2.1
3
+ * the iconic font designed for Bootstrap
4
+ * ------------------------------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation can be
6
+ * found at http://fontawesome.io. Stay up to date on Twitter at
7
+ * http://twitter.com/fontawesome.
8
+ *
9
+ * License
10
+ * ------------------------------------------------------------------------------
11
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
12
+ * http://scripts.sil.org/OFL
13
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
14
+ * http://opensource.org/licenses/mit-license.html
15
+ * - Font Awesome documentation licensed under CC BY 3.0 -
16
+ * http://creativecommons.org/licenses/by/3.0/
17
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
18
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
19
+ *
20
+ * Author - Dave Gandy
21
+ * ------------------------------------------------------------------------------
22
+ * Email: dave@fontawesome.io
23
+ * Twitter: http://twitter.com/davegandy
24
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
25
+ */
26
+ /* FONT PATH
27
+ * -------------------------- */
28
+ @font-face {
29
+ font-family: 'FontAwesome';
30
+ src: url('../font/fontawesome-webfont.eot?v=3.2.1');
31
+ src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
32
+ font-weight: normal;
33
+ font-style: normal;
34
+ }
35
+ /* FONT AWESOME CORE
36
+ * -------------------------- */
37
+ [class^="icon-"],
38
+ [class*=" icon-"] {
39
+ font-family: FontAwesome;
40
+ font-weight: normal;
41
+ font-style: normal;
42
+ text-decoration: inherit;
43
+ -webkit-font-smoothing: antialiased;
44
+ *margin-right: .3em;
45
+ }
46
+ [class^="icon-"]:before,
47
+ [class*=" icon-"]:before {
48
+ text-decoration: inherit;
49
+ display: inline-block;
50
+ speak: none;
51
+ }
52
+ /* makes the font 33% larger relative to the icon container */
53
+ .icon-large:before {
54
+ vertical-align: -10%;
55
+ font-size: 1.3333333333333333em;
56
+ }
57
+ /* makes sure icons active on rollover in links */
58
+ a [class^="icon-"],
59
+ a [class*=" icon-"] {
60
+ display: inline;
61
+ }
62
+ /* increased font size for icon-large */
63
+ [class^="icon-"].icon-fixed-width,
64
+ [class*=" icon-"].icon-fixed-width {
65
+ display: inline-block;
66
+ width: 1.1428571428571428em;
67
+ text-align: right;
68
+ padding-right: 0.2857142857142857em;
69
+ }
70
+ [class^="icon-"].icon-fixed-width.icon-large,
71
+ [class*=" icon-"].icon-fixed-width.icon-large {
72
+ width: 1.4285714285714286em;
73
+ }
74
+ .icons-ul {
75
+ margin-left: 2.142857142857143em;
76
+ list-style-type: none;
77
+ }
78
+ .icons-ul > li {
79
+ position: relative;
80
+ }
81
+ .icons-ul .icon-li {
82
+ position: absolute;
83
+ left: -2.142857142857143em;
84
+ width: 2.142857142857143em;
85
+ text-align: center;
86
+ line-height: inherit;
87
+ }
88
+ [class^="icon-"].hide,
89
+ [class*=" icon-"].hide {
90
+ display: none;
91
+ }
92
+ .icon-muted {
93
+ color: #eeeeee;
94
+ }
95
+ .icon-light {
96
+ color: #ffffff;
97
+ }
98
+ .icon-dark {
99
+ color: #333333;
100
+ }
101
+ .icon-border {
102
+ border: solid 1px #eeeeee;
103
+ padding: .2em .25em .15em;
104
+ -webkit-border-radius: 3px;
105
+ -moz-border-radius: 3px;
106
+ border-radius: 3px;
107
+ }
108
+ .icon-2x {
109
+ font-size: 2em;
110
+ }
111
+ .icon-2x.icon-border {
112
+ border-width: 2px;
113
+ -webkit-border-radius: 4px;
114
+ -moz-border-radius: 4px;
115
+ border-radius: 4px;
116
+ }
117
+ .icon-3x {
118
+ font-size: 3em;
119
+ }
120
+ .icon-3x.icon-border {
121
+ border-width: 3px;
122
+ -webkit-border-radius: 5px;
123
+ -moz-border-radius: 5px;
124
+ border-radius: 5px;
125
+ }
126
+ .icon-4x {
127
+ font-size: 4em;
128
+ }
129
+ .icon-4x.icon-border {
130
+ border-width: 4px;
131
+ -webkit-border-radius: 6px;
132
+ -moz-border-radius: 6px;
133
+ border-radius: 6px;
134
+ }
135
+ .icon-5x {
136
+ font-size: 5em;
137
+ }
138
+ .icon-5x.icon-border {
139
+ border-width: 5px;
140
+ -webkit-border-radius: 7px;
141
+ -moz-border-radius: 7px;
142
+ border-radius: 7px;
143
+ }
144
+ .pull-right {
145
+ float: right;
146
+ }
147
+ .pull-left {
148
+ float: left;
149
+ }
150
+ [class^="icon-"].pull-left,
151
+ [class*=" icon-"].pull-left {
152
+ margin-right: .3em;
153
+ }
154
+ [class^="icon-"].pull-right,
155
+ [class*=" icon-"].pull-right {
156
+ margin-left: .3em;
157
+ }
158
+ /* BOOTSTRAP SPECIFIC CLASSES
159
+ * -------------------------- */
160
+ /* Bootstrap 2.0 sprites.less reset */
161
+ [class^="icon-"],
162
+ [class*=" icon-"] {
163
+ display: inline;
164
+ width: auto;
165
+ height: auto;
166
+ line-height: normal;
167
+ vertical-align: baseline;
168
+ background-image: none;
169
+ background-position: 0% 0%;
170
+ background-repeat: repeat;
171
+ margin-top: 0;
172
+ }
173
+ /* more sprites.less reset */
174
+ .icon-white,
175
+ .nav-pills > .active > a > [class^="icon-"],
176
+ .nav-pills > .active > a > [class*=" icon-"],
177
+ .nav-list > .active > a > [class^="icon-"],
178
+ .nav-list > .active > a > [class*=" icon-"],
179
+ .navbar-inverse .nav > .active > a > [class^="icon-"],
180
+ .navbar-inverse .nav > .active > a > [class*=" icon-"],
181
+ .dropdown-menu > li > a:hover > [class^="icon-"],
182
+ .dropdown-menu > li > a:hover > [class*=" icon-"],
183
+ .dropdown-menu > .active > a > [class^="icon-"],
184
+ .dropdown-menu > .active > a > [class*=" icon-"],
185
+ .dropdown-submenu:hover > a > [class^="icon-"],
186
+ .dropdown-submenu:hover > a > [class*=" icon-"] {
187
+ background-image: none;
188
+ }
189
+ /* keeps Bootstrap styles with and without icons the same */
190
+ .btn [class^="icon-"].icon-large,
191
+ .nav [class^="icon-"].icon-large,
192
+ .btn [class*=" icon-"].icon-large,
193
+ .nav [class*=" icon-"].icon-large {
194
+ line-height: .9em;
195
+ }
196
+ .btn [class^="icon-"].icon-spin,
197
+ .nav [class^="icon-"].icon-spin,
198
+ .btn [class*=" icon-"].icon-spin,
199
+ .nav [class*=" icon-"].icon-spin {
200
+ display: inline-block;
201
+ }
202
+ .nav-tabs [class^="icon-"],
203
+ .nav-pills [class^="icon-"],
204
+ .nav-tabs [class*=" icon-"],
205
+ .nav-pills [class*=" icon-"],
206
+ .nav-tabs [class^="icon-"].icon-large,
207
+ .nav-pills [class^="icon-"].icon-large,
208
+ .nav-tabs [class*=" icon-"].icon-large,
209
+ .nav-pills [class*=" icon-"].icon-large {
210
+ line-height: .9em;
211
+ }
212
+ .btn [class^="icon-"].pull-left.icon-2x,
213
+ .btn [class*=" icon-"].pull-left.icon-2x,
214
+ .btn [class^="icon-"].pull-right.icon-2x,
215
+ .btn [class*=" icon-"].pull-right.icon-2x {
216
+ margin-top: .18em;
217
+ }
218
+ .btn [class^="icon-"].icon-spin.icon-large,
219
+ .btn [class*=" icon-"].icon-spin.icon-large {
220
+ line-height: .8em;
221
+ }
222
+ .btn.btn-small [class^="icon-"].pull-left.icon-2x,
223
+ .btn.btn-small [class*=" icon-"].pull-left.icon-2x,
224
+ .btn.btn-small [class^="icon-"].pull-right.icon-2x,
225
+ .btn.btn-small [class*=" icon-"].pull-right.icon-2x {
226
+ margin-top: .25em;
227
+ }
228
+ .btn.btn-large [class^="icon-"],
229
+ .btn.btn-large [class*=" icon-"] {
230
+ margin-top: 0;
231
+ }
232
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
233
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
234
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
235
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
236
+ margin-top: .05em;
237
+ }
238
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
239
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
240
+ margin-right: .2em;
241
+ }
242
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
243
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
244
+ margin-left: .2em;
245
+ }
246
+ /* Fixes alignment in nav lists */
247
+ .nav-list [class^="icon-"],
248
+ .nav-list [class*=" icon-"] {
249
+ line-height: inherit;
250
+ }
251
+ /* EXTRAS
252
+ * -------------------------- */
253
+ /* Stacked and layered icon */
254
+ .icon-stack {
255
+ position: relative;
256
+ display: inline-block;
257
+ width: 2em;
258
+ height: 2em;
259
+ line-height: 2em;
260
+ vertical-align: -35%;
261
+ }
262
+ .icon-stack [class^="icon-"],
263
+ .icon-stack [class*=" icon-"] {
264
+ display: block;
265
+ text-align: center;
266
+ position: absolute;
267
+ width: 100%;
268
+ height: 100%;
269
+ font-size: 1em;
270
+ line-height: inherit;
271
+ *line-height: 2em;
272
+ }
273
+ .icon-stack .icon-stack-base {
274
+ font-size: 2em;
275
+ *line-height: 1em;
276
+ }
277
+ /* Animated rotating icon */
278
+ .icon-spin {
279
+ display: inline-block;
280
+ -moz-animation: spin 2s infinite linear;
281
+ -o-animation: spin 2s infinite linear;
282
+ -webkit-animation: spin 2s infinite linear;
283
+ animation: spin 2s infinite linear;
284
+ }
285
+ /* Prevent stack and spinners from being taken inline when inside a link */
286
+ a .icon-stack,
287
+ a .icon-spin {
288
+ display: inline-block;
289
+ text-decoration: none;
290
+ }
291
+ @-moz-keyframes spin {
292
+ 0% {
293
+ -moz-transform: rotate(0deg);
294
+ }
295
+ 100% {
296
+ -moz-transform: rotate(359deg);
297
+ }
298
+ }
299
+ @-webkit-keyframes spin {
300
+ 0% {
301
+ -webkit-transform: rotate(0deg);
302
+ }
303
+ 100% {
304
+ -webkit-transform: rotate(359deg);
305
+ }
306
+ }
307
+ @-o-keyframes spin {
308
+ 0% {
309
+ -o-transform: rotate(0deg);
310
+ }
311
+ 100% {
312
+ -o-transform: rotate(359deg);
313
+ }
314
+ }
315
+ @-ms-keyframes spin {
316
+ 0% {
317
+ -ms-transform: rotate(0deg);
318
+ }
319
+ 100% {
320
+ -ms-transform: rotate(359deg);
321
+ }
322
+ }
323
+ @keyframes spin {
324
+ 0% {
325
+ transform: rotate(0deg);
326
+ }
327
+ 100% {
328
+ transform: rotate(359deg);
329
+ }
330
+ }
331
+ /* Icon rotations and mirroring */
332
+ .icon-rotate-90:before {
333
+ -webkit-transform: rotate(90deg);
334
+ -moz-transform: rotate(90deg);
335
+ -ms-transform: rotate(90deg);
336
+ -o-transform: rotate(90deg);
337
+ transform: rotate(90deg);
338
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
339
+ }
340
+ .icon-rotate-180:before {
341
+ -webkit-transform: rotate(180deg);
342
+ -moz-transform: rotate(180deg);
343
+ -ms-transform: rotate(180deg);
344
+ -o-transform: rotate(180deg);
345
+ transform: rotate(180deg);
346
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
347
+ }
348
+ .icon-rotate-270:before {
349
+ -webkit-transform: rotate(270deg);
350
+ -moz-transform: rotate(270deg);
351
+ -ms-transform: rotate(270deg);
352
+ -o-transform: rotate(270deg);
353
+ transform: rotate(270deg);
354
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
355
+ }
356
+ .icon-flip-horizontal:before {
357
+ -webkit-transform: scale(-1, 1);
358
+ -moz-transform: scale(-1, 1);
359
+ -ms-transform: scale(-1, 1);
360
+ -o-transform: scale(-1, 1);
361
+ transform: scale(-1, 1);
362
+ }
363
+ .icon-flip-vertical:before {
364
+ -webkit-transform: scale(1, -1);
365
+ -moz-transform: scale(1, -1);
366
+ -ms-transform: scale(1, -1);
367
+ -o-transform: scale(1, -1);
368
+ transform: scale(1, -1);
369
+ }
370
+ /* ensure rotation occurs inside anchor tags */
371
+ a .icon-rotate-90:before,
372
+ a .icon-rotate-180:before,
373
+ a .icon-rotate-270:before,
374
+ a .icon-flip-horizontal:before,
375
+ a .icon-flip-vertical:before {
376
+ display: inline-block;
377
+ }
378
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
379
+ readers do not read off random characters that represent icons */
380
+ .icon-glass:before {
381
+ content: "\f000";
382
+ }
383
+ .icon-music:before {
384
+ content: "\f001";
385
+ }
386
+ .icon-search:before {
387
+ content: "\f002";
388
+ }
389
+ .icon-envelope-alt:before {
390
+ content: "\f003";
391
+ }
392
+ .icon-heart:before {
393
+ content: "\f004";
394
+ }
395
+ .icon-star:before {
396
+ content: "\f005";
397
+ }
398
+ .icon-star-empty:before {
399
+ content: "\f006";
400
+ }
401
+ .icon-user:before {
402
+ content: "\f007";
403
+ }
404
+ .icon-film:before {
405
+ content: "\f008";
406
+ }
407
+ .icon-th-large:before {
408
+ content: "\f009";
409
+ }
410
+ .icon-th:before {
411
+ content: "\f00a";
412
+ }
413
+ .icon-th-list:before {
414
+ content: "\f00b";
415
+ }
416
+ .icon-ok:before {
417
+ content: "\f00c";
418
+ }
419
+ .icon-remove:before {
420
+ content: "\f00d";
421
+ }
422
+ .icon-zoom-in:before {
423
+ content: "\f00e";
424
+ }
425
+ .icon-zoom-out:before {
426
+ content: "\f010";
427
+ }
428
+ .icon-power-off:before,
429
+ .icon-off:before {
430
+ content: "\f011";
431
+ }
432
+ .icon-signal:before {
433
+ content: "\f012";
434
+ }
435
+ .icon-gear:before,
436
+ .icon-cog:before {
437
+ content: "\f013";
438
+ }
439
+ .icon-trash:before {
440
+ content: "\f014";
441
+ }
442
+ .icon-home:before {
443
+ content: "\f015";
444
+ }
445
+ .icon-file-alt:before {
446
+ content: "\f016";
447
+ }
448
+ .icon-time:before {
449
+ content: "\f017";
450
+ }
451
+ .icon-road:before {
452
+ content: "\f018";
453
+ }
454
+ .icon-download-alt:before {
455
+ content: "\f019";
456
+ }
457
+ .icon-download:before {
458
+ content: "\f01a";
459
+ }
460
+ .icon-upload:before {
461
+ content: "\f01b";
462
+ }
463
+ .icon-inbox:before {
464
+ content: "\f01c";
465
+ }
466
+ .icon-play-circle:before {
467
+ content: "\f01d";
468
+ }
469
+ .icon-rotate-right:before,
470
+ .icon-repeat:before {
471
+ content: "\f01e";
472
+ }
473
+ .icon-refresh:before {
474
+ content: "\f021";
475
+ }
476
+ .icon-list-alt:before {
477
+ content: "\f022";
478
+ }
479
+ .icon-lock:before {
480
+ content: "\f023";
481
+ }
482
+ .icon-flag:before {
483
+ content: "\f024";
484
+ }
485
+ .icon-headphones:before {
486
+ content: "\f025";
487
+ }
488
+ .icon-volume-off:before {
489
+ content: "\f026";
490
+ }
491
+ .icon-volume-down:before {
492
+ content: "\f027";
493
+ }
494
+ .icon-volume-up:before {
495
+ content: "\f028";
496
+ }
497
+ .icon-qrcode:before {
498
+ content: "\f029";
499
+ }
500
+ .icon-barcode:before {
501
+ content: "\f02a";
502
+ }
503
+ .icon-tag:before {
504
+ content: "\f02b";
505
+ }
506
+ .icon-tags:before {
507
+ content: "\f02c";
508
+ }
509
+ .icon-book:before {
510
+ content: "\f02d";
511
+ }
512
+ .icon-bookmark:before {
513
+ content: "\f02e";
514
+ }
515
+ .icon-print:before {
516
+ content: "\f02f";
517
+ }
518
+ .icon-camera:before {
519
+ content: "\f030";
520
+ }
521
+ .icon-font:before {
522
+ content: "\f031";
523
+ }
524
+ .icon-bold:before {
525
+ content: "\f032";
526
+ }
527
+ .icon-italic:before {
528
+ content: "\f033";
529
+ }
530
+ .icon-text-height:before {
531
+ content: "\f034";
532
+ }
533
+ .icon-text-width:before {
534
+ content: "\f035";
535
+ }
536
+ .icon-align-left:before {
537
+ content: "\f036";
538
+ }
539
+ .icon-align-center:before {
540
+ content: "\f037";
541
+ }
542
+ .icon-align-right:before {
543
+ content: "\f038";
544
+ }
545
+ .icon-align-justify:before {
546
+ content: "\f039";
547
+ }
548
+ .icon-list:before {
549
+ content: "\f03a";
550
+ }
551
+ .icon-indent-left:before {
552
+ content: "\f03b";
553
+ }
554
+ .icon-indent-right:before {
555
+ content: "\f03c";
556
+ }
557
+ .icon-facetime-video:before {
558
+ content: "\f03d";
559
+ }
560
+ .icon-picture:before {
561
+ content: "\f03e";
562
+ }
563
+ .icon-pencil:before {
564
+ content: "\f040";
565
+ }
566
+ .icon-map-marker:before {
567
+ content: "\f041";
568
+ }
569
+ .icon-adjust:before {
570
+ content: "\f042";
571
+ }
572
+ .icon-tint:before {
573
+ content: "\f043";
574
+ }
575
+ .icon-edit:before {
576
+ content: "\f044";
577
+ }
578
+ .icon-share:before {
579
+ content: "\f045";
580
+ }
581
+ .icon-check:before {
582
+ content: "\f046";
583
+ }
584
+ .icon-move:before {
585
+ content: "\f047";
586
+ }
587
+ .icon-step-backward:before {
588
+ content: "\f048";
589
+ }
590
+ .icon-fast-backward:before {
591
+ content: "\f049";
592
+ }
593
+ .icon-backward:before {
594
+ content: "\f04a";
595
+ }
596
+ .icon-play:before {
597
+ content: "\f04b";
598
+ }
599
+ .icon-pause:before {
600
+ content: "\f04c";
601
+ }
602
+ .icon-stop:before {
603
+ content: "\f04d";
604
+ }
605
+ .icon-forward:before {
606
+ content: "\f04e";
607
+ }
608
+ .icon-fast-forward:before {
609
+ content: "\f050";
610
+ }
611
+ .icon-step-forward:before {
612
+ content: "\f051";
613
+ }
614
+ .icon-eject:before {
615
+ content: "\f052";
616
+ }
617
+ .icon-chevron-left:before {
618
+ content: "\f053";
619
+ }
620
+ .icon-chevron-right:before {
621
+ content: "\f054";
622
+ }
623
+ .icon-plus-sign:before {
624
+ content: "\f055";
625
+ }
626
+ .icon-minus-sign:before {
627
+ content: "\f056";
628
+ }
629
+ .icon-remove-sign:before {
630
+ content: "\f057";
631
+ }
632
+ .icon-ok-sign:before {
633
+ content: "\f058";
634
+ }
635
+ .icon-question-sign:before {
636
+ content: "\f059";
637
+ }
638
+ .icon-info-sign:before {
639
+ content: "\f05a";
640
+ }
641
+ .icon-screenshot:before {
642
+ content: "\f05b";
643
+ }
644
+ .icon-remove-circle:before {
645
+ content: "\f05c";
646
+ }
647
+ .icon-ok-circle:before {
648
+ content: "\f05d";
649
+ }
650
+ .icon-ban-circle:before {
651
+ content: "\f05e";
652
+ }
653
+ .icon-arrow-left:before {
654
+ content: "\f060";
655
+ }
656
+ .icon-arrow-right:before {
657
+ content: "\f061";
658
+ }
659
+ .icon-arrow-up:before {
660
+ content: "\f062";
661
+ }
662
+ .icon-arrow-down:before {
663
+ content: "\f063";
664
+ }
665
+ .icon-mail-forward:before,
666
+ .icon-share-alt:before {
667
+ content: "\f064";
668
+ }
669
+ .icon-resize-full:before {
670
+ content: "\f065";
671
+ }
672
+ .icon-resize-small:before {
673
+ content: "\f066";
674
+ }
675
+ .icon-plus:before {
676
+ content: "\f067";
677
+ }
678
+ .icon-minus:before {
679
+ content: "\f068";
680
+ }
681
+ .icon-asterisk:before {
682
+ content: "\f069";
683
+ }
684
+ .icon-exclamation-sign:before {
685
+ content: "\f06a";
686
+ }
687
+ .icon-gift:before {
688
+ content: "\f06b";
689
+ }
690
+ .icon-leaf:before {
691
+ content: "\f06c";
692
+ }
693
+ .icon-fire:before {
694
+ content: "\f06d";
695
+ }
696
+ .icon-eye-open:before {
697
+ content: "\f06e";
698
+ }
699
+ .icon-eye-close:before {
700
+ content: "\f070";
701
+ }
702
+ .icon-warning-sign:before {
703
+ content: "\f071";
704
+ }
705
+ .icon-plane:before {
706
+ content: "\f072";
707
+ }
708
+ .icon-calendar:before {
709
+ content: "\f073";
710
+ }
711
+ .icon-random:before {
712
+ content: "\f074";
713
+ }
714
+ .icon-comment:before {
715
+ content: "\f075";
716
+ }
717
+ .icon-magnet:before {
718
+ content: "\f076";
719
+ }
720
+ .icon-chevron-up:before {
721
+ content: "\f077";
722
+ }
723
+ .icon-chevron-down:before {
724
+ content: "\f078";
725
+ }
726
+ .icon-retweet:before {
727
+ content: "\f079";
728
+ }
729
+ .icon-shopping-cart:before {
730
+ content: "\f07a";
731
+ }
732
+ .icon-folder-close:before {
733
+ content: "\f07b";
734
+ }
735
+ .icon-folder-open:before {
736
+ content: "\f07c";
737
+ }
738
+ .icon-resize-vertical:before {
739
+ content: "\f07d";
740
+ }
741
+ .icon-resize-horizontal:before {
742
+ content: "\f07e";
743
+ }
744
+ .icon-bar-chart:before {
745
+ content: "\f080";
746
+ }
747
+ .icon-twitter-sign:before {
748
+ content: "\f081";
749
+ }
750
+ .icon-facebook-sign:before {
751
+ content: "\f082";
752
+ }
753
+ .icon-camera-retro:before {
754
+ content: "\f083";
755
+ }
756
+ .icon-key:before {
757
+ content: "\f084";
758
+ }
759
+ .icon-gears:before,
760
+ .icon-cogs:before {
761
+ content: "\f085";
762
+ }
763
+ .icon-comments:before {
764
+ content: "\f086";
765
+ }
766
+ .icon-thumbs-up-alt:before {
767
+ content: "\f087";
768
+ }
769
+ .icon-thumbs-down-alt:before {
770
+ content: "\f088";
771
+ }
772
+ .icon-star-half:before {
773
+ content: "\f089";
774
+ }
775
+ .icon-heart-empty:before {
776
+ content: "\f08a";
777
+ }
778
+ .icon-signout:before {
779
+ content: "\f08b";
780
+ }
781
+ .icon-linkedin-sign:before {
782
+ content: "\f08c";
783
+ }
784
+ .icon-pushpin:before {
785
+ content: "\f08d";
786
+ }
787
+ .icon-external-link:before {
788
+ content: "\f08e";
789
+ }
790
+ .icon-signin:before {
791
+ content: "\f090";
792
+ }
793
+ .icon-trophy:before {
794
+ content: "\f091";
795
+ }
796
+ .icon-github-sign:before {
797
+ content: "\f092";
798
+ }
799
+ .icon-upload-alt:before {
800
+ content: "\f093";
801
+ }
802
+ .icon-lemon:before {
803
+ content: "\f094";
804
+ }
805
+ .icon-phone:before {
806
+ content: "\f095";
807
+ }
808
+ .icon-unchecked:before,
809
+ .icon-check-empty:before {
810
+ content: "\f096";
811
+ }
812
+ .icon-bookmark-empty:before {
813
+ content: "\f097";
814
+ }
815
+ .icon-phone-sign:before {
816
+ content: "\f098";
817
+ }
818
+ .icon-twitter:before {
819
+ content: "\f099";
820
+ }
821
+ .icon-facebook:before {
822
+ content: "\f09a";
823
+ }
824
+ .icon-github:before {
825
+ content: "\f09b";
826
+ }
827
+ .icon-unlock:before {
828
+ content: "\f09c";
829
+ }
830
+ .icon-credit-card:before {
831
+ content: "\f09d";
832
+ }
833
+ .icon-rss:before {
834
+ content: "\f09e";
835
+ }
836
+ .icon-hdd:before {
837
+ content: "\f0a0";
838
+ }
839
+ .icon-bullhorn:before {
840
+ content: "\f0a1";
841
+ }
842
+ .icon-bell:before {
843
+ content: "\f0a2";
844
+ }
845
+ .icon-certificate:before {
846
+ content: "\f0a3";
847
+ }
848
+ .icon-hand-right:before {
849
+ content: "\f0a4";
850
+ }
851
+ .icon-hand-left:before {
852
+ content: "\f0a5";
853
+ }
854
+ .icon-hand-up:before {
855
+ content: "\f0a6";
856
+ }
857
+ .icon-hand-down:before {
858
+ content: "\f0a7";
859
+ }
860
+ .icon-circle-arrow-left:before {
861
+ content: "\f0a8";
862
+ }
863
+ .icon-circle-arrow-right:before {
864
+ content: "\f0a9";
865
+ }
866
+ .icon-circle-arrow-up:before {
867
+ content: "\f0aa";
868
+ }
869
+ .icon-circle-arrow-down:before {
870
+ content: "\f0ab";
871
+ }
872
+ .icon-globe:before {
873
+ content: "\f0ac";
874
+ }
875
+ .icon-wrench:before {
876
+ content: "\f0ad";
877
+ }
878
+ .icon-tasks:before {
879
+ content: "\f0ae";
880
+ }
881
+ .icon-filter:before {
882
+ content: "\f0b0";
883
+ }
884
+ .icon-briefcase:before {
885
+ content: "\f0b1";
886
+ }
887
+ .icon-fullscreen:before {
888
+ content: "\f0b2";
889
+ }
890
+ .icon-group:before {
891
+ content: "\f0c0";
892
+ }
893
+ .icon-link:before {
894
+ content: "\f0c1";
895
+ }
896
+ .icon-cloud:before {
897
+ content: "\f0c2";
898
+ }
899
+ .icon-beaker:before {
900
+ content: "\f0c3";
901
+ }
902
+ .icon-cut:before {
903
+ content: "\f0c4";
904
+ }
905
+ .icon-copy:before {
906
+ content: "\f0c5";
907
+ }
908
+ .icon-paperclip:before,
909
+ .icon-paper-clip:before {
910
+ content: "\f0c6";
911
+ }
912
+ .icon-save:before {
913
+ content: "\f0c7";
914
+ }
915
+ .icon-sign-blank:before {
916
+ content: "\f0c8";
917
+ }
918
+ .icon-reorder:before {
919
+ content: "\f0c9";
920
+ }
921
+ .icon-list-ul:before {
922
+ content: "\f0ca";
923
+ }
924
+ .icon-list-ol:before {
925
+ content: "\f0cb";
926
+ }
927
+ .icon-strikethrough:before {
928
+ content: "\f0cc";
929
+ }
930
+ .icon-underline:before {
931
+ content: "\f0cd";
932
+ }
933
+ .icon-table:before {
934
+ content: "\f0ce";
935
+ }
936
+ .icon-magic:before {
937
+ content: "\f0d0";
938
+ }
939
+ .icon-truck:before {
940
+ content: "\f0d1";
941
+ }
942
+ .icon-pinterest:before {
943
+ content: "\f0d2";
944
+ }
945
+ .icon-pinterest-sign:before {
946
+ content: "\f0d3";
947
+ }
948
+ .icon-google-plus-sign:before {
949
+ content: "\f0d4";
950
+ }
951
+ .icon-google-plus:before {
952
+ content: "\f0d5";
953
+ }
954
+ .icon-money:before {
955
+ content: "\f0d6";
956
+ }
957
+ .icon-caret-down:before {
958
+ content: "\f0d7";
959
+ }
960
+ .icon-caret-up:before {
961
+ content: "\f0d8";
962
+ }
963
+ .icon-caret-left:before {
964
+ content: "\f0d9";
965
+ }
966
+ .icon-caret-right:before {
967
+ content: "\f0da";
968
+ }
969
+ .icon-columns:before {
970
+ content: "\f0db";
971
+ }
972
+ .icon-sort:before {
973
+ content: "\f0dc";
974
+ }
975
+ .icon-sort-down:before {
976
+ content: "\f0dd";
977
+ }
978
+ .icon-sort-up:before {
979
+ content: "\f0de";
980
+ }
981
+ .icon-envelope:before {
982
+ content: "\f0e0";
983
+ }
984
+ .icon-linkedin:before {
985
+ content: "\f0e1";
986
+ }
987
+ .icon-rotate-left:before,
988
+ .icon-undo:before {
989
+ content: "\f0e2";
990
+ }
991
+ .icon-legal:before {
992
+ content: "\f0e3";
993
+ }
994
+ .icon-dashboard:before {
995
+ content: "\f0e4";
996
+ }
997
+ .icon-comment-alt:before {
998
+ content: "\f0e5";
999
+ }
1000
+ .icon-comments-alt:before {
1001
+ content: "\f0e6";
1002
+ }
1003
+ .icon-bolt:before {
1004
+ content: "\f0e7";
1005
+ }
1006
+ .icon-sitemap:before {
1007
+ content: "\f0e8";
1008
+ }
1009
+ .icon-umbrella:before {
1010
+ content: "\f0e9";
1011
+ }
1012
+ .icon-paste:before {
1013
+ content: "\f0ea";
1014
+ }
1015
+ .icon-lightbulb:before {
1016
+ content: "\f0eb";
1017
+ }
1018
+ .icon-exchange:before {
1019
+ content: "\f0ec";
1020
+ }
1021
+ .icon-cloud-download:before {
1022
+ content: "\f0ed";
1023
+ }
1024
+ .icon-cloud-upload:before {
1025
+ content: "\f0ee";
1026
+ }
1027
+ .icon-user-md:before {
1028
+ content: "\f0f0";
1029
+ }
1030
+ .icon-stethoscope:before {
1031
+ content: "\f0f1";
1032
+ }
1033
+ .icon-suitcase:before {
1034
+ content: "\f0f2";
1035
+ }
1036
+ .icon-bell-alt:before {
1037
+ content: "\f0f3";
1038
+ }
1039
+ .icon-coffee:before {
1040
+ content: "\f0f4";
1041
+ }
1042
+ .icon-food:before {
1043
+ content: "\f0f5";
1044
+ }
1045
+ .icon-file-text-alt:before {
1046
+ content: "\f0f6";
1047
+ }
1048
+ .icon-building:before {
1049
+ content: "\f0f7";
1050
+ }
1051
+ .icon-hospital:before {
1052
+ content: "\f0f8";
1053
+ }
1054
+ .icon-ambulance:before {
1055
+ content: "\f0f9";
1056
+ }
1057
+ .icon-medkit:before {
1058
+ content: "\f0fa";
1059
+ }
1060
+ .icon-fighter-jet:before {
1061
+ content: "\f0fb";
1062
+ }
1063
+ .icon-beer:before {
1064
+ content: "\f0fc";
1065
+ }
1066
+ .icon-h-sign:before {
1067
+ content: "\f0fd";
1068
+ }
1069
+ .icon-plus-sign-alt:before {
1070
+ content: "\f0fe";
1071
+ }
1072
+ .icon-double-angle-left:before {
1073
+ content: "\f100";
1074
+ }
1075
+ .icon-double-angle-right:before {
1076
+ content: "\f101";
1077
+ }
1078
+ .icon-double-angle-up:before {
1079
+ content: "\f102";
1080
+ }
1081
+ .icon-double-angle-down:before {
1082
+ content: "\f103";
1083
+ }
1084
+ .icon-angle-left:before {
1085
+ content: "\f104";
1086
+ }
1087
+ .icon-angle-right:before {
1088
+ content: "\f105";
1089
+ }
1090
+ .icon-angle-up:before {
1091
+ content: "\f106";
1092
+ }
1093
+ .icon-angle-down:before {
1094
+ content: "\f107";
1095
+ }
1096
+ .icon-desktop:before {
1097
+ content: "\f108";
1098
+ }
1099
+ .icon-laptop:before {
1100
+ content: "\f109";
1101
+ }
1102
+ .icon-tablet:before {
1103
+ content: "\f10a";
1104
+ }
1105
+ .icon-mobile-phone:before {
1106
+ content: "\f10b";
1107
+ }
1108
+ .icon-circle-blank:before {
1109
+ content: "\f10c";
1110
+ }
1111
+ .icon-quote-left:before {
1112
+ content: "\f10d";
1113
+ }
1114
+ .icon-quote-right:before {
1115
+ content: "\f10e";
1116
+ }
1117
+ .icon-spinner:before {
1118
+ content: "\f110";
1119
+ }
1120
+ .icon-circle:before {
1121
+ content: "\f111";
1122
+ }
1123
+ .icon-mail-reply:before,
1124
+ .icon-reply:before {
1125
+ content: "\f112";
1126
+ }
1127
+ .icon-github-alt:before {
1128
+ content: "\f113";
1129
+ }
1130
+ .icon-folder-close-alt:before {
1131
+ content: "\f114";
1132
+ }
1133
+ .icon-folder-open-alt:before {
1134
+ content: "\f115";
1135
+ }
1136
+ .icon-expand-alt:before {
1137
+ content: "\f116";
1138
+ }
1139
+ .icon-collapse-alt:before {
1140
+ content: "\f117";
1141
+ }
1142
+ .icon-smile:before {
1143
+ content: "\f118";
1144
+ }
1145
+ .icon-frown:before {
1146
+ content: "\f119";
1147
+ }
1148
+ .icon-meh:before {
1149
+ content: "\f11a";
1150
+ }
1151
+ .icon-gamepad:before {
1152
+ content: "\f11b";
1153
+ }
1154
+ .icon-keyboard:before {
1155
+ content: "\f11c";
1156
+ }
1157
+ .icon-flag-alt:before {
1158
+ content: "\f11d";
1159
+ }
1160
+ .icon-flag-checkered:before {
1161
+ content: "\f11e";
1162
+ }
1163
+ .icon-terminal:before {
1164
+ content: "\f120";
1165
+ }
1166
+ .icon-code:before {
1167
+ content: "\f121";
1168
+ }
1169
+ .icon-reply-all:before {
1170
+ content: "\f122";
1171
+ }
1172
+ .icon-mail-reply-all:before {
1173
+ content: "\f122";
1174
+ }
1175
+ .icon-star-half-full:before,
1176
+ .icon-star-half-empty:before {
1177
+ content: "\f123";
1178
+ }
1179
+ .icon-location-arrow:before {
1180
+ content: "\f124";
1181
+ }
1182
+ .icon-crop:before {
1183
+ content: "\f125";
1184
+ }
1185
+ .icon-code-fork:before {
1186
+ content: "\f126";
1187
+ }
1188
+ .icon-unlink:before {
1189
+ content: "\f127";
1190
+ }
1191
+ .icon-question:before {
1192
+ content: "\f128";
1193
+ }
1194
+ .icon-info:before {
1195
+ content: "\f129";
1196
+ }
1197
+ .icon-exclamation:before {
1198
+ content: "\f12a";
1199
+ }
1200
+ .icon-superscript:before {
1201
+ content: "\f12b";
1202
+ }
1203
+ .icon-subscript:before {
1204
+ content: "\f12c";
1205
+ }
1206
+ .icon-eraser:before {
1207
+ content: "\f12d";
1208
+ }
1209
+ .icon-puzzle-piece:before {
1210
+ content: "\f12e";
1211
+ }
1212
+ .icon-microphone:before {
1213
+ content: "\f130";
1214
+ }
1215
+ .icon-microphone-off:before {
1216
+ content: "\f131";
1217
+ }
1218
+ .icon-shield:before {
1219
+ content: "\f132";
1220
+ }
1221
+ .icon-calendar-empty:before {
1222
+ content: "\f133";
1223
+ }
1224
+ .icon-fire-extinguisher:before {
1225
+ content: "\f134";
1226
+ }
1227
+ .icon-rocket:before {
1228
+ content: "\f135";
1229
+ }
1230
+ .icon-maxcdn:before {
1231
+ content: "\f136";
1232
+ }
1233
+ .icon-chevron-sign-left:before {
1234
+ content: "\f137";
1235
+ }
1236
+ .icon-chevron-sign-right:before {
1237
+ content: "\f138";
1238
+ }
1239
+ .icon-chevron-sign-up:before {
1240
+ content: "\f139";
1241
+ }
1242
+ .icon-chevron-sign-down:before {
1243
+ content: "\f13a";
1244
+ }
1245
+ .icon-html5:before {
1246
+ content: "\f13b";
1247
+ }
1248
+ .icon-css3:before {
1249
+ content: "\f13c";
1250
+ }
1251
+ .icon-anchor:before {
1252
+ content: "\f13d";
1253
+ }
1254
+ .icon-unlock-alt:before {
1255
+ content: "\f13e";
1256
+ }
1257
+ .icon-bullseye:before {
1258
+ content: "\f140";
1259
+ }
1260
+ .icon-ellipsis-horizontal:before {
1261
+ content: "\f141";
1262
+ }
1263
+ .icon-ellipsis-vertical:before {
1264
+ content: "\f142";
1265
+ }
1266
+ .icon-rss-sign:before {
1267
+ content: "\f143";
1268
+ }
1269
+ .icon-play-sign:before {
1270
+ content: "\f144";
1271
+ }
1272
+ .icon-ticket:before {
1273
+ content: "\f145";
1274
+ }
1275
+ .icon-minus-sign-alt:before {
1276
+ content: "\f146";
1277
+ }
1278
+ .icon-check-minus:before {
1279
+ content: "\f147";
1280
+ }
1281
+ .icon-level-up:before {
1282
+ content: "\f148";
1283
+ }
1284
+ .icon-level-down:before {
1285
+ content: "\f149";
1286
+ }
1287
+ .icon-check-sign:before {
1288
+ content: "\f14a";
1289
+ }
1290
+ .icon-edit-sign:before {
1291
+ content: "\f14b";
1292
+ }
1293
+ .icon-external-link-sign:before {
1294
+ content: "\f14c";
1295
+ }
1296
+ .icon-share-sign:before {
1297
+ content: "\f14d";
1298
+ }
1299
+ .icon-compass:before {
1300
+ content: "\f14e";
1301
+ }
1302
+ .icon-collapse:before {
1303
+ content: "\f150";
1304
+ }
1305
+ .icon-collapse-top:before {
1306
+ content: "\f151";
1307
+ }
1308
+ .icon-expand:before {
1309
+ content: "\f152";
1310
+ }
1311
+ .icon-euro:before,
1312
+ .icon-eur:before {
1313
+ content: "\f153";
1314
+ }
1315
+ .icon-gbp:before {
1316
+ content: "\f154";
1317
+ }
1318
+ .icon-dollar:before,
1319
+ .icon-usd:before {
1320
+ content: "\f155";
1321
+ }
1322
+ .icon-rupee:before,
1323
+ .icon-inr:before {
1324
+ content: "\f156";
1325
+ }
1326
+ .icon-yen:before,
1327
+ .icon-jpy:before {
1328
+ content: "\f157";
1329
+ }
1330
+ .icon-renminbi:before,
1331
+ .icon-cny:before {
1332
+ content: "\f158";
1333
+ }
1334
+ .icon-won:before,
1335
+ .icon-krw:before {
1336
+ content: "\f159";
1337
+ }
1338
+ .icon-bitcoin:before,
1339
+ .icon-btc:before {
1340
+ content: "\f15a";
1341
+ }
1342
+ .icon-file:before {
1343
+ content: "\f15b";
1344
+ }
1345
+ .icon-file-text:before {
1346
+ content: "\f15c";
1347
+ }
1348
+ .icon-sort-by-alphabet:before {
1349
+ content: "\f15d";
1350
+ }
1351
+ .icon-sort-by-alphabet-alt:before {
1352
+ content: "\f15e";
1353
+ }
1354
+ .icon-sort-by-attributes:before {
1355
+ content: "\f160";
1356
+ }
1357
+ .icon-sort-by-attributes-alt:before {
1358
+ content: "\f161";
1359
+ }
1360
+ .icon-sort-by-order:before {
1361
+ content: "\f162";
1362
+ }
1363
+ .icon-sort-by-order-alt:before {
1364
+ content: "\f163";
1365
+ }
1366
+ .icon-thumbs-up:before {
1367
+ content: "\f164";
1368
+ }
1369
+ .icon-thumbs-down:before {
1370
+ content: "\f165";
1371
+ }
1372
+ .icon-youtube-sign:before {
1373
+ content: "\f166";
1374
+ }
1375
+ .icon-youtube:before {
1376
+ content: "\f167";
1377
+ }
1378
+ .icon-xing:before {
1379
+ content: "\f168";
1380
+ }
1381
+ .icon-xing-sign:before {
1382
+ content: "\f169";
1383
+ }
1384
+ .icon-youtube-play:before {
1385
+ content: "\f16a";
1386
+ }
1387
+ .icon-dropbox:before {
1388
+ content: "\f16b";
1389
+ }
1390
+ .icon-stackexchange:before {
1391
+ content: "\f16c";
1392
+ }
1393
+ .icon-instagram:before {
1394
+ content: "\f16d";
1395
+ }
1396
+ .icon-flickr:before {
1397
+ content: "\f16e";
1398
+ }
1399
+ .icon-adn:before {
1400
+ content: "\f170";
1401
+ }
1402
+ .icon-bitbucket:before {
1403
+ content: "\f171";
1404
+ }
1405
+ .icon-bitbucket-sign:before {
1406
+ content: "\f172";
1407
+ }
1408
+ .icon-tumblr:before {
1409
+ content: "\f173";
1410
+ }
1411
+ .icon-tumblr-sign:before {
1412
+ content: "\f174";
1413
+ }
1414
+ .icon-long-arrow-down:before {
1415
+ content: "\f175";
1416
+ }
1417
+ .icon-long-arrow-up:before {
1418
+ content: "\f176";
1419
+ }
1420
+ .icon-long-arrow-left:before {
1421
+ content: "\f177";
1422
+ }
1423
+ .icon-long-arrow-right:before {
1424
+ content: "\f178";
1425
+ }
1426
+ .icon-apple:before {
1427
+ content: "\f179";
1428
+ }
1429
+ .icon-windows:before {
1430
+ content: "\f17a";
1431
+ }
1432
+ .icon-android:before {
1433
+ content: "\f17b";
1434
+ }
1435
+ .icon-linux:before {
1436
+ content: "\f17c";
1437
+ }
1438
+ .icon-dribbble:before {
1439
+ content: "\f17d";
1440
+ }
1441
+ .icon-skype:before {
1442
+ content: "\f17e";
1443
+ }
1444
+ .icon-foursquare:before {
1445
+ content: "\f180";
1446
+ }
1447
+ .icon-trello:before {
1448
+ content: "\f181";
1449
+ }
1450
+ .icon-female:before {
1451
+ content: "\f182";
1452
+ }
1453
+ .icon-male:before {
1454
+ content: "\f183";
1455
+ }
1456
+ .icon-gittip:before {
1457
+ content: "\f184";
1458
+ }
1459
+ .icon-sun:before {
1460
+ content: "\f185";
1461
+ }
1462
+ .icon-moon:before {
1463
+ content: "\f186";
1464
+ }
1465
+ .icon-archive:before {
1466
+ content: "\f187";
1467
+ }
1468
+ .icon-bug:before {
1469
+ content: "\f188";
1470
+ }
1471
+ .icon-vk:before {
1472
+ content: "\f189";
1473
+ }
1474
+ .icon-weibo:before {
1475
+ content: "\f18a";
1476
+ }
1477
+ .icon-renren:before {
1478
+ content: "\f18b";
1479
+ }
src/cyclone-slider/libs/font-awesome/css/font-awesome.min.css ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
2
+ [class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;}
3
+ .icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
4
+ a [class^="icon-"],a [class*=" icon-"]{display:inline;}
5
+ [class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
6
+ .icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;}
7
+ .icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
8
+ [class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
9
+ .icon-muted{color:#eeeeee;}
10
+ .icon-light{color:#ffffff;}
11
+ .icon-dark{color:#333333;}
12
+ .icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
13
+ .icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
14
+ .icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
15
+ .icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
16
+ .icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
17
+ .pull-right{float:right;}
18
+ .pull-left{float:left;}
19
+ [class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
20
+ [class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
21
+ [class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
22
+ .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
23
+ .btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
24
+ .btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
25
+ .nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
26
+ .btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
27
+ .btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
28
+ .btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
29
+ .btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
30
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
31
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
32
+ .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;}
33
+ .icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
34
+ .icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
35
+ .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
36
+ a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;}
37
+ @-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
38
+ .icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
39
+ .icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
40
+ .icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
41
+ .icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
42
+ a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
43
+ .icon-glass:before{content:"\f000";}
44
+ .icon-music:before{content:"\f001";}
45
+ .icon-search:before{content:"\f002";}
46
+ .icon-envelope-alt:before{content:"\f003";}
47
+ .icon-heart:before{content:"\f004";}
48
+ .icon-star:before{content:"\f005";}
49
+ .icon-star-empty:before{content:"\f006";}
50
+ .icon-user:before{content:"\f007";}
51
+ .icon-film:before{content:"\f008";}
52
+ .icon-th-large:before{content:"\f009";}
53
+ .icon-th:before{content:"\f00a";}
54
+ .icon-th-list:before{content:"\f00b";}
55
+ .icon-ok:before{content:"\f00c";}
56
+ .icon-remove:before{content:"\f00d";}
57
+ .icon-zoom-in:before{content:"\f00e";}
58
+ .icon-zoom-out:before{content:"\f010";}
59
+ .icon-power-off:before,.icon-off:before{content:"\f011";}
60
+ .icon-signal:before{content:"\f012";}
61
+ .icon-gear:before,.icon-cog:before{content:"\f013";}
62
+ .icon-trash:before{content:"\f014";}
63
+ .icon-home:before{content:"\f015";}
64
+ .icon-file-alt:before{content:"\f016";}
65
+ .icon-time:before{content:"\f017";}
66
+ .icon-road:before{content:"\f018";}
67
+ .icon-download-alt:before{content:"\f019";}
68
+ .icon-download:before{content:"\f01a";}
69
+ .icon-upload:before{content:"\f01b";}
70
+ .icon-inbox:before{content:"\f01c";}
71
+ .icon-play-circle:before{content:"\f01d";}
72
+ .icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
73
+ .icon-refresh:before{content:"\f021";}
74
+ .icon-list-alt:before{content:"\f022";}
75
+ .icon-lock:before{content:"\f023";}
76
+ .icon-flag:before{content:"\f024";}
77
+ .icon-headphones:before{content:"\f025";}
78
+ .icon-volume-off:before{content:"\f026";}
79
+ .icon-volume-down:before{content:"\f027";}
80
+ .icon-volume-up:before{content:"\f028";}
81
+ .icon-qrcode:before{content:"\f029";}
82
+ .icon-barcode:before{content:"\f02a";}
83
+ .icon-tag:before{content:"\f02b";}
84
+ .icon-tags:before{content:"\f02c";}
85
+ .icon-book:before{content:"\f02d";}
86
+ .icon-bookmark:before{content:"\f02e";}
87
+ .icon-print:before{content:"\f02f";}
88
+ .icon-camera:before{content:"\f030";}
89
+ .icon-font:before{content:"\f031";}
90
+ .icon-bold:before{content:"\f032";}
91
+ .icon-italic:before{content:"\f033";}
92
+ .icon-text-height:before{content:"\f034";}
93
+ .icon-text-width:before{content:"\f035";}
94
+ .icon-align-left:before{content:"\f036";}
95
+ .icon-align-center:before{content:"\f037";}
96
+ .icon-align-right:before{content:"\f038";}
97
+ .icon-align-justify:before{content:"\f039";}
98
+ .icon-list:before{content:"\f03a";}
99
+ .icon-indent-left:before{content:"\f03b";}
100
+ .icon-indent-right:before{content:"\f03c";}
101
+ .icon-facetime-video:before{content:"\f03d";}
102
+ .icon-picture:before{content:"\f03e";}
103
+ .icon-pencil:before{content:"\f040";}
104
+ .icon-map-marker:before{content:"\f041";}
105
+ .icon-adjust:before{content:"\f042";}
106
+ .icon-tint:before{content:"\f043";}
107
+ .icon-edit:before{content:"\f044";}
108
+ .icon-share:before{content:"\f045";}
109
+ .icon-check:before{content:"\f046";}
110
+ .icon-move:before{content:"\f047";}
111
+ .icon-step-backward:before{content:"\f048";}
112
+ .icon-fast-backward:before{content:"\f049";}
113
+ .icon-backward:before{content:"\f04a";}
114
+ .icon-play:before{content:"\f04b";}
115
+ .icon-pause:before{content:"\f04c";}
116
+ .icon-stop:before{content:"\f04d";}
117
+ .icon-forward:before{content:"\f04e";}
118
+ .icon-fast-forward:before{content:"\f050";}
119
+ .icon-step-forward:before{content:"\f051";}
120
+ .icon-eject:before{content:"\f052";}
121
+ .icon-chevron-left:before{content:"\f053";}
122
+ .icon-chevron-right:before{content:"\f054";}
123
+ .icon-plus-sign:before{content:"\f055";}
124
+ .icon-minus-sign:before{content:"\f056";}
125
+ .icon-remove-sign:before{content:"\f057";}
126
+ .icon-ok-sign:before{content:"\f058";}
127
+ .icon-question-sign:before{content:"\f059";}
128
+ .icon-info-sign:before{content:"\f05a";}
129
+ .icon-screenshot:before{content:"\f05b";}
130
+ .icon-remove-circle:before{content:"\f05c";}
131
+ .icon-ok-circle:before{content:"\f05d";}
132
+ .icon-ban-circle:before{content:"\f05e";}
133
+ .icon-arrow-left:before{content:"\f060";}
134
+ .icon-arrow-right:before{content:"\f061";}
135
+ .icon-arrow-up:before{content:"\f062";}
136
+ .icon-arrow-down:before{content:"\f063";}
137
+ .icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
138
+ .icon-resize-full:before{content:"\f065";}
139
+ .icon-resize-small:before{content:"\f066";}
140
+ .icon-plus:before{content:"\f067";}
141
+ .icon-minus:before{content:"\f068";}
142
+ .icon-asterisk:before{content:"\f069";}
143
+ .icon-exclamation-sign:before{content:"\f06a";}
144
+ .icon-gift:before{content:"\f06b";}
145
+ .icon-leaf:before{content:"\f06c";}
146
+ .icon-fire:before{content:"\f06d";}
147
+ .icon-eye-open:before{content:"\f06e";}
148
+ .icon-eye-close:before{content:"\f070";}
149
+ .icon-warning-sign:before{content:"\f071";}
150
+ .icon-plane:before{content:"\f072";}
151
+ .icon-calendar:before{content:"\f073";}
152
+ .icon-random:before{content:"\f074";}
153
+ .icon-comment:before{content:"\f075";}
154
+ .icon-magnet:before{content:"\f076";}
155
+ .icon-chevron-up:before{content:"\f077";}
156
+ .icon-chevron-down:before{content:"\f078";}
157
+ .icon-retweet:before{content:"\f079";}
158
+ .icon-shopping-cart:before{content:"\f07a";}
159
+ .icon-folder-close:before{content:"\f07b";}
160
+ .icon-folder-open:before{content:"\f07c";}
161
+ .icon-resize-vertical:before{content:"\f07d";}
162
+ .icon-resize-horizontal:before{content:"\f07e";}
163
+ .icon-bar-chart:before{content:"\f080";}
164
+ .icon-twitter-sign:before{content:"\f081";}
165
+ .icon-facebook-sign:before{content:"\f082";}
166
+ .icon-camera-retro:before{content:"\f083";}
167
+ .icon-key:before{content:"\f084";}
168
+ .icon-gears:before,.icon-cogs:before{content:"\f085";}
169
+ .icon-comments:before{content:"\f086";}
170
+ .icon-thumbs-up-alt:before{content:"\f087";}
171
+ .icon-thumbs-down-alt:before{content:"\f088";}
172
+ .icon-star-half:before{content:"\f089";}
173
+ .icon-heart-empty:before{content:"\f08a";}
174
+ .icon-signout:before{content:"\f08b";}
175
+ .icon-linkedin-sign:before{content:"\f08c";}
176
+ .icon-pushpin:before{content:"\f08d";}
177
+ .icon-external-link:before{content:"\f08e";}
178
+ .icon-signin:before{content:"\f090";}
179
+ .icon-trophy:before{content:"\f091";}
180
+ .icon-github-sign:before{content:"\f092";}
181
+ .icon-upload-alt:before{content:"\f093";}
182
+ .icon-lemon:before{content:"\f094";}
183
+ .icon-phone:before{content:"\f095";}
184
+ .icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
185
+ .icon-bookmark-empty:before{content:"\f097";}
186
+ .icon-phone-sign:before{content:"\f098";}
187
+ .icon-twitter:before{content:"\f099";}
188
+ .icon-facebook:before{content:"\f09a";}
189
+ .icon-github:before{content:"\f09b";}
190
+ .icon-unlock:before{content:"\f09c";}
191
+ .icon-credit-card:before{content:"\f09d";}
192
+ .icon-rss:before{content:"\f09e";}
193
+ .icon-hdd:before{content:"\f0a0";}
194
+ .icon-bullhorn:before{content:"\f0a1";}
195
+ .icon-bell:before{content:"\f0a2";}
196
+ .icon-certificate:before{content:"\f0a3";}
197
+ .icon-hand-right:before{content:"\f0a4";}
198
+ .icon-hand-left:before{content:"\f0a5";}
199
+ .icon-hand-up:before{content:"\f0a6";}
200
+ .icon-hand-down:before{content:"\f0a7";}
201
+ .icon-circle-arrow-left:before{content:"\f0a8";}
202
+ .icon-circle-arrow-right:before{content:"\f0a9";}
203
+ .icon-circle-arrow-up:before{content:"\f0aa";}
204
+ .icon-circle-arrow-down:before{content:"\f0ab";}
205
+ .icon-globe:before{content:"\f0ac";}
206
+ .icon-wrench:before{content:"\f0ad";}
207
+ .icon-tasks:before{content:"\f0ae";}
208
+ .icon-filter:before{content:"\f0b0";}
209
+ .icon-briefcase:before{content:"\f0b1";}
210
+ .icon-fullscreen:before{content:"\f0b2";}
211
+ .icon-group:before{content:"\f0c0";}
212
+ .icon-link:before{content:"\f0c1";}
213
+ .icon-cloud:before{content:"\f0c2";}
214
+ .icon-beaker:before{content:"\f0c3";}
215
+ .icon-cut:before{content:"\f0c4";}
216
+ .icon-copy:before{content:"\f0c5";}
217
+ .icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
218
+ .icon-save:before{content:"\f0c7";}
219
+ .icon-sign-blank:before{content:"\f0c8";}
220
+ .icon-reorder:before{content:"\f0c9";}
221
+ .icon-list-ul:before{content:"\f0ca";}
222
+ .icon-list-ol:before{content:"\f0cb";}
223
+ .icon-strikethrough:before{content:"\f0cc";}
224
+ .icon-underline:before{content:"\f0cd";}
225
+ .icon-table:before{content:"\f0ce";}
226
+ .icon-magic:before{content:"\f0d0";}
227
+ .icon-truck:before{content:"\f0d1";}
228
+ .icon-pinterest:before{content:"\f0d2";}
229
+ .icon-pinterest-sign:before{content:"\f0d3";}
230
+ .icon-google-plus-sign:before{content:"\f0d4";}
231
+ .icon-google-plus:before{content:"\f0d5";}
232
+ .icon-money:before{content:"\f0d6";}
233
+ .icon-caret-down:before{content:"\f0d7";}
234
+ .icon-caret-up:before{content:"\f0d8";}
235
+ .icon-caret-left:before{content:"\f0d9";}
236
+ .icon-caret-right:before{content:"\f0da";}
237
+ .icon-columns:before{content:"\f0db";}
238
+ .icon-sort:before{content:"\f0dc";}
239
+ .icon-sort-down:before{content:"\f0dd";}
240
+ .icon-sort-up:before{content:"\f0de";}
241
+ .icon-envelope:before{content:"\f0e0";}
242
+ .icon-linkedin:before{content:"\f0e1";}
243
+ .icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
244
+ .icon-legal:before{content:"\f0e3";}
245
+ .icon-dashboard:before{content:"\f0e4";}
246
+ .icon-comment-alt:before{content:"\f0e5";}
247
+ .icon-comments-alt:before{content:"\f0e6";}
248
+ .icon-bolt:before{content:"\f0e7";}
249
+ .icon-sitemap:before{content:"\f0e8";}
250
+ .icon-umbrella:before{content:"\f0e9";}
251
+ .icon-paste:before{content:"\f0ea";}
252
+ .icon-lightbulb:before{content:"\f0eb";}
253
+ .icon-exchange:before{content:"\f0ec";}
254
+ .icon-cloud-download:before{content:"\f0ed";}
255
+ .icon-cloud-upload:before{content:"\f0ee";}
256
+ .icon-user-md:before{content:"\f0f0";}
257
+ .icon-stethoscope:before{content:"\f0f1";}
258
+ .icon-suitcase:before{content:"\f0f2";}
259
+ .icon-bell-alt:before{content:"\f0f3";}
260
+ .icon-coffee:before{content:"\f0f4";}
261
+ .icon-food:before{content:"\f0f5";}
262
+ .icon-file-text-alt:before{content:"\f0f6";}
263
+ .icon-building:before{content:"\f0f7";}
264
+ .icon-hospital:before{content:"\f0f8";}
265
+ .icon-ambulance:before{content:"\f0f9";}
266
+ .icon-medkit:before{content:"\f0fa";}
267
+ .icon-fighter-jet:before{content:"\f0fb";}
268
+ .icon-beer:before{content:"\f0fc";}
269
+ .icon-h-sign:before{content:"\f0fd";}
270
+ .icon-plus-sign-alt:before{content:"\f0fe";}
271
+ .icon-double-angle-left:before{content:"\f100";}
272
+ .icon-double-angle-right:before{content:"\f101";}
273
+ .icon-double-angle-up:before{content:"\f102";}
274
+ .icon-double-angle-down:before{content:"\f103";}
275
+ .icon-angle-left:before{content:"\f104";}
276
+ .icon-angle-right:before{content:"\f105";}
277
+ .icon-angle-up:before{content:"\f106";}
278
+ .icon-angle-down:before{content:"\f107";}
279
+ .icon-desktop:before{content:"\f108";}
280
+ .icon-laptop:before{content:"\f109";}
281
+ .icon-tablet:before{content:"\f10a";}
282
+ .icon-mobile-phone:before{content:"\f10b";}
283
+ .icon-circle-blank:before{content:"\f10c";}
284
+ .icon-quote-left:before{content:"\f10d";}
285
+ .icon-quote-right:before{content:"\f10e";}
286
+ .icon-spinner:before{content:"\f110";}
287
+ .icon-circle:before{content:"\f111";}
288
+ .icon-mail-reply:before,.icon-reply:before{content:"\f112";}
289
+ .icon-github-alt:before{content:"\f113";}
290
+ .icon-folder-close-alt:before{content:"\f114";}
291
+ .icon-folder-open-alt:before{content:"\f115";}
292
+ .icon-expand-alt:before{content:"\f116";}
293
+ .icon-collapse-alt:before{content:"\f117";}
294
+ .icon-smile:before{content:"\f118";}
295
+ .icon-frown:before{content:"\f119";}
296
+ .icon-meh:before{content:"\f11a";}
297
+ .icon-gamepad:before{content:"\f11b";}
298
+ .icon-keyboard:before{content:"\f11c";}
299
+ .icon-flag-alt:before{content:"\f11d";}
300
+ .icon-flag-checkered:before{content:"\f11e";}
301
+ .icon-terminal:before{content:"\f120";}
302
+ .icon-code:before{content:"\f121";}
303
+ .icon-reply-all:before{content:"\f122";}
304
+ .icon-mail-reply-all:before{content:"\f122";}
305
+ .icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
306
+ .icon-location-arrow:before{content:"\f124";}
307
+ .icon-crop:before{content:"\f125";}
308
+ .icon-code-fork:before{content:"\f126";}
309
+ .icon-unlink:before{content:"\f127";}
310
+ .icon-question:before{content:"\f128";}
311
+ .icon-info:before{content:"\f129";}
312
+ .icon-exclamation:before{content:"\f12a";}
313
+ .icon-superscript:before{content:"\f12b";}
314
+ .icon-subscript:before{content:"\f12c";}
315
+ .icon-eraser:before{content:"\f12d";}
316
+ .icon-puzzle-piece:before{content:"\f12e";}
317
+ .icon-microphone:before{content:"\f130";}
318
+ .icon-microphone-off:before{content:"\f131";}
319
+ .icon-shield:before{content:"\f132";}
320
+ .icon-calendar-empty:before{content:"\f133";}
321
+ .icon-fire-extinguisher:before{content:"\f134";}
322
+ .icon-rocket:before{content:"\f135";}
323
+ .icon-maxcdn:before{content:"\f136";}
324
+ .icon-chevron-sign-left:before{content:"\f137";}
325
+ .icon-chevron-sign-right:before{content:"\f138";}
326
+ .icon-chevron-sign-up:before{content:"\f139";}
327
+ .icon-chevron-sign-down:before{content:"\f13a";}
328
+ .icon-html5:before{content:"\f13b";}
329
+ .icon-css3:before{content:"\f13c";}
330
+ .icon-anchor:before{content:"\f13d";}
331
+ .icon-unlock-alt:before{content:"\f13e";}
332
+ .icon-bullseye:before{content:"\f140";}
333
+ .icon-ellipsis-horizontal:before{content:"\f141";}
334
+ .icon-ellipsis-vertical:before{content:"\f142";}
335
+ .icon-rss-sign:before{content:"\f143";}
336
+ .icon-play-sign:before{content:"\f144";}
337
+ .icon-ticket:before{content:"\f145";}
338
+ .icon-minus-sign-alt:before{content:"\f146";}
339
+ .icon-check-minus:before{content:"\f147";}
340
+ .icon-level-up:before{content:"\f148";}
341
+ .icon-level-down:before{content:"\f149";}
342
+ .icon-check-sign:before{content:"\f14a";}
343
+ .icon-edit-sign:before{content:"\f14b";}
344
+ .icon-external-link-sign:before{content:"\f14c";}
345
+ .icon-share-sign:before{content:"\f14d";}
346
+ .icon-compass:before{content:"\f14e";}
347
+ .icon-collapse:before{content:"\f150";}
348
+ .icon-collapse-top:before{content:"\f151";}
349
+ .icon-expand:before{content:"\f152";}
350
+ .icon-euro:before,.icon-eur:before{content:"\f153";}
351
+ .icon-gbp:before{content:"\f154";}
352
+ .icon-dollar:before,.icon-usd:before{content:"\f155";}
353
+ .icon-rupee:before,.icon-inr:before{content:"\f156";}
354
+ .icon-yen:before,.icon-jpy:before{content:"\f157";}
355
+ .icon-renminbi:before,.icon-cny:before{content:"\f158";}
356
+ .icon-won:before,.icon-krw:before{content:"\f159";}
357
+ .icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
358
+ .icon-file:before{content:"\f15b";}
359
+ .icon-file-text:before{content:"\f15c";}
360
+ .icon-sort-by-alphabet:before{content:"\f15d";}
361
+ .icon-sort-by-alphabet-alt:before{content:"\f15e";}
362
+ .icon-sort-by-attributes:before{content:"\f160";}
363
+ .icon-sort-by-attributes-alt:before{content:"\f161";}
364
+ .icon-sort-by-order:before{content:"\f162";}
365
+ .icon-sort-by-order-alt:before{content:"\f163";}
366
+ .icon-thumbs-up:before{content:"\f164";}
367
+ .icon-thumbs-down:before{content:"\f165";}
368
+ .icon-youtube-sign:before{content:"\f166";}
369
+ .icon-youtube:before{content:"\f167";}
370
+ .icon-xing:before{content:"\f168";}
371
+ .icon-xing-sign:before{content:"\f169";}
372
+ .icon-youtube-play:before{content:"\f16a";}
373
+ .icon-dropbox:before{content:"\f16b";}
374
+ .icon-stackexchange:before{content:"\f16c";}
375
+ .icon-instagram:before{content:"\f16d";}
376
+ .icon-flickr:before{content:"\f16e";}
377
+ .icon-adn:before{content:"\f170";}
378
+ .icon-bitbucket:before{content:"\f171";}
379
+ .icon-bitbucket-sign:before{content:"\f172";}
380
+ .icon-tumblr:before{content:"\f173";}
381
+ .icon-tumblr-sign:before{content:"\f174";}
382
+ .icon-long-arrow-down:before{content:"\f175";}
383
+ .icon-long-arrow-up:before{content:"\f176";}
384
+ .icon-long-arrow-left:before{content:"\f177";}
385
+ .icon-long-arrow-right:before{content:"\f178";}
386
+ .icon-apple:before{content:"\f179";}
387
+ .icon-windows:before{content:"\f17a";}
388
+ .icon-android:before{content:"\f17b";}
389
+ .icon-linux:before{content:"\f17c";}
390
+ .icon-dribbble:before{content:"\f17d";}
391
+ .icon-skype:before{content:"\f17e";}
392
+ .icon-foursquare:before{content:"\f180";}
393
+ .icon-trello:before{content:"\f181";}
394
+ .icon-female:before{content:"\f182";}
395
+ .icon-male:before{content:"\f183";}
396
+ .icon-gittip:before{content:"\f184";}
397
+ .icon-sun:before{content:"\f185";}
398
+ .icon-moon:before{content:"\f186";}
399
+ .icon-archive:before{content:"\f187";}
400
+ .icon-bug:before{content:"\f188";}
401
+ .icon-vk:before{content:"\f189";}
402
+ .icon-weibo:before{content:"\f18a";}
403
+ .icon-renren:before{content:"\f18b";}
src/cyclone-slider/libs/font-awesome/font/FontAwesome.otf ADDED
Binary file
src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.eot ADDED
Binary file
src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.svg ADDED
@@ -0,0 +1,399 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata></metadata>
5
+ <defs>
6
+ <font id="fontawesomeregular" horiz-adv-x="1536" >
7
+ <font-face units-per-em="1792" ascent="1536" descent="-256" />
8
+ <missing-glyph horiz-adv-x="448" />
9
+ <glyph unicode=" " horiz-adv-x="448" />
10
+ <glyph unicode="&#x09;" horiz-adv-x="448" />
11
+ <glyph unicode="&#xa0;" horiz-adv-x="448" />
12
+ <glyph unicode="&#xa8;" horiz-adv-x="1792" />
13
+ <glyph unicode="&#xa9;" horiz-adv-x="1792" />
14
+ <glyph unicode="&#xae;" horiz-adv-x="1792" />
15
+ <glyph unicode="&#xb4;" horiz-adv-x="1792" />
16
+ <glyph unicode="&#xc6;" horiz-adv-x="1792" />
17
+ <glyph unicode="&#x2000;" horiz-adv-x="768" />
18
+ <glyph unicode="&#x2001;" />
19
+ <glyph unicode="&#x2002;" horiz-adv-x="768" />
20
+ <glyph unicode="&#x2003;" />
21
+ <glyph unicode="&#x2004;" horiz-adv-x="512" />
22
+ <glyph unicode="&#x2005;" horiz-adv-x="384" />
23
+ <glyph unicode="&#x2006;" horiz-adv-x="256" />
24
+ <glyph unicode="&#x2007;" horiz-adv-x="256" />
25
+ <glyph unicode="&#x2008;" horiz-adv-x="192" />
26
+ <glyph unicode="&#x2009;" horiz-adv-x="307" />
27
+ <glyph unicode="&#x200a;" horiz-adv-x="85" />
28
+ <glyph unicode="&#x202f;" horiz-adv-x="307" />
29
+ <glyph unicode="&#x205f;" horiz-adv-x="384" />
30
+ <glyph unicode="&#x2122;" horiz-adv-x="1792" />
31
+ <glyph unicode="&#x221e;" horiz-adv-x="1792" />
32
+ <glyph unicode="&#x2260;" horiz-adv-x="1792" />
33
+ <glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
34
+ <glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
35
+ <glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
36
+ <glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
37
+ <glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
38
+ <glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
39
+ <glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
40
+ <glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
41
+ <glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
42
+ <glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
43
+ <glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
44
+ <glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
45
+ <glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
46
+ <glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
47
+ <glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
48
+ <glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
49
+ <glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
50
+ <glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
51
+ <glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
52
+ <glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
53
+ <glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
54
+ <glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
55
+ <glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
56
+ <glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
57
+ <glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
58
+ <glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
59
+ <glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
60
+ <glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
61
+ <glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
62
+ <glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
63
+ <glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
64
+ <glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
65
+ <glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
66
+ <glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
67
+ <glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
68
+ <glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
69
+ <glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
70
+ <glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
71
+ <glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
72
+ <glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
73
+ <glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
74
+ <glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
75
+ <glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
76
+ <glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
77
+ <glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
78
+ <glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
79
+ <glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
80
+ <glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
81
+ <glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
82
+ <glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
83
+ <glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
84
+ <glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
85
+ <glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
86
+ <glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
87
+ <glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
88
+ <glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
89
+ <glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
90
+ <glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
91
+ <glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
92
+ <glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
93
+ <glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
94
+ <glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
95
+ <glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
96
+ <glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
97
+ <glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
98
+ <glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
99
+ <glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
100
+ <glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
101
+ <glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
102
+ <glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
103
+ <glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
104
+ <glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
105
+ <glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
106
+ <glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
107
+ <glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
108
+ <glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
109
+ <glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
110
+ <glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
111
+ <glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
112
+ <glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
113
+ <glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
114
+ <glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
115
+ <glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
116
+ <glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
117
+ <glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
118
+ <glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
119
+ <glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
120
+ <glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
121
+ <glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
122
+ <glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
123
+ <glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
124
+ <glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
125
+ <glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
126
+ <glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
127
+ <glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
128
+ <glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
129
+ <glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
130
+ <glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
131
+ <glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
132
+ <glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
133
+ <glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
134
+ <glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
135
+ <glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
136
+ <glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
137
+ <glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
138
+ <glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
139
+ <glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
140
+ <glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
141
+ <glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
142
+ <glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
143
+ <glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
144
+ <glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
145
+ <glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
146
+ <glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
147
+ <glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
148
+ <glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
149
+ <glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
150
+ <glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
151
+ <glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
152
+ <glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
153
+ <glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
154
+ <glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
155
+ <glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
156
+ <glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
157
+ <glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
158
+ <glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
159
+ <glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
160
+ <glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
161
+ <glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
162
+ <glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
163
+ <glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
164
+ <glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
165
+ <glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
166
+ <glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
167
+ <glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
168
+ <glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
169
+ <glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
170
+ <glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
171
+ <glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
172
+ <glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
173
+ <glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
174
+ <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
175
+ <glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
176
+ <glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
177
+ <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
178
+ <glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
179
+ <glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
180
+ <glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
181
+ <glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
182
+ <glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
183
+ <glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
184
+ <glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
185
+ <glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
186
+ <glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
187
+ <glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
188
+ <glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
189
+ <glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
190
+ <glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
191
+ <glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
192
+ <glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
193
+ <glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
194
+ <glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
195
+ <glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
196
+ <glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
197
+ <glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
198
+ <glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
199
+ <glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
200
+ <glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
201
+ <glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
202
+ <glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
203
+ <glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
204
+ <glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
205
+ <glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
206
+ <glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
207
+ <glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
208
+ <glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
209
+ <glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
210
+ <glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
211
+ <glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
212
+ <glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
213
+ <glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
214
+ <glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
215
+ <glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
216
+ <glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
217
+ <glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
218
+ <glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
219
+ <glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
220
+ <glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
221
+ <glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
222
+ <glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
223
+ <glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
224
+ <glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
225
+ <glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
226
+ <glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
227
+ <glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
228
+ <glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
229
+ <glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
230
+ <glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
231
+ <glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
232
+ <glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
233
+ <glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
234
+ <glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
235
+ <glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
236
+ <glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
237
+ <glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
238
+ <glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
239
+ <glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
240
+ <glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
241
+ <glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
242
+ <glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
243
+ <glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
244
+ <glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
245
+ <glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
246
+ <glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
247
+ <glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
248
+ <glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
249
+ <glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
250
+ <glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
251
+ <glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
252
+ <glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
253
+ <glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
254
+ <glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
255
+ <glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
256
+ <glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
257
+ <glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
258
+ <glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
259
+ <glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
260
+ <glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
261
+ <glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
262
+ <glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
263
+ <glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
264
+ <glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
265
+ <glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
266
+ <glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
267
+ <glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
268
+ <glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
269
+ <glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
270
+ <glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
271
+ <glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
272
+ <glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
273
+ <glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
274
+ <glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
275
+ <glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
276
+ <glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
277
+ <glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
278
+ <glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
279
+ <glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
280
+ <glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
281
+ <glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
282
+ <glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
283
+ <glyph unicode="&#xf116;" horiz-adv-x="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
284
+ <glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
285
+ <glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
286
+ <glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
287
+ <glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
288
+ <glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
289
+ <glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
290
+ <glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
291
+ <glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
292
+ <glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
293
+ <glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
294
+ <glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
295
+ <glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
296
+ <glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
297
+ <glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
298
+ <glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
299
+ <glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
300
+ <glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
301
+ <glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
302
+ <glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
303
+ <glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
304
+ <glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
305
+ <glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
306
+ <glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
307
+ <glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
308
+ <glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
309
+ <glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
310
+ <glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
311
+ <glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
312
+ <glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
313
+ <glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
314
+ <glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
315
+ <glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
316
+ <glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
317
+ <glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
318
+ <glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
319
+ <glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
320
+ <glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
321
+ <glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
322
+ <glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
323
+ <glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
324
+ <glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
325
+ <glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
326
+ <glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
327
+ <glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
328
+ <glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
329
+ <glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
330
+ <glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
331
+ <glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
332
+ <glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
333
+ <glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
334
+ <glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
335
+ <glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
336
+ <glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
337
+ <glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
338
+ <glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
339
+ <glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
340
+ <glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
341
+ <glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
342
+ <glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
343
+ <glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
344
+ <glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
345
+ <glyph unicode="&#xf158;" horiz-adv-x="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
346
+ <glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
347
+ <glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
348
+ <glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
349
+ <glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
350
+ <glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
351
+ <glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
352
+ <glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
353
+ <glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
354
+ <glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
355
+ <glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
356
+ <glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
357
+ <glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
358
+ <glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
359
+ <glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
360
+ <glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
361
+ <glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
362
+ <glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
363
+ <glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
364
+ <glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
365
+ <glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
366
+ <glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
367
+ <glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
368
+ <glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
369
+ <glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
370
+ <glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
371
+ <glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
372
+ <glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
373
+ <glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
374
+ <glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
375
+ <glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
376
+ <glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
377
+ <glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
378
+ <glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
379
+ <glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
380
+ <glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
381
+ <glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
382
+ <glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
383
+ <glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
384
+ <glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
385
+ <glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
386
+ <glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
387
+ <glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
388
+ <glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
389
+ <glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
390
+ <glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
391
+ <glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
392
+ <glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
393
+ <glyph unicode="&#xf18b;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
394
+ <glyph unicode="&#xf18c;" horiz-adv-x="1792" />
395
+ <glyph unicode="&#xf18d;" horiz-adv-x="1792" />
396
+ <glyph unicode="&#xf18e;" horiz-adv-x="1792" />
397
+ <glyph unicode="&#xf500;" horiz-adv-x="1792" />
398
+ </font>
399
+ </defs></svg>
src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.ttf ADDED
Binary file
src/cyclone-slider/libs/font-awesome/font/fontawesome-webfont.woff ADDED
Binary file
src/cyclone-slider/libs/jquery-easing/jquery.easing.1.3.1.js ADDED
@@ -0,0 +1,208 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery Easing v1.3.1 - http://gsgd.co.uk/sandbox/jquery/easing/
3
+ *
4
+ * Uses the built in easing capabilities added In jQuery 1.1
5
+ * to offer multiple easing options
6
+ *
7
+ * TERMS OF USE - jQuery Easing
8
+ *
9
+ * Open source under the BSD License.
10
+ *
11
+ * Copyright © 2008 George McGinley Smith
12
+ * All rights reserved.
13
+ *
14
+ * Redistribution and use in source and binary forms, with or without modification,
15
+ * are permitted provided that the following conditions are met:
16
+ *
17
+ * Redistributions of source code must retain the above copyright notice, this list of
18
+ * conditions and the following disclaimer.
19
+ * Redistributions in binary form must reproduce the above copyright notice, this list
20
+ * of conditions and the following disclaimer in the documentation and/or other materials
21
+ * provided with the distribution.
22
+ *
23
+ * Neither the name of the author nor the names of contributors may be used to endorse
24
+ * or promote products derived from this software without specific prior written permission.
25
+ *
26
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
27
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
31
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
32
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
35
+ *
36
+ * Changelog
37
+ * 1.3.1 - 2013-10-10
38
+ *
39
+ * Wrapped code in jQuery ready
40
+ * removed jQuery.easing.def = 'easeOutQuad' and hardcoded 'easeOutQuad' instead
41
+ */
42
+ jQuery(function() {
43
+ // t: current time, b: begInnIng value, c: change In value, d: duration
44
+ jQuery.easing['jswing'] = jQuery.easing['swing'];
45
+
46
+ jQuery.extend( jQuery.easing,
47
+ {
48
+ swing: function (x, t, b, c, d) {
49
+ return jQuery.easing['easeOutQuad'](x, t, b, c, d);
50
+ },
51
+ easeInQuad: function (x, t, b, c, d) {
52
+ return c*(t/=d)*t + b;
53
+ },
54
+ easeOutQuad: function (x, t, b, c, d) {
55
+ return -c *(t/=d)*(t-2) + b;
56
+ },
57
+ easeInOutQuad: function (x, t, b, c, d) {
58
+ if ((t/=d/2) < 1) return c/2*t*t + b;
59
+ return -c/2 * ((--t)*(t-2) - 1) + b;
60
+ },
61
+ easeInCubic: function (x, t, b, c, d) {
62
+ return c*(t/=d)*t*t + b;
63
+ },
64
+ easeOutCubic: function (x, t, b, c, d) {
65
+ return c*((t=t/d-1)*t*t + 1) + b;
66
+ },
67
+ easeInOutCubic: function (x, t, b, c, d) {
68
+ if ((t/=d/2) < 1) return c/2*t*t*t + b;
69
+ return c/2*((t-=2)*t*t + 2) + b;
70
+ },
71
+ easeInQuart: function (x, t, b, c, d) {
72
+ return c*(t/=d)*t*t*t + b;
73
+ },
74
+ easeOutQuart: function (x, t, b, c, d) {
75
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
76
+ },
77
+ easeInOutQuart: function (x, t, b, c, d) {
78
+ if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
79
+ return -c/2 * ((t-=2)*t*t*t - 2) + b;
80
+ },
81
+ easeInQuint: function (x, t, b, c, d) {
82
+ return c*(t/=d)*t*t*t*t + b;
83
+ },
84
+ easeOutQuint: function (x, t, b, c, d) {
85
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
86
+ },
87
+ easeInOutQuint: function (x, t, b, c, d) {
88
+ if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
89
+ return c/2*((t-=2)*t*t*t*t + 2) + b;
90
+ },
91
+ easeInSine: function (x, t, b, c, d) {
92
+ return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
93
+ },
94
+ easeOutSine: function (x, t, b, c, d) {
95
+ return c * Math.sin(t/d * (Math.PI/2)) + b;
96
+ },
97
+ easeInOutSine: function (x, t, b, c, d) {
98
+ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
99
+ },
100
+ easeInExpo: function (x, t, b, c, d) {
101
+ return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
102
+ },
103
+ easeOutExpo: function (x, t, b, c, d) {
104
+ return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
105
+ },
106
+ easeInOutExpo: function (x, t, b, c, d) {
107
+ if (t==0) return b;
108
+ if (t==d) return b+c;
109
+ if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
110
+ return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
111
+ },
112
+ easeInCirc: function (x, t, b, c, d) {
113
+ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
114
+ },
115
+ easeOutCirc: function (x, t, b, c, d) {
116
+ return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
117
+ },
118
+ easeInOutCirc: function (x, t, b, c, d) {
119
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
120
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
121
+ },
122
+ easeInElastic: function (x, t, b, c, d) {
123
+ var s=1.70158;var p=0;var a=c;
124
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
125
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
126
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
127
+ return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
128
+ },
129
+ easeOutElastic: function (x, t, b, c, d) {
130
+ var s=1.70158;var p=0;var a=c;
131
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
132
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
133
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
134
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
135
+ },
136
+ easeInOutElastic: function (x, t, b, c, d) {
137
+ var s=1.70158;var p=0;var a=c;
138
+ if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
139
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
140
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
141
+ if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
142
+ return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
143
+ },
144
+ easeInBack: function (x, t, b, c, d, s) {
145
+ if (s == undefined) s = 1.70158;
146
+ return c*(t/=d)*t*((s+1)*t - s) + b;
147
+ },
148
+ easeOutBack: function (x, t, b, c, d, s) {
149
+ if (s == undefined) s = 1.70158;
150
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
151
+ },
152
+ easeInOutBack: function (x, t, b, c, d, s) {
153
+ if (s == undefined) s = 1.70158;
154
+ if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
155
+ return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
156
+ },
157
+ easeInBounce: function (x, t, b, c, d) {
158
+ return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
159
+ },
160
+ easeOutBounce: function (x, t, b, c, d) {
161
+ if ((t/=d) < (1/2.75)) {
162
+ return c*(7.5625*t*t) + b;
163
+ } else if (t < (2/2.75)) {
164
+ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
165
+ } else if (t < (2.5/2.75)) {
166
+ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
167
+ } else {
168
+ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
169
+ }
170
+ },
171
+ easeInOutBounce: function (x, t, b, c, d) {
172
+ if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
173
+ return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
174
+ }
175
+ });
176
+ });
177
+ /*
178
+ *
179
+ * TERMS OF USE - EASING EQUATIONS
180
+ *
181
+ * Open source under the BSD License.
182
+ *
183
+ * Copyright © 2001 Robert Penner
184
+ * All rights reserved.
185
+ *
186
+ * Redistribution and use in source and binary forms, with or without modification,
187
+ * are permitted provided that the following conditions are met:
188
+ *
189
+ * Redistributions of source code must retain the above copyright notice, this list of
190
+ * conditions and the following disclaimer.
191
+ * Redistributions in binary form must reproduce the above copyright notice, this list
192
+ * of conditions and the following disclaimer in the documentation and/or other materials
193
+ * provided with the distribution.
194
+ *
195
+ * Neither the name of the author nor the names of contributors may be used to endorse
196
+ * or promote products derived from this software without specific prior written permission.
197
+ *
198
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
199
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
200
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
201
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
202
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
203
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
204
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
205
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
206
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
207
+ *
208
+ */
src/cyclone-slider/libs/jquery-easing/jquery.easing.1.3.1.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(){jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{swing:function(n,t,e,u,a){return jQuery.easing.easeOutQuad(n,t,e,u,a)},easeInQuad:function(n,t,e,u,a){return u*(t/=a)*t+e},easeOutQuad:function(n,t,e,u,a){return-u*(t/=a)*(t-2)+e},easeInOutQuad:function(n,t,e,u,a){return(t/=a/2)<1?u/2*t*t+e:-u/2*(--t*(t-2)-1)+e},easeInCubic:function(n,t,e,u,a){return u*(t/=a)*t*t+e},easeOutCubic:function(n,t,e,u,a){return u*((t=t/a-1)*t*t+1)+e},easeInOutCubic:function(n,t,e,u,a){return(t/=a/2)<1?u/2*t*t*t+e:u/2*((t-=2)*t*t+2)+e},easeInQuart:function(n,t,e,u,a){return u*(t/=a)*t*t*t+e},easeOutQuart:function(n,t,e,u,a){return-u*((t=t/a-1)*t*t*t-1)+e},easeInOutQuart:function(n,t,e,u,a){return(t/=a/2)<1?u/2*t*t*t*t+e:-u/2*((t-=2)*t*t*t-2)+e},easeInQuint:function(n,t,e,u,a){return u*(t/=a)*t*t*t*t+e},easeOutQuint:function(n,t,e,u,a){return u*((t=t/a-1)*t*t*t*t+1)+e},easeInOutQuint:function(n,t,e,u,a){return(t/=a/2)<1?u/2*t*t*t*t*t+e:u/2*((t-=2)*t*t*t*t+2)+e},easeInSine:function(n,t,e,u,a){return-u*Math.cos(t/a*(Math.PI/2))+u+e},easeOutSine:function(n,t,e,u,a){return u*Math.sin(t/a*(Math.PI/2))+e},easeInOutSine:function(n,t,e,u,a){return-u/2*(Math.cos(Math.PI*t/a)-1)+e},easeInExpo:function(n,t,e,u,a){return 0==t?e:u*Math.pow(2,10*(t/a-1))+e},easeOutExpo:function(n,t,e,u,a){return t==a?e+u:u*(-Math.pow(2,-10*t/a)+1)+e},easeInOutExpo:function(n,t,e,u,a){return 0==t?e:t==a?e+u:(t/=a/2)<1?u/2*Math.pow(2,10*(t-1))+e:u/2*(-Math.pow(2,-10*--t)+2)+e},easeInCirc:function(n,t,e,u,a){return-u*(Math.sqrt(1-(t/=a)*t)-1)+e},easeOutCirc:function(n,t,e,u,a){return u*Math.sqrt(1-(t=t/a-1)*t)+e},easeInOutCirc:function(n,t,e,u,a){return(t/=a/2)<1?-u/2*(Math.sqrt(1-t*t)-1)+e:u/2*(Math.sqrt(1-(t-=2)*t)+1)+e},easeInElastic:function(n,t,e,u,a){var r=1.70158,i=0,s=u;if(0==t)return e;if(1==(t/=a))return e+u;if(i||(i=.3*a),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return-(s*Math.pow(2,10*(t-=1))*Math.sin((t*a-r)*2*Math.PI/i))+e},easeOutElastic:function(n,t,e,u,a){var r=1.70158,i=0,s=u;if(0==t)return e;if(1==(t/=a))return e+u;if(i||(i=.3*a),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return s*Math.pow(2,-10*t)*Math.sin((t*a-r)*2*Math.PI/i)+u+e},easeInOutElastic:function(n,t,e,u,a){var r=1.70158,i=0,s=u;if(0==t)return e;if(2==(t/=a/2))return e+u;if(i||(i=a*.3*1.5),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return 1>t?-.5*s*Math.pow(2,10*(t-=1))*Math.sin((t*a-r)*2*Math.PI/i)+e:.5*s*Math.pow(2,-10*(t-=1))*Math.sin((t*a-r)*2*Math.PI/i)+u+e},easeInBack:function(n,t,e,u,a,r){return void 0==r&&(r=1.70158),u*(t/=a)*t*((r+1)*t-r)+e},easeOutBack:function(n,t,e,u,a,r){return void 0==r&&(r=1.70158),u*((t=t/a-1)*t*((r+1)*t+r)+1)+e},easeInOutBack:function(n,t,e,u,a,r){return void 0==r&&(r=1.70158),(t/=a/2)<1?u/2*t*t*(((r*=1.525)+1)*t-r)+e:u/2*((t-=2)*t*(((r*=1.525)+1)*t+r)+2)+e},easeInBounce:function(n,t,e,u,a){return u-jQuery.easing.easeOutBounce(n,a-t,0,u,a)+e},easeOutBounce:function(n,t,e,u,a){return(t/=a)<1/2.75?u*7.5625*t*t+e:2/2.75>t?u*(7.5625*(t-=1.5/2.75)*t+.75)+e:2.5/2.75>t?u*(7.5625*(t-=2.25/2.75)*t+.9375)+e:u*(7.5625*(t-=2.625/2.75)*t+.984375)+e},easeInOutBounce:function(n,t,e,u,a){return a/2>t?.5*jQuery.easing.easeInBounce(n,2*t,0,u,a)+e:.5*jQuery.easing.easeOutBounce(n,2*t-a,0,u,a)+.5*u+e}})});
src/cyclone-slider/libs/magnific-popup/jquery.magnific-popup.js ADDED
@@ -0,0 +1,2026 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! Magnific Popup - v0.9.5 - 2013-08-21
2
+ * http://dimsemenov.com/plugins/magnific-popup/
3
+ * Copyright (c) 2013 Dmitry Semenov; */
4
+ ;(function($) {
5
+
6
+ /*>>core*/
7
+ /**
8
+ *
9
+ * Magnific Popup Core JS file
10
+ *
11
+ */
12
+
13
+
14
+ /**
15
+ * Private static constants
16
+ */
17
+ var CLOSE_EVENT = 'Close',
18
+ BEFORE_CLOSE_EVENT = 'BeforeClose',
19
+ AFTER_CLOSE_EVENT = 'AfterClose',
20
+ BEFORE_APPEND_EVENT = 'BeforeAppend',
21
+ MARKUP_PARSE_EVENT = 'MarkupParse',
22
+ OPEN_EVENT = 'Open',
23
+ CHANGE_EVENT = 'Change',
24
+ NS = 'mfp',
25
+ EVENT_NS = '.' + NS,
26
+ READY_CLASS = 'mfp-ready',
27
+ REMOVING_CLASS = 'mfp-removing',
28
+ PREVENT_CLOSE_CLASS = 'mfp-prevent-close';
29
+
30
+
31
+ /**
32
+ * Private vars
33
+ */
34
+ var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'
35
+ MagnificPopup = function(){},
36
+ _isJQ = !!(window.jQuery),
37
+ _prevStatus,
38
+ _window = $(window),
39
+ _body,
40
+ _document,
41
+ _prevContentType,
42
+ _wrapClasses,
43
+ _currPopupType;
44
+
45
+
46
+ /**
47
+ * Private functions
48
+ */
49
+ var _mfpOn = function(name, f) {
50
+ mfp.ev.on(NS + name + EVENT_NS, f);
51
+ },
52
+ _getEl = function(className, appendTo, html, raw) {
53
+ var el = document.createElement('div');
54
+ el.className = 'mfp-'+className;
55
+ if(html) {
56
+ el.innerHTML = html;
57
+ }
58
+ if(!raw) {
59
+ el = $(el);
60
+ if(appendTo) {
61
+ el.appendTo(appendTo);
62
+ }
63
+ } else if(appendTo) {
64
+ appendTo.appendChild(el);
65
+ }
66
+ return el;
67
+ },
68
+ _mfpTrigger = function(e, data) {
69
+ mfp.ev.triggerHandler(NS + e, data);
70
+
71
+ if(mfp.st.callbacks) {
72
+ // converts "mfpEventName" to "eventName" callback and triggers it if it's present
73
+ e = e.charAt(0).toLowerCase() + e.slice(1);
74
+ if(mfp.st.callbacks[e]) {
75
+ mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);
76
+ }
77
+ }
78
+ },
79
+ _setFocus = function() {
80
+ (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();
81
+ },
82
+ _getCloseBtn = function(type) {
83
+ if(type !== _currPopupType || !mfp.currTemplate.closeBtn) {
84
+ mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );
85
+ _currPopupType = type;
86
+ }
87
+ return mfp.currTemplate.closeBtn;
88
+ },
89
+ // Initialize Magnific Popup only when called at least once
90
+ _checkInstance = function() {
91
+ if(!$.magnificPopup.instance) {
92
+ mfp = new MagnificPopup();
93
+ mfp.init();
94
+ $.magnificPopup.instance = mfp;
95
+ }
96
+ },
97
+ // Check to close popup or not
98
+ // "target" is an element that was clicked
99
+ _checkIfClose = function(target) {
100
+
101
+ if($(target).hasClass(PREVENT_CLOSE_CLASS)) {
102
+ return;
103
+ }
104
+
105
+ var closeOnContent = mfp.st.closeOnContentClick;
106
+ var closeOnBg = mfp.st.closeOnBgClick;
107
+
108
+ if(closeOnContent && closeOnBg) {
109
+ return true;
110
+ } else {
111
+
112
+ // We close the popup if click is on close button or on preloader. Or if there is no content.
113
+ if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {
114
+ return true;
115
+ }
116
+
117
+ // if click is outside the content
118
+ if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {
119
+ if(closeOnBg) {
120
+ // last check, if the clicked element is in DOM, (in case it's removed onclick)
121
+ if( $.contains(document, target) ) {
122
+ return true;
123
+ }
124
+ }
125
+ } else if(closeOnContent) {
126
+ return true;
127
+ }
128
+
129
+ }
130
+ return false;
131
+ },
132
+ // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
133
+ supportsTransitions = function() {
134
+ var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
135
+ v = ['ms','O','Moz','Webkit']; // 'v' for vendor
136
+
137
+ if( s['transition'] !== undefined ) {
138
+ return true;
139
+ }
140
+
141
+ while( v.length ) {
142
+ if( v.pop() + 'Transition' in s ) {
143
+ return true;
144
+ }
145
+ }
146
+
147
+ return false;
148
+ };
149
+
150
+
151
+
152
+ /**
153
+ * Public functions
154
+ */
155
+ MagnificPopup.prototype = {
156
+
157
+ constructor: MagnificPopup,
158
+
159
+ /**
160
+ * Initializes Magnific Popup plugin.
161
+ * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed
162
+ */
163
+ init: function() {
164
+ var appVersion = navigator.appVersion;
165
+ mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
166
+ mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;
167
+ mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
168
+ mfp.isAndroid = (/android/gi).test(appVersion);
169
+ mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
170
+ mfp.supportsTransition = supportsTransitions();
171
+
172
+ // We disable fixed positioned lightbox on devices that don't handle it nicely.
173
+ // If you know a better way of detecting this - let me know.
174
+ mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );
175
+ _body = $(document.body);
176
+ _document = $(document);
177
+
178
+ mfp.popupsCache = {};
179
+ },
180
+
181
+ /**
182
+ * Opens popup
183
+ * @param data [description]
184
+ */
185
+ open: function(data) {
186
+
187
+ var i;
188
+
189
+ if(data.isObj === false) {
190
+ // convert jQuery collection to array to avoid conflicts later
191
+ mfp.items = data.items.toArray();
192
+
193
+ mfp.index = 0;
194
+ var items = data.items,
195
+ item;
196
+ for(i = 0; i < items.length; i++) {
197
+ item = items[i];
198
+ if(item.parsed) {
199
+ item = item.el[0];
200
+ }
201
+ if(item === data.el[0]) {
202
+ mfp.index = i;
203
+ break;
204
+ }
205
+ }
206
+ } else {
207
+ mfp.items = $.isArray(data.items) ? data.items : [data.items];
208
+ mfp.index = data.index || 0;
209
+ }
210
+
211
+ // if popup is already opened - we just update the content
212
+ if(mfp.isOpen) {
213
+ mfp.updateItemHTML();
214
+ return;
215
+ }
216
+
217
+ mfp.types = [];
218
+ _wrapClasses = '';
219
+ if(data.mainEl && data.mainEl.length) {
220
+ mfp.ev = data.mainEl.eq(0);
221
+ } else {
222
+ mfp.ev = _document;
223
+ }
224
+
225
+ if(data.key) {
226
+ if(!mfp.popupsCache[data.key]) {
227
+ mfp.popupsCache[data.key] = {};
228
+ }
229
+ mfp.currTemplate = mfp.popupsCache[data.key];
230
+ } else {
231
+ mfp.currTemplate = {};
232
+ }
233
+
234
+
235
+
236
+ mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data );
237
+ mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;
238
+
239
+ if(mfp.st.modal) {
240
+ mfp.st.closeOnContentClick = false;
241
+ mfp.st.closeOnBgClick = false;
242
+ mfp.st.showCloseBtn = false;
243
+ mfp.st.enableEscapeKey = false;
244
+ }
245
+
246
+
247
+ // Building markup
248
+ // main containers are created only once
249
+ if(!mfp.bgOverlay) {
250
+
251
+ // Dark overlay
252
+ mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {
253
+ mfp.close();
254
+ });
255
+
256
+ mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {
257
+ if(_checkIfClose(e.target)) {
258
+ mfp.close();
259
+ }
260
+ });
261
+
262
+ mfp.container = _getEl('container', mfp.wrap);
263
+ }
264
+
265
+ mfp.contentContainer = _getEl('content');
266
+ if(mfp.st.preloader) {
267
+ mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
268
+ }
269
+
270
+
271
+ // Initializing modules
272
+ var modules = $.magnificPopup.modules;
273
+ for(i = 0; i < modules.length; i++) {
274
+ var n = modules[i];
275
+ n = n.charAt(0).toUpperCase() + n.slice(1);
276
+ mfp['init'+n].call(mfp);
277
+ }
278
+ _mfpTrigger('BeforeOpen');
279
+
280
+
281
+ if(mfp.st.showCloseBtn) {
282
+ // Close button
283
+ if(!mfp.st.closeBtnInside) {
284
+ mfp.wrap.append( _getCloseBtn() );
285
+ } else {
286
+ _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {
287
+ values.close_replaceWith = _getCloseBtn(item.type);
288
+ });
289
+ _wrapClasses += ' mfp-close-btn-in';
290
+ }
291
+ }
292
+
293
+ if(mfp.st.alignTop) {
294
+ _wrapClasses += ' mfp-align-top';
295
+ }
296
+
297
+
298
+
299
+ if(mfp.fixedContentPos) {
300
+ mfp.wrap.css({
301
+ overflow: mfp.st.overflowY,
302
+ overflowX: 'hidden',
303
+ overflowY: mfp.st.overflowY
304
+ });
305
+ } else {
306
+ mfp.wrap.css({
307
+ top: _window.scrollTop(),
308
+ position: 'absolute'
309
+ });
310
+ }
311
+ if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {
312
+ mfp.bgOverlay.css({
313
+ height: _document.height(),
314
+ position: 'absolute'
315
+ });
316
+ }
317
+
318
+
319
+
320
+ if(mfp.st.enableEscapeKey) {
321
+ // Close on ESC key
322
+ _document.on('keyup' + EVENT_NS, function(e) {
323
+ if(e.keyCode === 27) {
324
+ mfp.close();
325
+ }
326
+ });
327
+ }
328
+
329
+ _window.on('resize' + EVENT_NS, function() {
330
+ mfp.updateSize();
331
+ });
332
+
333
+
334
+ if(!mfp.st.closeOnContentClick) {
335
+ _wrapClasses += ' mfp-auto-cursor';
336
+ }
337
+
338
+ if(_wrapClasses)
339
+ mfp.wrap.addClass(_wrapClasses);
340
+
341
+
342
+ // this triggers recalculation of layout, so we get it once to not to trigger twice
343
+ var windowHeight = mfp.wH = _window.height();
344
+
345
+
346
+ var windowStyles = {};
347
+
348
+ if( mfp.fixedContentPos ) {
349
+ if(mfp._hasScrollBar(windowHeight)){
350
+ var s = mfp._getScrollbarSize();
351
+ if(s) {
352
+ windowStyles.paddingRight = s;
353
+ }
354
+ }
355
+ }
356
+
357
+ if(mfp.fixedContentPos) {
358
+ if(!mfp.isIE7) {
359
+ windowStyles.overflow = 'hidden';
360
+ } else {
361
+ // ie7 double-scroll bug
362
+ $('body, html').css('overflow', 'hidden');
363
+ }
364
+ }
365
+
366
+
367
+
368
+ var classesToadd = mfp.st.mainClass;
369
+ if(mfp.isIE7) {
370
+ classesToadd += ' mfp-ie7';
371
+ }
372
+ if(classesToadd) {
373
+ mfp._addClassToMFP( classesToadd );
374
+ }
375
+
376
+ // add content
377
+ mfp.updateItemHTML();
378
+
379
+ _mfpTrigger('BuildControls');
380
+
381
+
382
+ // remove scrollbar, add padding e.t.c
383
+ $('html').css(windowStyles);
384
+
385
+ // add everything to DOM
386
+ mfp.bgOverlay.add(mfp.wrap).prependTo( document.body );
387
+
388
+
389
+
390
+ // Save last focused element
391
+ mfp._lastFocusedEl = document.activeElement;
392
+
393
+ // Wait for next cycle to allow CSS transition
394
+ setTimeout(function() {
395
+
396
+ if(mfp.content) {
397
+ mfp._addClassToMFP(READY_CLASS);
398
+ _setFocus();
399
+ } else {
400
+ // if content is not defined (not loaded e.t.c) we add class only for BG
401
+ mfp.bgOverlay.addClass(READY_CLASS);
402
+ }
403
+
404
+ // Trap the focus in popup
405
+ _document.on('focusin' + EVENT_NS, function (e) {
406
+ if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {
407
+ _setFocus();
408
+ return false;
409
+ }
410
+ });
411
+
412
+ }, 16);
413
+
414
+ mfp.isOpen = true;
415
+ mfp.updateSize(windowHeight);
416
+ _mfpTrigger(OPEN_EVENT);
417
+ },
418
+
419
+ /**
420
+ * Closes the popup
421
+ */
422
+ close: function() {
423
+ if(!mfp.isOpen) return;
424
+ _mfpTrigger(BEFORE_CLOSE_EVENT);
425
+
426
+ mfp.isOpen = false;
427
+ // for CSS3 animation
428
+ if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {
429
+ mfp._addClassToMFP(REMOVING_CLASS);
430
+ setTimeout(function() {
431
+ mfp._close();
432
+ }, mfp.st.removalDelay);
433
+ } else {
434
+ mfp._close();
435
+ }
436
+ },
437
+
438
+ /**
439
+ * Helper for close() function
440
+ */
441
+ _close: function() {
442
+ _mfpTrigger(CLOSE_EVENT);
443
+
444
+ var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';
445
+
446
+ mfp.bgOverlay.detach();
447
+ mfp.wrap.detach();
448
+ mfp.container.empty();
449
+
450
+ if(mfp.st.mainClass) {
451
+ classesToRemove += mfp.st.mainClass + ' ';
452
+ }
453
+
454
+ mfp._removeClassFromMFP(classesToRemove);
455
+
456
+ if(mfp.fixedContentPos) {
457
+ var windowStyles = {paddingRight: ''};
458
+ if(mfp.isIE7) {
459
+ $('body, html').css('overflow', '');
460
+ } else {
461
+ windowStyles.overflow = '';
462
+ }
463
+ $('html').css(windowStyles);
464
+ }
465
+
466
+ _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);
467
+ mfp.ev.off(EVENT_NS);
468
+
469
+ // clean up DOM elements that aren't removed
470
+ mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');
471
+ mfp.bgOverlay.attr('class', 'mfp-bg');
472
+ mfp.container.attr('class', 'mfp-container');
473
+
474
+ // remove close button from target element
475
+ if(mfp.st.showCloseBtn &&
476
+ (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {
477
+ if(mfp.currTemplate.closeBtn)
478
+ mfp.currTemplate.closeBtn.detach();
479
+ }
480
+
481
+
482
+ if(mfp._lastFocusedEl) {
483
+ $(mfp._lastFocusedEl).focus(); // put tab focus back
484
+ }
485
+ mfp.currItem = null;
486
+ mfp.content = null;
487
+ mfp.currTemplate = null;
488
+ mfp.prevHeight = 0;
489
+
490
+ _mfpTrigger(AFTER_CLOSE_EVENT);
491
+ },
492
+
493
+ updateSize: function(winHeight) {
494
+
495
+ if(mfp.isIOS) {
496
+ // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2
497
+ var zoomLevel = document.documentElement.clientWidth / window.innerWidth;
498
+ var height = window.innerHeight * zoomLevel;
499
+ mfp.wrap.css('height', height);
500
+ mfp.wH = height;
501
+ } else {
502
+ mfp.wH = winHeight || _window.height();
503
+ }
504
+ // Fixes #84: popup incorrectly positioned with position:relative on body
505
+ if(!mfp.fixedContentPos) {
506
+ mfp.wrap.css('height', mfp.wH);
507
+ }
508
+
509
+ _mfpTrigger('Resize');
510
+
511
+ },
512
+
513
+ /**
514
+ * Set content of popup based on current index
515
+ */
516
+ updateItemHTML: function() {
517
+ var item = mfp.items[mfp.index];
518
+
519
+ // Detach and perform modifications
520
+ mfp.contentContainer.detach();
521
+
522
+ if(mfp.content)
523
+ mfp.content.detach();
524
+
525
+ if(!item.parsed) {
526
+ item = mfp.parseEl( mfp.index );
527
+ }
528
+
529
+ var type = item.type;
530
+
531
+ _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);
532
+ // BeforeChange event works like so:
533
+ // _mfpOn('BeforeChange', function(e, prevType, newType) { });
534
+
535
+ mfp.currItem = item;
536
+
537
+
538
+
539
+
540
+
541
+ if(!mfp.currTemplate[type]) {
542
+ var markup = mfp.st[type] ? mfp.st[type].markup : false;
543
+
544
+ // allows to modify markup
545
+ _mfpTrigger('FirstMarkupParse', markup);
546
+
547
+ if(markup) {
548
+ mfp.currTemplate[type] = $(markup);
549
+ } else {
550
+ // if there is no markup found we just define that template is parsed
551
+ mfp.currTemplate[type] = true;
552
+ }
553
+ }
554
+
555
+ if(_prevContentType && _prevContentType !== item.type) {
556
+ mfp.container.removeClass('mfp-'+_prevContentType+'-holder');
557
+ }
558
+
559
+ var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);
560
+ mfp.appendContent(newContent, type);
561
+
562
+ item.preloaded = true;
563
+
564
+ _mfpTrigger(CHANGE_EVENT, item);
565
+ _prevContentType = item.type;
566
+
567
+ // Append container back after its content changed
568
+ mfp.container.prepend(mfp.contentContainer);
569
+
570
+ _mfpTrigger('AfterChange');
571
+ },
572
+
573
+
574
+ /**
575
+ * Set HTML content of popup
576
+ */
577
+ appendContent: function(newContent, type) {
578
+ mfp.content = newContent;
579
+
580
+ if(newContent) {
581
+ if(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&
582
+ mfp.currTemplate[type] === true) {
583
+ // if there is no markup, we just append close button element inside
584
+ if(!mfp.content.find('.mfp-close').length) {
585
+ mfp.content.append(_getCloseBtn());
586
+ }
587
+ } else {
588
+ mfp.content = newContent;
589
+ }
590
+ } else {
591
+ mfp.content = '';
592
+ }
593
+
594
+ _mfpTrigger(BEFORE_APPEND_EVENT);
595
+ mfp.container.addClass('mfp-'+type+'-holder');
596
+
597
+ mfp.contentContainer.append(mfp.content);
598
+ },
599
+
600
+
601
+
602
+
603
+ /**
604
+ * Creates Magnific Popup data object based on given data
605
+ * @param {int} index Index of item to parse
606
+ */
607
+ parseEl: function(index) {
608
+ var item = mfp.items[index],
609
+ type = item.type;
610
+
611
+ if(item.tagName) {
612
+ item = { el: $(item) };
613
+ } else {
614
+ item = { data: item, src: item.src };
615
+ }
616
+
617
+ if(item.el) {
618
+ var types = mfp.types;
619
+
620
+ // check for 'mfp-TYPE' class
621
+ for(var i = 0; i < types.length; i++) {
622
+ if( item.el.hasClass('mfp-'+types[i]) ) {
623
+ type = types[i];
624
+ break;
625
+ }
626
+ }
627
+
628
+ item.src = item.el.attr('data-mfp-src');
629
+ if(!item.src) {
630
+ item.src = item.el.attr('href');
631
+ }
632
+ }
633
+
634
+ item.type = type || mfp.st.type || 'inline';
635
+ item.index = index;
636
+ item.parsed = true;
637
+ mfp.items[index] = item;
638
+ _mfpTrigger('ElementParse', item);
639
+
640
+ return mfp.items[index];
641
+ },
642
+
643
+
644
+ /**
645
+ * Initializes single popup or a group of popups
646
+ */
647
+ addGroup: function(el, options) {
648
+ var eHandler = function(e) {
649
+ e.mfpEl = this;
650
+ mfp._openClick(e, el, options);
651
+ };
652
+
653
+ if(!options) {
654
+ options = {};
655
+ }
656
+
657
+ var eName = 'click.magnificPopup';
658
+ options.mainEl = el;
659
+
660
+ if(options.items) {
661
+ options.isObj = true;
662
+ el.off(eName).on(eName, eHandler);
663
+ } else {
664
+ options.isObj = false;
665
+ if(options.delegate) {
666
+ el.off(eName).on(eName, options.delegate , eHandler);
667
+ } else {
668
+ options.items = el;
669
+ el.off(eName).on(eName, eHandler);
670
+ }
671
+ }
672
+ },
673
+ _openClick: function(e, el, options) {
674
+ var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;
675
+
676
+
677
+ if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) {
678
+ return;
679
+ }
680
+
681
+ var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;
682
+
683
+ if(disableOn) {
684
+ if($.isFunction(disableOn)) {
685
+ if( !disableOn.call(mfp) ) {
686
+ return true;
687
+ }
688
+ } else { // else it's number
689
+ if( _window.width() < disableOn ) {
690
+ return true;
691
+ }
692
+ }
693
+ }
694
+
695
+ if(e.type) {
696
+ e.preventDefault();
697
+
698
+ // This will prevent popup from closing if element is inside and popup is already opened
699
+ if(mfp.isOpen) {
700
+ e.stopPropagation();
701
+ }
702
+ }
703
+
704
+
705
+ options.el = $(e.mfpEl);
706
+ if(options.delegate) {
707
+ options.items = el.find(options.delegate);
708
+ }
709
+ mfp.open(options);
710
+ },
711
+
712
+
713
+ /**
714
+ * Updates text on preloader
715
+ */
716
+ updateStatus: function(status, text) {
717
+
718
+ if(mfp.preloader) {
719
+ if(_prevStatus !== status) {
720
+ mfp.container.removeClass('mfp-s-'+_prevStatus);
721
+ }
722
+
723
+ if(!text && status === 'loading') {
724
+ text = mfp.st.tLoading;
725
+ }
726
+
727
+ var data = {
728
+ status: status,
729
+ text: text
730
+ };
731
+ // allows to modify status
732
+ _mfpTrigger('UpdateStatus', data);
733
+
734
+ status = data.status;
735
+ text = data.text;
736
+
737
+ mfp.preloader.html(text);
738
+
739
+ mfp.preloader.find('a').on('click', function(e) {
740
+ e.stopImmediatePropagation();
741
+ });
742
+
743
+ mfp.container.addClass('mfp-s-'+status);
744
+ _prevStatus = status;
745
+ }
746
+ },
747
+
748
+
749
+ /*
750
+ "Private" helpers that aren't private at all
751
+ */
752
+ _addClassToMFP: function(cName) {
753
+ mfp.bgOverlay.addClass(cName);
754
+ mfp.wrap.addClass(cName);
755
+ },
756
+ _removeClassFromMFP: function(cName) {
757
+ this.bgOverlay.removeClass(cName);
758
+ mfp.wrap.removeClass(cName);
759
+ },
760
+ _hasScrollBar: function(winHeight) {
761
+ return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );
762
+ },
763
+ _parseMarkup: function(template, values, item) {
764
+ var arr;
765
+ if(item.data) {
766
+ values = $.extend(item.data, values);
767
+ }
768
+ _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );
769
+
770
+ $.each(values, function(key, value) {
771
+ if(value === undefined || value === false) {
772
+ return true;
773
+ }
774
+ arr = key.split('_');
775
+ if(arr.length > 1) {
776
+ var el = template.find(EVENT_NS + '-'+arr[0]);
777
+
778
+ if(el.length > 0) {
779
+ var attr = arr[1];
780
+ if(attr === 'replaceWith') {
781
+ if(el[0] !== value[0]) {
782
+ el.replaceWith(value);
783
+ }
784
+ } else if(attr === 'img') {
785
+ if(el.is('img')) {
786
+ el.attr('src', value);
787
+ } else {
788
+ el.replaceWith( '<img src="'+value+'" class="' + el.attr('class') + '" />' );
789
+ }
790
+ } else {
791
+ el.attr(arr[1], value);
792
+ }
793
+ }
794
+
795
+ } else {
796
+ template.find(EVENT_NS + '-'+key).html(value);
797
+ }
798
+ });
799
+ },
800
+
801
+ _getScrollbarSize: function() {
802
+ // thx David
803
+ if(mfp.scrollbarSize === undefined) {
804
+ var scrollDiv = document.createElement("div");
805
+ scrollDiv.id = "mfp-sbm";
806
+ scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
807
+ document.body.appendChild(scrollDiv);
808
+ mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;
809
+ document.body.removeChild(scrollDiv);
810
+ }
811
+ return mfp.scrollbarSize;
812
+ }
813
+
814
+ }; /* MagnificPopup core prototype end */
815
+
816
+
817
+
818
+
819
+ /**
820
+ * Public static functions
821
+ */
822
+ $.magnificPopup = {
823
+ instance: null,
824
+ proto: MagnificPopup.prototype,
825
+ modules: [],
826
+
827
+ open: function(options, index) {
828
+ _checkInstance();
829
+
830
+ if(!options)
831
+ options = {};
832
+
833
+ options.isObj = true;
834
+ options.index = index || 0;
835
+ return this.instance.open(options);
836
+ },
837
+
838
+ close: function() {
839
+ return $.magnificPopup.instance.close();
840
+ },
841
+
842
+ registerModule: function(name, module) {
843
+ if(module.options) {
844
+ $.magnificPopup.defaults[name] = module.options;
845
+ }
846
+ $.extend(this.proto, module.proto);
847
+ this.modules.push(name);
848
+ },
849
+
850
+ defaults: {
851
+
852
+ // Info about options is in docs:
853
+ // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options
854
+
855
+ disableOn: 0,
856
+
857
+ key: null,
858
+
859
+ midClick: false,
860
+
861
+ mainClass: '',
862
+
863
+ preloader: true,
864
+
865
+ focus: '', // CSS selector of input to focus after popup is opened
866
+
867
+ closeOnContentClick: false,
868
+
869
+ closeOnBgClick: true,
870
+
871
+ closeBtnInside: true,
872
+
873
+ showCloseBtn: true,
874
+
875
+ enableEscapeKey: true,
876
+
877
+ modal: false,
878
+
879
+ alignTop: false,
880
+
881
+ removalDelay: 0,
882
+
883
+ fixedContentPos: 'auto',
884
+
885
+ fixedBgPos: 'auto',
886
+
887
+ overflowY: 'auto',
888
+
889
+ closeMarkup: '<button title="%title%" type="button" class="mfp-close">&times;</button>',
890
+
891
+ tClose: 'Close (Esc)',
892
+
893
+ tLoading: 'Loading...'
894
+
895
+ }
896
+ };
897
+
898
+
899
+
900
+ $.fn.magnificPopup = function(options) {
901
+ _checkInstance();
902
+
903
+ var jqEl = $(this);
904
+
905
+ // We call some API method of first param is a string
906
+ if (typeof options === "string" ) {
907
+
908
+ if(options === 'open') {
909
+ var items,
910
+ itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,
911
+ index = parseInt(arguments[1], 10) || 0;
912
+
913
+ if(itemOpts.items) {
914
+ items = itemOpts.items[index];
915
+ } else {
916
+ items = jqEl;
917
+ if(itemOpts.delegate) {
918
+ items = items.find(itemOpts.delegate);
919
+ }
920
+ items = items.eq( index );
921
+ }
922
+ mfp._openClick({mfpEl:items}, jqEl, itemOpts);
923
+ } else {
924
+ if(mfp.isOpen)
925
+ mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));
926
+ }
927
+
928
+ } else {
929
+
930
+ /*
931
+ * As Zepto doesn't support .data() method for objects
932
+ * and it works only in normal browsers
933
+ * we assign "options" object directly to the DOM element. FTW!
934
+ */
935
+ if(_isJQ) {
936
+ jqEl.data('magnificPopup', options);
937
+ } else {
938
+ jqEl[0].magnificPopup = options;
939
+ }
940
+
941
+ mfp.addGroup(jqEl, options);
942
+
943
+ }
944
+ return jqEl;
945
+ };
946
+
947
+
948
+ //Quick benchmark
949
+ /*
950
+ var start = performance.now(),
951
+ i,
952
+ rounds = 1000;
953
+
954
+ for(i = 0; i < rounds; i++) {
955
+
956
+ }
957
+ console.log('Test #1:', performance.now() - start);
958
+
959
+ start = performance.now();
960
+ for(i = 0; i < rounds; i++) {
961
+
962
+ }
963
+ console.log('Test #2:', performance.now() - start);
964
+ */
965
+
966
+
967
+ /*>>core*/
968
+
969
+ /*>>inline*/
970
+
971
+ var INLINE_NS = 'inline',
972
+ _hiddenClass,
973
+ _inlinePlaceholder,
974
+ _lastInlineElement,
975
+ _putInlineElementsBack = function() {
976
+ if(_lastInlineElement) {
977
+ _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();
978
+ _lastInlineElement = null;
979
+ }
980
+ };
981
+
982
+ $.magnificPopup.registerModule(INLINE_NS, {
983
+ options: {
984
+ hiddenClass: 'hide', // will be appended with `mfp-` prefix
985
+ markup: '',
986
+ tNotFound: 'Content not found'
987
+ },
988
+ proto: {
989
+
990
+ initInline: function() {
991
+ mfp.types.push(INLINE_NS);
992
+
993
+ _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {
994
+ _putInlineElementsBack();
995
+ });
996
+ },
997
+
998
+ getInline: function(item, template) {
999
+
1000
+ _putInlineElementsBack();
1001
+
1002
+ if(item.src) {
1003
+ var inlineSt = mfp.st.inline,
1004
+ el = $(item.src);
1005
+
1006
+ if(el.length) {
1007
+
1008
+ // If target element has parent - we replace it with placeholder and put it back after popup is closed
1009
+ var parent = el[0].parentNode;
1010
+ if(parent && parent.tagName) {
1011
+ if(!_inlinePlaceholder) {
1012
+ _hiddenClass = inlineSt.hiddenClass;
1013
+ _inlinePlaceholder = _getEl(_hiddenClass);
1014
+ _hiddenClass = 'mfp-'+_hiddenClass;
1015
+ }
1016
+ // replace target inline element with placeholder
1017
+ _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);
1018
+ }
1019
+
1020
+ mfp.updateStatus('ready');
1021
+ } else {
1022
+ mfp.updateStatus('error', inlineSt.tNotFound);
1023
+ el = $('<div>');
1024
+ }
1025
+
1026
+ item.inlineElement = el;
1027
+ return el;
1028
+ }
1029
+
1030
+ mfp.updateStatus('ready');
1031
+ mfp._parseMarkup(template, {}, item);
1032
+ return template;
1033
+ }
1034
+ }
1035
+ });
1036
+
1037
+ /*>>inline*/
1038
+
1039
+ /*>>ajax*/
1040
+ var AJAX_NS = 'ajax',
1041
+ _ajaxCur,
1042
+ _removeAjaxCursor = function() {
1043
+ if(_ajaxCur) {
1044
+ _body.removeClass(_ajaxCur);
1045
+ }
1046
+ };
1047
+
1048
+ $.magnificPopup.registerModule(AJAX_NS, {
1049
+
1050
+ options: {
1051
+ settings: null,
1052
+ cursor: 'mfp-ajax-cur',
1053
+ tError: '<a href="%url%">The content</a> could not be loaded.'
1054
+ },
1055
+
1056
+ proto: {
1057
+ initAjax: function() {
1058
+ mfp.types.push(AJAX_NS);
1059
+ _ajaxCur = mfp.st.ajax.cursor;
1060
+
1061
+ _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, function() {
1062
+ _removeAjaxCursor();
1063
+ if(mfp.req) {
1064
+ mfp.req.abort();
1065
+ }
1066
+ });
1067
+ },
1068
+
1069
+ getAjax: function(item) {
1070
+
1071
+ if(_ajaxCur)
1072
+ _body.addClass(_ajaxCur);
1073
+
1074
+ mfp.updateStatus('loading');
1075
+
1076
+ var opts = $.extend({
1077
+ url: item.src,
1078
+ success: function(data, textStatus, jqXHR) {
1079
+ var temp = {
1080
+ data:data,
1081
+ xhr:jqXHR
1082
+ };
1083
+
1084
+ _mfpTrigger('ParseAjax', temp);
1085
+
1086
+ mfp.appendContent( $(temp.data), AJAX_NS );
1087
+
1088
+ item.finished = true;
1089
+
1090
+ _removeAjaxCursor();
1091
+
1092
+ _setFocus();
1093
+
1094
+ setTimeout(function() {
1095
+ mfp.wrap.addClass(READY_CLASS);
1096
+ }, 16);
1097
+
1098
+ mfp.updateStatus('ready');
1099
+
1100
+ _mfpTrigger('AjaxContentAdded');
1101
+ },
1102
+ error: function() {
1103
+ _removeAjaxCursor();
1104
+ item.finished = item.loadError = true;
1105
+ mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));
1106
+ }
1107
+ }, mfp.st.ajax.settings);
1108
+
1109
+ mfp.req = $.ajax(opts);
1110
+
1111
+ return '';
1112
+ }
1113
+ }
1114
+ });
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+ /*>>ajax*/
1123
+
1124
+ /*>>image*/
1125
+ var _imgInterval,
1126
+ _getTitle = function(item) {
1127
+ if(item.data && item.data.title !== undefined)
1128
+ return item.data.title;
1129
+
1130
+ var src = mfp.st.image.titleSrc;
1131
+
1132
+ if(src) {
1133
+ if($.isFunction(src)) {
1134
+ return src.call(mfp, item);
1135
+ } else if(item.el) {
1136
+ return item.el.attr(src) || '';
1137
+ }
1138
+ }
1139
+ return '';
1140
+ };
1141
+
1142
+ $.magnificPopup.registerModule('image', {
1143
+
1144
+ options: {
1145
+ markup: '<div class="mfp-figure">'+
1146
+ '<div class="mfp-close"></div>'+
1147
+ '<div class="mfp-img"></div>'+
1148
+ '<div class="mfp-bottom-bar">'+
1149
+ '<div class="mfp-title"></div>'+
1150
+ '<div class="mfp-counter"></div>'+
1151
+ '</div>'+
1152
+ '</div>',
1153
+ cursor: 'mfp-zoom-out-cur',
1154
+ titleSrc: 'title',
1155
+ verticalFit: true,
1156
+ tError: '<a href="%url%">The image</a> could not be loaded.'
1157
+ },
1158
+
1159
+ proto: {
1160
+ initImage: function() {
1161
+ var imgSt = mfp.st.image,
1162
+ ns = '.image';
1163
+
1164
+ mfp.types.push('image');
1165
+
1166
+ _mfpOn(OPEN_EVENT+ns, function() {
1167
+ if(mfp.currItem.type === 'image' && imgSt.cursor) {
1168
+ _body.addClass(imgSt.cursor);
1169
+ }
1170
+ });
1171
+
1172
+ _mfpOn(CLOSE_EVENT+ns, function() {
1173
+ if(imgSt.cursor) {
1174
+ _body.removeClass(imgSt.cursor);
1175
+ }
1176
+ _window.off('resize' + EVENT_NS);
1177
+ });
1178
+
1179
+ _mfpOn('Resize'+ns, mfp.resizeImage);
1180
+ if(mfp.isLowIE) {
1181
+ _mfpOn('AfterChange', mfp.resizeImage);
1182
+ }
1183
+ },
1184
+ resizeImage: function() {
1185
+ var item = mfp.currItem;
1186
+ if(!item || !item.img) return;
1187
+
1188
+ if(mfp.st.image.verticalFit) {
1189
+ var decr = 0;
1190
+ // fix box-sizing in ie7/8
1191
+ if(mfp.isLowIE) {
1192
+ decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);
1193
+ }
1194
+ item.img.css('max-height', mfp.wH-decr);
1195
+ }
1196
+ },
1197
+ _onImageHasSize: function(item) {
1198
+ if(item.img) {
1199
+
1200
+ item.hasSize = true;
1201
+
1202
+ if(_imgInterval) {
1203
+ clearInterval(_imgInterval);
1204
+ }
1205
+
1206
+ item.isCheckingImgSize = false;
1207
+
1208
+ _mfpTrigger('ImageHasSize', item);
1209
+
1210
+ if(item.imgHidden) {
1211
+ if(mfp.content)
1212
+ mfp.content.removeClass('mfp-loading');
1213
+
1214
+ item.imgHidden = false;
1215
+ }
1216
+
1217
+ }
1218
+ },
1219
+
1220
+ /**
1221
+ * Function that loops until the image has size to display elements that rely on it asap
1222
+ */
1223
+ findImageSize: function(item) {
1224
+
1225
+ var counter = 0,
1226
+ img = item.img[0],
1227
+ mfpSetInterval = function(delay) {
1228
+
1229
+ if(_imgInterval) {
1230
+ clearInterval(_imgInterval);
1231
+ }
1232
+ // decelerating interval that checks for size of an image
1233
+ _imgInterval = setInterval(function() {
1234
+ if(img.naturalWidth > 0) {
1235
+ mfp._onImageHasSize(item);
1236
+ return;
1237
+ }
1238
+
1239
+ if(counter > 200) {
1240
+ clearInterval(_imgInterval);
1241
+ }
1242
+
1243
+ counter++;
1244
+ if(counter === 3) {
1245
+ mfpSetInterval(10);
1246
+ } else if(counter === 40) {
1247
+ mfpSetInterval(50);
1248
+ } else if(counter === 100) {
1249
+ mfpSetInterval(500);
1250
+ }
1251
+ }, delay);
1252
+ };
1253
+
1254
+ mfpSetInterval(1);
1255
+ },
1256
+
1257
+ getImage: function(item, template) {
1258
+
1259
+ var guard = 0,
1260
+
1261
+ // image load complete handler
1262
+ onLoadComplete = function() {
1263
+ if(item) {
1264
+ if (item.img[0].complete) {
1265
+ item.img.off('.mfploader');
1266
+
1267
+ if(item === mfp.currItem){
1268
+ mfp._onImageHasSize(item);
1269
+
1270
+ mfp.updateStatus('ready');
1271
+ }
1272
+
1273
+ item.hasSize = true;
1274
+ item.loaded = true;
1275
+
1276
+ _mfpTrigger('ImageLoadComplete');
1277
+
1278
+ }
1279
+ else {
1280
+ // if image complete check fails 200 times (20 sec), we assume that there was an error.
1281
+ guard++;
1282
+ if(guard < 200) {
1283
+ setTimeout(onLoadComplete,100);
1284
+ } else {
1285
+ onLoadError();
1286
+ }
1287
+ }
1288
+ }
1289
+ },
1290
+
1291
+ // image error handler
1292
+ onLoadError = function() {
1293
+ if(item) {
1294
+ item.img.off('.mfploader');
1295
+ if(item === mfp.currItem){
1296
+ mfp._onImageHasSize(item);
1297
+ mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
1298
+ }
1299
+
1300
+ item.hasSize = true;
1301
+ item.loaded = true;
1302
+ item.loadError = true;
1303
+ }
1304
+ },
1305
+ imgSt = mfp.st.image;
1306
+
1307
+
1308
+ var el = template.find('.mfp-img');
1309
+ if(el.length) {
1310
+ var img = document.createElement('img');
1311
+ img.className = 'mfp-img';
1312
+ item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);
1313
+ img.src = item.src;
1314
+
1315
+ // without clone() "error" event is not firing when IMG is replaced by new IMG
1316
+ // TODO: find a way to avoid such cloning
1317
+ if(el.is('img')) {
1318
+ item.img = item.img.clone();
1319
+ }
1320
+ if(item.img[0].naturalWidth > 0) {
1321
+ item.hasSize = true;
1322
+ }
1323
+ }
1324
+
1325
+ mfp._parseMarkup(template, {
1326
+ title: _getTitle(item),
1327
+ img_replaceWith: item.img
1328
+ }, item);
1329
+
1330
+ mfp.resizeImage();
1331
+
1332
+ if(item.hasSize) {
1333
+ if(_imgInterval) clearInterval(_imgInterval);
1334
+
1335
+ if(item.loadError) {
1336
+ template.addClass('mfp-loading');
1337
+ mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
1338
+ } else {
1339
+ template.removeClass('mfp-loading');
1340
+ mfp.updateStatus('ready');
1341
+ }
1342
+ return template;
1343
+ }
1344
+
1345
+ mfp.updateStatus('loading');
1346
+ item.loading = true;
1347
+
1348
+ if(!item.hasSize) {
1349
+ item.imgHidden = true;
1350
+ template.addClass('mfp-loading');
1351
+ mfp.findImageSize(item);
1352
+ }
1353
+
1354
+ return template;
1355
+ }
1356
+ }
1357
+ });
1358
+
1359
+
1360
+
1361
+ /*>>image*/
1362
+
1363
+ /*>>zoom*/
1364
+ var hasMozTransform,
1365
+ getHasMozTransform = function() {
1366
+ if(hasMozTransform === undefined) {
1367
+ hasMozTransform = document.createElement('p').style.MozTransform !== undefined;
1368
+ }
1369
+ return hasMozTransform;
1370
+ };
1371
+
1372
+ $.magnificPopup.registerModule('zoom', {
1373
+
1374
+ options: {
1375
+ enabled: false,
1376
+ easing: 'ease-in-out',
1377
+ duration: 300,
1378
+ opener: function(element) {
1379
+ return element.is('img') ? element : element.find('img');
1380
+ }
1381
+ },
1382
+
1383
+ proto: {
1384
+
1385
+ initZoom: function() {
1386
+ var zoomSt = mfp.st.zoom,
1387
+ ns = '.zoom';
1388
+
1389
+ if(!zoomSt.enabled || !mfp.supportsTransition) {
1390
+ return;
1391
+ }
1392
+
1393
+ var duration = zoomSt.duration,
1394
+ getElToAnimate = function(image) {
1395
+ var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),
1396
+ transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,
1397
+ cssObj = {
1398
+ position: 'fixed',
1399
+ zIndex: 9999,
1400
+ left: 0,
1401
+ top: 0,
1402
+ '-webkit-backface-visibility': 'hidden'
1403
+ },
1404
+ t = 'transition';
1405
+
1406
+ cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;
1407
+
1408
+ newImg.css(cssObj);
1409
+ return newImg;
1410
+ },
1411
+ showMainContent = function() {
1412
+ mfp.content.css('visibility', 'visible');
1413
+ },
1414
+ openTimeout,
1415
+ animatedImg;
1416
+
1417
+ _mfpOn('BuildControls'+ns, function() {
1418
+ if(mfp._allowZoom()) {
1419
+
1420
+ clearTimeout(openTimeout);
1421
+ mfp.content.css('visibility', 'hidden');
1422
+
1423
+ // Basically, all code below does is clones existing image, puts in on top of the current one and animated it
1424
+
1425
+ image = mfp._getItemToZoom();
1426
+
1427
+ if(!image) {
1428
+ showMainContent();
1429
+ return;
1430
+ }
1431
+
1432
+ animatedImg = getElToAnimate(image);
1433
+
1434
+ animatedImg.css( mfp._getOffset() );
1435
+
1436
+ mfp.wrap.append(animatedImg);
1437
+
1438
+ openTimeout = setTimeout(function() {
1439
+ animatedImg.css( mfp._getOffset( true ) );
1440
+ openTimeout = setTimeout(function() {
1441
+
1442
+ showMainContent();
1443
+
1444
+ setTimeout(function() {
1445
+ animatedImg.remove();
1446
+ image = animatedImg = null;
1447
+ _mfpTrigger('ZoomAnimationEnded');
1448
+ }, 16); // avoid blink when switching images
1449
+
1450
+ }, duration); // this timeout equals animation duration
1451
+
1452
+ }, 16); // by adding this timeout we avoid short glitch at the beginning of animation
1453
+
1454
+
1455
+ // Lots of timeouts...
1456
+ }
1457
+ });
1458
+ _mfpOn(BEFORE_CLOSE_EVENT+ns, function() {
1459
+ if(mfp._allowZoom()) {
1460
+
1461
+ clearTimeout(openTimeout);
1462
+
1463
+ mfp.st.removalDelay = duration;
1464
+
1465
+ if(!image) {
1466
+ image = mfp._getItemToZoom();
1467
+ if(!image) {
1468
+ return;
1469
+ }
1470
+ animatedImg = getElToAnimate(image);
1471
+ }
1472
+
1473
+
1474
+ animatedImg.css( mfp._getOffset(true) );
1475
+ mfp.wrap.append(animatedImg);
1476
+ mfp.content.css('visibility', 'hidden');
1477
+
1478
+ setTimeout(function() {
1479
+ animatedImg.css( mfp._getOffset() );
1480
+ }, 16);
1481
+ }
1482
+
1483
+ });
1484
+
1485
+ _mfpOn(CLOSE_EVENT+ns, function() {
1486
+ if(mfp._allowZoom()) {
1487
+ showMainContent();
1488
+ if(animatedImg) {
1489
+ animatedImg.remove();
1490
+ }
1491
+ }
1492
+ });
1493
+ },
1494
+
1495
+ _allowZoom: function() {
1496
+ return mfp.currItem.type === 'image';
1497
+ },
1498
+
1499
+ _getItemToZoom: function() {
1500
+ if(mfp.currItem.hasSize) {
1501
+ return mfp.currItem.img;
1502
+ } else {
1503
+ return false;
1504
+ }
1505
+ },
1506
+
1507
+ // Get element postion relative to viewport
1508
+ _getOffset: function(isLarge) {
1509
+ var el;
1510
+ if(isLarge) {
1511
+ el = mfp.currItem.img;
1512
+ } else {
1513
+ el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);
1514
+ }
1515
+
1516
+ var offset = el.offset();
1517
+ var paddingTop = parseInt(el.css('padding-top'),10);
1518
+ var paddingBottom = parseInt(el.css('padding-bottom'),10);
1519
+ offset.top -= ( $(window).scrollTop() - paddingTop );
1520
+
1521
+
1522
+ /*
1523
+
1524
+ Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.
1525
+
1526
+ */
1527
+ var obj = {
1528
+ width: el.width(),
1529
+ // fix Zepto height+padding issue
1530
+ height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop
1531
+ };
1532
+
1533
+ // I hate to do this, but there is no another option
1534
+ if( getHasMozTransform() ) {
1535
+ obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';
1536
+ } else {
1537
+ obj.left = offset.left;
1538
+ obj.top = offset.top;
1539
+ }
1540
+ return obj;
1541
+ }
1542
+
1543
+ }
1544
+ });
1545
+
1546
+
1547
+
1548
+ /*>>zoom*/
1549
+
1550
+ /*>>iframe*/
1551
+
1552
+ var IFRAME_NS = 'iframe',
1553
+ _emptyPage = '//about:blank',
1554
+
1555
+ _fixIframeBugs = function(isShowing) {
1556
+ if(mfp.currTemplate[IFRAME_NS]) {
1557
+ var el = mfp.currTemplate[IFRAME_NS].find('iframe');
1558
+ if(el.length) {
1559
+ // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug
1560
+ if(!isShowing) {
1561
+ el[0].src = _emptyPage;
1562
+ }
1563
+
1564
+ // IE8 black screen bug fix
1565
+ if(mfp.isIE8) {
1566
+ el.css('display', isShowing ? 'block' : 'none');
1567
+ }
1568
+ }
1569
+ }
1570
+ };
1571
+
1572
+ $.magnificPopup.registerModule(IFRAME_NS, {
1573
+
1574
+ options: {
1575
+ markup: '<div class="mfp-iframe-scaler">'+
1576
+ '<div class="mfp-close"></div>'+
1577
+ '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>'+
1578
+ '</div>',
1579
+
1580
+ srcAction: 'iframe_src',
1581
+
1582
+ // we don't care and support only one default type of URL by default
1583
+ patterns: {
1584
+ youtube: {
1585
+ index: 'youtube.com',
1586
+ id: 'v=',
1587
+ src: '//www.youtube.com/embed/%id%?autoplay=1'
1588
+ },
1589
+ vimeo: {
1590
+ index: 'vimeo.com/',
1591
+ id: '/',
1592
+ src: '//player.vimeo.com/video/%id%?autoplay=1'
1593
+ },
1594
+ gmaps: {
1595
+ index: '//maps.google.',
1596
+ src: '%id%&output=embed'
1597
+ }
1598
+ }
1599
+ },
1600
+
1601
+ proto: {
1602
+ initIframe: function() {
1603
+ mfp.types.push(IFRAME_NS);
1604
+
1605
+ _mfpOn('BeforeChange', function(e, prevType, newType) {
1606
+ if(prevType !== newType) {
1607
+ if(prevType === IFRAME_NS) {
1608
+ _fixIframeBugs(); // iframe if removed
1609
+ } else if(newType === IFRAME_NS) {
1610
+ _fixIframeBugs(true); // iframe is showing
1611
+ }
1612
+ }// else {
1613
+ // iframe source is switched, don't do anything
1614
+ //}
1615
+ });
1616
+
1617
+ _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
1618
+ _fixIframeBugs();
1619
+ });
1620
+ },
1621
+
1622
+ getIframe: function(item, template) {
1623
+ var embedSrc = item.src;
1624
+ var iframeSt = mfp.st.iframe;
1625
+
1626
+ $.each(iframeSt.patterns, function() {
1627
+ if(embedSrc.indexOf( this.index ) > -1) {
1628
+ if(this.id) {
1629
+ if(typeof this.id === 'string') {
1630
+ embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);
1631
+ } else {
1632
+ embedSrc = this.id.call( this, embedSrc );
1633
+ }
1634
+ }
1635
+ embedSrc = this.src.replace('%id%', embedSrc );
1636
+ return false; // break;
1637
+ }
1638
+ });
1639
+
1640
+ var dataObj = {};
1641
+ if(iframeSt.srcAction) {
1642
+ dataObj[iframeSt.srcAction] = embedSrc;
1643
+ }
1644
+ mfp._parseMarkup(template, dataObj, item);
1645
+
1646
+ mfp.updateStatus('ready');
1647
+
1648
+ return template;
1649
+ }
1650
+ }
1651
+ });
1652
+
1653
+
1654
+
1655
+ /*>>iframe*/
1656
+
1657
+ /*>>gallery*/
1658
+ /**
1659
+ * Get looped index depending on number of slides
1660
+ */
1661
+ var _getLoopedId = function(index) {
1662
+ var numSlides = mfp.items.length;
1663
+ if(index > numSlides - 1) {
1664
+ return index - numSlides;
1665
+ } else if(index < 0) {
1666
+ return numSlides + index;
1667
+ }
1668
+ return index;
1669
+ },
1670
+ _replaceCurrTotal = function(text, curr, total) {
1671
+ return text.replace('%curr%', curr + 1).replace('%total%', total);
1672
+ };
1673
+
1674
+ $.magnificPopup.registerModule('gallery', {
1675
+
1676
+ options: {
1677
+ enabled: false,
1678
+ arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
1679
+ preload: [0,2],
1680
+ navigateByImgClick: true,
1681
+ arrows: true,
1682
+
1683
+ tPrev: 'Previous (Left arrow key)',
1684
+ tNext: 'Next (Right arrow key)',
1685
+ tCounter: '%curr% of %total%'
1686
+ },
1687
+
1688
+ proto: {
1689
+ initGallery: function() {
1690
+
1691
+ var gSt = mfp.st.gallery,
1692
+ ns = '.mfp-gallery',
1693
+ supportsFastClick = Boolean($.fn.mfpFastClick);
1694
+
1695
+ mfp.direction = true; // true - next, false - prev
1696
+
1697
+ if(!gSt || !gSt.enabled ) return false;
1698
+
1699
+ _wrapClasses += ' mfp-gallery';
1700
+
1701
+ _mfpOn(OPEN_EVENT+ns, function() {
1702
+
1703
+ if(gSt.navigateByImgClick) {
1704
+ mfp.wrap.on('click'+ns, '.mfp-img', function() {
1705
+ if(mfp.items.length > 1) {
1706
+ mfp.next();
1707
+ return false;
1708
+ }
1709
+ });
1710
+ }
1711
+
1712
+ _document.on('keydown'+ns, function(e) {
1713
+ if (e.keyCode === 37) {
1714
+ mfp.prev();
1715
+ } else if (e.keyCode === 39) {
1716
+ mfp.next();
1717
+ }
1718
+ });
1719
+ });
1720
+
1721
+ _mfpOn('UpdateStatus'+ns, function(e, data) {
1722
+ if(data.text) {
1723
+ data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);
1724
+ }
1725
+ });
1726
+
1727
+ _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
1728
+ var l = mfp.items.length;
1729
+ values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
1730
+ });
1731
+
1732
+ _mfpOn('BuildControls' + ns, function() {
1733
+ if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
1734
+ var markup = gSt.arrowMarkup,
1735
+ arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS),
1736
+ arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS);
1737
+
1738
+ var eName = supportsFastClick ? 'mfpFastClick' : 'click';
1739
+ arrowLeft[eName](function() {
1740
+ mfp.prev();
1741
+ });
1742
+ arrowRight[eName](function() {
1743
+ mfp.next();
1744
+ });
1745
+
1746
+ // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b)
1747
+ if(mfp.isIE7) {
1748
+ _getEl('b', arrowLeft[0], false, true);
1749
+ _getEl('a', arrowLeft[0], false, true);
1750
+ _getEl('b', arrowRight[0], false, true);
1751
+ _getEl('a', arrowRight[0], false, true);
1752
+ }
1753
+
1754
+ mfp.container.append(arrowLeft.add(arrowRight));
1755
+ }
1756
+ });
1757
+
1758
+ _mfpOn(CHANGE_EVENT+ns, function() {
1759
+ if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);
1760
+
1761
+ mfp._preloadTimeout = setTimeout(function() {
1762
+ mfp.preloadNearbyImages();
1763
+ mfp._preloadTimeout = null;
1764
+ }, 16);
1765
+ });
1766
+
1767
+
1768
+ _mfpOn(CLOSE_EVENT+ns, function() {
1769
+ _document.off(ns);
1770
+ mfp.wrap.off('click'+ns);
1771
+
1772
+ if(mfp.arrowLeft && supportsFastClick) {
1773
+ mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
1774
+ }
1775
+ mfp.arrowRight = mfp.arrowLeft = null;
1776
+ });
1777
+
1778
+ },
1779
+ next: function() {
1780
+ mfp.direction = true;
1781
+ mfp.index = _getLoopedId(mfp.index + 1);
1782
+ mfp.updateItemHTML();
1783
+ },
1784
+ prev: function() {
1785
+ mfp.direction = false;
1786
+ mfp.index = _getLoopedId(mfp.index - 1);
1787
+ mfp.updateItemHTML();
1788
+ },
1789
+ goTo: function(newIndex) {
1790
+ mfp.direction = (newIndex >= mfp.index);
1791
+ mfp.index = newIndex;
1792
+ mfp.updateItemHTML();
1793
+ },
1794
+ preloadNearbyImages: function() {
1795
+ var p = mfp.st.gallery.preload,
1796
+ preloadBefore = Math.min(p[0], mfp.items.length),
1797
+ preloadAfter = Math.min(p[1], mfp.items.length),
1798
+ i;
1799
+
1800
+ for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {
1801
+ mfp._preloadItem(mfp.index+i);
1802
+ }
1803
+ for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {
1804
+ mfp._preloadItem(mfp.index-i);
1805
+ }
1806
+ },
1807
+ _preloadItem: function(index) {
1808
+ index = _getLoopedId(index);
1809
+
1810
+ if(mfp.items[index].preloaded) {
1811
+ return;
1812
+ }
1813
+
1814
+ var item = mfp.items[index];
1815
+ if(!item.parsed) {
1816
+ item = mfp.parseEl( index );
1817
+ }
1818
+
1819
+ _mfpTrigger('LazyLoad', item);
1820
+
1821
+ if(item.type === 'image') {
1822
+ item.img = $('<img class="mfp-img" />').on('load.mfploader', function() {
1823
+ item.hasSize = true;
1824
+ }).on('error.mfploader', function() {
1825
+ item.hasSize = true;
1826
+ item.loadError = true;
1827
+ _mfpTrigger('LazyLoadError', item);
1828
+ }).attr('src', item.src);
1829
+ }
1830
+
1831
+
1832
+ item.preloaded = true;
1833
+ }
1834
+ }
1835
+ });
1836
+
1837
+ /*
1838
+ Touch Support that might be implemented some day
1839
+
1840
+ addSwipeGesture: function() {
1841
+ var startX,
1842
+ moved,
1843
+ multipleTouches;
1844
+
1845
+ return;
1846
+
1847
+ var namespace = '.mfp',
1848
+ addEventNames = function(pref, down, move, up, cancel) {
1849
+ mfp._tStart = pref + down + namespace;
1850
+ mfp._tMove = pref + move + namespace;
1851
+ mfp._tEnd = pref + up + namespace;
1852
+ mfp._tCancel = pref + cancel + namespace;
1853
+ };
1854
+
1855
+ if(window.navigator.msPointerEnabled) {
1856
+ addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel');
1857
+ } else if('ontouchstart' in window) {
1858
+ addEventNames('touch', 'start', 'move', 'end', 'cancel');
1859
+ } else {
1860
+ return;
1861
+ }
1862
+ _window.on(mfp._tStart, function(e) {
1863
+ var oE = e.originalEvent;
1864
+ multipleTouches = moved = false;
1865
+ startX = oE.pageX || oE.changedTouches[0].pageX;
1866
+ }).on(mfp._tMove, function(e) {
1867
+ if(e.originalEvent.touches.length > 1) {
1868
+ multipleTouches = e.originalEvent.touches.length;
1869
+ } else {
1870
+ //e.preventDefault();
1871
+ moved = true;
1872
+ }
1873
+ }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) {
1874
+ if(moved && !multipleTouches) {
1875
+ var oE = e.originalEvent,
1876
+ diff = startX - (oE.pageX || oE.changedTouches[0].pageX);
1877
+
1878
+ if(diff > 20) {
1879
+ mfp.next();
1880
+ } else if(diff < -20) {
1881
+ mfp.prev();
1882
+ }
1883
+ }
1884
+ });
1885
+ },
1886
+ */
1887
+
1888
+
1889
+ /*>>gallery*/
1890
+
1891
+ /*>>retina*/
1892
+
1893
+ var RETINA_NS = 'retina';
1894
+
1895
+ $.magnificPopup.registerModule(RETINA_NS, {
1896
+ options: {
1897
+ replaceSrc: function(item) {
1898
+ return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; });
1899
+ },
1900
+ ratio: 1 // Function or number. Set to 1 to disable.
1901
+ },
1902
+ proto: {
1903
+ initRetina: function() {
1904
+ if(window.devicePixelRatio > 1) {
1905
+
1906
+ var st = mfp.st.retina,
1907
+ ratio = st.ratio;
1908
+
1909
+ ratio = !isNaN(ratio) ? ratio : ratio();
1910
+
1911
+ if(ratio > 1) {
1912
+ _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {
1913
+ item.img.css({
1914
+ 'max-width': item.img[0].naturalWidth / ratio,
1915
+ 'width': '100%'
1916
+ });
1917
+ });
1918
+ _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {
1919
+ item.src = st.replaceSrc(item, ratio);
1920
+ });
1921
+ }
1922
+ }
1923
+
1924
+ }
1925
+ }
1926
+ });
1927
+
1928
+ /*>>retina*/
1929
+
1930
+ /*>>fastclick*/
1931
+ /**
1932
+ * FastClick event implementation. (removes 300ms delay on touch devices)
1933
+ * Based on https://developers.google.com/mobile/articles/fast_buttons
1934
+ *
1935
+ * You may use it outside the Magnific Popup by calling just:
1936
+ *
1937
+ * $('.your-el').mfpFastClick(function() {
1938
+ * console.log('Clicked!');
1939
+ * });
1940
+ *
1941
+ * To unbind:
1942
+ * $('.your-el').destroyMfpFastClick();
1943
+ *
1944
+ *
1945
+ * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound.
1946
+ * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick
1947
+ *
1948
+ */
1949
+
1950
+ (function() {
1951
+ var ghostClickDelay = 1000,
1952
+ supportsTouch = 'ontouchstart' in window,
1953
+ unbindTouchMove = function() {
1954
+ _window.off('touchmove'+ns+' touchend'+ns);
1955
+ },
1956
+ eName = 'mfpFastClick',
1957
+ ns = '.'+eName;
1958
+
1959
+
1960
+ // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way
1961
+ $.fn.mfpFastClick = function(callback) {
1962
+
1963
+ return $(this).each(function() {
1964
+
1965
+ var elem = $(this),
1966
+ lock;
1967
+
1968
+ if( supportsTouch ) {
1969
+
1970
+ var timeout,
1971
+ startX,
1972
+ startY,
1973
+ pointerMoved,
1974
+ point,
1975
+ numPointers;
1976
+
1977
+ elem.on('touchstart' + ns, function(e) {
1978
+ pointerMoved = false;
1979
+ numPointers = 1;
1980
+
1981
+ point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0];
1982
+ startX = point.clientX;
1983
+ startY = point.clientY;
1984
+
1985
+ _window.on('touchmove'+ns, function(e) {
1986
+ point = e.originalEvent ? e.originalEvent.touches : e.touches;
1987
+ numPointers = point.length;
1988
+ point = point[0];
1989
+ if (Math.abs(point.clientX - startX) > 10 ||
1990
+ Math.abs(point.clientY - startY) > 10) {
1991
+ pointerMoved = true;
1992
+ unbindTouchMove();
1993
+ }
1994
+ }).on('touchend'+ns, function(e) {
1995
+ unbindTouchMove();
1996
+ if(pointerMoved || numPointers > 1) {
1997
+ return;
1998
+ }
1999
+ lock = true;
2000
+ e.preventDefault();
2001
+ clearTimeout(timeout);
2002
+ timeout = setTimeout(function() {
2003
+ lock = false;
2004
+ }, ghostClickDelay);
2005
+ callback();
2006
+ });
2007
+ });
2008
+
2009
+ }
2010
+
2011
+ elem.on('click' + ns, function() {
2012
+ if(!lock) {
2013
+ callback();
2014
+ }
2015
+ });
2016
+ });
2017
+ };
2018
+
2019
+ $.fn.destroyMfpFastClick = function() {
2020
+ $(this).off('touchstart' + ns + ' click' + ns);
2021
+ if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns);
2022
+ };
2023
+ })();
2024
+
2025
+ /*>>fastclick*/
2026
+ })(window.jQuery || window.Zepto);
src/cyclone-slider/libs/magnific-popup/jquery.magnific-popup.min.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*! Magnific Popup - v0.9.5 - 2013-08-21
2
+ * http://dimsemenov.com/plugins/magnific-popup/
3
+ * Copyright (c) 2013 Dmitry Semenov; */
4
+ (function(e){var t,i,n,o,a,r,s,l="Close",c="BeforeClose",d="AfterClose",u="BeforeAppend",p="MarkupParse",f="Open",m="Change",g="mfp",v="."+g,h="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,I=e(window),x=function(e,i){t.ev.on(g+e+v,i)},k=function(t,i,n,o){var a=document.createElement("div");return a.className="mfp-"+t,n&&(a.innerHTML=n),o?i&&i.appendChild(a):(a=e(a),i&&a.appendTo(i)),a},T=function(i,n){t.ev.triggerHandler(g+i,n),t.st.callbacks&&(i=i.charAt(0).toLowerCase()+i.slice(1),t.st.callbacks[i]&&t.st.callbacks[i].apply(t,e.isArray(n)?n:[n]))},E=function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},S=function(i){return i===s&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),s=i),t.currTemplate.closeBtn},P=function(){e.magnificPopup.instance||(t=new w,t.init(),e.magnificPopup.instance=t)},_=function(i){if(!e(i).hasClass(y)){var n=t.st.closeOnContentClick,o=t.st.closeOnBgClick;if(n&&o)return!0;if(!t.content||e(i).hasClass("mfp-close")||t.preloader&&i===t.preloader[0])return!0;if(i===t.content[0]||e.contains(t.content[0],i)){if(n)return!0}else if(o&&e.contains(document,i))return!0;return!1}},O=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1};w.prototype={constructor:w,init:function(){var i=navigator.appVersion;t.isIE7=-1!==i.indexOf("MSIE 7."),t.isIE8=-1!==i.indexOf("MSIE 8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(i),t.isIOS=/iphone|ipad|ipod/gi.test(i),t.supportsTransition=O(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),n=e(document.body),o=e(document),t.popupsCache={}},open:function(i){var n;if(i.isObj===!1){t.items=i.items.toArray(),t.index=0;var a,s=i.items;for(n=0;s.length>n;n++)if(a=s[n],a.parsed&&(a=a.el[0]),a===i.el[0]){t.index=n;break}}else t.items=e.isArray(i.items)?i.items:[i.items],t.index=i.index||0;if(t.isOpen)return t.updateItemHTML(),void 0;t.types=[],r="",t.ev=i.mainEl&&i.mainEl.length?i.mainEl.eq(0):o,i.key?(t.popupsCache[i.key]||(t.popupsCache[i.key]={}),t.currTemplate=t.popupsCache[i.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,i),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=k("bg").on("click"+v,function(){t.close()}),t.wrap=k("wrap").attr("tabindex",-1).on("click"+v,function(e){_(e.target)&&t.close()}),t.container=k("container",t.wrap)),t.contentContainer=k("content"),t.st.preloader&&(t.preloader=k("preloader",t.container,t.st.tLoading));var l=e.magnificPopup.modules;for(n=0;l.length>n;n++){var c=l[n];c=c.charAt(0).toUpperCase()+c.slice(1),t["init"+c].call(t)}T("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(x(p,function(e,t,i,n){i.close_replaceWith=S(n.type)}),r+=" mfp-close-btn-in"):t.wrap.append(S())),t.st.alignTop&&(r+=" mfp-align-top"),t.fixedContentPos?t.wrap.css({overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}):t.wrap.css({top:I.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:o.height(),position:"absolute"}),t.st.enableEscapeKey&&o.on("keyup"+v,function(e){27===e.keyCode&&t.close()}),I.on("resize"+v,function(){t.updateSize()}),t.st.closeOnContentClick||(r+=" mfp-auto-cursor"),r&&t.wrap.addClass(r);var d=t.wH=I.height(),u={};if(t.fixedContentPos&&t._hasScrollBar(d)){var m=t._getScrollbarSize();m&&(u.paddingRight=m)}t.fixedContentPos&&(t.isIE7?e("body, html").css("overflow","hidden"):u.overflow="hidden");var g=t.st.mainClass;t.isIE7&&(g+=" mfp-ie7"),g&&t._addClassToMFP(g),t.updateItemHTML(),T("BuildControls"),e("html").css(u),t.bgOverlay.add(t.wrap).prependTo(document.body),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(h),E()):t.bgOverlay.addClass(h),o.on("focusin"+v,function(i){return i.target===t.wrap[0]||e.contains(t.wrap[0],i.target)?void 0:(E(),!1)})},16),t.isOpen=!0,t.updateSize(d),T(f)},close:function(){t.isOpen&&(T(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){T(l);var i=C+" "+h+" ";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(i+=t.st.mainClass+" "),t._removeClassFromMFP(i),t.fixedContentPos){var n={paddingRight:""};t.isIE7?e("body, html").css("overflow",""):n.overflow="",e("html").css(n)}o.off("keyup"+v+" focusin"+v),t.ev.off(v),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),!t.st.showCloseBtn||t.st.closeBtnInside&&t.currTemplate[t.currItem.type]!==!0||t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,T(d)},updateSize:function(e){if(t.isIOS){var i=document.documentElement.clientWidth/window.innerWidth,n=window.innerHeight*i;t.wrap.css("height",n),t.wH=n}else t.wH=e||I.height();t.fixedContentPos||t.wrap.css("height",t.wH),T("Resize")},updateItemHTML:function(){var i=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),i.parsed||(i=t.parseEl(t.index));var n=i.type;if(T("BeforeChange",[t.currItem?t.currItem.type:"",n]),t.currItem=i,!t.currTemplate[n]){var o=t.st[n]?t.st[n].markup:!1;T("FirstMarkupParse",o),t.currTemplate[n]=o?e(o):!0}a&&a!==i.type&&t.container.removeClass("mfp-"+a+"-holder");var r=t["get"+n.charAt(0).toUpperCase()+n.slice(1)](i,t.currTemplate[n]);t.appendContent(r,n),i.preloaded=!0,T(m,i),a=i.type,t.container.prepend(t.contentContainer),T("AfterChange")},appendContent:function(e,i){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[i]===!0?t.content.find(".mfp-close").length||t.content.append(S()):t.content=e:t.content="",T(u),t.container.addClass("mfp-"+i+"-holder"),t.contentContainer.append(t.content)},parseEl:function(i){var n=t.items[i],o=n.type;if(n=n.tagName?{el:e(n)}:{data:n,src:n.src},n.el){for(var a=t.types,r=0;a.length>r;r++)if(n.el.hasClass("mfp-"+a[r])){o=a[r];break}n.src=n.el.attr("data-mfp-src"),n.src||(n.src=n.el.attr("href"))}return n.type=o||t.st.type||"inline",n.index=i,n.parsed=!0,t.items[i]=n,T("ElementParse",n),t.items[i]},addGroup:function(e,i){var n=function(n){n.mfpEl=this,t._openClick(n,e,i)};i||(i={});var o="click.magnificPopup";i.mainEl=e,i.items?(i.isObj=!0,e.off(o).on(o,n)):(i.isObj=!1,i.delegate?e.off(o).on(o,i.delegate,n):(i.items=e,e.off(o).on(o,n)))},_openClick:function(i,n,o){var a=void 0!==o.midClick?o.midClick:e.magnificPopup.defaults.midClick;if(a||2!==i.which&&!i.ctrlKey&&!i.metaKey){var r=void 0!==o.disableOn?o.disableOn:e.magnificPopup.defaults.disableOn;if(r)if(e.isFunction(r)){if(!r.call(t))return!0}else if(r>I.width())return!0;i.type&&(i.preventDefault(),t.isOpen&&i.stopPropagation()),o.el=e(i.mfpEl),o.delegate&&(o.items=n.find(o.delegate)),t.open(o)}},updateStatus:function(e,n){if(t.preloader){i!==e&&t.container.removeClass("mfp-s-"+i),n||"loading"!==e||(n=t.st.tLoading);var o={status:e,text:n};T("UpdateStatus",o),e=o.status,n=o.text,t.preloader.html(n),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),i=e}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?o.height():document.body.scrollHeight)>(e||I.height())},_parseMarkup:function(t,i,n){var o;n.data&&(i=e.extend(n.data,i)),T(p,[t,i,n]),e.each(i,function(e,i){if(void 0===i||i===!1)return!0;if(o=e.split("_"),o.length>1){var n=t.find(v+"-"+o[0]);if(n.length>0){var a=o[1];"replaceWith"===a?n[0]!==i[0]&&n.replaceWith(i):"img"===a?n.is("img")?n.attr("src",i):n.replaceWith('<img src="'+i+'" class="'+n.attr("class")+'" />'):n.attr(o[1],i)}}else t.find(v+"-"+e).html(i)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.id="mfp-sbm",e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(e,t){return P(),e||(e={}),e.isObj=!0,e.index=t||0,this.instance.open(e)},close:function(){return e.magnificPopup.instance.close()},registerModule:function(t,i){i.options&&(e.magnificPopup.defaults[t]=i.options),e.extend(this.proto,i.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(i){P();var n=e(this);if("string"==typeof i)if("open"===i){var o,a=b?n.data("magnificPopup"):n[0].magnificPopup,r=parseInt(arguments[1],10)||0;a.items?o=a.items[r]:(o=n,a.delegate&&(o=o.find(a.delegate)),o=o.eq(r)),t._openClick({mfpEl:o},n,a)}else t.isOpen&&t[i].apply(t,Array.prototype.slice.call(arguments,1));else b?n.data("magnificPopup",i):n[0].magnificPopup=i,t.addGroup(n,i);return n};var z,M,B,H="inline",L=function(){B&&(M.after(B.addClass(z)).detach(),B=null)};e.magnificPopup.registerModule(H,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(H),x(l+"."+H,function(){L()})},getInline:function(i,n){if(L(),i.src){var o=t.st.inline,a=e(i.src);if(a.length){var r=a[0].parentNode;r&&r.tagName&&(M||(z=o.hiddenClass,M=k(z),z="mfp-"+z),B=a.after(M).detach().removeClass(z)),t.updateStatus("ready")}else t.updateStatus("error",o.tNotFound),a=e("<div>");return i.inlineElement=a,a}return t.updateStatus("ready"),t._parseMarkup(n,{},i),n}}});var A,F="ajax",j=function(){A&&n.removeClass(A)};e.magnificPopup.registerModule(F,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){t.types.push(F),A=t.st.ajax.cursor,x(l+"."+F,function(){j(),t.req&&t.req.abort()})},getAjax:function(i){A&&n.addClass(A),t.updateStatus("loading");var o=e.extend({url:i.src,success:function(n,o,a){var r={data:n,xhr:a};T("ParseAjax",r),t.appendContent(e(r.data),F),i.finished=!0,j(),E(),setTimeout(function(){t.wrap.addClass(h)},16),t.updateStatus("ready"),T("AjaxContentAdded")},error:function(){j(),i.finished=i.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",i.src))}},t.st.ajax.settings);return t.req=e.ajax(o),""}}});var N,W=function(i){if(i.data&&void 0!==i.data.title)return i.data.title;var n=t.st.image.titleSrc;if(n){if(e.isFunction(n))return n.call(t,i);if(i.el)return i.el.attr(n)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><div class="mfp-img"></div><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var e=t.st.image,i=".image";t.types.push("image"),x(f+i,function(){"image"===t.currItem.type&&e.cursor&&n.addClass(e.cursor)}),x(l+i,function(){e.cursor&&n.removeClass(e.cursor),I.off("resize"+v)}),x("Resize"+i,t.resizeImage),t.isLowIE&&x("AfterChange",t.resizeImage)},resizeImage:function(){var e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var i=0;t.isLowIE&&(i=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-i)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,N&&clearInterval(N),e.isCheckingImgSize=!1,T("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(e){var i=0,n=e.img[0],o=function(a){N&&clearInterval(N),N=setInterval(function(){return n.naturalWidth>0?(t._onImageHasSize(e),void 0):(i>200&&clearInterval(N),i++,3===i?o(10):40===i?o(50):100===i&&o(500),void 0)},a)};o(1)},getImage:function(i,n){var o=0,a=function(){i&&(i.img[0].complete?(i.img.off(".mfploader"),i===t.currItem&&(t._onImageHasSize(i),t.updateStatus("ready")),i.hasSize=!0,i.loaded=!0,T("ImageLoadComplete")):(o++,200>o?setTimeout(a,100):r()))},r=function(){i&&(i.img.off(".mfploader"),i===t.currItem&&(t._onImageHasSize(i),t.updateStatus("error",s.tError.replace("%url%",i.src))),i.hasSize=!0,i.loaded=!0,i.loadError=!0)},s=t.st.image,l=n.find(".mfp-img");if(l.length){var c=document.createElement("img");c.className="mfp-img",i.img=e(c).on("load.mfploader",a).on("error.mfploader",r),c.src=i.src,l.is("img")&&(i.img=i.img.clone()),i.img[0].naturalWidth>0&&(i.hasSize=!0)}return t._parseMarkup(n,{title:W(i),img_replaceWith:i.img},i),t.resizeImage(),i.hasSize?(N&&clearInterval(N),i.loadError?(n.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",i.src))):(n.removeClass("mfp-loading"),t.updateStatus("ready")),n):(t.updateStatus("loading"),i.loading=!0,i.hasSize||(i.imgHidden=!0,n.addClass("mfp-loading"),t.findImageSize(i)),n)}}});var R,Z=function(){return void 0===R&&(R=void 0!==document.createElement("p").style.MozTransform),R};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e=t.st.zoom,i=".zoom";if(e.enabled&&t.supportsTransition){var n,o,a=e.duration,r=function(t){var i=t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),n="all "+e.duration/1e3+"s "+e.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},a="transition";return o["-webkit-"+a]=o["-moz-"+a]=o["-o-"+a]=o[a]=n,i.css(o),i},s=function(){t.content.css("visibility","visible")};x("BuildControls"+i,function(){if(t._allowZoom()){if(clearTimeout(n),t.content.css("visibility","hidden"),image=t._getItemToZoom(),!image)return s(),void 0;o=r(image),o.css(t._getOffset()),t.wrap.append(o),n=setTimeout(function(){o.css(t._getOffset(!0)),n=setTimeout(function(){s(),setTimeout(function(){o.remove(),image=o=null,T("ZoomAnimationEnded")},16)},a)},16)}}),x(c+i,function(){if(t._allowZoom()){if(clearTimeout(n),t.st.removalDelay=a,!image){if(image=t._getItemToZoom(),!image)return;o=r(image)}o.css(t._getOffset(!0)),t.wrap.append(o),t.content.css("visibility","hidden"),setTimeout(function(){o.css(t._getOffset())},16)}}),x(l+i,function(){t._allowZoom()&&(s(),o&&o.remove())})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(i){var n;n=i?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var o=n.offset(),a=parseInt(n.css("padding-top"),10),r=parseInt(n.css("padding-bottom"),10);o.top-=e(window).scrollTop()-a;var s={width:n.width(),height:(b?n.innerHeight():n[0].offsetHeight)-r-a};return Z()?s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)":(s.left=o.left,s.top=o.top),s}}});var q="iframe",D="//about:blank",K=function(e){if(t.currTemplate[q]){var i=t.currTemplate[q].find("iframe");i.length&&(e||(i[0].src=D),t.isIE8&&i.css("display",e?"block":"none"))}};e.magnificPopup.registerModule(q,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(q),x("BeforeChange",function(e,t,i){t!==i&&(t===q?K():i===q&&K(!0))}),x(l+"."+q,function(){K()})},getIframe:function(i,n){var o=i.src,a=t.st.iframe;e.each(a.patterns,function(){return o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof this.id?o.substr(o.lastIndexOf(this.id)+this.id.length,o.length):this.id.call(this,o)),o=this.src.replace("%id%",o),!1):void 0});var r={};return a.srcAction&&(r[a.srcAction]=o),t._parseMarkup(n,r,i),t.updateStatus("ready"),n}}});var Y=function(e){var i=t.items.length;return e>i-1?e-i:0>e?i+e:e},U=function(e,t,i){return e.replace("%curr%",t+1).replace("%total%",i)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var i=t.st.gallery,n=".mfp-gallery",a=Boolean(e.fn.mfpFastClick);return t.direction=!0,i&&i.enabled?(r+=" mfp-gallery",x(f+n,function(){i.navigateByImgClick&&t.wrap.on("click"+n,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0}),o.on("keydown"+n,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),x("UpdateStatus"+n,function(e,i){i.text&&(i.text=U(i.text,t.currItem.index,t.items.length))}),x(p+n,function(e,n,o,a){var r=t.items.length;o.counter=r>1?U(i.tCounter,a.index,r):""}),x("BuildControls"+n,function(){if(t.items.length>1&&i.arrows&&!t.arrowLeft){var n=i.arrowMarkup,o=t.arrowLeft=e(n.replace("%title%",i.tPrev).replace("%dir%","left")).addClass(y),r=t.arrowRight=e(n.replace("%title%",i.tNext).replace("%dir%","right")).addClass(y),s=a?"mfpFastClick":"click";o[s](function(){t.prev()}),r[s](function(){t.next()}),t.isIE7&&(k("b",o[0],!1,!0),k("a",o[0],!1,!0),k("b",r[0],!1,!0),k("a",r[0],!1,!0)),t.container.append(o.add(r))}}),x(m+n,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),x(l+n,function(){o.off(n),t.wrap.off("click"+n),t.arrowLeft&&a&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null}),void 0):!1},next:function(){t.direction=!0,t.index=Y(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=Y(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var e,i=t.st.gallery.preload,n=Math.min(i[0],t.items.length),o=Math.min(i[1],t.items.length);for(e=1;(t.direction?o:n)>=e;e++)t._preloadItem(t.index+e);for(e=1;(t.direction?n:o)>=e;e++)t._preloadItem(t.index-e)},_preloadItem:function(i){if(i=Y(i),!t.items[i].preloaded){var n=t.items[i];n.parsed||(n=t.parseEl(i)),T("LazyLoad",n),"image"===n.type&&(n.img=e('<img class="mfp-img" />').on("load.mfploader",function(){n.hasSize=!0}).on("error.mfploader",function(){n.hasSize=!0,n.loadError=!0,T("LazyLoadError",n)}).attr("src",n.src)),n.preloaded=!0}}}});var G="retina";e.magnificPopup.registerModule(G,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,i=e.ratio;i=isNaN(i)?i():i,i>1&&(x("ImageHasSize."+G,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/i,width:"100%"})}),x("ElementParse."+G,function(t,n){n.src=e.replaceSrc(n,i)}))}}}}),function(){var t=1e3,i="ontouchstart"in window,n=function(){I.off("touchmove"+a+" touchend"+a)},o="mfpFastClick",a="."+o;e.fn.mfpFastClick=function(o){return e(this).each(function(){var r,s=e(this);if(i){var l,c,d,u,p,f;s.on("touchstart"+a,function(e){u=!1,f=1,p=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],c=p.clientX,d=p.clientY,I.on("touchmove"+a,function(e){p=e.originalEvent?e.originalEvent.touches:e.touches,f=p.length,p=p[0],(Math.abs(p.clientX-c)>10||Math.abs(p.clientY-d)>10)&&(u=!0,n())}).on("touchend"+a,function(e){n(),u||f>1||(r=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){r=!1},t),o())})})}s.on("click"+a,function(){r||o()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+a+" click"+a),i&&I.off("touchmove"+a+" touchend"+a)}}()})(window.jQuery||window.Zepto);
src/cyclone-slider/libs/magnific-popup/magnific-popup.css ADDED
@@ -0,0 +1,396 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Magnific Popup CSS */
2
+ .mfp-bg {
3
+ top: 0;
4
+ left: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ z-index: 1042;
8
+ overflow: hidden;
9
+ position: fixed;
10
+ background: #0b0b0b;
11
+ opacity: 0.8;
12
+ filter: alpha(opacity=80); }
13
+
14
+ .mfp-wrap {
15
+ top: 0;
16
+ left: 0;
17
+ width: 100%;
18
+ height: 100%;
19
+ z-index: 1043;
20
+ position: fixed;
21
+ outline: none !important;
22
+ -webkit-backface-visibility: hidden; }
23
+
24
+ .mfp-container {
25
+ text-align: center;
26
+ position: absolute;
27
+ width: 100%;
28
+ height: 100%;
29
+ left: 0;
30
+ top: 0;
31
+ padding: 0 8px;
32
+ -webkit-box-sizing: border-box;
33
+ -moz-box-sizing: border-box;
34
+ box-sizing: border-box; }
35
+
36
+ .mfp-container:before {
37
+ content: '';
38
+ display: inline-block;
39
+ height: 100%;
40
+ vertical-align: middle; }
41
+
42
+ .mfp-align-top .mfp-container:before {
43
+ display: none; }
44
+
45
+ .mfp-content {
46
+ position: relative;
47
+ display: inline-block;
48
+ vertical-align: middle;
49
+ margin: 0 auto;
50
+ text-align: left;
51
+ z-index: 1045; }
52
+
53
+ .mfp-inline-holder .mfp-content,
54
+ .mfp-ajax-holder .mfp-content {
55
+ width: 100%;
56
+ cursor: auto; }
57
+
58
+ .mfp-ajax-cur {
59
+ cursor: progress; }
60
+
61
+ .mfp-zoom-out-cur,
62
+ .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
63
+ cursor: -moz-zoom-out;
64
+ cursor: -webkit-zoom-out;
65
+ cursor: zoom-out; }
66
+
67
+ .mfp-zoom {
68
+ cursor: pointer;
69
+ cursor: -webkit-zoom-in;
70
+ cursor: -moz-zoom-in;
71
+ cursor: zoom-in; }
72
+
73
+ .mfp-auto-cursor .mfp-content {
74
+ cursor: auto; }
75
+
76
+ .mfp-close,
77
+ .mfp-arrow,
78
+ .mfp-preloader,
79
+ .mfp-counter {
80
+ -webkit-user-select: none;
81
+ -moz-user-select: none;
82
+ user-select: none; }
83
+
84
+ .mfp-loading.mfp-figure {
85
+ display: none; }
86
+
87
+ .mfp-hide {
88
+ display: none !important; }
89
+
90
+ .mfp-preloader {
91
+ color: #cccccc;
92
+ position: absolute;
93
+ top: 50%;
94
+ width: auto;
95
+ text-align: center;
96
+ margin-top: -0.8em;
97
+ left: 8px;
98
+ right: 8px;
99
+ z-index: 1044; }
100
+
101
+ .mfp-preloader a {
102
+ color: #cccccc; }
103
+
104
+ .mfp-preloader a:hover {
105
+ color: white; }
106
+
107
+ .mfp-s-ready .mfp-preloader {
108
+ display: none; }
109
+
110
+ .mfp-s-error .mfp-content {
111
+ display: none; }
112
+
113
+ button.mfp-close,
114
+ button.mfp-arrow {
115
+ overflow: visible;
116
+ cursor: pointer;
117
+ background: transparent;
118
+ border: 0;
119
+ -webkit-appearance: none;
120
+ display: block;
121
+ padding: 0;
122
+ z-index: 1046;
123
+ -webkit-box-shadow: none;
124
+ box-shadow: none; }
125
+
126
+ button::-moz-focus-inner {
127
+ padding: 0;
128
+ border: 0; }
129
+
130
+ .mfp-close {
131
+ width: 44px;
132
+ height: 44px;
133
+ line-height: 44px;
134
+ position: absolute;
135
+ right: 0;
136
+ top: 0;
137
+ text-decoration: none;
138
+ text-align: center;
139
+ opacity: 0.65;
140
+ padding: 0 0 18px 10px;
141
+ color: white;
142
+ font-style: normal;
143
+ font-size: 28px;
144
+ font-family: Arial, Baskerville, monospace; }
145
+ .mfp-close:hover, .mfp-close:focus {
146
+ opacity: 1; }
147
+ .mfp-close:active {
148
+ top: 1px; }
149
+
150
+ .mfp-close-btn-in .mfp-close {
151
+ color: #333333; }
152
+
153
+ .mfp-image-holder .mfp-close,
154
+ .mfp-iframe-holder .mfp-close {
155
+ color: white;
156
+ right: -6px;
157
+ text-align: right;
158
+ padding-right: 6px;
159
+ width: 100%; }
160
+
161
+ .mfp-counter {
162
+ position: absolute;
163
+ top: 0;
164
+ right: 0;
165
+ color: #cccccc;
166
+ font-size: 12px;
167
+ line-height: 18px; }
168
+
169
+ .mfp-arrow {
170
+ position: absolute;
171
+ opacity: 0.65;
172
+ margin: 0;
173
+ top: 50%;
174
+ margin-top: -55px;
175
+ padding: 0;
176
+ width: 90px;
177
+ height: 110px;
178
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
179
+
180
+ .mfp-arrow:active {
181
+ margin-top: -54px; }
182
+
183
+ .mfp-arrow:hover,
184
+ .mfp-arrow:focus {
185
+ opacity: 1; }
186
+
187
+ .mfp-arrow:before, .mfp-arrow:after,
188
+ .mfp-arrow .mfp-b,
189
+ .mfp-arrow .mfp-a {
190
+ content: '';
191
+ display: block;
192
+ width: 0;
193
+ height: 0;
194
+ position: absolute;
195
+ left: 0;
196
+ top: 0;
197
+ margin-top: 35px;
198
+ margin-left: 35px;
199
+ border: medium inset transparent; }
200
+ .mfp-arrow:after,
201
+ .mfp-arrow .mfp-a {
202
+ border-top-width: 13px;
203
+ border-bottom-width: 13px;
204
+ top: 8px; }
205
+ .mfp-arrow:before,
206
+ .mfp-arrow .mfp-b {
207
+ border-top-width: 21px;
208
+ border-bottom-width: 21px; }
209
+
210
+ .mfp-arrow-left {
211
+ left: 0; }
212
+ .mfp-arrow-left:after,
213
+ .mfp-arrow-left .mfp-a {
214
+ border-right: 17px solid white;
215
+ margin-left: 31px; }
216
+ .mfp-arrow-left:before,
217
+ .mfp-arrow-left .mfp-b {
218
+ margin-left: 25px;
219
+ border-right: 27px solid #3f3f3f; }
220
+
221
+ .mfp-arrow-right {
222
+ right: 0; }
223
+ .mfp-arrow-right:after,
224
+ .mfp-arrow-right .mfp-a {
225
+ border-left: 17px solid white;
226
+ margin-left: 39px; }
227
+ .mfp-arrow-right:before,
228
+ .mfp-arrow-right .mfp-b {
229
+ border-left: 27px solid #3f3f3f; }
230
+
231
+ .mfp-iframe-holder {
232
+ padding-top: 40px;
233
+ padding-bottom: 40px; }
234
+
235
+ .mfp-iframe-holder .mfp-content {
236
+ line-height: 0;
237
+ width: 100%;
238
+ max-width: 900px; }
239
+
240
+ .mfp-iframe-scaler {
241
+ width: 100%;
242
+ height: 0;
243
+ overflow: hidden;
244
+ padding-top: 56.25%; }
245
+
246
+ .mfp-iframe-scaler iframe {
247
+ position: absolute;
248
+ display: block;
249
+ top: 0;
250
+ left: 0;
251
+ width: 100%;
252
+ height: 100%;
253
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
254
+ background: black; }
255
+
256
+ .mfp-iframe-holder .mfp-close {
257
+ top: -40px; }
258
+
259
+ /* Main image in popup */
260
+ img.mfp-img {
261
+ width: auto;
262
+ max-width: 100%;
263
+ height: auto;
264
+ display: block;
265
+ line-height: 0;
266
+ -webkit-box-sizing: border-box;
267
+ -moz-box-sizing: border-box;
268
+ box-sizing: border-box;
269
+ padding: 40px 0 40px;
270
+ margin: 0 auto; }
271
+
272
+ /* The shadow behind the image */
273
+ .mfp-figure:after {
274
+ content: '';
275
+ position: absolute;
276
+ left: 0;
277
+ top: 40px;
278
+ bottom: 40px;
279
+ display: block;
280
+ right: 0;
281
+ width: auto;
282
+ height: auto;
283
+ z-index: -1;
284
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
285
+ background: #444444; }
286
+
287
+ .mfp-figure {
288
+ line-height: 0; }
289
+
290
+ .mfp-bottom-bar {
291
+ margin-top: -36px;
292
+ position: absolute;
293
+ top: 100%;
294
+ left: 0;
295
+ width: 100%;
296
+ cursor: auto; }
297
+
298
+ .mfp-title {
299
+ text-align: left;
300
+ line-height: 18px;
301
+ color: #f3f3f3;
302
+ word-wrap: break-word;
303
+ padding-right: 36px; }
304
+
305
+ .mfp-figure small {
306
+ color: #bdbdbd;
307
+ display: block;
308
+ font-size: 12px;
309
+ line-height: 14px; }
310
+
311
+ .mfp-image-holder .mfp-content {
312
+ max-width: 100%; }
313
+
314
+ .mfp-gallery .mfp-image-holder .mfp-figure {
315
+ cursor: pointer; }
316
+
317
+ @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
318
+ /**
319
+ * Remove all paddings around the image on small screen
320
+ */
321
+ .mfp-img-mobile .mfp-image-holder {
322
+ padding-left: 0;
323
+ padding-right: 0; }
324
+
325
+ .mfp-img-mobile img.mfp-img {
326
+ padding: 0; }
327
+
328
+ /* The shadow behind the image */
329
+ .mfp-img-mobile .mfp-figure:after {
330
+ top: 0;
331
+ bottom: 0; }
332
+
333
+ .mfp-img-mobile .mfp-bottom-bar {
334
+ background: rgba(0, 0, 0, 0.6);
335
+ bottom: 0;
336
+ margin: 0;
337
+ top: auto;
338
+ padding: 3px 5px;
339
+ position: fixed;
340
+ -webkit-box-sizing: border-box;
341
+ -moz-box-sizing: border-box;
342
+ box-sizing: border-box; }
343
+
344
+ .mfp-img-mobile .mfp-bottom-bar:empty {
345
+ padding: 0; }
346
+
347
+ .mfp-img-mobile .mfp-counter {
348
+ right: 5px;
349
+ top: 3px; }
350
+
351
+ .mfp-img-mobile .mfp-close {
352
+ top: 0;
353
+ right: 0;
354
+ width: 35px;
355
+ height: 35px;
356
+ line-height: 35px;
357
+ background: rgba(0, 0, 0, 0.6);
358
+ position: fixed;
359
+ text-align: center;
360
+ padding: 0; }
361
+
362
+ .mfp-img-mobile .mfp-figure small {
363
+ display: inline;
364
+ margin-left: 5px; } }
365
+ @media all and (max-width: 900px) {
366
+ .mfp-arrow {
367
+ -webkit-transform: scale(0.75);
368
+ transform: scale(0.75); }
369
+
370
+ .mfp-arrow-left {
371
+ -webkit-transform-origin: 0;
372
+ transform-origin: 0; }
373
+
374
+ .mfp-arrow-right {
375
+ -webkit-transform-origin: 100%;
376
+ transform-origin: 100%; }
377
+
378
+ .mfp-container {
379
+ padding-left: 6px;
380
+ padding-right: 6px; } }
381
+ .mfp-ie7 .mfp-img {
382
+ padding: 0; }
383
+ .mfp-ie7 .mfp-bottom-bar {
384
+ width: 600px;
385
+ left: 50%;
386
+ margin-left: -300px;
387
+ margin-top: 5px;
388
+ padding-bottom: 5px; }
389
+ .mfp-ie7 .mfp-container {
390
+ padding: 0; }
391
+ .mfp-ie7 .mfp-content {
392
+ padding-top: 44px; }
393
+ .mfp-ie7 .mfp-close {
394
+ top: 0;
395
+ right: 0;
396
+ padding-top: 0; }
src/cyclone-slider/src/CycloneSlider/Admin.php ADDED
@@ -0,0 +1,816 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for displaying the admin screen
4
+ */
5
+ class CycloneSlider_Admin {
6
+
7
+ /**
8
+ * @var int
9
+ */
10
+ public $slider_count;
11
+ /**
12
+ * @var int
13
+ */
14
+ protected $message_id;
15
+ /**
16
+ * @var CycloneSlider_AssetLoader
17
+ */
18
+ protected $asset_loader;
19
+ /**
20
+ * @var CycloneSlider_Data
21
+ */
22
+ protected $data;
23
+ /**
24
+ * @var boolean
25
+ */
26
+ protected $debug;
27
+ /**
28
+ * @var CycloneSlider_View
29
+ */
30
+ protected $view;
31
+ /**
32
+ * @var string
33
+ */
34
+ protected $nonce_name;
35
+ /**
36
+ * @var string
37
+ */
38
+ protected $nonce_action;
39
+ /**
40
+ * @var string
41
+ */
42
+ protected $url;
43
+
44
+ /**
45
+ * CycloneSlider_Admin constructor.
46
+ *
47
+ * @param $asset_loader
48
+ * @param $data
49
+ * @param $debug
50
+ * @param $view
51
+ * @param $nonce_name
52
+ * @param $nonce_action
53
+ * @param $url
54
+ */
55
+ public function __construct( $asset_loader, $data, $debug, $view, $nonce_name, $nonce_action, $url ){
56
+ $this->asset_loader = $asset_loader;
57
+ $this->data = $data;
58
+ $this->debug = $debug;
59
+ $this->view = $view;
60
+ $this->nonce_name = $nonce_name;
61
+ $this->nonce_action = $nonce_action;
62
+ $this->url = $url;
63
+ }
64
+
65
+
66
+ /**
67
+ * Auto run
68
+ */
69
+ public function run() {
70
+
71
+ // Set defaults
72
+ $this->slider_count = 0;
73
+
74
+ // Register admin styles and scripts
75
+ add_action( 'admin_enqueue_scripts', array( $this->asset_loader, 'register_admin_scripts' ), 10);
76
+
77
+ // Register frontend styles and scripts
78
+ add_action( 'admin_enqueue_scripts', array( $this->asset_loader, 'register_frontend_scripts_in_admin' ), 100 );
79
+
80
+ // Add admin menus
81
+ add_action( 'init', array( $this, 'create_post_types' ) );
82
+
83
+ // Change admin menu icon
84
+ add_action( 'admin_init', array( $this, 'change_admin_menu_icon' ) );
85
+
86
+ // Update the messages for our custom post make it appropriate for slideshow
87
+ add_filter('post_updated_messages', array( $this, 'post_updated_messages' ) );
88
+
89
+ // Remove metaboxes
90
+ add_action( 'admin_menu', array( $this, 'remove_meta_boxes' ) );
91
+
92
+ // Add slider metaboxes
93
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
94
+
95
+ // Hacky way to change text in thickbox
96
+ add_filter( 'gettext', array( $this, 'replace_text_in_thickbox' ), 10, 3 );
97
+
98
+ // Modify html of image
99
+ add_filter( 'image_send_to_editor', array( $this, 'image_send_to_editor'), 1, 8 );
100
+
101
+ // Custom columns
102
+ add_action( 'manage_cycloneslider_posts_custom_column', array( $this, 'custom_column' ), 10, 2);
103
+ add_filter( 'manage_edit-cycloneslider_columns', array( $this, 'slideshow_columns') );
104
+
105
+ // Add hook for admin footer
106
+ add_action('admin_footer', array( $this, 'admin_footer') );
107
+
108
+ // Add body css for custom styling when on our page
109
+ add_filter('admin_body_class', array( $this, 'body_class' ) );
110
+
111
+
112
+ // Add hook for ajax operations if logged in
113
+ add_action( 'wp_ajax_cycloneslider_get_video', array( $this, 'cycloneslider_get_video' ) );
114
+
115
+ }
116
+
117
+ /**
118
+ * Add js and css for WP media manager.
119
+ *
120
+ * @param $classes
121
+ *
122
+ * @return string
123
+ */
124
+ function body_class( $classes ) {
125
+ if('cycloneslider' == get_post_type()){
126
+ $classes .= 'cycloneslider';
127
+ }
128
+ return $classes;
129
+ }
130
+
131
+ /**
132
+ * Create Post Types
133
+ *
134
+ * Create custom post for slideshows
135
+ */
136
+ public function create_post_types() {
137
+ register_post_type( 'cycloneslider',
138
+ array(
139
+ 'labels' => array(
140
+ 'name' => __('Cyclone Slider', 'cycloneslider'),
141
+ 'singular_name' => __('Slideshow', 'cycloneslider'),
142
+ 'add_new' => __('Add Slideshow', 'cycloneslider'),
143
+ 'add_new_item' => __('Add New Slideshow', 'cycloneslider'),
144
+ 'edit_item' => __('Edit Slideshow', 'cycloneslider'),
145
+ 'new_item' => __('New Slideshow', 'cycloneslider'),
146
+ 'view_item' => __('View Slideshow', 'cycloneslider'),
147
+ 'search_items' => __('Search Slideshows', 'cycloneslider'),
148
+ 'not_found' => __('No slideshows found', 'cycloneslider'),
149
+ 'not_found_in_trash' => __('No slideshows found in Trash', 'cycloneslider')
150
+ ),
151
+ 'supports' => array('title'),
152
+ 'public' => false,
153
+ 'exclude_from_search' => true,
154
+ 'show_ui' => true,
155
+ 'menu_position' => 100,
156
+ 'can_export' => false // Exclude from export
157
+ )
158
+ );
159
+ }
160
+
161
+ /**
162
+ * Change Icon
163
+ */
164
+ public function change_admin_menu_icon() {
165
+
166
+ global $menu, $wp_version;
167
+
168
+ if(!isset($menu) and !is_array($menu)) {
169
+ return false; // Abort
170
+ }
171
+
172
+ foreach( $menu as $key => $value ) {
173
+ if( 'edit.php?post_type=cycloneslider' == $value[2] ) {
174
+ if ( version_compare( $wp_version, '3.9', '<' ) ) { // WP 3.8 and below
175
+ $menu[$key][4] = str_replace('menu-icon-post', 'menu-icon-media', $menu[$key][4]);
176
+ } else { // WP 3.9+
177
+ $menu[$key][6] = 'dashicons-format-gallery';
178
+ }
179
+
180
+ }
181
+ }
182
+ }
183
+
184
+ /**
185
+ * Add custom messages
186
+ *
187
+ * @param $messages
188
+ *
189
+ * @return array Messages for cyclone
190
+ */
191
+ public function post_updated_messages($messages){
192
+ global $post, $post_ID;
193
+ $messages['cycloneslider'] = array(
194
+ 0 => '',
195
+ 1 => __( 'Slideshow updated.', 'cycloneslider' ),
196
+ 2 => __( 'Custom field updated.', 'cycloneslider' ),
197
+ 3 => __( 'Custom field deleted.', 'cycloneslider' ),
198
+ 4 => __( 'Slideshow updated.', 'cycloneslider' ),
199
+ 5 => __( 'Slideshow updated.', 'cycloneslider' ),
200
+ 6 => __( 'Slideshow published.', 'cycloneslider' ),
201
+ 7 => __( 'Slideshow saved.', 'cycloneslider' ),
202
+ 8 => __( 'Slideshow updated.', 'cycloneslider' ),
203
+ 9 => __( 'Slideshow updated.', 'cycloneslider' ),
204
+ 10 => __( 'Slideshow updated.', 'cycloneslider' )
205
+ );
206
+ return $messages;
207
+ }
208
+
209
+ /**
210
+ * Show custom messages
211
+ *
212
+ * @param $location
213
+ *
214
+ * @return array The array of locations containing path and url
215
+ */
216
+ public function throw_message($location) {
217
+ $location = add_query_arg( 'message', $this->message_id, $location );
218
+ $this->message_id = 0;
219
+ return $location;
220
+ }
221
+
222
+ /**
223
+ * Remove Meta Boxes
224
+ *
225
+ * Remove built-in metaboxes from our custom post type
226
+ */
227
+ public function remove_meta_boxes(){
228
+ remove_meta_box('slugdiv', 'cycloneslider', 'normal');
229
+ }
230
+
231
+ /**
232
+ * Add Meta Boxes
233
+ *
234
+ * Add custom metaboxes to our custom post type
235
+ */
236
+ public function add_meta_boxes(){
237
+
238
+ add_meta_box(
239
+ 'cyclone-slides-metabox',
240
+ __('Slides', 'cycloneslider'),
241
+ array( $this, 'render_slides_meta_box' ),
242
+ 'cycloneslider' ,
243
+ 'normal',
244
+ 'high'
245
+ );
246
+
247
+ add_meta_box(
248
+ 'cyclone-slider-preview-metabox',
249
+ __('Slider Preview', 'cycloneslider'),
250
+ array( $this, 'render_slider_preview_meta_box' ),
251
+ 'cycloneslider' ,
252
+ 'side',
253
+ 'high'
254
+ );
255
+
256
+ add_meta_box(
257
+ 'cyclone-slider-codes',
258
+ __('Get Slider Codes', 'cycloneslider'),
259
+ array( $this, 'render_slider_codes' ),
260
+ 'cycloneslider' ,
261
+ 'side',
262
+ 'low'
263
+ );
264
+
265
+ add_meta_box(
266
+ 'cyclone-slider-properties-metabox',
267
+ __('Basic Settings', 'cycloneslider'),
268
+ array( $this, 'render_slider_properties_meta_box' ),
269
+ 'cycloneslider' ,
270
+ 'side',
271
+ 'low'
272
+ );
273
+
274
+ add_meta_box(
275
+ 'cyclone-slider-advanced-settings-metabox',
276
+ __('Advanced Settings', 'cycloneslider'),
277
+ array( $this, 'render_slider_advanced_settings_meta_box' ),
278
+ 'cycloneslider' ,
279
+ 'side',
280
+ 'low'
281
+ );
282
+
283
+ add_meta_box(
284
+ 'cyclone-slider-templates-metabox',
285
+ __('Templates', 'cycloneslider'),
286
+ array( $this, 'render_slider_templates_meta_box' ),
287
+ 'cycloneslider' ,
288
+ 'normal',
289
+ 'low'
290
+ );
291
+
292
+ add_meta_box(
293
+ 'cyclone-slider-id',
294
+ __('Slideshow ID', 'cycloneslider'),
295
+ array( $this, 'render_slider_id' ),
296
+ 'cycloneslider' ,
297
+ 'normal',
298
+ 'low'
299
+ );
300
+ }
301
+
302
+
303
+ /**
304
+ * Metabox for slides
305
+ *
306
+ * @param $post
307
+ */
308
+ public function render_slides_meta_box($post){
309
+
310
+ try {
311
+ $slider = $this->data->get_slider($post->ID);
312
+
313
+ if($slider === NULL){
314
+ $this->view->render('slides.php', array('error'=> sprintf(__('Slider "%s" not found.','cycloneslider'), $post->ID) ));
315
+ } else {
316
+ $slides_html = '';
317
+ foreach($slider['slides'] as $i=>$slide) {
318
+
319
+ $image_url = $this->get_slide_img_thumb($slide['id']);
320
+ $image_url = apply_filters('cycloneslider_preview_url', $image_url, $slide);
321
+ $box_title = __('Slide', 'cycloneslider').' '.($i+1);
322
+ if( '' != trim($slide['title']) and 'image' == $slide['type'] ){
323
+ $box_title = $box_title. ' - '.$slide['title'];
324
+ }
325
+ if( '1' == $slide['hidden'] ){
326
+ $box_title = $box_title. ' - '.__('[Hidden]', 'cycloneslider');
327
+ }
328
+ $box_title = apply_filters('cycloneslider_box_title', $box_title);
329
+
330
+ $vars = array();
331
+ $vars['i'] = $i;
332
+ $vars['slider'] = $slider;
333
+ $vars['slide'] = $slide;
334
+ $vars['image_url'] = $image_url;
335
+ $vars['full_image_url'] = wp_get_attachment_url($slide['id']);
336
+ $vars['box_title'] = $box_title;
337
+ $vars['debug'] = ($this->debug) ? cyclone_slider_debug($slide) : '';
338
+ $vars['effects'] = $this->data->get_slide_effects();
339
+
340
+ $slides_html .= $this->view->get_render('slide-edit.php', $vars);
341
+ }
342
+
343
+ $vars = array();
344
+ $vars['error'] = '';
345
+ $vars['slides'] = $slides_html;
346
+ $vars['post_id'] = $post->ID;
347
+ $vars['nonce_name'] = $this->nonce_name;
348
+ $vars['nonce'] = wp_create_nonce( $this->nonce_action );
349
+
350
+ $this->view->render('slides.php', $vars);
351
+ }
352
+ } catch (Exception $e) {
353
+ $this->view->render('slides.php', array('error'=> $e->getMessage()));
354
+ }
355
+ }
356
+
357
+ /**
358
+ * Metabox for slider codes
359
+ *
360
+ * @param $post
361
+ */
362
+ public function render_slider_codes( $post ){
363
+
364
+ $vars = array();
365
+ $vars['post'] = $post;
366
+ if(empty($post->post_name)){
367
+ $vars['shortcode'] = '';
368
+ $vars['template_code'] = '';
369
+ } else {
370
+ $vars['shortcode'] = '[cycloneslider id="'.$post->post_name.'"]';
371
+ $vars['template_code'] = '<?php if( function_exists(\'cyclone_slider\') ) cyclone_slider(\''.$post->post_name.'\'); ?>';
372
+ }
373
+
374
+ $this->view->render('slider-codes.php', $vars);
375
+
376
+ }
377
+
378
+ /**
379
+ * Metabox for basic settings
380
+ *
381
+ * @param $post
382
+ */
383
+ public function render_slider_properties_meta_box( $post ){
384
+ $slider_settings = $this->data->get_slider_settings( $post->ID );
385
+
386
+ $vars = array();
387
+ $vars['slider_settings'] = $slider_settings;
388
+ $vars['effects'] = $this->data->get_slide_effects();
389
+ $vars['debug'] = ($this->debug) ? cyclone_slider_debug($slider_settings) : '';
390
+
391
+ $this->view->render('slider-settings.php', $vars);
392
+
393
+ }
394
+
395
+ /**
396
+ * Metabox for advanced settings
397
+ *
398
+ * @param $post
399
+ */
400
+ public function render_slider_advanced_settings_meta_box( $post ){
401
+ $slider_settings = $this->data->get_slider_settings( $post->ID );
402
+
403
+ $vars = array();
404
+ $vars['slider_settings'] = $slider_settings;
405
+ $vars['easing_options'] = $this->data->get_jquery_easing_options();
406
+ $vars['resize_options'] = $this->data->get_resize_options();
407
+ $vars['debug'] = ($this->debug) ? cyclone_slider_debug($slider_settings) : '';
408
+
409
+ $this->view->render( 'slider-advanced-settings.php', $vars );
410
+
411
+ }
412
+
413
+
414
+ /**
415
+ * Metabox for preview
416
+ *
417
+ * @param $post
418
+ */
419
+ public function render_slider_preview_meta_box($post){
420
+
421
+ $vars = array();
422
+ $vars['post'] = $post;
423
+ if(empty($post->post_name)){
424
+ $vars['shortcode'] = '';
425
+ $vars['template_code'] = '';
426
+ } else {
427
+ $vars['shortcode'] = '[cycloneslider id="'.$post->post_name.'"]';
428
+ $vars['template_code'] = '<?php if( function_exists(\'cyclone_slider\') ) cyclone_slider(\''.$post->post_name.'\'); ?>';
429
+ }
430
+
431
+ $this->view->render('slider-preview.php', $vars);
432
+ }
433
+
434
+ /**
435
+ * Metabox for templates
436
+ *
437
+ * @param $post
438
+ */
439
+ public function render_slider_templates_meta_box($post){
440
+
441
+ $slider_settings = $this->data->get_slider_settings($post->ID);
442
+ $templates = $this->data->get_all_templates();
443
+
444
+ $settings_data = $this->data->get_settings_page_data(); // Get checked templates
445
+ $active_templates = $this->data->get_enabled_templates($settings_data, $templates);
446
+
447
+ ksort ( $templates ); // Sort assoc array alphabetically
448
+ foreach($templates as $name=>$template){
449
+ $templates[$name]['name'] = $template['name'];
450
+ if( $name == $slider_settings['template'] ){
451
+ $templates[$name]['selected'] = true;
452
+ } else {
453
+ $templates[$name]['selected'] = false;
454
+ }
455
+
456
+ if( file_exists($template['path'].'/screenshot.jpg') ) {
457
+ $templates[$name]['screenshot'] = $template['url'].'/screenshot.jpg';
458
+ } else {
459
+ $templates[$name]['screenshot'] = $this->url.'images/screenshot.png';
460
+ }
461
+
462
+ $templates[$name]['warning'] = '';
463
+
464
+ if( $template['location_name'] == 'core' ){
465
+ $templates[$name]['location_name'] = __('Core', 'cycloneslider');
466
+ $templates[$name]['location_details'] = sprintf( __('You should not make changes to templates in this location. All your changes will be gone when the plugin is updated. <br />Location: <strong>%s</strong>', 'cycloneslider' ), $template['path']);
467
+ }
468
+ if( $template['location_name'] == 'active-theme' ){
469
+ $templates[$name]['location_name'] = 'Active Theme';
470
+ $templates[$name]['location_details'] = sprintf( __("Location: <strong>%s</strong>", 'cycloneslider' ), $template['path']);
471
+ $templates[$name]['warning'] = sprintf( __('Your template is in danger of being overwritten when you upgrade your theme. Please consider creating a WordPress plugin Cyclone Slider template.', 'cycloneslider' ) );
472
+ }
473
+ if( $template['location_name'] == 'wp-content' ){
474
+ $templates[$name]['location_name'] = 'WP Content';
475
+ $templates[$name]['location_details'] = sprintf( __("Location: <strong>%s</strong>", 'cycloneslider'), $template['path'] );
476
+ }
477
+ if( $template['location_name'] == 'plugin' ){
478
+ $templates[$name]['location_name'] = 'Plugin';
479
+ $templates[$name]['location_details'] = sprintf( __("Location: <strong>%s</strong>", 'cycloneslider'), $template['path'] );
480
+ }
481
+ // Remove inactive templates
482
+ if($active_templates[$name]==0){
483
+ unset($templates[$name]);
484
+ }
485
+ }
486
+
487
+ $vars = array();
488
+ $vars['slider_settings'] = $slider_settings;
489
+ $vars['templates'] = $templates;
490
+ $vars['debug'] = ($this->debug) ? cyclone_slider_debug($templates) : '';
491
+
492
+ $this->view->render('template-selection.php', $vars);
493
+ }
494
+
495
+ /**
496
+ * Metabox for slider ID
497
+ *
498
+ * @param $post
499
+ */
500
+ public function render_slider_id( $post ){
501
+
502
+ $vars = array();
503
+ $vars['post_name'] = $post->post_name;
504
+
505
+ $this->view->render('slider-id.php', $vars);
506
+
507
+ }
508
+
509
+ /**
510
+ * Hook to admin footer
511
+ */
512
+ public function admin_footer() {
513
+ // JS skeleton for adding a slide
514
+ if(get_post_type()=='cycloneslider'){
515
+ // Empty Slide
516
+ $vars = array();
517
+ $vars['box_title'] = __('Slide *', 'cycloneslider');
518
+ $vars['image_url'] = '';
519
+ $vars['i'] = '{id}';
520
+ $vars['slide'] = $this->data->get_slide_defaults();
521
+ foreach($vars['slide'] as $key=>$value){
522
+ $vars['slide'][$key] = '';
523
+ }
524
+ $vars['slide']['type'] = 'image';
525
+ $vars['effects'] = $this->data->get_slide_effects();
526
+ $vars['debug'] = ($this->debug) ? cyclone_slider_debug($vars['slide']) : '';
527
+
528
+ $vars['full_image_url'] = '#';
529
+ $vars['slide']['type'] = 'image';
530
+
531
+ $empty_slide = $this->view->get_render('slide-edit.php', $vars);
532
+
533
+ // Main skeleton container
534
+ $vars = array();
535
+ $vars['empty_slide'] = $empty_slide;
536
+
537
+ $this->view->render('slides-skeleton.php', $vars);
538
+ }
539
+ }
540
+
541
+
542
+ /**
543
+ * Get slide image thumb from id. False on fail
544
+ *
545
+ * @param $attachment_id
546
+ *
547
+ * @return array|bool|false|string
548
+ */
549
+ private function get_slide_img_thumb($attachment_id){
550
+ $attachment_id = (int) $attachment_id;
551
+ if($attachment_id > 0){
552
+ $image_url = wp_get_attachment_image_src( $attachment_id, 'medium', true );
553
+ $image_url = (is_array($image_url)) ? $image_url[0] : '';
554
+ return $image_url;
555
+ }
556
+ return false;
557
+ }
558
+
559
+ /**
560
+ * Replace text in media button for WP < 3.5
561
+ *
562
+ * @param $translation
563
+ * @param $text
564
+ * @param $domain
565
+ *
566
+ * @return string
567
+ */
568
+ public function replace_text_in_thickbox($translation, $text, $domain ) {
569
+ $http_referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
570
+ $req_referrer = isset($_REQUEST['referer']) ? $_REQUEST['referer'] : '';
571
+ if(strpos($http_referrer, 'cycloneslider')!==false or $req_referrer=='cycloneslider') {
572
+ if ( 'default' == $domain and 'Insert into Post' == $text )
573
+ {
574
+ return 'Add to Slide';
575
+ }
576
+ }
577
+ return $translation;
578
+ }
579
+
580
+ /**
581
+ * Add attachment ID as html5 data attr in thickbox
582
+ * @param $html
583
+ * @param $id
584
+ * @param $caption
585
+ * @param $title
586
+ * @param $align
587
+ * @param $url
588
+ * @param $size
589
+ * @param string $alt
590
+ *
591
+ * @return mixed
592
+ */
593
+ public function image_send_to_editor( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ){
594
+ if(strpos($html, '<img data-id="')===false){
595
+ $html = str_replace('<img', '<img data-id="'.$id.'" ', $html);
596
+ }
597
+ return $html;
598
+ }
599
+
600
+ /**
601
+ * Modify columns
602
+ *
603
+ * @param $columns
604
+ *
605
+ * @return array
606
+ */
607
+ public function slideshow_columns( $columns ) {
608
+ unset($columns['date']);
609
+ $columns['title']= __('Slideshow Name', 'cycloneslider');
610
+ $columns['template']= __('Template', 'cycloneslider');
611
+ $columns['images']= __('No. of Slides', 'cycloneslider');
612
+ $columns['id']= __('Slideshow ID', 'cycloneslider');
613
+ $columns['shortcode']= __('Shortcode', 'cycloneslider');
614
+ return $columns;
615
+ }
616
+
617
+ /**
618
+ * Add content to custom columns
619
+ * @param $column_name
620
+ * @param $post_id
621
+ */
622
+ public function custom_column( $column_name, $post_id ){
623
+ if ($column_name == 'template') {
624
+ $settings = $this->data->get_slider_settings($post_id);
625
+ echo ucwords($settings['template']);
626
+ }
627
+ if ($column_name == 'images') {
628
+ echo '<div style="text-align:center; max-width:40px;">' . $this->data->get_slide_count( $post_id ) . '</div>';
629
+ }
630
+ if ($column_name == 'id') {
631
+ $post = get_post($post_id);
632
+ echo $post->post_name;
633
+ }
634
+ if ($column_name == 'shortcode') {
635
+ $post = get_post($post_id);
636
+ echo '[cycloneslider id="'.$post->post_name.'"]';
637
+ }
638
+ }
639
+
640
+ /**
641
+ * Compare the value from admin and shortcode. If shortcode value is present and not empty, use it, otherwise return admin value
642
+ *
643
+ * @param $admin_val
644
+ * @param $shortcode_val
645
+ *
646
+ * @return mixed
647
+ */
648
+ public function get_comp_slider_setting($admin_val, $shortcode_val){
649
+ if($shortcode_val!==null){//make sure its really null and not just int zero 0
650
+ return $shortcode_val;
651
+ }
652
+ return $admin_val;
653
+ }
654
+
655
+ /**
656
+ * Return array of slide urls from meta
657
+ *
658
+ * @param $slider_metas
659
+ *
660
+ * @return array
661
+ */
662
+ public function get_slides_from_meta($slider_metas){
663
+ $slides = array();
664
+ if(is_array($slider_metas)){
665
+ foreach($slider_metas as $slider_meta){
666
+ $attachment_id = (int) $slider_meta['id'];
667
+ $image_url = wp_get_attachment_url($attachment_id);
668
+ $image_url = ($image_url===false) ? '' : $image_url;
669
+ $slides[] = $image_url;
670
+ }
671
+ }
672
+ return $slides;
673
+ }
674
+
675
+
676
+ /**
677
+ * YOUTUBE & VIMEO
678
+ */
679
+
680
+ /**
681
+ * Ajax for getting videos
682
+ */
683
+ public function cycloneslider_get_video(){
684
+ $url = $_POST['url'];
685
+
686
+ $retval = array(
687
+ 'success' => false
688
+ );
689
+
690
+ if (filter_var($url, FILTER_VALIDATE_URL) !== FALSE) {
691
+
692
+ if( $video_id = $this->get_youtube_id($url) ){ //If youtube url
693
+ if( $embed = wp_oembed_get($url) ){ //Get embed, false on fail
694
+ $retval = array(
695
+ 'success' => true,
696
+ 'url' => $this->get_youtube_thumb($video_id),
697
+ 'embed' => $embed
698
+ );
699
+ }
700
+
701
+ } else if( $video_id = $this->get_vimeo_id($url) ){ //If vimeo url
702
+ if( $embed = wp_oembed_get($url) ){ //Get embed, false on fail
703
+ $retval = array(
704
+ 'success' => true,
705
+ 'url' => $this->get_vimeo_thumb($video_id),
706
+ 'embed' => $embed
707
+ );
708
+ }
709
+ }
710
+ }
711
+
712
+ echo json_encode($retval);
713
+ die();
714
+ }
715
+
716
+ /**
717
+ * Get video thumb url
718
+ *
719
+ * @param string $url A valid youtube or vimeo url
720
+ *
721
+ * @return bool|string
722
+ */
723
+ public function get_video_thumb_from_url($url){
724
+ $url = esc_url_raw($url);
725
+
726
+ if ( $video_id = $this->get_youtube_id($url) ) { // A youtube url
727
+
728
+ return $this->get_youtube_thumb($video_id);
729
+
730
+ } else if( $video_id = $this->get_vimeo_id($url) ){ // A vimeo url
731
+
732
+ return $this->get_vimeo_thumb($video_id);
733
+ }
734
+
735
+ return false;
736
+ }
737
+
738
+ /**
739
+ * Return vimeo video id
740
+ *
741
+ * @param $url
742
+ *
743
+ * @return bool|string
744
+ */
745
+ public function get_vimeo_id($url){
746
+
747
+ $parsed_url = parse_url($url);
748
+ if ($parsed_url['host'] == 'vimeo.com'){
749
+ $vimeo_id = ltrim( $parsed_url['path'], '/');
750
+ if (is_numeric($vimeo_id)) {
751
+ return $vimeo_id;
752
+ }
753
+ }
754
+ return false;
755
+ }
756
+
757
+ /**
758
+ * Get vimeo video thumbnail image
759
+ *
760
+ * @param int $video_id Vimeo ID.
761
+ * @param string $size Size can be: thumbnail_small, thumbnail_medium, thumbnail_large.
762
+ *
763
+ * @return string URL of thumbnail image.
764
+ */
765
+ public function get_vimeo_thumb($video_id, $size = 'thumbnail_large'){
766
+ $vimeo = unserialize( file_get_contents('http://vimeo.com/api/v2/video/'.$video_id.'.php') );
767
+ if( isset($vimeo[0][$size]) ){
768
+ return $vimeo[0][$size];
769
+ }
770
+ return '';
771
+ }
772
+
773
+ /**
774
+ * Get youtube video thumbnail image
775
+ *
776
+ * @param int $video_id Youtube ID.
777
+ *
778
+ * @return string URL of thumbnail image.
779
+ */
780
+ public function get_youtube_thumb($video_id){
781
+ return 'http://img.youtube.com/vi/'.$video_id.'/0.jpg';
782
+ }
783
+
784
+ /**
785
+ * Get youtube ID from different url formats
786
+ *
787
+ * @param string $url Youtube url
788
+ * @return string Youtube URL or boolean false on fail
789
+ */
790
+ public function get_youtube_id($url){
791
+ if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) {
792
+ return false;
793
+ }
794
+ $parsed_url = parse_url($url);
795
+
796
+ if(strpos($parsed_url['host'], 'youtube.com')!==false){
797
+ if(strpos($parsed_url['path'], '/watch')!==false){ // Regular url Eg. http://www.youtube.com/watch?v=9bZkp7q19f0
798
+ parse_str($parsed_url['query'], $parsed_str);
799
+ if(isset($parsed_str['v']) and !empty($parsed_str['v'])){
800
+ return $parsed_str['v'];
801
+ }
802
+ } else if(strpos($parsed_url['path'], '/v/')!==false){ // "v" URL http://www.youtube.com/v/9bZkp7q19f0?version=3&autohide=1
803
+ $id = str_replace('/v/','',$parsed_url['path']);
804
+ if( !empty($id) ){
805
+ return $id;
806
+ }
807
+ } else if(strpos($parsed_url['path'], '/embed/')!==false){ // Embed URL: http://www.youtube.com/embed/9bZkp7q19f0
808
+ return str_replace('/embed/','',$parsed_url['path']);
809
+ }
810
+ } else if(strpos($parsed_url['host'], 'youtu.be')!==false){ // Shortened URL: http://youtu.be/9bZkp7q19f0
811
+ return str_replace('/','',$parsed_url['path']);
812
+ }
813
+
814
+ return false;
815
+ }
816
+ }
src/cyclone-slider/src/CycloneSlider/AssetLoader.php ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for handling styles and scripts
4
+ */
5
+ class CycloneSlider_AssetLoader {
6
+
7
+ /**
8
+ * @var string
9
+ */
10
+ protected $url;
11
+ /**
12
+ * @var string
13
+ */
14
+ protected $version;
15
+ /**
16
+ * @var array
17
+ */
18
+ protected $settings_page_data;
19
+ /**
20
+ * @var CycloneSlider_Data
21
+ */
22
+ protected $data;
23
+
24
+ public function __construct( $settings_page_data, $url, $version, $data ){
25
+ $this->settings_page_data = $settings_page_data;
26
+ $this->url = $url;
27
+ $this->version = $version;
28
+ $this->data = $data;
29
+ }
30
+
31
+ public function run() {
32
+
33
+ // Register frontend styles and scripts
34
+ add_action( 'wp_enqueue_scripts', array( $this, 'register_frontend_scripts' ), 100 );
35
+
36
+ // Add scripts
37
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_admin_scripts' ), 10);
38
+
39
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_frontend_scripts_in_admin' ), 10);
40
+ }
41
+
42
+ /**
43
+ * Scripts and styles for slider admin area
44
+ */
45
+ public function register_admin_scripts( $hook ) {
46
+
47
+ if( 'cycloneslider' == get_post_type() || $hook == 'cycloneslider_page_cycloneslider-settings' || $hook == 'cycloneslider_page_cycloneslider-export' || $hook == 'cycloneslider_page_cycloneslider-import' || $hook == 'cycloneslider_page_cycloneslider-export-nextgen' ){ // Limit loading to certain admin pages
48
+
49
+ // Required media files for new media manager. Since WP 3.5+
50
+ wp_enqueue_media();
51
+
52
+ // Fontawesome style
53
+ wp_enqueue_style( 'font-awesome', $this->url.'libs/font-awesome/css/font-awesome.min.css', array(), $this->version );
54
+
55
+ // Main style
56
+ wp_enqueue_style( 'cycloneslider-admin-styles', $this->url.'css/admin.css', array(), $this->version );
57
+
58
+ // Disable autosave
59
+ wp_dequeue_script( 'autosave' );
60
+
61
+ // For sortable elements
62
+ wp_enqueue_script('jquery-ui-sortable');
63
+
64
+ // For localstorage
65
+ wp_enqueue_script( 'store', $this->url.'js/store-json2.min.js', array('jquery'), $this->version );
66
+
67
+ // Allow translation to script texts
68
+ wp_register_script( 'cycloneslider-admin-script', $this->url.'js/admin.js', array('jquery'), $this->version );
69
+ wp_localize_script( 'cycloneslider-admin-script', 'cycloneslider_admin_vars',
70
+ array(
71
+ 'title' => __( 'Select an image', 'cycloneslider' ), // This will be used as the default title
72
+ 'title2' => __( 'Select Images - Use Ctrl + Click or Shift + Click', 'cycloneslider' ),
73
+ 'button' => __( 'Add to Slide', 'cycloneslider' ), // This will be used as the default button text
74
+ 'button2' => __( 'Add Images as Slides', 'cycloneslider' ),
75
+ 'youtube_url_error' => __( 'Error. Make sure its a valid YouTube URL.', 'cycloneslider' )
76
+ )
77
+ );
78
+ wp_enqueue_script( 'cycloneslider-admin-script');
79
+
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Scripts and styles for slider to run in admin preview. Must be hook to either admin_enqueue_scripts or wp_enqueue_scripts
85
+ *
86
+ * @param string $hook Hook name passed by WP
87
+ * @return void
88
+ */
89
+ public function register_frontend_scripts_in_admin( $hook ) {
90
+ if( get_post_type() == 'cycloneslider' || 'cycloneslider_page_cycloneslider-settings' == $hook || 'cycloneslider_page_cycloneslider-export' == $hook || 'cycloneslider_page_cycloneslider-import' == $hook ){ // Limit loading to certain admin pages
91
+ $this->register_frontend_scripts( $hook );
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Scripts and styles for slider to run. Must be hook to either admin_enqueue_scripts or wp_enqueue_scripts
97
+ *
98
+ * @param string $hook Hook name passed by WP
99
+ * @return void
100
+ */
101
+ public function register_frontend_scripts( $hook ) {
102
+
103
+ $in_footer = true;
104
+ if($this->settings_page_data['load_scripts_in'] == 'header'){
105
+ $in_footer = false;
106
+ }
107
+
108
+ /*** Magnific Popup Style ***/
109
+ if($this->settings_page_data['load_magnific'] == 1){
110
+ wp_enqueue_style( 'jquery-magnific-popup', $this->url.'libs/magnific-popup/magnific-popup.css', array(), $this->version );
111
+ }
112
+
113
+ /*** Templates Styles ***/
114
+ $this->enqueue_templates_css();
115
+
116
+ /*****************************/
117
+
118
+ /*** Core Cycle2 Scripts ***/
119
+ if($this->settings_page_data['load_cycle2'] == 1){
120
+ wp_enqueue_script( 'jquery-cycle2', $this->url.'libs/cycle2/jquery.cycle2.min.js', array('jquery'), $this->version, $in_footer );
121
+ }
122
+ if($this->settings_page_data['load_cycle2_carousel'] == 1){
123
+ wp_enqueue_script( 'jquery-cycle2-carousel', $this->url.'libs/cycle2/jquery.cycle2.carousel.min.js', array('jquery', 'jquery-cycle2'), $this->version, $in_footer );
124
+ }
125
+ if($this->settings_page_data['load_cycle2_swipe'] == 1){
126
+ wp_enqueue_script( 'jquery-cycle2-swipe', $this->url.'libs/cycle2/jquery.cycle2.swipe.min.js', array('jquery', 'jquery-cycle2'), $this->version, $in_footer );
127
+ }
128
+ if($this->settings_page_data['load_cycle2_tile'] == 1){
129
+ wp_enqueue_script( 'jquery-cycle2-tile', $this->url.'libs/cycle2/jquery.cycle2.tile.min.js', array('jquery', 'jquery-cycle2'), $this->version, $in_footer );
130
+ }
131
+ if($this->settings_page_data['load_cycle2_video'] == 1){
132
+ wp_enqueue_script( 'jquery-cycle2-video', $this->url.'libs/cycle2/jquery.cycle2.video.min.js', array('jquery', 'jquery-cycle2'), $this->version, $in_footer );
133
+ }
134
+
135
+ /*** Easing Script***/
136
+ if($this->settings_page_data['load_easing'] == 1){
137
+ wp_enqueue_script( 'jquery-easing', $this->url.'libs/jquery-easing/jquery.easing.1.3.1.min.js', array('jquery'), $this->version, $in_footer );
138
+ }
139
+
140
+ /*** Magnific Popup Scripts ***/
141
+ if($this->settings_page_data['load_magnific'] == 1){
142
+ wp_enqueue_script( 'jquery-magnific-popup', $this->url.'libs/magnific-popup/jquery.magnific-popup.min.js', array('jquery'), $this->version, $in_footer );
143
+ }
144
+
145
+ /*** Templates Scripts ***/
146
+ $this->enqueue_templates_scripts();
147
+
148
+ /*** Client Script ***/
149
+ wp_enqueue_script( 'cyclone-client', $this->url.'js/client.js', array('jquery'), $this->version, $in_footer );
150
+
151
+ }
152
+
153
+ /**
154
+ * Enqueues templates styles.
155
+ */
156
+ private function enqueue_templates_css(){
157
+
158
+ $template_folders = $this->data->get_all_templates();
159
+ $active_templates = $this->data->get_enabled_templates( $this->settings_page_data, $template_folders );
160
+
161
+ foreach($template_folders as $name=>$template){
162
+
163
+ if( 1 == $active_templates[$name] ){ // Active
164
+ foreach($template['styles'] as $count=>$style) {
165
+ wp_enqueue_style( 'cyclone-template-style-'.sanitize_title($name).'-'.$count, $template['url'].'/'.$style, array(), $this->version );
166
+ }
167
+ }
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Enqueues templates scripts.
173
+ */
174
+ private function enqueue_templates_scripts(){
175
+
176
+ $in_footer = true;
177
+ if( $this->settings_page_data['load_scripts_in'] == 'header'){
178
+ $in_footer = false;
179
+ }
180
+
181
+ $template_folders = $this->data->get_all_templates();
182
+ $active_templates = $this->data->get_enabled_templates( $this->settings_page_data, $template_folders );
183
+
184
+ foreach($template_folders as $name=>$template){
185
+
186
+ if( 1 == $active_templates[$name] ){
187
+ foreach($template['scripts'] as $count=>$script) {
188
+ wp_enqueue_script( 'cyclone-template-script-'.sanitize_title($name).'-'.$count, $template['url'].'/'.$script, array(), $this->version, $in_footer );
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
src/cyclone-slider/src/CycloneSlider/Crispin/RestClientInterface.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ interface CycloneSlider_Crispin_RestClientInterface {
4
+
5
+ public function get($url);
6
+
7
+ public function post($url, $post=array(), $files=array());
8
+
9
+ public function put($url, $post=array());
10
+
11
+ public function delete($url);
12
+ }
src/cyclone-slider/src/CycloneSlider/Crispin/RestClientWp.php ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class CycloneSlider_Crispin_RestClientWp extends CycloneSlider_Crispin_RestSigner implements CycloneSlider_Crispin_RestClientInterface{
4
+ protected $publicId;
5
+ protected $secretKey;
6
+ protected $signedUrl;
7
+ protected $signVariableNames;
8
+
9
+ /**
10
+ * CycloneSlider_Crispin_RestClientWp constructor.
11
+ *
12
+ * @param string $publicId
13
+ * @param string $secretKey
14
+ * @param bool|false $signedUrl True will add "s.i.t." (signature, id, time) to url query vars. False will use custom headers and leave url untouched.
15
+ * @param array $signVariableNames
16
+ */
17
+ public function __construct($publicId='', $secretKey='', $signedUrl=false, $signVariableNames=array()){
18
+ $this->publicId = $publicId;
19
+ $this->secretKey = $secretKey;
20
+ $this->signedUrl = $signedUrl;
21
+ $this->signVariableNames = array_merge($signVariableNames, array('signature'=>'signature', 'id'=>'id', 'time'=>'time'));
22
+ }
23
+
24
+ public function get( $url ){
25
+ $args = array();
26
+
27
+ if($this->signedUrl){
28
+ $url = $this->_signUrl( $url );
29
+ } else {
30
+ $headers = $this->_generateCrispinHeader();
31
+ $args['headers'] = $headers;
32
+ }
33
+
34
+ return $response = wp_remote_get( $url, $args );
35
+
36
+ }
37
+
38
+ public function post($url, $post=array(), $files=array()){
39
+
40
+ $url = $this->_signUrl( $url );
41
+ $boundary = $this->_generateBoundary();
42
+
43
+ $content = $this->_prepareContent($boundary, $post, $files );
44
+
45
+ $headers = $this->_generateCrispinHeader();
46
+ $headers['Content-type'] = "multipart/form-data; boundary={$boundary}";
47
+ $headers['Content-Length'] = strlen($content);
48
+ $args = array(
49
+ 'method' => 'POST',
50
+ 'headers' => $headers,
51
+ 'body' => $content
52
+ );
53
+ return $response = wp_remote_request( $url, $args );
54
+ }
55
+
56
+ public function put($url, $post=array()){
57
+ $url = $this->_signUrl( $url );
58
+ $headers = $this->_generateCrispinHeader();
59
+ $args = array(
60
+ 'method' => 'PUT',
61
+ 'headers' => $headers,
62
+ 'body' => $post
63
+ );
64
+ return $response = wp_remote_request( $url, $args );
65
+ }
66
+
67
+ public function delete($url){
68
+ $url = $this->_signUrl( $url );
69
+ $headers = $this->_generateCrispinHeader();
70
+ $args = array(
71
+ 'method' => 'DELETE',
72
+ 'headers' => $headers
73
+ );
74
+ return $response = wp_remote_request( $url, $args );
75
+ }
76
+
77
+ protected function _prepareContent($boundary, $post=array(), $files=array()) {
78
+
79
+ $newLine = "\r\n";
80
+ $content = '';
81
+ if( is_array($post) and !empty($post)){
82
+ $content .= "--{$boundary}{$newLine}";
83
+ foreach($post as $name=>$value){
84
+ $content .= "Content-Disposition: form-data; name=\"{$name}\"{$newLine}{$newLine}";
85
+ $content .= "{$value}{$newLine}";
86
+ $content .= "--{$boundary}{$newLine}";
87
+ }
88
+ }
89
+
90
+ if( is_array($files) and !empty($files) ){
91
+ if('' !== $content){
92
+ $content .= "--{$boundary}{$newLine}";
93
+ }
94
+ foreach($files as $name=>$file){
95
+ $data = file_get_contents($file['file']);
96
+
97
+ $content .= 'Content-Disposition: form-data; name="'.$name.'"; filename="'.$file['filename'].'"'.$newLine;
98
+ $content .= "Content-Type: application/zip{$newLine}";
99
+ $content .= "Content-Transfer-Encoding: binary{$newLine}{$newLine}";
100
+ $content .= "{$data}{$newLine}";
101
+ $content .= "--{$boundary}{$newLine}";
102
+ }
103
+
104
+ }
105
+ return $content;
106
+ }
107
+
108
+ protected function _generateCrispinHeader(){
109
+ $requestTime = time();
110
+ $signature = $this->generateSignature($requestTime, $this->publicId, $this->secretKey);
111
+
112
+ return array(
113
+ 'X-Crispin-Client-Signature' => $signature,
114
+ 'X-Crispin-Client-Public-Id' => $this->publicId,
115
+ 'X-Crispin-Client-Time' => $requestTime
116
+ );
117
+ }
118
+
119
+ protected function _generateBoundary(){
120
+ return uniqid().'-'.uniqid();
121
+ }
122
+
123
+ /**
124
+ * Attach security variables to url query
125
+ *
126
+ * @param $url
127
+ *
128
+ * @return bool|string
129
+ * @throws Exception
130
+ */
131
+ protected function _signUrl( $url ){
132
+ $requestTime = time();
133
+ $signature = $this->generateSignature($requestTime, $this->publicId, $this->secretKey);
134
+
135
+ return $this->_modifyQuery( $url, array(
136
+ $this->signVariableNames['signature'] => $signature,
137
+ $this->signVariableNames['id'] => $this->publicId,
138
+ $this->signVariableNames['time'] => $requestTime
139
+ ) );
140
+ }
141
+
142
+ protected function _modifyQuery($url, $new_query_parts=array()){
143
+ $parts = parse_url( $url );
144
+
145
+ if(false !== $parts){
146
+ if( isset($parts['query']) ){
147
+ parse_str($parts['query'], $query_parts);
148
+
149
+ $query_parts = array_merge( $query_parts, $new_query_parts );
150
+
151
+ $parts['query'] = http_build_query($query_parts);
152
+
153
+ return $this->_composeUrl($parts);
154
+ }
155
+ }
156
+
157
+ return false;
158
+ }
159
+
160
+ protected function _composeUrl($parsed_url) {
161
+ $scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
162
+ $host = isset($parsed_url['host']) ? $parsed_url['host'] : '';
163
+ $port = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
164
+ $user = isset($parsed_url['user']) ? $parsed_url['user'] : '';
165
+ $pass = isset($parsed_url['pass']) ? ':' . $parsed_url['pass'] : '';
166
+ $pass = ($user || $pass) ? "$pass@" : '';
167
+ $path = isset($parsed_url['path']) ? $parsed_url['path'] : '';
168
+ $query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
169
+ $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
170
+ return "$scheme$user$pass$host$port$path$query$fragment";
171
+ }
172
+ }
src/cyclone-slider/src/CycloneSlider/Crispin/RestSigner.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Logic here must match with the client
5
+ */
6
+ class CycloneSlider_Crispin_RestSigner {
7
+
8
+ /**
9
+ * Signs a request. Trim white trailing spaces or the signatures will be totally different.
10
+ *
11
+ * @param int $requestTime The request time measured in the number of seconds since the Unix Epoch.
12
+ * @param string $publicId The public ID of the API client.
13
+ * @param string $secretKey The secret key of the API client.
14
+ *
15
+ * @return string The unique token that is included in every api request.
16
+ */
17
+ public function generateSignature($requestTime, $publicId, $secretKey)
18
+ {
19
+ $digest = $this->generateDigest(trim($requestTime), trim($publicId), trim($secretKey));
20
+ return hash('sha256', $digest);
21
+ }
22
+
23
+ /**
24
+ * A digest is similar to a password used in logins. The digest can be hashed to make it into signature.
25
+ *
26
+ * @param int $requestTime The request time measured in the number of seconds since the Unix Epoch.
27
+ * @param string $publicId The public ID of the API client.
28
+ * @param string $secretKey The secret key of the API client.
29
+ *
30
+ * @return string
31
+ */
32
+ public function generateDigest($requestTime, $publicId, $secretKey)
33
+ {
34
+ $digest = $requestTime.':'.$publicId.':'.$secretKey;
35
+ return $digest;
36
+ }
37
+
38
+ }
src/cyclone-slider/src/CycloneSlider/Data.php ADDED
@@ -0,0 +1,1015 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for saving and getting slider data
4
+ */
5
+ class CycloneSlider_Data {
6
+
7
+ /**
8
+ * @var string
9
+ */
10
+ protected $nonce_name;
11
+ /**
12
+ * @var string
13
+ */
14
+ protected $nonce_action;
15
+ /**
16
+ * @var CycloneSlider_ImageResizer
17
+ */
18
+ protected $image_resizer;
19
+ /**
20
+ * @var array
21
+ */
22
+ protected $template_locations;
23
+ /**
24
+ * @var array
25
+ */
26
+ protected $settings_page_properties;
27
+
28
+ public function __construct( $nonce_name, $nonce_action, $image_resizer, $template_locations, $settings_page_properties ){
29
+ $this->nonce_name = $nonce_name;
30
+ $this->nonce_action = $nonce_action;
31
+ $this->image_resizer = $image_resizer;
32
+ $this->template_locations = $template_locations;
33
+ $this->settings_page_properties = $settings_page_properties;
34
+ }
35
+
36
+ public function run(){
37
+ global $wp_version;
38
+
39
+ // Add save hook
40
+ $this->_add_save_hook( $wp_version );
41
+ }
42
+
43
+ /**
44
+ * Save post hook
45
+ */
46
+ public function save_post_hook( $post_id ){
47
+ global $wp_version;
48
+
49
+ // Use local variable
50
+ $post = $_POST;
51
+
52
+ // Verify nonce
53
+ $nonce_name = $this->nonce_name;
54
+ if (!empty($post[$nonce_name])) {
55
+ if (!wp_verify_nonce($post[$nonce_name], $this->nonce_action)) {
56
+ return $post_id;
57
+ }
58
+ } else {
59
+ return $post_id; // Make sure we cancel on missing nonce!
60
+ }
61
+
62
+ // Check autosave
63
+ if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
64
+ return $post_id;
65
+ }
66
+ // TODO: Comprehensive array key checks
67
+ $slider = array(
68
+ 'id' => $post_id,
69
+ 'name' => $post['post_name'],
70
+ 'title' => $post['post_title'],
71
+ 'status' => $post['post_status'],
72
+ 'slider_settings' => isset($post['cycloneslider_settings']) ? $post['cycloneslider_settings'] : array(),
73
+ 'slides' => isset($post['cycloneslider_metas']) ? $post['cycloneslider_metas'] : array(),
74
+ );
75
+ // Remove temporarily to avoid infinite loop
76
+ $this->_remove_save_hook( $wp_version );
77
+ // Update slider info
78
+ $this->update_slider($slider);
79
+ // Add save hook
80
+ $this->_add_save_hook( $wp_version );
81
+ }
82
+
83
+ /**
84
+ * @param array $slider
85
+ *
86
+ * @return int|\WP_Error
87
+ */
88
+ public function add_slider( $slider ){
89
+
90
+ $slider['id'] = 0; // Set to zero to insert instead of update
91
+ return $this->update_slider( $slider );
92
+ }
93
+
94
+ /**
95
+ * @param array $slider
96
+ *
97
+ * @return int|\WP_Error
98
+ */
99
+ public function update_slider( $slider ){
100
+
101
+ $post_data = array(
102
+ 'ID' => (int) $slider['id'],
103
+ 'post_name' => wp_strip_all_tags($slider['name'], true),
104
+ 'post_title' => wp_strip_all_tags($slider['title'], true),
105
+ 'post_type' => 'cycloneslider',
106
+ 'post_status' => $slider['status'],
107
+ 'post_content' => ''
108
+ );
109
+
110
+ if( $slider_id = wp_insert_post( $post_data ) ){
111
+
112
+ // Resize images if needed
113
+ if( $slider['slider_settings']['resize'] == 1){
114
+
115
+ $this->image_resizer->resize_images( $slider['slider_settings'], $slider['slides'] );
116
+ }
117
+
118
+ // Save slides
119
+ $this->add_slider_slides( $slider_id, $slider['slides'] );
120
+
121
+ // Save slider settings
122
+ $this->add_slider_settings( $slider_id, $slider['slider_settings'] );
123
+
124
+ }
125
+
126
+ return $slider_id;
127
+ }
128
+
129
+ /**
130
+ * Add Slide Settings
131
+ *
132
+ * API to add slider settings to slider post meta
133
+ *
134
+ * @param int $slider_id Slider post ID
135
+ * @param array $settings Slider settings array
136
+ * @return void
137
+ */
138
+ public function add_slider_settings( $slider_id, array $settings ){
139
+ $settings = wp_parse_args(
140
+ $settings,
141
+ $this->get_slider_defaults()
142
+ );
143
+
144
+ $settings_to_save['template'] = sanitize_text_field( $settings['template'] );
145
+ $settings_to_save['fx'] = sanitize_text_field( $settings['fx'] );
146
+ $settings_to_save['timeout'] = (int) ( $settings['timeout'] );
147
+ $settings_to_save['speed'] = (int) ( $settings['speed'] );
148
+ $settings_to_save['width'] = (int) ( $settings['width'] );
149
+ $settings_to_save['height'] = (int) ( $settings['height'] );
150
+ $settings_to_save['hover_pause'] = sanitize_text_field( $settings['hover_pause'] );
151
+ $settings_to_save['show_prev_next'] = (int) ( $settings['show_prev_next'] );
152
+ $settings_to_save['show_nav'] = (int) ( $settings['show_nav'] );
153
+ $settings_to_save['tile_count'] = (int) ( $settings['tile_count'] );
154
+ $settings_to_save['tile_delay'] = (int) ( $settings['tile_delay'] );
155
+ $settings_to_save['tile_vertical'] = sanitize_text_field( $settings['tile_vertical'] );
156
+ $settings_to_save['random'] = (int) ( $settings['random'] );
157
+ $settings_to_save['resize'] = (int) ( $settings['resize'] );
158
+ $settings_to_save['width_management'] = sanitize_text_field( $settings['width_management'] );
159
+
160
+ $settings_to_save = apply_filters('cycloneslider_settings', $settings_to_save, $settings, $slider_id); // Apply filters before saving
161
+
162
+ delete_post_meta($slider_id, '_cycloneslider_settings');
163
+ update_post_meta($slider_id, '_cycloneslider_settings', $settings_to_save);
164
+ }
165
+
166
+ /**
167
+ * Add Slider Slides
168
+ *
169
+ * API to add slides
170
+ *
171
+ * @param int $slider_id Slider post ID
172
+ * @param array $slides Slides array
173
+ */
174
+ public function add_slider_slides( $slider_id, array $slides ){
175
+
176
+ $slides_to_save = array();
177
+
178
+ $i=0;//always start from 0
179
+ foreach($slides as $slide){
180
+ $slide = wp_parse_args(
181
+ $slide,
182
+ $this->get_slide_defaults()
183
+ );
184
+ $slides_to_save[$i]['id'] = (int) ($slide['id']);
185
+ $slides_to_save[$i]['type'] = sanitize_text_field($slide['type']);
186
+ $slides_to_save[$i]['hidden'] = (int) ($slide['hidden']);
187
+
188
+ $slides_to_save[$i]['link'] = esc_url_raw($slide['link']);
189
+ $slides_to_save[$i]['title'] = wp_kses_post($slide['title']);
190
+ $slides_to_save[$i]['description'] = wp_kses_post($slide['description']);
191
+ $slides_to_save[$i]['link_target'] = sanitize_text_field($slide['link_target']);
192
+
193
+ $slides_to_save[$i]['img_alt'] = sanitize_text_field($slide['img_alt']);
194
+ $slides_to_save[$i]['img_title'] = sanitize_text_field($slide['img_title']);
195
+
196
+ $slides_to_save[$i]['enable_slide_effects'] = (int) ($slide['enable_slide_effects']);
197
+ $slides_to_save[$i]['fx'] = sanitize_text_field($slide['fx']);
198
+ $slides_to_save[$i]['speed'] = sanitize_text_field($slide['speed']);
199
+ $slides_to_save[$i]['timeout'] = sanitize_text_field($slide['timeout']);
200
+ $slides_to_save[$i]['tile_count'] = sanitize_text_field($slide['tile_count']);
201
+ $slides_to_save[$i]['tile_delay'] = sanitize_text_field($slide['tile_delay']);
202
+ $slides_to_save[$i]['tile_vertical'] = sanitize_text_field($slide['tile_vertical']);
203
+
204
+ $slides_to_save[$i]['video_thumb'] = esc_url_raw($slide['video_thumb']);
205
+ $slides_to_save[$i]['video_url'] = esc_url_raw($slide['video_url']);
206
+ $slides_to_save[$i]['video'] = $slide['video'];
207
+
208
+ $slides_to_save[$i]['custom'] = $slide['custom'];
209
+
210
+ $slides_to_save[$i]['youtube_url'] = esc_url_raw($slide['youtube_url']);
211
+ $slides_to_save[$i]['youtube_related'] = sanitize_text_field($slide['youtube_related']);
212
+
213
+ $slides_to_save[$i]['vimeo_url'] = esc_url_raw($slide['vimeo_url']);
214
+
215
+ $slides_to_save[$i]['testimonial'] = wp_kses_post($slide['testimonial']);
216
+ $slides_to_save[$i]['testimonial_author'] = sanitize_text_field($slide['testimonial_author']);
217
+ $slides_to_save[$i]['testimonial_link'] = esc_url_raw($slide['testimonial_link']);
218
+ $slides_to_save[$i]['testimonial_link_target'] = sanitize_text_field($slide['testimonial_link_target']);
219
+
220
+ $i++;
221
+ }
222
+
223
+ $slides_to_save = apply_filters('cycloneslider_slides', $slides_to_save); //do filter before saving
224
+
225
+ delete_post_meta($slider_id, '_cycloneslider_metas');
226
+ update_post_meta($slider_id, '_cycloneslider_metas', $slides_to_save);
227
+ }
228
+
229
+
230
+
231
+ public function get_thumb_name( $image_file, $width, $height ){
232
+
233
+ // Get image path info and create file name
234
+ $info = pathinfo( $image_file ); // Eg: d:/uploads/image-1.jpg
235
+ if( !isset($info['extension']) or !isset($info['filename'])){
236
+ return false;
237
+ }
238
+
239
+ $ext = $info['extension']; // File extension Eg. "jpg"
240
+ $filename = $info['filename']; // Filename Eg. "image-1"
241
+ return "{$filename}-{$width}x{$height}.{$ext}"; // Thumbname. Eg. "image-1-600x300.jpg"
242
+
243
+ }
244
+
245
+ /**
246
+ * @param $id_or_slug
247
+ *
248
+ * @return array|NULL
249
+ * @throws Exception on invalid parameter
250
+ */
251
+ public function get_slider( $id_or_slug ) {
252
+ global $wp_version;
253
+
254
+ $args = array(
255
+ 'numberposts' => 1 // 1 only
256
+ );
257
+
258
+ if ( is_numeric( $id_or_slug ) ) {
259
+ $args['post__in'] = array( $id_or_slug ); // Workaround: Using "post_in" not "p" as WP inserts an ID when p <= 0.
260
+ } else if ( is_string( $id_or_slug ) ) {
261
+ $args['name'] = $id_or_slug;
262
+ if ( version_compare( $wp_version, '4.4', '>=' ) ) { // post_name__in avail only in 4.4
263
+ $args['post_name__in'] = array( $id_or_slug ); // Workaround: Using "post_name__in" not "name" as WP returns a post instead of nothing when name is ''.
264
+ }
265
+ } else {
266
+ throw new Exception( sprintf(__( 'Invalid format for get_slider %s parameter.', 'cycloneslider' ), '$id_or_slug') );
267
+ }
268
+
269
+ $sliders = $this->get_sliders( $args );
270
+ return array_pop($sliders); // Return the lone slideshow or NULL if empty
271
+ }
272
+
273
+ /**
274
+ * Get Sliders
275
+ *
276
+ * Get all sliders and their accompanying meta data
277
+ *
278
+ * @return array Returns an array of sliders
279
+ */
280
+ public function get_sliders( $args=array() ){
281
+ $defaults = array(
282
+ 'post_type' => 'cycloneslider',
283
+ 'post_status' => array('any', 'auto-draft'), // As long as it exist, get it
284
+ 'numberposts' => -1 // Get all
285
+ );
286
+ $args = wp_parse_args($args, $defaults);
287
+
288
+ $sliders = array(); // Store it here
289
+ foreach($this->get_posts( $args ) as $index=>$slider_post){
290
+ $sliders[$index] = array(
291
+ 'id' => $slider_post['ID'],
292
+ 'name' => $slider_post['post_name'],
293
+ 'title' => $slider_post['post_title'],
294
+ 'status' => $slider_post['post_status']
295
+ );
296
+ $sliders[$index]['slider_settings'] = $this->get_slider_settings( $slider_post['ID'] );
297
+ $sliders[$index]['slides'] = $this->get_slider_slides( $slider_post['ID'] );
298
+ }
299
+ return $sliders;
300
+ }
301
+
302
+ /**
303
+ * Get Slider Settings
304
+ *
305
+ * Get slider settings by $slider_id
306
+ *
307
+ * @paramt int $slider_id ID of slider post
308
+ * @return array The array of slider settings
309
+ */
310
+ public function get_slider_settings( $slider_id ) {
311
+ $slider_settings = $this->get_post_meta( $slider_id, '_cycloneslider_settings' );
312
+ $slider_settings = wp_parse_args($slider_settings, $this->get_slider_defaults() );
313
+ return apply_filters('cycloneslider_get_slider_settings', $slider_settings);
314
+ }
315
+
316
+ /**
317
+ * Get Slider Slides
318
+ *
319
+ * @param int $slider_id Post ID of the slider custom post.
320
+ * @return array The array of slides or empty array
321
+ */
322
+ public function get_slider_slides( $slider_id ){
323
+ $slides = $this->get_post_meta( $slider_id, '_cycloneslider_metas' );
324
+
325
+ $defaults = $this->get_slide_defaults();
326
+ foreach($slides as $i=>$slide){
327
+ $slides[$i] = wp_parse_args($slide, $defaults);
328
+ }
329
+
330
+ return apply_filters('cycloneslider_get_slider_slides', $slides);
331
+ }
332
+
333
+ /**
334
+ * Gets the number of slides of slideshow
335
+ *
336
+ * @param int $slider_id Post ID of slider custom post
337
+ * @return int Total slides
338
+ */
339
+ public function get_slide_count( $slider_id ){
340
+ $slides = $this->get_post_meta( $slider_id, '_cycloneslider_metas' );
341
+
342
+ return count($slides);
343
+ }
344
+
345
+ /**
346
+ * Get Slide Image URL.
347
+ */
348
+ public function get_slide_image_url( $slide_image_id, $slider_settings ){
349
+ $width = $slider_settings['width'];
350
+ $height = $slider_settings['height'];
351
+
352
+ // Get url to full image, its width and height
353
+ $image_dimensions = wp_get_attachment_image_src($slide_image_id, 'full');
354
+ if(!$image_dimensions){
355
+ return false;
356
+ }
357
+
358
+ // Assign variables
359
+ list($image_url, $orig_width, $orig_height) = $image_dimensions;
360
+
361
+ // If orig image width and height is the same as slideshow width and height, do not resize and return url
362
+ if($orig_width == $width and $orig_height == $height){
363
+ return $image_url;
364
+ }
365
+
366
+ //If resize is no, return url
367
+ if( isset( $slider_settings['resize'] ) and $slider_settings['resize'] == 0 ){
368
+ return $image_url;
369
+ }
370
+
371
+ // Get full path to the slide image
372
+ $image_file = get_attached_file($slide_image_id);
373
+ if(empty($image_file)){
374
+ return false;
375
+ }
376
+
377
+ $thumb_name = $this->get_thumb_name( $image_file, $width, $height );
378
+ $thumb_url = dirname($image_url).'/'.$thumb_name; // URL to thumbnail
379
+
380
+ return $thumb_url;
381
+ }
382
+
383
+ /**
384
+ * Get Slide Thumbnail URL.
385
+ */
386
+ public function get_slide_thumbnail_url( $slide_image_id, $width, $height, $resize){
387
+
388
+ // Get url to full image, its width and height
389
+ $image_dimensions = wp_get_attachment_image_src($slide_image_id, 'full');
390
+ if(!$image_dimensions){
391
+ return false;
392
+ }
393
+
394
+ // Assign variables
395
+ list($image_url, $orig_width, $orig_height) = $image_dimensions;
396
+
397
+ // If orig image width and height is the same as width and height, do not resize and return url
398
+ if($orig_width == $width and $orig_height == $height){
399
+ return $image_url;
400
+ }
401
+
402
+ //If resize is no, return url
403
+ if( $resize == 0 ){
404
+ return $image_url;
405
+ }
406
+
407
+ // Get full path to the slide image
408
+ $image_file = get_attached_file($slide_image_id);
409
+ if(empty($image_file)){
410
+ return false;
411
+ }
412
+
413
+ $thumb_name = $this->get_thumb_name( $image_file, $width, $height );
414
+ $thumb_url = dirname($image_url).'/'.$thumb_name; // URL to thumbnail
415
+
416
+ return $thumb_url;
417
+ }
418
+
419
+ /**
420
+ * Get View File
421
+ *
422
+ * Get slider view file from theme or plugin or wp-content location
423
+ *
424
+ * @param string $template_name Name of slider template
425
+ * @return string|false Slider view filepath or false
426
+ */
427
+ public function get_view_file( $template_name ){
428
+
429
+ $templates = $this->get_all_templates();
430
+ if(isset($templates[$template_name])){
431
+ $view_file = $templates[ $template_name ]['path'] . '/slider.php';
432
+ if(@is_file($view_file)){
433
+ return $view_file;
434
+ }
435
+ }
436
+
437
+ return false;
438
+ }
439
+
440
+ /**
441
+ * Get all templates in array format
442
+ */
443
+ public function get_all_templates(){
444
+
445
+ $templates = array();
446
+ if( is_array( $this->template_locations ) ){
447
+ foreach( $this->template_locations as $location ){
448
+ if( is_dir( $location['path'] ) ) {
449
+ if( $files = scandir( $location['path'] ) ){
450
+ foreach( $files as $name ){
451
+ if($name!='.' and $name!='..' and is_dir($location['path'].$name) and @file_exists($location['path'].$name.DIRECTORY_SEPARATOR.'slider.php') ){ // Check if its a directory
452
+ $supported_slide_types = array('image');// Default
453
+ if ( $config = $this->parse_config_json( $location['path'].$name.DIRECTORY_SEPARATOR.'config.json' ) ) {
454
+ $supported_slide_types = $config->slide_types;
455
+ } else if ( @file_exists($location['path'].$name.DIRECTORY_SEPARATOR.'config.txt') ) { // Older templates use ini format
456
+ $ini_array = parse_ini_file($location['path'].$name.DIRECTORY_SEPARATOR.'config.txt'); //Parse ini to get slide types supported
457
+ if($ini_array){
458
+ $supported_slide_types = $ini_array['slide_type'];
459
+ }
460
+ }
461
+
462
+ $name = sanitize_title($name); // Change space to dash and all lowercase
463
+
464
+ // Old templates (pre 2.11.0) can only have 1 css file and 1 js file
465
+
466
+ // Check if script.js exists
467
+ $scripts = array();
468
+ if ( @file_exists( $location['path'] . $name . DIRECTORY_SEPARATOR . 'script.js' ) ) {
469
+ $scripts = array(
470
+ 'script.js'
471
+ );
472
+ }
473
+
474
+ // Check if style.css exists
475
+ $styles = array();
476
+ if ( @file_exists( $location['path'] . $name . DIRECTORY_SEPARATOR . 'style.css' ) ) {
477
+ $styles = array(
478
+ 'style.css'
479
+ );
480
+ }
481
+
482
+ // Create and add template object to our template list
483
+ $templates[ $name ] = array(
484
+ 'name' => ucwords(str_replace('-',' ',$name)),
485
+ 'path' => $location['path'].$name,
486
+ 'url' => $location['url'].$name,
487
+ 'supports' => $supported_slide_types,
488
+ 'location_name' => $location['location_name'],
489
+ 'scripts' => $scripts,
490
+ 'styles' => $styles
491
+ );
492
+ }
493
+ }
494
+ }
495
+ }
496
+ }
497
+ }
498
+ return apply_filters('cycloneslider_template_list', $templates);
499
+ }
500
+
501
+ /**
502
+ * Get Active Templates
503
+ *
504
+ * Get templates that are enabled in settings page
505
+ *
506
+ * @param array $settings_data Settings page data
507
+ * @param array $templates List of all templates
508
+ * @return array Template locations
509
+ */
510
+ public function get_enabled_templates( $settings_data, $templates ){
511
+
512
+ foreach($templates as $name=>$template){
513
+ if( !isset($settings_data['load_templates'][$name]) ){
514
+ $settings_data['load_templates'][$name] = 1;
515
+ }
516
+ }
517
+ return $settings_data['load_templates'];
518
+ }
519
+
520
+ /**
521
+ * Get template config data from file
522
+ *
523
+ * @param string $file Full path to config file
524
+ * @return object $config_data or false on fail
525
+ */
526
+ public function parse_config_json( $file ){
527
+ if( @file_exists($file) ){
528
+ $config = file_get_contents($file); //Get template info
529
+ if($config){
530
+ $config_data = json_decode($config);
531
+ if($config_data){
532
+ return $config_data;
533
+ }
534
+ }
535
+ }
536
+ return false;
537
+ }
538
+
539
+ /**
540
+ * Get settings data. If there is no data from database, use default values
541
+ */
542
+ public function get_settings_page_data(){
543
+ $option = get_option( $this->settings_page_properties['option_name'], array() );
544
+ return wp_parse_args($option, $this->get_default_settings_page_data());
545
+ }
546
+
547
+ /**
548
+ * Apply default values
549
+ */
550
+ public function get_default_settings_page_data() {
551
+ $defaults = array();
552
+
553
+ $defaults['legacy'] = 0;
554
+
555
+ $defaults['load_scripts_in'] = 'footer';
556
+
557
+ $defaults['load_cycle2'] = 1;
558
+ $defaults['load_cycle2_carousel'] = 1;
559
+ $defaults['load_cycle2_swipe'] = 1;
560
+ $defaults['load_cycle2_tile'] = 1;
561
+ $defaults['load_cycle2_video'] = 1;
562
+
563
+ $defaults['load_easing'] = 0;
564
+
565
+ $defaults['load_magnific'] = 0;
566
+
567
+ $defaults['load_templates'] = array();
568
+
569
+ $defaults['script_priority'] = 100;
570
+
571
+ $defaults['license_id'] = '';
572
+ $defaults['license_key'] = '';
573
+
574
+ return $defaults;
575
+ }
576
+
577
+ /**
578
+ * Cyclone Slide Settings
579
+ *
580
+ * Prints out cycle2 per slide settings as data attributes
581
+ *
582
+ *
583
+ * @param array $slide Slide settings array.
584
+ * @param array $slider Slider array.
585
+ *
586
+ * @return string data-* attributes for slide.
587
+ */
588
+ public function slide_data_attributes($slide, $slider){
589
+ $data_attrib = array();
590
+ if($slide['fx'] != 'default'){
591
+ $data_attrib['data-cycle-fx'] = $slide['fx'];
592
+ }
593
+ if($slide['speed'] !== '') {
594
+ $data_attrib['data-cycle-speed'] = $slide['speed'];
595
+ }
596
+ if($slide['timeout'] !== '') {
597
+ $data_attrib['data-cycle-timeout'] = $slide['timeout'];
598
+ }
599
+ if($slide['fx']=='tileBlind' or $slide['fx']=='tileSlide'){
600
+ if($slide['tile_count'] !== '') {
601
+ $data_attrib['data-cycle-tile-count'] = $slide['tile_count'];
602
+ }
603
+ if($slide['tile_delay'] !== '') {
604
+ $data_attrib['data-cycle-tile-delay'] = $slide['tile_delay'];
605
+ }
606
+ $data_attrib['data-cycle-tile-vertical'] = $slide['tile_vertical'];
607
+ }
608
+
609
+ $data_attrib = apply_filters('cycloneslider_slide_data_attributes', $data_attrib, $slide, $slider);
610
+
611
+ $out = '';
612
+ foreach($data_attrib as $data_attr=>$value){ // Array to html string
613
+ $out .= ' '.$data_attr.'="'.esc_attr($value).'" ';
614
+ }
615
+ return $out;
616
+ }
617
+
618
+ /**
619
+ * Trim White Spaces
620
+ *
621
+ */
622
+ public function trim_white_spaces($buffer, $off=false){
623
+ if($off){
624
+ return $buffer;
625
+ }
626
+ $search = array(
627
+ '/\>[^\S ]+/s', //strip whitespaces after tags, except space
628
+ '/[^\S ]+\</s', //strip whitespaces before tags, except space
629
+ '/(\s)+/s' // shorten multiple whitespace sequences
630
+ );
631
+ $replace = array(
632
+ '>',
633
+ '<',
634
+ '\\1'
635
+ );
636
+ return preg_replace($search, $replace, $buffer);
637
+ }
638
+
639
+
640
+ /*
641
+ * Combine admin and shortcode settings
642
+ */
643
+ public function combine_slider_settings($admin_settings, $shortcode_settings ){
644
+ // Use shortcode settings if present and override admin settings
645
+ if( null !== $shortcode_settings['fx'] ){
646
+ $admin_settings['fx'] = $shortcode_settings['fx'];
647
+ }
648
+ if( null !== $shortcode_settings['timeout'] ){
649
+ $admin_settings['timeout'] = $shortcode_settings['timeout'];
650
+ }
651
+ if( null !== $shortcode_settings['speed'] ){
652
+ $admin_settings['speed'] = $shortcode_settings['speed'];
653
+ }
654
+ if( null !== $shortcode_settings['width'] ){
655
+ $admin_settings['width'] = $shortcode_settings['width'];
656
+ }
657
+ if( null !== $shortcode_settings['height'] ){
658
+ $admin_settings['height'] = $shortcode_settings['height'];
659
+ }
660
+ if( null !== $shortcode_settings['hover_pause'] ){
661
+ $admin_settings['hover_pause'] = $shortcode_settings['hover_pause'];
662
+ }
663
+ if( null !== $shortcode_settings['show_prev_next'] ){
664
+ $admin_settings['show_prev_next'] = $shortcode_settings['show_prev_next'];
665
+ }
666
+ if( null !== $shortcode_settings['show_nav'] ){
667
+ $admin_settings['show_nav'] = $shortcode_settings['show_nav'];
668
+ }
669
+ if( null !== $shortcode_settings['tile_count'] ){
670
+ $admin_settings['tile_count'] = $shortcode_settings['tile_count'];
671
+ }
672
+ if( null !== $shortcode_settings['tile_delay'] ){
673
+ $admin_settings['tile_delay'] = $shortcode_settings['tile_delay'];
674
+ }
675
+ if( null !== $shortcode_settings['tile_vertical'] ){
676
+ $admin_settings['tile_vertical'] = $shortcode_settings['tile_vertical'];
677
+ }
678
+ if( null !== $shortcode_settings['random'] ){
679
+ $admin_settings['random'] = $shortcode_settings['random'];
680
+ }
681
+ if( null !== $shortcode_settings['resize'] ){
682
+ $admin_settings['resize'] = $shortcode_settings['resize'];
683
+ }
684
+ if( null !== $shortcode_settings['resize_option'] ){
685
+ $admin_settings['resize_option'] = $shortcode_settings['resize_option'];
686
+ }
687
+ if( null !== $shortcode_settings['easing'] ){
688
+ $admin_settings['easing'] = $shortcode_settings['easing'];
689
+ }
690
+ if( null !== $shortcode_settings['allow_wrap'] ){
691
+ $admin_settings['allow_wrap'] = $shortcode_settings['allow_wrap'];
692
+ }
693
+ if( null !== $shortcode_settings['dynamic_height'] ){
694
+ $admin_settings['dynamic_height'] = $shortcode_settings['dynamic_height'];
695
+ }
696
+ if( null !== $shortcode_settings['delay'] ){
697
+ $admin_settings['delay'] = $shortcode_settings['delay'];
698
+ }
699
+ if( null !== $shortcode_settings['swipe'] ){
700
+ $admin_settings['swipe'] = $shortcode_settings['swipe'];
701
+ }
702
+ if( null !== $shortcode_settings['width_management'] ){
703
+ $admin_settings['width_management'] = $shortcode_settings['width_management'];
704
+ }
705
+ return $admin_settings;
706
+ }
707
+
708
+ /**
709
+ * Gets the slider default settings.
710
+ *
711
+ * @return array The array of slider defaults
712
+ */
713
+ public function get_slider_defaults(){
714
+ return array(
715
+ 'template' => 'standard',
716
+ 'fx' => 'fade',
717
+ 'timeout' => '4000',
718
+ 'speed' => '1000',
719
+ 'width' => '960',
720
+ 'height' => '600',
721
+ 'hover_pause' => 'true',
722
+ 'show_prev_next' => '1',
723
+ 'show_nav' => '1',
724
+ 'tile_count' => '7',
725
+ 'tile_delay' => '100',
726
+ 'tile_vertical' => 'true',
727
+ 'random' => 0,
728
+ 'resize' => 1,
729
+ 'width_management' => 'responsive',
730
+ 'resize_option' => 'fit',
731
+ 'resize_quality' => 100,
732
+ 'easing' => '',
733
+ 'allow_wrap' => 'true',
734
+ 'dynamic_height' => 'off',
735
+ 'dynamic_height_speed' => 250,
736
+ 'delay' => 0,
737
+ 'swipe' => 'false'
738
+ );
739
+ }
740
+
741
+ /**
742
+ * Gets the slide default settings.
743
+ *
744
+ * @return array The array of slide defaults
745
+ */
746
+ public function get_slide_defaults(){
747
+ return array(
748
+ 'enable_slide_effects'=>0,
749
+ 'type' => 'image',
750
+ 'hidden' => 0,
751
+ 'id' => '',
752
+ 'link' => '',
753
+ 'title' => '',
754
+ 'description' => '',
755
+ 'link_target' => '_self',
756
+ 'fx' => 'default',
757
+ 'speed' => '',
758
+ 'timeout' => '',
759
+ 'tile_count' => '7',
760
+ 'tile_delay' => '100',
761
+ 'tile_vertical' => 'true',
762
+ 'img_alt' => '',
763
+ 'img_title' => '',
764
+
765
+ 'video_thumb' => '',
766
+ 'video_url' => '',
767
+ 'video' => '',
768
+
769
+ 'custom' => '',
770
+
771
+ 'youtube_url' => '',
772
+ 'youtube_related' => 'false',
773
+
774
+ 'vimeo_url' => '',
775
+
776
+ 'testimonial' => '',
777
+ 'testimonial_author' => '',
778
+ 'testimonial_link' => '',
779
+ 'testimonial_link_target' => '_self'
780
+ );
781
+ }
782
+
783
+ /**
784
+ * Get Resize Options
785
+ *
786
+ * @return array The array of resize options in a key-value pair
787
+ */
788
+ public function get_resize_options(){
789
+ if(version_compare(PHP_VERSION, '5.3', '>=')) { // 5.3+
790
+ return array(
791
+ 'fit' => 'Fit',
792
+ 'fill' => 'Fill',
793
+ 'crop' => 'Crop',
794
+ 'exact' => 'Exact',
795
+ 'exactWidth' => 'Exact Width',
796
+ 'exactHeight' => 'Exact Height'
797
+ );
798
+ } else { // 5.2
799
+ return array(
800
+ 'auto' => 'Auto',
801
+ 'crop' => 'Crop',
802
+ 'exact' => 'Exact',
803
+ 'landscape' => 'Landscape',
804
+ 'portrait' => 'Portrait'
805
+ );
806
+ }
807
+ }
808
+
809
+ /**
810
+ * Gets the slide effects.
811
+ *
812
+ * @return array The array of supported slide effects
813
+ */
814
+ public function get_slide_effects(){
815
+ return array(
816
+ 'fade'=>'Fade',
817
+ 'fadeout'=>'Fade Out',
818
+ 'none'=>'None',
819
+ 'scrollHorz'=>'Scroll Horizontally',
820
+ 'tileBlind'=>'Tile Blind',
821
+ 'tileSlide'=>'Tile Slide'
822
+ );
823
+ }
824
+
825
+ /**
826
+ * Get array of jquery easing options
827
+ *
828
+ * @return array Easing options
829
+ */
830
+ public function get_jquery_easing_options(){
831
+ return array(
832
+ array(
833
+ 'text' => 'Default',
834
+ 'value' => ''
835
+ ),
836
+ array(
837
+ 'text' => 'Swing',
838
+ 'value' => 'swing'
839
+ ),
840
+ array(
841
+ 'text' => 'Ease-In Quad',
842
+ 'value' => 'easeInQuad'
843
+ ),
844
+ array(
845
+ 'text' => 'Ease-Out Quad',
846
+ 'value' => 'easeOutQuad'
847
+ ),
848
+ array(
849
+ 'text' => 'Ease-In OutQuad',
850
+ 'value' => 'easeInOutQuad'
851
+ ),
852
+ array(
853
+ 'text' => 'Ease-In Cubic',
854
+ 'value' => 'easeInCubic'
855
+ ),
856
+ array(
857
+ 'text' => 'Ease-Out Cubic',
858
+ 'value' => 'easeOutCubic'
859
+ ),
860
+ array(
861
+ 'text' => 'Ease-In OutCubic',
862
+ 'value' => 'easeInOutCubic'
863
+ ),
864
+ array(
865
+ 'text' => 'Ease-In Quart',
866
+ 'value' => 'easeInQuart'
867
+ ),
868
+ array(
869
+ 'text' => 'Ease-Out Quart',
870
+ 'value' => 'easeOutQuart'
871
+ ),
872
+ array(
873
+ 'text' => 'Ease-In OutQuart',
874
+ 'value' => 'easeInOutQuart'
875
+ ),
876
+ array(
877
+ 'text' => 'Ease-In Quint',
878
+ 'value' => 'easeInQuint'
879
+ ),
880
+ array(
881
+ 'text' => 'Ease-Out Quint',
882
+ 'value' => 'easeOutQuint'
883
+ ),
884
+ array(
885
+ 'text' => 'Ease-In OutQuint',
886
+ 'value' => 'easeInOutQuint'
887
+ ),
888
+ array(
889
+ 'text' => 'Ease-In Sine',
890
+ 'value' => 'easeInSine'
891
+ ),
892
+ array(
893
+ 'text' => 'Ease-Out Sine',
894
+ 'value' => 'easeOutSine'
895
+ ),
896
+ array(
897
+ 'text' => 'Ease-In OutSine',
898
+ 'value' => 'easeInOutSine'
899
+ ),
900
+ array(
901
+ 'text' => 'Ease-In Expo',
902
+ 'value' => 'easeInExpo'
903
+ ),
904
+ array(
905
+ 'text' => 'Ease-Out Expo',
906
+ 'value' => 'easeOutExpo'
907
+ ),
908
+ array(
909
+ 'text' => 'Ease-In OutExpo',
910
+ 'value' => 'easeInOutExpo'
911
+ ),
912
+ array(
913
+ 'text' => 'Ease-In Circ',
914
+ 'value' => 'easeInCirc'
915
+ ),
916
+ array(
917
+ 'text' => 'Ease-Out Circ',
918
+ 'value' => 'easeOutCirc'
919
+ ),
920
+ array(
921
+ 'text' => 'Ease-In OutCirc',
922
+ 'value' => 'easeInOutCirc'
923
+ ),
924
+ array(
925
+ 'text' => 'Ease-In Elastic',
926
+ 'value' => 'easeInElastic'
927
+ ),
928
+ array(
929
+ 'text' => 'Ease-Out Elastic',
930
+ 'value' => 'easeOutElastic'
931
+ ),
932
+ array(
933
+ 'text' => 'Ease-In OutElastic',
934
+ 'value' => 'easeInOutElastic'
935
+ ),
936
+ array(
937
+ 'text' => 'Ease-In Back',
938
+ 'value' => 'easeInBack'
939
+ ),
940
+ array(
941
+ 'text' => 'Ease-Out Back',
942
+ 'value' => 'easeOutBack'
943
+ ),
944
+ array(
945
+ 'text' => 'Ease-In OutBack',
946
+ 'value' => 'easeInOutBack'
947
+ ),
948
+ array(
949
+ 'text' => 'Ease-In Bounce',
950
+ 'value' => 'easeInBounce'
951
+ ),
952
+ array(
953
+ 'text' => 'Ease-Out Bounce',
954
+ 'value' => 'easeOutBounce'
955
+ ),
956
+ array(
957
+ 'text' => 'Ease-In OutBounce',
958
+ 'value' => 'easeInOutBounce'
959
+ )
960
+ );
961
+ }
962
+
963
+ /**
964
+ * Wrapper for WP get_posts.
965
+ *
966
+ * @param array $args The same as WP get_posts
967
+ *
968
+ * @return array An assoc array of posts or empty array
969
+ */
970
+ public function get_posts( array $args ) {
971
+ $posts = get_posts( $args ); // Returns array
972
+ $results = array(); // Store it here
973
+ if ( ! empty( $posts ) and is_array( $posts ) ) {
974
+ foreach ( $posts as $index => $post ) {
975
+ $results[ $index ] = (array) $post; // Obj to assoc array
976
+ }
977
+ }
978
+ return $results;
979
+ }
980
+
981
+ /**
982
+ * Wrapper for WP get_post_custom that automatically unserialize data.
983
+ *
984
+ * @param int $post_id ID of post
985
+ * @param string $key Meta key name
986
+ *
987
+ * @return array Array of data or empty array
988
+ */
989
+ public function get_post_meta( $post_id, $key ) {
990
+ $meta = get_post_custom( $post_id );
991
+ if ( isset( $meta[ $key ][0] ) and ! empty( $meta[ $key ][0] ) ) {
992
+ return maybe_unserialize( $meta[ $key ][0] );
993
+ }
994
+ return array();
995
+ }
996
+
997
+ private function _add_save_hook($wp_version){
998
+ // Use better hook if available
999
+ if ( version_compare( $wp_version, '3.7', '>=' ) ) {
1000
+ add_action( "save_post_cycloneslider", array( $this, 'save_post_hook' ) );
1001
+ } else {
1002
+ add_action( 'save_post', array( $this, 'save_post_hook' ) );
1003
+ }
1004
+ }
1005
+
1006
+ private function _remove_save_hook($wp_version){
1007
+ // Use better hook if available
1008
+ if ( version_compare( $wp_version, '3.7', '>=' ) ) {
1009
+ remove_action( "save_post_cycloneslider", array( $this, 'save_post_hook' ) );
1010
+ } else {
1011
+ remove_action( 'save_post', array( $this, 'save_post_hook' ) );
1012
+ }
1013
+ }
1014
+ }
1015
+
src/cyclone-slider/src/CycloneSlider/ExportPage.php ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for export page
4
+ */
5
+ class CycloneSlider_ExportPage extends CycloneSlider_WpAdminSubPage{
6
+
7
+ protected $sliders;
8
+ protected $view;
9
+ protected $exporter;
10
+ protected $wp_content_dir;
11
+ protected $wp_content_url;
12
+ protected $transient_name;
13
+ protected $nonce_name;
14
+ protected $nonce_action;
15
+ protected $export_page_url;
16
+ protected $import_page_url;
17
+ protected $nextgen_page_url;
18
+
19
+ public function __construct( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $sliders, $view, $exporter, $wp_content_dir, $wp_content_url, $transient_name, $nonce_name, $nonce_action, $export_page_url, $import_page_url, $nextgen_page_url ){
20
+ parent::__construct(
21
+ $parent_slug,
22
+ $page_title,
23
+ $menu_title,
24
+ $capability,
25
+ $menu_slug
26
+ );
27
+
28
+ $this->sliders = $sliders;
29
+ $this->view = $view;
30
+ $this->exporter = $exporter;
31
+ $this->wp_content_dir = $wp_content_dir;
32
+ $this->wp_content_url = $wp_content_url;
33
+ $this->transient_name = $transient_name;
34
+ $this->nonce_name = $nonce_name;
35
+ $this->nonce_action = $nonce_action;
36
+ $this->export_page_url = $export_page_url;
37
+ $this->import_page_url = $import_page_url;
38
+ $this->nextgen_page_url = $nextgen_page_url;
39
+ }
40
+
41
+ public function run() {
42
+
43
+ parent::run();
44
+
45
+ // Catch Post
46
+ add_action('init', array( $this, 'catch_posts') );
47
+ }
48
+
49
+ /**
50
+ * Render page. This function should output the HTML of the page.
51
+ */
52
+ public function render_page(){
53
+ $current_step = isset($_GET['step']) ? (int) $_GET['step'] : 1;
54
+
55
+ $vars = array();
56
+ $vars['transient_name'] = $this->transient_name;
57
+ $vars['nonce_name'] = $this->nonce_name;
58
+ $vars['nonce'] = wp_create_nonce( $this->nonce_action );
59
+ $vars['export_page_url'] = $this->export_page_url;
60
+ $vars['import_page_url'] = $this->import_page_url;
61
+ $vars['nextgen_page_url'] = $this->nextgen_page_url;
62
+ $vars['tabs'] = array(
63
+ array(
64
+ 'title' => __('Export', 'cycloneslider'),
65
+ 'url' => $this->export_page_url,
66
+ 'classes' => 'nav-tab nav-tab-active'
67
+ ),
68
+ array(
69
+ 'title' => __('Import', 'cycloneslider'),
70
+ 'url' => $this->import_page_url,
71
+ 'classes' => 'nav-tab'
72
+ )
73
+ );
74
+ $vars['page_data'] = $this->get_page_data();
75
+ $vars['error'] = get_transient( 'cycloneslider_error_export');
76
+ if(!class_exists('ZipArchive')){
77
+ $vars['error'] = __( 'ZipArchive not supported. ZipArchive is needed for Import and Export to work.', 'cycloneslider' );
78
+ }
79
+ delete_transient( 'cycloneslider_error_export');
80
+
81
+ switch ( $current_step ) {
82
+ case 1:
83
+ $this->render_step_1( $vars );
84
+ break;
85
+ case 2:
86
+ $this->render_step_2( $vars );
87
+ break;
88
+ case 3:
89
+ $this->render_step_3( $vars );
90
+ break;
91
+ }
92
+ }
93
+
94
+ private function render_step_1( $vars ){
95
+
96
+ $vars['sliders'] = $this->sliders;
97
+
98
+ $this->view->render( 'export-step-1.php', $vars );
99
+
100
+ }
101
+ private function render_step_2( $vars ){
102
+
103
+ $this->view->render( 'export-step-2.php', $vars );
104
+ }
105
+
106
+ private function render_step_3( $vars ){
107
+
108
+ // Make this configurable
109
+ $vars['zip_url'] = $this->wp_content_url.'/cyclone-slider/exports/'.$vars['page_data']['file_name'];
110
+
111
+ $zip_file = $this->wp_content_dir.'/cyclone-slider/exports/'.$vars['page_data']['file_name'];
112
+
113
+ $vars['ok'] = __('Your export file is ready. Click Download.', 'cycloneslider');
114
+ try {
115
+ // Create exports dir
116
+ if( is_dir( $this->wp_content_dir.'/cyclone-slider/exports' ) == false ){
117
+ if( ! mkdir( $this->wp_content_dir.'/cyclone-slider/exports', 0777, true ) ){
118
+ throw new Exception( __('Error creating exports directory.', 'cycloneslider'));
119
+ }
120
+ }
121
+
122
+ $this->exporter->export( $zip_file, $vars['page_data']['sliders'] );
123
+ } catch (Exception $e ){
124
+ set_transient( 'cycloneslider_error_export', $e->getMessage(), 60 );
125
+ $vars['ok'] = '';
126
+ }
127
+
128
+
129
+ $vars['log_results'] = $this->exporter->get_results();
130
+
131
+ $vars['error'] = get_transient( 'cycloneslider_error_export');
132
+ delete_transient( 'cycloneslider_error_export');
133
+ $this->view->render( 'export-step-3.php', $vars );
134
+ }
135
+
136
+ public function catch_posts(){
137
+ // Verify nonce
138
+ if( isset($_POST[ $this->nonce_name ]) ){
139
+
140
+ if ( wp_verify_nonce( $_POST[ $this->nonce_name ], $this->nonce_action ) ) {
141
+
142
+ $current_step = isset($_POST['cycloneslider_export_step']) ? (int) $_POST['cycloneslider_export_step'] : 1;
143
+
144
+ switch ( $current_step ) {
145
+ case 1:
146
+ $this->catch_post_step_1( $_POST );
147
+ break;
148
+ case 2:
149
+ $this->catch_post_step_2( $_POST );
150
+ break;
151
+ }
152
+ }
153
+ }
154
+ }
155
+
156
+ private function catch_post_step_1( $post ){
157
+
158
+ if(isset($post['reset'])){
159
+ delete_transient( $this->transient_name );
160
+ if(is_dir($this->wp_content_dir.'/cyclone-slider/exports')){
161
+ $this->rmdir_recursive($this->wp_content_dir.'/cyclone-slider/exports');
162
+ }
163
+ return false;
164
+ }
165
+
166
+ if( empty( $post[$this->transient_name]['sliders']) ){
167
+ set_transient( 'cycloneslider_error_export', __('No slider selected.', 'cycloneslider'), 60 );
168
+ return false;
169
+ }
170
+
171
+ if( empty( $post[$this->transient_name]['file_name'] ) ){
172
+ set_transient( 'cycloneslider_error_export', __('Please choose a file name.', 'cycloneslider'), 60 );
173
+ return false;
174
+ }
175
+
176
+ $page_data = $this->get_page_data();
177
+ $page_data['all_sliders'] = $post[$this->transient_name]['all_sliders'];
178
+ $page_data['sliders'] = $post[$this->transient_name]['sliders'];
179
+ $page_data['file_name'] = $post[$this->transient_name]['file_name'];
180
+ set_transient( $this->transient_name, $page_data, 3600 );
181
+ wp_redirect( $this->export_page_url.'&step=2' );
182
+ exit;
183
+
184
+ }
185
+
186
+ private function catch_post_step_2( $post ){
187
+
188
+
189
+ wp_redirect( $this->export_page_url.'&step=3' );
190
+ exit;
191
+ }
192
+
193
+
194
+
195
+ public function get_page_data(){
196
+ return wp_parse_args(get_transient( $this->transient_name ), $this->get_default_page_data());
197
+ }
198
+
199
+ public function get_default_page_data(){
200
+ return array(
201
+ 'all_sliders' => 0,
202
+ 'sliders' => array(),
203
+ 'file_name' => 'cyclone-slider-'.date('Y-m-d').'.zip'
204
+ );
205
+ }
206
+
207
+ public function rmdir_recursive( $path ) {
208
+
209
+ foreach(scandir($path) as $item) {
210
+ if ('.' === $item || '..' === $item) continue;
211
+ if ( is_dir("$path/$item") ) {
212
+ $this->rmdir_recursive("$path/$item");
213
+ } else {
214
+ unlink("$path/$item");
215
+ }
216
+ }
217
+ return rmdir($path);
218
+ }
219
+ }
src/cyclone-slider/src/CycloneSlider/ExportPageNextgen.php ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for export page
4
+ */
5
+ class CycloneSlider_ExportPageNextgen extends CycloneSlider_WpAdminSubPage{
6
+
7
+ protected $view;
8
+ protected $exporter;
9
+ protected $wp_content_dir;
10
+ protected $wp_content_url;
11
+ protected $transient_name;
12
+ protected $nonce_name;
13
+ protected $nonce_action;
14
+ protected $export_page_url;
15
+ protected $import_page_url;
16
+ protected $nextgen_page_url;
17
+
18
+ public function __construct( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $view, $exporter, $wp_content_dir, $wp_content_url, $transient_name, $nonce_name, $nonce_action, $export_page_url, $import_page_url, $nextgen_page_url ){
19
+ parent::__construct(
20
+ $parent_slug,
21
+ $page_title,
22
+ $menu_title,
23
+ $capability,
24
+ $menu_slug
25
+ );
26
+
27
+ $this->view = $view;
28
+ $this->exporter = $exporter;
29
+ $this->wp_content_dir = $wp_content_dir;
30
+ $this->wp_content_url = $wp_content_url;
31
+ $this->transient_name = $transient_name;
32
+ $this->nonce_name = $nonce_name;
33
+ $this->nonce_action = $nonce_action;
34
+ $this->export_page_url = $export_page_url;
35
+ $this->import_page_url = $import_page_url;
36
+ $this->nextgen_page_url = $nextgen_page_url;
37
+ }
38
+
39
+ public function run() {
40
+
41
+ parent::run();
42
+
43
+ // Catch Post
44
+ add_action('init', array( $this, 'catch_posts') );
45
+ }
46
+
47
+ /**
48
+ * Render page. This function should output the HTML of the page.
49
+ */
50
+ public function render_page( $post ){
51
+ $current_step = isset($_GET['step']) ? (int) $_GET['step'] : 1;
52
+
53
+ $vars = array();
54
+ $vars['transient_name'] = $this->transient_name;
55
+ $vars['nonce_name'] = $this->nonce_name;
56
+ $vars['nonce'] = wp_create_nonce( $this->nonce_action );
57
+ $vars['export_page_url'] = $this->export_page_url;
58
+ $vars['import_page_url'] = $this->import_page_url;
59
+ $vars['nextgen_page_url'] = $this->nextgen_page_url;
60
+ $vars['tabs'] = array(
61
+ array(
62
+ 'title' => __('Export', 'cycloneslider'),
63
+ 'url' => $this->export_page_url,
64
+ 'classes' => 'nav-tab'
65
+ ),
66
+ array(
67
+ 'title' => __('Import', 'cycloneslider'),
68
+ 'url' => $this->import_page_url,
69
+ 'classes' => 'nav-tab'
70
+ ),
71
+ array(
72
+ 'title' => __('Export Nextgen', 'cycloneslider'),
73
+ 'url' => $this->nextgen_page_url,
74
+ 'classes' => 'nav-tab nav-tab-active'
75
+ )
76
+ );
77
+ $vars['page_data'] = $this->get_page_data();
78
+
79
+ switch ( $current_step ) {
80
+ case 1:
81
+ $this->render_step_1( $vars );
82
+ break;
83
+ case 2:
84
+ $this->render_step_2( $vars );
85
+ break;
86
+ case 3:
87
+ $this->render_step_3( $vars );
88
+ break;
89
+ }
90
+ }
91
+
92
+ private function render_step_1( $vars ){
93
+ global $nggdb;
94
+ if(!isset($nggdb)){//Show only if nextgen plugin is available
95
+ return false;
96
+ }
97
+
98
+ $vars['sliders'] = $nggdb->find_all_galleries();
99
+ $vars['error'] = get_transient( 'cycloneslider_error_export');
100
+ delete_transient( 'cycloneslider_error_export');
101
+ $this->view->render( 'export-nextgen-step-1.php', $vars );
102
+
103
+ }
104
+ private function render_step_2( $vars ){
105
+
106
+ $vars['error'] = get_transient( 'cycloneslider_error_export');
107
+ delete_transient( 'cycloneslider_error_export');
108
+ $this->view->render( 'export-nextgen-step-2.php', $vars );
109
+ }
110
+
111
+ private function render_step_3( $vars ){
112
+
113
+ // Make this configurable
114
+ $vars['zip_url'] = $this->wp_content_url.'/cyclone-slider/exports/'.$vars['page_data']['file_name'];
115
+
116
+ $zip_file = $this->wp_content_dir.'/cyclone-slider/exports/'.$vars['page_data']['file_name'];
117
+
118
+ $vars['ok'] = __('Your export file is ready. Click Download.', 'cycloneslider');
119
+ try {
120
+ // Create exports dir
121
+ if( is_dir( $this->wp_content_dir.'/cyclone-slider/exports' ) == false ){
122
+ if( ! mkdir( $this->wp_content_dir.'/cyclone-slider/exports', 0777, true ) ){
123
+ throw new Exception( __('Error creating exports directory.', 'cycloneslider'));
124
+ }
125
+ }
126
+
127
+ $this->exporter->export( $zip_file, $vars['page_data']['sliders'] );
128
+ } catch (Exception $e ){
129
+ set_transient( 'cycloneslider_error_export', $e->getMessage(), 60 );
130
+ $vars['ok'] = '';
131
+ }
132
+
133
+
134
+ $vars['log_results'] = $this->exporter->get_results();
135
+
136
+ $vars['error'] = get_transient( 'cycloneslider_error_export');
137
+ delete_transient( 'cycloneslider_error_export');
138
+ $this->view->render( 'export-nextgen-step-3.php', $vars );
139
+ }
140
+
141
+ public function catch_posts(){
142
+ // Verify nonce
143
+ if( isset($_POST[ $this->nonce_name ]) ){
144
+
145
+ if ( wp_verify_nonce( $_POST[ $this->nonce_name ], $this->nonce_action ) ) {
146
+
147
+ $current_step = isset($_POST['cycloneslider_export_step']) ? (int) $_POST['cycloneslider_export_step'] : 1;
148
+
149
+ switch ( $current_step ) {
150
+ case 1:
151
+ $this->catch_post_step_1( $_POST );
152
+ break;
153
+ case 2:
154
+ $this->catch_post_step_2( $_POST );
155
+ break;
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+ private function catch_post_step_1( $post ){
162
+
163
+ if(isset($post['reset'])){
164
+ delete_transient( $this->transient_name );
165
+ if(is_dir($this->wp_content_dir.'/cyclone-slider/exports')){
166
+ $this->rmdir_recursive($this->wp_content_dir.'/cyclone-slider/exports');
167
+ }
168
+ return false;
169
+ }
170
+
171
+ if( empty( $post[$this->transient_name]['sliders']) ){
172
+ set_transient( 'cycloneslider_error_export', __('No slider selected.', 'cycloneslider'), 60 );
173
+ return false;
174
+ }
175
+
176
+ if( empty( $post[$this->transient_name]['file_name'] ) ){
177
+ set_transient( 'cycloneslider_error_export', __('Please choose a file name.', 'cycloneslider'), 60 );
178
+ return false;
179
+ }
180
+
181
+ $page_data = $this->get_page_data();
182
+ $page_data['all_sliders'] = $post[$this->transient_name]['all_sliders'];
183
+ $page_data['sliders'] = $post[$this->transient_name]['sliders'];
184
+ $page_data['file_name'] = $post[$this->transient_name]['file_name'];
185
+ set_transient( $this->transient_name, $page_data, 3600 );
186
+ wp_redirect( $this->export_page_url.'&step=2' );
187
+ exit;
188
+
189
+ }
190
+
191
+ private function catch_post_step_2( $post ){
192
+
193
+
194
+ wp_redirect( $this->export_page_url.'&step=3' );
195
+ exit;
196
+ }
197
+
198
+
199
+
200
+ public function get_page_data(){
201
+ return wp_parse_args(get_transient( $this->transient_name ), $this->get_default_page_data());
202
+ }
203
+
204
+ public function get_default_page_data(){
205
+ return array(
206
+ 'all_sliders' => 0,
207
+ 'sliders' => array(),
208
+ 'file_name' => 'cyclone-slider-'.date('Y-m-d').'.zip'
209
+ );
210
+ }
211
+
212
+ public function rmdir_recursive( $path ) {
213
+
214
+ foreach(scandir($path) as $item) {
215
+ if ('.' === $item || '..' === $item) continue;
216
+ if ( is_dir("$path/$item") ) {
217
+ $this->rmdir_recursive("$path/$item");
218
+ } else {
219
+ unlink("$path/$item");
220
+ }
221
+ }
222
+ return rmdir($path);
223
+ }
224
+
225
+ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
226
+ global $submenu;
227
+ global $menu;
228
+ global $_wp_real_parent_file;
229
+ global $_wp_submenu_nopriv;
230
+ global $_registered_pages;
231
+ global $_parent_pages;
232
+
233
+ $menu_slug = plugin_basename( $menu_slug );
234
+ $parent_slug = plugin_basename( $parent_slug);
235
+
236
+ if ( isset( $_wp_real_parent_file[$parent_slug] ) )
237
+ $parent_slug = $_wp_real_parent_file[$parent_slug];
238
+
239
+ if ( !current_user_can( $capability ) ) {
240
+ $_wp_submenu_nopriv[$parent_slug][$menu_slug] = true;
241
+ return false;
242
+ }
243
+
244
+ /*
245
+ * If the parent doesn't already have a submenu, add a link to the parent
246
+ * as the first item in the submenu. If the submenu file is the same as the
247
+ * parent file someone is trying to link back to the parent manually. In
248
+ * this case, don't automatically add a link back to avoid duplication.
249
+ */
250
+ if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
251
+ foreach ( (array)$menu as $parent_menu ) {
252
+ if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
253
+ $submenu[$parent_slug][] = array_slice( $parent_menu, 0, 4 );
254
+ }
255
+ }
256
+
257
+ $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title );
258
+
259
+ $hookname = get_plugin_page_hookname( $menu_slug, $parent_slug);
260
+ if (!empty ( $function ) && !empty ( $hookname ))
261
+ add_action( $hookname, $function );
262
+
263
+ $_registered_pages[$hookname] = true;
264
+
265
+ /*
266
+ * Backward-compatibility for plugins using add_management page.
267
+ * See wp-admin/admin.php for redirect from edit.php to tools.php
268
+ */
269
+ if ( 'tools.php' == $parent_slug )
270
+ $_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
271
+
272
+ // No parent as top level.
273
+ $_parent_pages[$menu_slug] = $parent_slug;
274
+
275
+ return $hookname;
276
+ }
277
+ }
src/cyclone-slider/src/CycloneSlider/Exporter.php ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for exporting cyclone-slider.zip
4
+ */
5
+ class CycloneSlider_Exporter {
6
+ protected $log_results; // Hold results of import operations
7
+ protected $log_count;
8
+
9
+ protected $data;
10
+ protected $zip_archive;
11
+ protected $export_json_file;
12
+
13
+ public function __construct( $data, $zip_archive, $export_json_file ){
14
+ $this->data = $data;
15
+ $this->zip_archive = $zip_archive;
16
+ $this->export_json_file = $export_json_file;
17
+ }
18
+
19
+ public function run() {
20
+
21
+ $this->log_results = array(
22
+ 'oks'=>array(),
23
+ 'errors'=>array()
24
+ );
25
+ $this->log_count = 0;
26
+
27
+ }
28
+
29
+ /**
30
+ * Get log results
31
+ *
32
+ */
33
+ public function get_results(){
34
+ return $this->log_results;
35
+ }
36
+
37
+ /**
38
+ * Export
39
+ *
40
+ * Export main operation
41
+ *
42
+ * @param string $zip_file Full path and filename to zip file
43
+ * @param array $sliders_slugs_array Array of slider slugs to export
44
+ *
45
+ * @return Exception|void Do export or throw exception on failure
46
+ * @throws Exception
47
+ */
48
+ public function export( $zip_file, array $sliders_slugs_array ) {
49
+
50
+ // Check selected sliders
51
+ if( empty($sliders_slugs_array) ){
52
+ throw new Exception( __('Error no sliders selected.', 'cycloneslider'), 1);
53
+ }
54
+
55
+ // Generate sliders export data
56
+ $sliders_export_data = $this->generate_sliders_export_data( $sliders_slugs_array );
57
+
58
+ // Generate images lists
59
+ $images_list = $this->generate_images_list( $sliders_export_data );
60
+
61
+ // Generate images export data
62
+ $images_export_data = $this->generate_images_export_data( $images_list );
63
+
64
+ // Combine
65
+ $export_data = array(
66
+ 'sliders' => $sliders_export_data,
67
+ 'images' => $images_export_data
68
+ );
69
+
70
+ // Generate JSON
71
+ $export_json = json_encode( $export_data );
72
+ if( false === $export_json ){
73
+ throw new Exception( __('Error encoding data to JSON.', 'cycloneslider'), 1);
74
+ }
75
+
76
+ // Generate Zip
77
+ $this->generate_export_zip( $zip_file, $images_list, $export_json );
78
+
79
+ $this->add_ok( sprintf( __('Success generating zip %s.', 'cycloneslider'), wp_basename($zip_file) ) );
80
+
81
+ return true;
82
+ }
83
+
84
+ /**
85
+ * Generate Sliders Export Data
86
+ *
87
+ * Generate export data array for selected sliders. Include slider settings and slides
88
+ *
89
+ * @param array $sliders_slugs_array Array of slider slugs to export
90
+ *
91
+ * @return array|false Export data array or false on fail
92
+ * @throws Exception
93
+ */
94
+ private function generate_sliders_export_data( array $sliders_slugs_array ) {
95
+
96
+ $sliders_export_data = array();
97
+
98
+ foreach( $sliders_slugs_array as $i=>$slider_slug){
99
+
100
+ $slider = $this->data->get_slider( $slider_slug );
101
+
102
+ if($slider){
103
+ $sliders_export_data[$i] = array(
104
+ 'title' => $slider['title'],
105
+ 'name' => $slider['name'],
106
+ 'slider_settings' => $slider['slider_settings'],
107
+ 'slides' => $slider['slides']
108
+ );
109
+ $this->add_ok( sprintf( __('Exporting data for slider "%s".', 'cycloneslider'), $slider_slug) );
110
+ } else {
111
+ throw new Exception( sprintf( __('Slider "%s" not found.', 'cycloneslider'), $slider_slug), 3);
112
+ }
113
+ }
114
+ return $sliders_export_data;
115
+ }
116
+
117
+ /**
118
+ *
119
+ * Generate image list array containing full file path to images
120
+ *
121
+ * @param array $sliders_export_data Array of slider slugs to export
122
+ *
123
+ * @return array|Exception Image list array or throws Exception on error
124
+ * @throws Exception
125
+ */
126
+ private function generate_images_list( array $sliders_export_data ) {
127
+
128
+ $images_list = array();
129
+
130
+ foreach( $sliders_export_data as $slider){
131
+
132
+ foreach( $slider['slides'] as $i => $slide ){
133
+ if( $slide['id'] > 0 ){
134
+ $file = get_attached_file( $slide['id'] ); // Filename of image
135
+ if( is_file( $file ) ){ // Check existence
136
+ $images_list[ $slider['name'] ][ $i ] = $file;
137
+ } else {
138
+ throw new Exception( sprintf( __('Image %1$d was not found on slide %2$d of slider %3$s. Path to image is %4$s.', 'cycloneslider' ), $slide['id'], (int)$i+1, $slider['name'], $file ), 4 );
139
+ }
140
+ }
141
+ }
142
+
143
+ }
144
+
145
+ return $images_list;
146
+
147
+ }
148
+
149
+ /**
150
+ * Generate export data array for slider images
151
+ *
152
+ * @param array $images_list Array of slider images
153
+ * @return array Export data of images
154
+ */
155
+ private function generate_images_export_data( array $images_list ) {
156
+
157
+ $images_export_data = array();
158
+ foreach( $images_list as $slider_name => $slider ){
159
+ foreach($slider as $i => $slide_image ){
160
+ $images_export_data[ $slider_name ][ $i ] = wp_basename( $slide_image ); // Remove full path and retain only the file name
161
+ }
162
+ }
163
+ return $images_export_data;
164
+
165
+ }
166
+
167
+ /**
168
+ * Generate Export Zip
169
+ *
170
+ * Generate export zip. Add images and export.json
171
+ *
172
+ * @param string $zip_file Zip file to save
173
+ * @param array $images_list Array of image file paths to include in the zip
174
+ * @param string $export_json JSON string to save
175
+ *
176
+ * @return Exception|string Path to zip file or Exception on fail
177
+ * @throws Exception
178
+ */
179
+ private function generate_export_zip( $zip_file, array $images_list, $export_json ) {
180
+
181
+ if( !class_exists('ZipArchive') ) {
182
+ throw new Exception( __( 'ZipArchive not supported.', 'cycloneslider' ) );
183
+ }
184
+ $zip_archive_class_name = $this->zip_archive;
185
+ $zip = new $zip_archive_class_name();
186
+ $result = $zip->open( $zip_file, ZipArchive::CREATE | ZipArchive::OVERWRITE );
187
+ if ( true !== $result ) {
188
+ throw new Exception( sprintf( __( 'Error opening zip file %s. Code: %s', 'cycloneslider' ), $zip_file, $result ) );
189
+ }
190
+
191
+ // Add slide images
192
+ foreach($images_list as $a=>$sliders) {
193
+ foreach($sliders as $b=>$image_file){
194
+ if(!empty($image_file)){ // Non image slides
195
+ $filename = sanitize_file_name( wp_basename( $image_file ) );
196
+ if( $zip->addFile( $image_file, $filename ) === false ){
197
+ throw new Exception( sprintf( __( 'Error adding file %s to zip.', 'cycloneslider' ), $image_file ) );
198
+ } else {
199
+ $this->add_ok( sprintf( __('File %s added to zip.', 'cycloneslider'), wp_basename($image_file) ) );
200
+ }
201
+ }
202
+ }
203
+ }
204
+
205
+ // Add json file
206
+ $zip->addFromString($this->export_json_file, $export_json );
207
+ $this->add_ok( sprintf( __('File %s added to zip.', 'cycloneslider' ), $this->export_json_file) );
208
+
209
+ $zip->close();
210
+ return $zip_file;
211
+ }
212
+
213
+
214
+
215
+ /**
216
+ * Add Ok
217
+ *
218
+ * @param string $message Message to add
219
+ * @return void
220
+ */
221
+ private function add_ok( $message ){
222
+ $this->log_results['oks'][$this->log_count++] = $message;
223
+ }
224
+
225
+ /**
226
+ * Add Error
227
+ *
228
+ * @param string $message Message to add
229
+ * @return void
230
+ */
231
+ private function add_error( $message ){
232
+ $this->log_results['errors'][$this->log_count++] = $message;
233
+ }
234
+ }
src/cyclone-slider/src/CycloneSlider/ExporterNextgen.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for NextGEN export
4
+ */
5
+ class CycloneSlider_ExporterNextgen {
6
+
7
+ protected $data;
8
+
9
+ public function __construct( $data ) {
10
+
11
+ $this->data = $data;
12
+
13
+ }
14
+
15
+ /**
16
+ * Boot
17
+ */
18
+ function run2() {
19
+
20
+ // Add metaboxes
21
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 100 );
22
+
23
+ // Append nextgen slides
24
+ add_filter( 'cycloneslider_slides', array($this, 'nextgen_slides'));
25
+
26
+ }
27
+
28
+ /**
29
+ * Add metabox
30
+ */
31
+ function add_meta_boxes(){
32
+ global $nggdb;
33
+ if(!isset($nggdb)){//Show only if nextgen plugin is available
34
+ return false;
35
+ }
36
+
37
+ add_meta_box(
38
+ 'cyclone-nextgen-metabox',
39
+ __('NextGEN Integration', 'cycloneslider'),
40
+ array( $this, 'render_nextgen_meta_box' ),
41
+ 'cycloneslider' ,
42
+ 'normal',
43
+ 'low'
44
+ );
45
+ }
46
+
47
+ /**
48
+ * Render metabox
49
+ */
50
+ function render_nextgen_meta_box($post){
51
+ global $nggdb;
52
+
53
+ ?>
54
+ <div class="cycloneslider-field last">
55
+ <label for="cycloneslider_nextgen_gallery"><?php _e('Choose a NextGEN Gallery', 'cycloneslider'); ?></label>
56
+ <?php
57
+ $galleries = $nggdb->find_all_galleries();
58
+ ?>
59
+ <select id="cycloneslider_nextgen_gallery" name="cycloneslider_settings[nextgen_gallery]">
60
+ <option selected="selected" value="0"></option>
61
+ <?php foreach($galleries as $gallery): ?>
62
+ <option value="<?php echo $gallery->gid; ?>"><?php echo $gallery->title; ?></option>
63
+ <?php endforeach; ?>
64
+ </select>
65
+ <input type="submit" name="cycloneslider_settings[nextgen]" value="<?php _e('Import', 'cycloneslider'); ?>" class="button-secondary" />
66
+ <br />
67
+ <span class="note"><?php _e('Select a gallery to import images from. Images will be added as new slides.', 'cycloneslider'); ?></span>
68
+ <div class="clear"></div>
69
+ </div>
70
+ <?php
71
+ }
72
+
73
+ /**
74
+ * Append 1-x to name if filename already exist
75
+ */
76
+ function increment_name($filename, $extension, $folder_files){
77
+ $name = $filename.'.'.$extension;
78
+ if($this->in_array_str_i($name, $folder_files)){
79
+ $existing = true;
80
+ $counter = 0;
81
+ while($existing){
82
+ $counter++;
83
+ $name = $filename.$counter.'.'.$extension;
84
+ if(!$this->in_array_str_i($name, $folder_files)){
85
+ return $name;
86
+ }
87
+ }
88
+ }
89
+ return $name;
90
+ }
91
+
92
+ /**
93
+ * Case insensitive string lookup in an array
94
+ */
95
+ function in_array_str_i($key, $array){
96
+ foreach($array as $element){
97
+ if(strcasecmp($key, $element)==0){
98
+ return true;
99
+ }
100
+ }
101
+ return false;
102
+ }
103
+
104
+ /**
105
+ * Replace certain characters with spaces in order to be a readable post title
106
+ */
107
+ function slug_to_title($string){
108
+ $patterns = array();
109
+ $patterns[0] = '/-/';
110
+ $patterns[1] = '/_/';
111
+ $replacements = array();
112
+ $replacements[0] = ' ';
113
+ $replacements[1] = ' ';
114
+ return ucwords(preg_replace($patterns, $replacements, $string));
115
+ }
116
+
117
+ /**
118
+ * Copy image to WP upload directory, create attachment and return attachment ID.
119
+ */
120
+ function copy_image($image_file){
121
+ $dir = wp_upload_dir();
122
+ $target_folder = $dir['path'].'/';
123
+
124
+ $info = pathinfo($image_file);
125
+ $dirname = isset($info['dirname']) ? $info['dirname'] : ''; // Path to directory
126
+ $filename = isset($info['filename']) ? $info['filename'] : ''; // Filename without extension Eg. "image-1"
127
+ $ext = isset($info['extension']) ? $info['extension'] : ''; // File extension Eg. "jpg"
128
+
129
+ if($target_folder_files = scandir($target_folder)){
130
+ if(is_array($target_folder_files)){
131
+ $new_name = $this->increment_name($filename, $ext, $target_folder_files); //Append numbers if file exist
132
+ if(copy($image_file, $target_folder.$new_name)){
133
+
134
+ $size = getimagesize($target_folder.$new_name);// Get mime type
135
+ // Build attachment details
136
+ $attachment = array(
137
+ 'post_mime_type' => $size['mime'],
138
+ 'post_title' => $this->slug_to_title(basename($new_name, '.'.$ext)),
139
+ 'post_content' => '',
140
+ 'post_status' => 'inherit'
141
+ );
142
+
143
+ $attach_id = wp_insert_attachment( $attachment, $target_folder.$new_name );
144
+
145
+ if(!function_exists('wp_generate_attachment_metadata')) include( ABSPATH . 'wp-admin/includes/image.php' );// Required for wp_generate_attachment_metadata
146
+
147
+ $attach_data = wp_generate_attachment_metadata( $attach_id, $target_folder.$new_name ); // Generate different thumbnails
148
+ wp_update_attachment_metadata( $attach_id, $attach_data );
149
+ return $attach_id;
150
+ }
151
+ }
152
+ }
153
+ return false;
154
+ }
155
+
156
+
157
+
158
+ /**
159
+ * Add images from nextgen as new slides. Images are copied from nextgen folders into WP uploads dir and added as attachments.
160
+ */
161
+ function nextgen_slides($slides){
162
+ global $nggdb;
163
+ if(!isset($nggdb)){
164
+ return $slides;
165
+ }
166
+
167
+ if(isset($_POST['cycloneslider_settings']['nextgen']) and isset($_POST['cycloneslider_settings']['nextgen_gallery']) ){
168
+
169
+ $nextgen_gallery = $nggdb->get_gallery((int) $_POST['cycloneslider_settings']['nextgen_gallery']);
170
+
171
+ if(!empty($nextgen_gallery) and is_array($nextgen_gallery)){
172
+
173
+ foreach($nextgen_gallery as $image){
174
+ if($attach_id = $this->copy_image($image->imagePath)){ //Copy success!
175
+ $slides[] = wp_parse_args(array('id' => $attach_id), $this->data->get_slide_defaults() ); //Add the slide ID and fill in default values
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ return $slides;
182
+ }
183
+
184
+ } // end class
src/cyclone-slider/src/CycloneSlider/Frontend.php ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class CycloneSlider_Frontend {
3
+ /**
4
+ * @var CycloneSlider_Data
5
+ */
6
+ protected $data;
7
+ /**
8
+ * @var array
9
+ */
10
+ protected $image_sizes;
11
+ /**
12
+ * @var CycloneSlider_Youtube
13
+ */
14
+ protected $youtube;
15
+ /**
16
+ * @var CycloneSlider_Vimeo
17
+ */
18
+ public $vimeo;
19
+ /**
20
+ * @var CycloneSlider_View
21
+ */
22
+ protected $view;
23
+ /**
24
+ * @var int
25
+ */
26
+ public $slider_count;
27
+
28
+ /**
29
+ * CycloneSlider_Frontend constructor.
30
+ *
31
+ * @param $data
32
+ * @param $image_sizes
33
+ * @param $youtube
34
+ * @param $vimeo
35
+ * @param $view
36
+ */
37
+ public function __construct( $data, $image_sizes, $youtube, $vimeo, $view ){
38
+ $this->data = $data;
39
+ $this->image_sizes = $image_sizes;
40
+ $this->youtube = $youtube;
41
+ $this->vimeo = $vimeo;
42
+ $this->view = $view;
43
+ }
44
+
45
+ /**
46
+ *
47
+ */
48
+ public function run() {
49
+
50
+ // Set defaults
51
+ $this->slider_count = 0;
52
+
53
+ // Our shortcode
54
+ add_shortcode('cycloneslider', array( $this, 'cycloneslider_shortcode') );
55
+
56
+ }
57
+
58
+ /**
59
+ * Cycloneslider Shortcode
60
+ *
61
+ * Displays shortcode on pages
62
+ *
63
+ * @param array $shortcode_settings Array of shortcode parameters
64
+ * @return string Slider HTML
65
+ */
66
+ public function cycloneslider_shortcode( $shortcode_settings ) {
67
+ // Apply defaults
68
+ $shortcode_settings = shortcode_atts(
69
+ array(
70
+ 'id' => 0,
71
+ 'fx' => null,
72
+ 'timeout' => null,
73
+ 'speed' => null,
74
+ 'width' => null,
75
+ 'height' => null,
76
+ 'hover_pause' => null,
77
+ 'show_prev_next' => null,
78
+ 'show_nav' => null,
79
+ 'tile_count' => null,
80
+ 'tile_delay' => null,
81
+ 'tile_vertical' => null,
82
+ 'random' => null,
83
+ 'resize' => null,
84
+ 'resize_option' => null,
85
+ 'easing' => null,
86
+ 'allow_wrap' => null,
87
+ 'dynamic_height' => null,
88
+ 'delay' => null,
89
+ 'swipe' => true, // TODO: Proper fix for swipe
90
+ 'width_management' => null
91
+ ),
92
+ $shortcode_settings,
93
+ 'cycloneslider'
94
+ );
95
+
96
+ $slider_slug = $shortcode_settings['id']; // Slideshow slug passed from shortcode
97
+ $slider = $this->data->get_slider( $slider_slug ); // Get slider by slug
98
+
99
+ // Abort if slider not found!
100
+ if ( $slider === NULL ) {
101
+ return sprintf( __( '[Slideshow "%s" not found]', 'cycloneslider' ), $slider_slug );
102
+ }
103
+
104
+ $slider_count = ++ $this->slider_count; // Make each call to shortcode unique
105
+ $slider_html_id = 'cycloneslider-' . $slider_slug . '-' . $slider_count; // UID
106
+
107
+
108
+ // Assign important variables
109
+ // $slider_settings = $slider['slider_settings'];
110
+ // $slides = $slider['slides'];
111
+ $admin_settings = $slider['slider_settings']; // Assign slider settings
112
+ $slides = $slider['slides']; // Assign slides
113
+
114
+ $template_name = $admin_settings['template'];
115
+ $view_file = $this->data->get_view_file( $template_name );
116
+ if ( $view_file === false ) { // Abort if template not found!
117
+ return sprintf( __( '[Template "%s" not found]', 'cycloneslider' ), $template_name );
118
+ }
119
+
120
+ $slider_settings = $this->data->combine_slider_settings( $admin_settings, $shortcode_settings );
121
+
122
+ $image_count = 0; // Number of image slides
123
+ $video_count = 0; // Number of video slides
124
+ $custom_count = 0; // Number of custom slides
125
+ $youtube_count = 0; // Number of youtube slides
126
+ $vimeo_count = 0; // Number of Vimeo slides
127
+
128
+ // Remove hidden slides
129
+ foreach ( $slides as $i => $slide ) {
130
+ if ( $slides[ $i ]['hidden'] ) {
131
+ unset( $slides[ $i ] );
132
+ }
133
+ }
134
+
135
+ // Do some last minute logic
136
+ // Translations and counters
137
+ foreach ( $slides as $i => $slide ) {
138
+
139
+ $slides[ $i ]['title'] = __( $slide['title'] ); // Needed by some translation plugins to work
140
+ $slides[ $i ]['description'] = __( $slide['description'] ); // Needed by some translation plugins to work
141
+ $slides[ $i ]['slide_data_attributes'] = $this->data->slide_data_attributes( $slide, $slider );
142
+
143
+ if ( $slides[ $i ]['type'] == 'image' ) {
144
+
145
+ list( $full_image_url, $orig_width, $orig_height ) = wp_get_attachment_image_src( $slide['id'],
146
+ 'full' );
147
+
148
+ $slides[ $i ]['full_image_url'] = $full_image_url;
149
+ $slides[ $i ]['image_url'] = $this->data->get_slide_image_url( $slide['id'], $slider_settings );
150
+
151
+ $slides[ $i ]['image_thumbnails'] = array();
152
+ $this->image_sizes = apply_filters('cycloneslider_image_sizes', $this->image_sizes);
153
+ foreach ( $this->image_sizes as $key => $size ) {
154
+ $slides[ $i ]['image_thumbnails'][ $key ] = $this->data->get_slide_thumbnail_url( $slide['id'],
155
+ $size['width'], $size['height'], $slider_settings['resize'] );
156
+ }
157
+
158
+ $image_count ++;
159
+ } else if ( $slides[ $i ]['type'] == 'video' ) {
160
+ $video_count ++;
161
+ } else if ( $slides[ $i ]['type'] == 'custom' ) {
162
+ $custom_count ++;
163
+ } else if ( $slides[ $i ]['type'] == 'youtube' ) {
164
+ $youtube_count ++;
165
+ $youtube_id = $this->youtube->get_youtube_id( $slides[ $i ]['youtube_url'] );
166
+
167
+ $youtube_related = '';
168
+ if ( 'true' == $slides[ $i ]['youtube_related'] ) {
169
+ $youtube_related = '&rel=0';
170
+ }
171
+
172
+ $slides[ $i ]['youtube_embed_code'] = '<iframe id="' . $slider_html_id . '-iframe-' . $i . '" width="' . $slider_settings['width'] . '" height="' . $slider_settings['height'] . '" src="//www.youtube.com/embed/' . $youtube_id . '?wmode=transparent' . $youtube_related . '" frameborder="0" allowfullscreen></iframe>';
173
+ $slides[ $i ]['youtube_id'] = $youtube_id;
174
+ $slides[ $i ]['thumbnail_small'] = $this->youtube->get_youtube_thumb( $youtube_id );
175
+
176
+ } else if ( $slides[ $i ]['type'] == 'vimeo' ) {
177
+ $vimeo_count ++;
178
+ $vimeo_id = $this->vimeo->get_vimeo_id( $slides[ $i ]['vimeo_url'] );
179
+
180
+ $slides[ $i ]['vimeo_embed_code'] = '<iframe id="' . $slider_html_id . '-iframe-' . $i . '" width="' . $slider_settings['width'] . '" height="' . $slider_settings['height'] . '" src="https://player.vimeo.com/video/' . $vimeo_id . '?wmode=transparent" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
181
+ $slides[ $i ]['vimeo_id'] = $vimeo_id;
182
+ $slides[ $i ]['thumbnail_small'] = $this->vimeo->get_vimeo_thumb( $vimeo_id );
183
+ }
184
+ }
185
+
186
+ // Randomize slides
187
+ if ( $slider_settings['random'] ) {
188
+ shuffle( $slides ); // Randomizing happens in php not in cycle2
189
+ }
190
+
191
+ // Make this available in templates regardless
192
+ $slider_settings['random'] = ( $slider_settings['random'] == 1 ) ? true : false; // Convert from int to bool
193
+
194
+ // Hardcoded for now
195
+ $slider_settings['hide_non_active'] = "true";
196
+ $slider_settings['auto_height'] = "{$slider_settings['width']}:{$slider_settings['height']}"; // Use ratio for backward compat
197
+ if ( 'on' == $slider_settings['dynamic_height'] ) {
198
+ $slider_settings['auto_height'] = 0; // Disable autoheight when dynamic height is on. To prevent slider returning to wrong (ratio height) height when browser is resized.
199
+ }
200
+ if ( ( $youtube_count + $vimeo_count ) > 0 or 'on' == $slider_settings['dynamic_height'] ) {
201
+ $slider_settings['hide_non_active'] = "false"; // Do not hide non active slides to prevent reloading of videos and for getBoundingClientRect() to not return 0.
202
+ }
203
+ $slider_settings['auto_height_speed'] = $slider_settings['dynamic_height_speed'];
204
+ $slider_settings['auto_height_easing'] = "null"; // TODO: Will be editable in admin in the future
205
+
206
+ // Pass this vars to template
207
+ $vars = array();
208
+ $vars['slider_html_id'] = $slider_html_id; // The unique HTML ID for slider
209
+ $vars['slider_count'] = $slider_count;
210
+ $vars['slides'] = $slides;
211
+ $vars['image_count'] = $image_count;
212
+ $vars['video_count'] = $video_count;
213
+ $vars['custom_count'] = $custom_count;
214
+ $vars['youtube_count'] = $youtube_count;
215
+ $vars['vimeo_count'] = $vimeo_count;
216
+ // $vars['slider_id'] = $slider_slug; //TODO: (Deprecated since 2.6.0, use $slider_html_id instead) Unique string to identify the slideshow.
217
+ // $vars['slider_metas'] = $slides; //TODO: (Deprecated since 2.5.5, use $slides instead) An array containing slides properties.
218
+ $vars['slider_settings'] = $slider_settings;
219
+
220
+ $current_view_folder = $this->view->get_view_folder(); // Back it up
221
+
222
+ $this->view->set_view_folder( dirname( $view_file ) ); // Set to template folder
223
+
224
+ $vars = apply_filters('cycloneslider_view_vars', $vars, $this);
225
+
226
+ $slider_html = $this->view->get_render( basename( $view_file ), $vars );
227
+
228
+ $this->view->set_view_folder( $current_view_folder ); // Restore
229
+
230
+ // Remove whitespace to prevent WP from adding rogue paragraphs
231
+ $slider_html = $this->data->trim_white_spaces( $slider_html );
232
+
233
+ // Return HTML
234
+ return $slider_html;
235
+ }
236
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Color.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika;
3
+
4
+ /**
5
+ * Holds the color information.
6
+ * @package Grafika
7
+ */
8
+ class Color {
9
+
10
+ /**
11
+ * @var string Hex string: #FFFFFF
12
+ */
13
+ protected $hexString;
14
+
15
+ /**
16
+ * @var float Transparency value 0-1
17
+ */
18
+ protected $alpha;
19
+
20
+ /**
21
+ * Color constructor.
22
+ *
23
+ * @param string $hexString Hex string
24
+ * @param float $alpha Transparency value 0-1
25
+ */
26
+ public function __construct( $hexString = '', $alpha = 1.0 ){
27
+ $this->hexString = $hexString; // TODO: Validate hexstring
28
+ $this->alpha = $alpha;
29
+ }
30
+
31
+ /**
32
+ * Get RGB array
33
+ *
34
+ * @return array Contains array($r, $g, $b)
35
+ */
36
+ public function getRgb(){
37
+ return $this->hexToRgb( $this->hexString );
38
+ }
39
+
40
+ /**
41
+ * Get RGBA array
42
+ *
43
+ * @return array Contains array($r, $g, $b, $a)
44
+ */
45
+ public function getRgba(){
46
+ $rgba = $this->hexToRgb( $this->hexString );
47
+ $rgba[] = $this->alpha;
48
+ return $rgba;
49
+ }
50
+
51
+ /**
52
+ * Convert hex string to RGB
53
+ * @param string $hex Hex string. Possible values: #ffffff, #fff, fff
54
+ * @return array Contains (RGB) values red, green and blue
55
+ */
56
+ public function hexToRgb( $hex ) {
57
+ $hex = ltrim($hex, '#'); // Remove #
58
+
59
+ if(strlen($hex) == 3) {
60
+ $r = hexdec(substr($hex,0,1).substr($hex,0,1));
61
+ $g = hexdec(substr($hex,1,1).substr($hex,1,1));
62
+ $b = hexdec(substr($hex,2,1).substr($hex,2,1));
63
+ } else {
64
+ $r = hexdec(substr($hex,0,2));
65
+ $g = hexdec(substr($hex,2,2));
66
+ $b = hexdec(substr($hex,4,2));
67
+ }
68
+ return array($r, $g, $b); // Returns an array with the rgb values
69
+ }
70
+
71
+ /**
72
+ * Get hex string.
73
+ *
74
+ * @return string
75
+ */
76
+ public function getHexString() {
77
+ return $this->hexString;
78
+ }
79
+
80
+ /**
81
+ * Set hex string.
82
+ *
83
+ * @param string $hexString
84
+ */
85
+ public function setHexString($hexString) {
86
+ $this->hexString = $hexString;
87
+ }
88
+
89
+ /**
90
+ * Alpha value.
91
+ * @return float
92
+ */
93
+ public function getAlpha() {
94
+ return $this->alpha;
95
+ }
96
+
97
+ /**
98
+ * @param float $alpha
99
+ */
100
+ public function setAlpha($alpha) {
101
+ $this->alpha = $alpha;
102
+ }
103
+
104
+
105
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/CubicBezier.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class CubicBezier
11
+ {
12
+
13
+ /**
14
+ * Starting point. Array of X Y values.
15
+ * @var array
16
+ */
17
+ protected $point1;
18
+
19
+ /**
20
+ * Control point 1. Array of X Y values.
21
+ * @var array
22
+ */
23
+ protected $control1;
24
+
25
+ /**
26
+ * Control point 2. Array of X Y values.
27
+ * @var array
28
+ */
29
+ protected $control2;
30
+
31
+ /**
32
+ * End point. Array of X Y values.
33
+ * @var array
34
+ */
35
+ protected $point2;
36
+
37
+ /**
38
+ * Color of curve.
39
+ *
40
+ * @var Color
41
+ */
42
+ protected $color;
43
+
44
+ /**
45
+ * Creates a cubic bezier. Cubic bezier has 2 control points.
46
+ * @param array $point1 Array of X and Y value for start point.
47
+ * @param array $control1 Array of X and Y value for control point 1.
48
+ * @param array $control2 Array of X and Y value for control point 2.
49
+ * @param array $point2 Array of X and Y value for end point.
50
+ * @param Color|string $color Color of the curve. Accepts hex string or a Color object. Defaults to black.
51
+ */
52
+ public function __construct($point1, $control1, $control2, $point2, $color = '#000000')
53
+ {
54
+ if (is_string($color)) {
55
+ $color = new Color($color);
56
+ }
57
+ $this->point1 = $point1;
58
+ $this->control1 = $control1;
59
+ $this->control2 = $control2;
60
+ $this->point2 = $point2;
61
+ $this->color = $color;
62
+
63
+ }
64
+
65
+ /**
66
+ * @return array
67
+ */
68
+ public function getPoint1()
69
+ {
70
+ return $this->point1;
71
+ }
72
+
73
+ /**
74
+ * @return array
75
+ */
76
+ public function getControl1()
77
+ {
78
+ return $this->control1;
79
+ }
80
+
81
+ /**
82
+ * @return array
83
+ */
84
+ public function getControl2()
85
+ {
86
+ return $this->control2;
87
+ }
88
+
89
+ /**
90
+ * @return array
91
+ */
92
+ public function getPoint2()
93
+ {
94
+ return $this->point2;
95
+ }
96
+
97
+ /**
98
+ * @return Color
99
+ */
100
+ public function getColor()
101
+ {
102
+ return $this->color;
103
+ }
104
+
105
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Ellipse.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class Ellipse
11
+ {
12
+
13
+ /**
14
+ * Image width in pixels
15
+ * @var int
16
+ */
17
+ protected $width;
18
+
19
+ /**
20
+ * Image height in pixels
21
+ * @var int
22
+ */
23
+ protected $height;
24
+
25
+ /**
26
+ * X,Y pos.
27
+ * @var array
28
+ */
29
+ protected $pos;
30
+
31
+ /**
32
+ * @var int
33
+ */
34
+ protected $borderSize;
35
+
36
+ /**
37
+ * @var Color
38
+ */
39
+ protected $fillColor;
40
+
41
+ /**
42
+ * @var Color
43
+ */
44
+ protected $borderColor;
45
+
46
+
47
+ /**
48
+ * Creates an ellipse.
49
+ *
50
+ * @param int $width Width of ellipse in pixels.
51
+ * @param int $height Height of ellipse in pixels.
52
+ * @param array $pos Array containing int X and int Y position of the ellipse from top left of the canvass.
53
+ * @param int $borderSize Size of the border in pixels. Defaults to 1 pixel. Set to 0 for no border.
54
+ * @param Color|string|null $borderColor Border color. Defaults to black. Set to null for no color.
55
+ * @param Color|string|null $fillColor Fill color. Defaults to white. Set to null for no color.
56
+ */
57
+ public function __construct(
58
+ $width,
59
+ $height,
60
+ array $pos,
61
+ $borderSize = 1,
62
+ $borderColor = '#000000',
63
+ $fillColor = '#FFFFFF'
64
+ ) {
65
+ if (is_string($borderColor)) {
66
+ $borderColor = new Color($borderColor);
67
+ }
68
+ if (is_string($fillColor)) {
69
+ $fillColor = new Color($fillColor);
70
+ }
71
+ $this->width = $width;
72
+ $this->height = $height;
73
+ $this->pos = $pos;
74
+ $this->borderSize = $borderSize;
75
+ $this->borderColor = $borderColor;
76
+ $this->fillColor = $fillColor;
77
+ }
78
+
79
+ /**
80
+ * @return int
81
+ */
82
+ public function getWidth()
83
+ {
84
+ return $this->width;
85
+ }
86
+
87
+ /**
88
+ * @return int
89
+ */
90
+ public function getHeight()
91
+ {
92
+ return $this->height;
93
+ }
94
+
95
+ /**
96
+ * @return array
97
+ */
98
+ public function getPos()
99
+ {
100
+ return $this->pos;
101
+ }
102
+
103
+ /**
104
+ * @return int
105
+ */
106
+ public function getBorderSize()
107
+ {
108
+ return $this->borderSize;
109
+ }
110
+
111
+ /**
112
+ * @return Color
113
+ */
114
+ public function getFillColor()
115
+ {
116
+ return $this->fillColor;
117
+ }
118
+
119
+ /**
120
+ * @return Color
121
+ */
122
+ public function getBorderColor()
123
+ {
124
+ return $this->borderColor;
125
+ }
126
+
127
+
128
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Line.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class Line
11
+ {
12
+
13
+ /**
14
+ * X,Y pos 1.
15
+ * @var array
16
+ */
17
+ protected $point1;
18
+
19
+ /**
20
+ * X,Y pos 2.
21
+ * @var array
22
+ */
23
+ protected $point2;
24
+
25
+ /**
26
+ * @var int Thickness of line.
27
+ */
28
+ protected $thickness;
29
+
30
+ /**
31
+ * @var Color
32
+ */
33
+ protected $color;
34
+
35
+ /**
36
+ * Creates a line.
37
+ *
38
+ * @param array $point1 Array containing int X and int Y position of the starting point.
39
+ * @param array $point2 Array containing int X and int Y position of the starting point.
40
+ * @param int $thickness Thickness in pixel. Note: This is currently ignored in GD editor and falls back to 1.
41
+ * @param Color|string $color Color of the line. Defaults to black.
42
+ */
43
+ public function __construct(array $point1, array $point2, $thickness = 1, $color = '#000000')
44
+ {
45
+ if (is_string($color)) {
46
+ $color = new Color($color);
47
+ }
48
+ $this->point1 = $point1;
49
+ $this->point2 = $point2;
50
+ $this->thickness = $thickness;
51
+ $this->color = $color;
52
+ }
53
+
54
+ /**
55
+ * @return array
56
+ */
57
+ public function getPoint1()
58
+ {
59
+ return $this->point1;
60
+ }
61
+
62
+ /**
63
+ * @return array
64
+ */
65
+ public function getPoint2()
66
+ {
67
+ return $this->point2;
68
+ }
69
+
70
+ /**
71
+ * @return int
72
+ */
73
+ public function getThickness()
74
+ {
75
+ return $this->thickness;
76
+ }
77
+
78
+ /**
79
+ * @return Color
80
+ */
81
+ public function getColor()
82
+ {
83
+ return $this->color;
84
+ }
85
+
86
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Polygon.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class Polygon
11
+ {
12
+ /**
13
+ * Image width in pixels
14
+ * @var int
15
+ */
16
+ protected $width;
17
+
18
+ /**
19
+ * Image height in pixels
20
+ * @var int
21
+ */
22
+ protected $height;
23
+
24
+ /**
25
+ * Array of all X and Y positions. Must have at least three positions (x,y).
26
+ * @var array
27
+ */
28
+ protected $points;
29
+
30
+ /**
31
+ * @var int
32
+ */
33
+ protected $borderSize;
34
+
35
+ /**
36
+ * @var Color
37
+ */
38
+ protected $fillColor;
39
+
40
+ /**
41
+ * @var Color
42
+ */
43
+ protected $borderColor;
44
+
45
+ /**
46
+ * Creates a polygon.
47
+ *
48
+ * @param array $points Array of all X and Y positions. Must have at least three positions.
49
+ * @param int $borderSize Size of the border in pixels. Defaults to 1 pixel. Set to 0 for no border.
50
+ * @param Color|string|bool $borderColor Border color. Defaults to black. Set to null for no color.
51
+ * @param Color|string|bool $fillColor Fill color. Defaults to white. Set to null for no color.
52
+ */
53
+ public function __construct($points = array(array(0,0), array(0,0), array(0,0)), $borderSize = 1, $borderColor = '#000000', $fillColor = '#FFFFFF') {
54
+
55
+ if (is_string($borderColor)) {
56
+ $borderColor = new Color($borderColor);
57
+ }
58
+ if (is_string($fillColor)) {
59
+ $fillColor = new Color($fillColor);
60
+ }
61
+ $this->points = $points;
62
+ $this->borderSize = $borderSize;
63
+ $this->borderColor = $borderColor;
64
+ $this->fillColor = $fillColor;
65
+ }
66
+
67
+ /**
68
+ * @return int
69
+ */
70
+ public function getWidth()
71
+ {
72
+ return $this->width;
73
+ }
74
+
75
+ /**
76
+ * @return int
77
+ */
78
+ public function getHeight()
79
+ {
80
+ return $this->height;
81
+ }
82
+
83
+ /**
84
+ * @return array
85
+ */
86
+ public function getPoints()
87
+ {
88
+ return $this->points;
89
+ }
90
+
91
+ /**
92
+ * @return int
93
+ */
94
+ public function getBorderSize()
95
+ {
96
+ return $this->borderSize;
97
+ }
98
+
99
+ /**
100
+ * @return Color
101
+ */
102
+ public function getFillColor()
103
+ {
104
+ return $this->fillColor;
105
+ }
106
+
107
+ /**
108
+ * @return Color
109
+ */
110
+ public function getBorderColor()
111
+ {
112
+ return $this->borderColor;
113
+ }
114
+
115
+
116
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/QuadraticBezier.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class QuadraticBezier
11
+ {
12
+
13
+ /**
14
+ * Starting point.
15
+ * @var array
16
+ */
17
+ protected $point1;
18
+
19
+ /**
20
+ * Control point.
21
+ * @var array
22
+ */
23
+ protected $control;
24
+
25
+ /**
26
+ * End point.
27
+ * @var array
28
+ */
29
+ protected $point2;
30
+
31
+ /**
32
+ * Color of curve.
33
+ *
34
+ * @var Color
35
+ */
36
+ protected $color;
37
+
38
+ /**
39
+ * Creates a quadratic bezier. Quadratic bezier has 1 control point.
40
+ *
41
+ * @param array $point1 Array of X and Y value for start point.
42
+ * @param array $control Array of X and Y value for control point.
43
+ * @param array $point2 Array of X and Y value for end point.
44
+ * @param Color|string $color Color of the curve. Accepts hex string or a Color object. Defaults to black.
45
+ */
46
+ public function __construct($point1, $control, $point2, $color = '#000000')
47
+ {
48
+ if (is_string($color)) {
49
+ $color = new Color($color);
50
+ }
51
+ $this->point1 = $point1;
52
+ $this->control = $control;
53
+ $this->point2 = $point2;
54
+ $this->color = $color;
55
+ }
56
+
57
+ /**
58
+ * @return array
59
+ */
60
+ public function getPoint1()
61
+ {
62
+ return $this->point1;
63
+ }
64
+
65
+ /**
66
+ * @return array
67
+ */
68
+ public function getControl()
69
+ {
70
+ return $this->control;
71
+ }
72
+
73
+ /**
74
+ * @return array
75
+ */
76
+ public function getPoint2()
77
+ {
78
+ return $this->point2;
79
+ }
80
+
81
+ /**
82
+ * @return Color
83
+ */
84
+ public function getColor()
85
+ {
86
+ return $this->color;
87
+ }
88
+
89
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObject/Rectangle.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\Color;
5
+
6
+ /**
7
+ * Base class
8
+ * @package Grafika
9
+ */
10
+ abstract class Rectangle
11
+ {
12
+ /**
13
+ * Image width in pixels
14
+ * @var int
15
+ */
16
+ protected $width;
17
+
18
+ /**
19
+ * Image height in pixels
20
+ * @var int
21
+ */
22
+ protected $height;
23
+
24
+ /**
25
+ * X and Y position in an array.
26
+ * @var array
27
+ */
28
+ protected $pos;
29
+
30
+ /**
31
+ * @var int
32
+ */
33
+ protected $borderSize;
34
+
35
+ /**
36
+ * @var Color
37
+ */
38
+ protected $fillColor;
39
+
40
+ /**
41
+ * @var Color
42
+ */
43
+ protected $borderColor;
44
+
45
+ /**
46
+ * Creates a rectangle.
47
+ *
48
+ * @param int $width Width of rectangle in pixels.
49
+ * @param int $height Height in pixels.
50
+ * @param array $pos Array of X and Y position. X is the distance in pixels from the left of the canvass to the left of the rectangle. Y is the distance from the top of the canvass to the top of the rectangle. Defaults to array(0,0).
51
+ * @param int $borderSize Size of the border in pixels. Defaults to 1 pixel. Set to 0 for no border.
52
+ * @param Color|string|null $borderColor Border color. Defaults to black. Set to null for no color.
53
+ * @param Color|string|null $fillColor Fill color. Defaults to white. Set to null for no color.
54
+ */
55
+ public function __construct(
56
+ $width,
57
+ $height,
58
+ $pos = array(0, 0),
59
+ $borderSize = 1,
60
+ $borderColor = '#000000',
61
+ $fillColor = '#FFFFFF'
62
+ ) {
63
+ if (is_string($borderColor)) {
64
+ $borderColor = new Color($borderColor);
65
+ }
66
+ if (is_string($fillColor)) {
67
+ $fillColor = new Color($fillColor);
68
+ }
69
+ $this->width = $width;
70
+ $this->height = $height;
71
+ $this->pos = $pos;
72
+ $this->borderSize = $borderSize;
73
+ $this->borderColor = $borderColor;
74
+ $this->fillColor = $fillColor;
75
+ }
76
+
77
+ /**
78
+ * @return int
79
+ */
80
+ public function getWidth()
81
+ {
82
+ return $this->width;
83
+ }
84
+
85
+ /**
86
+ * @return int
87
+ */
88
+ public function getHeight()
89
+ {
90
+ return $this->height;
91
+ }
92
+
93
+ /**
94
+ * @return array
95
+ */
96
+ public function getPos()
97
+ {
98
+ return $this->pos;
99
+ }
100
+
101
+ /**
102
+ * @return int
103
+ */
104
+ public function getBorderSize()
105
+ {
106
+ return $this->borderSize;
107
+ }
108
+
109
+ /**
110
+ * @return Color
111
+ */
112
+ public function getFillColor()
113
+ {
114
+ return $this->fillColor;
115
+ }
116
+
117
+ /**
118
+ * @return Color
119
+ */
120
+ public function getBorderColor()
121
+ {
122
+ return $this->borderColor;
123
+ }
124
+
125
+
126
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/DrawingObjectInterface.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika;
3
+
4
+ /**
5
+ * Interface DrawingObjectInterface
6
+ * @package Grafika
7
+ */
8
+ interface DrawingObjectInterface {
9
+
10
+ /**
11
+ * @param ImageInterface $image
12
+ *
13
+ * @return ImageInterface
14
+ */
15
+ public function draw( $image );
16
+
17
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/EditorInterface.php ADDED
@@ -0,0 +1,275 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika;
3
+
4
+ /**
5
+ * Interface EditorInterface
6
+ * @package Grafika
7
+ */
8
+ interface EditorInterface {
9
+
10
+ /**
11
+ * Apply a filter to the image. See Filters section for a list of available filters.
12
+ *
13
+ * @param FilterInterface $filter
14
+ *
15
+ * @return EditorInterface An instance of image editor.
16
+ */
17
+ public function apply( $filter );
18
+
19
+ /**
20
+ * Create a blank image given width and height.
21
+ *
22
+ * @param int $width Width of image in pixels.
23
+ * @param int $height Height of image in pixels.
24
+ *
25
+ * @return EditorInterface An instance of image editor.
26
+ */
27
+ public function blank( $width, $height );
28
+
29
+ /**
30
+ * Compare two images and returns a hamming distance. A value of 0 indicates a likely similar picture. A value between 1 and 10 is potentially a variation. A value greater than 10 is likely a different image.
31
+ *
32
+ * @param string|ImageInterface $image1 Can be an instance of Image or string containing the file system path to image.
33
+ * @param string|ImageInterface $image2 Can be an instance of Image or string containing the file system path to image.
34
+ *
35
+ * @return int Hamming distance. Note: This breaks the chain if you are doing fluent api calls as it does not return an Editor.
36
+ * @throws \Exception
37
+ */
38
+ public function compare( $image1, $image2 );
39
+
40
+ /**
41
+ * Crop the image to the given dimension and position.
42
+ *
43
+ * @param int $cropWidth Crop width in pixels.
44
+ * @param int $cropHeight Crop Height in pixels.
45
+ * @param string $position The crop position. Possible values top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right and smart. Defaults to center.
46
+ * @param int $offsetX Number of pixels to add to the X position of the crop.
47
+ * @param int $offsetY Number of pixels to add to the Y position of the crop.
48
+ *
49
+ * @return EditorInterface An instance of image editor.
50
+ */
51
+ public function crop($cropWidth, $cropHeight, $position = 'center', $offsetX = 0, $offsetY = 0);
52
+
53
+ /**
54
+ * Draw a DrawingObject on the image. See Drawing Objects section.
55
+ *
56
+ * @param DrawingObjectInterface $drawingObject
57
+ *
58
+ * @return EditorInterface An instance of image editor.
59
+ */
60
+ public function draw( $drawingObject );
61
+
62
+ /**
63
+ * Compare if two images are equal. It will compare if the two images are of the same width and height. If the dimensions differ, it will return false. If the dimensions are equal, it will loop through each pixels. If one of the pixel don't match, it will return false. The pixels are compared using their RGB (Red, Green, Blue) values.
64
+ *
65
+ * @param string|ImageInterface $image1 Can be an instance of Image or string containing the file system path to image.
66
+ * @param string|ImageInterface $image2 Can be an instance of Image or string containing the file system path to image.
67
+ *
68
+ * @return bool True if equals false if not. Note: This breaks the chain if you are doing fluent api calls as it does not return an Editor.
69
+ * @throws \Exception
70
+ */
71
+ public function equal( $image1, $image2 );
72
+
73
+ /**
74
+ * Fill entire image with color.
75
+ *
76
+ * @param Color $color An instance of Grafika\Color class.
77
+ * @param int $x X-coordinate of start point.
78
+ * @param int $y Y-coordinate of start point.
79
+ *
80
+ * @return EditorInterface An instance of image editor.
81
+ */
82
+ public function fill( $color, $x = 0, $y = 0 );
83
+
84
+ /**
85
+ * Flatten if animated GIF. Do nothing otherwise.
86
+ *
87
+ * @return EditorInterface An instance of image editor.
88
+ */
89
+ public function flatten();
90
+
91
+ /**
92
+ * Flip an image.
93
+ *
94
+ * @param string $mode The type of flip: 'h' for horizontal flip or 'v' for vertical.
95
+ *
96
+ * @return EditorInterface An instance of image editor.
97
+ */
98
+ public function flip($mode);
99
+
100
+ /**
101
+ * Free the current image clearing resources associated with it.
102
+ */
103
+ public function free();
104
+
105
+ /**
106
+ * Get image instance.
107
+ *
108
+ * @param bool $byRef True to return image by reference or false to return a copy. Defaults to copy.
109
+ *
110
+ * @return ImageInterface An instance of image.
111
+ */
112
+ public function getImage($byRef=false);
113
+
114
+ /**
115
+ * Checks the PHP install if the editor is available.
116
+ *
117
+ * @return bool True if available false if not.
118
+ */
119
+ public function isAvailable();
120
+
121
+ /**
122
+ * Change the image opacity.
123
+ *
124
+ * @param float $opacity The opacity level where 1.0 is fully opaque and 0.0 is fully transparent.
125
+ *
126
+ * @return EditorInterface An instance of image editor.
127
+ */
128
+ public function opacity( $opacity );
129
+
130
+ /**
131
+ * Opens an image file for manipulation specified by $target.
132
+ *
133
+ * @param mixed $target Can be an instance of Image or a string containing file system path to the image.
134
+ *
135
+ * @return EditorInterface An instance of image editor.
136
+ */
137
+ public function open( $target );
138
+
139
+ /**
140
+ * Open an image by passing an instance of Image.
141
+ *
142
+ * @param ImageInterface $image
143
+ *
144
+ * @return $this
145
+ */
146
+ public function openImage( $image );
147
+
148
+ /**
149
+ * Open an image by passing a file system path.
150
+ *
151
+ * @param string $file A full path to the image in the file system.
152
+ *
153
+ * @return $this
154
+ * @throws \Exception
155
+ */
156
+ public function openFile( $file );
157
+
158
+ /**
159
+ * Overlay an image on top of the current image.
160
+ *
161
+ * @param ImageInterface|string $overlay Can be a string containing a file path of the image to overlay or an Image object.
162
+ * @param string|int $xPos Horizontal position of image. Can be 'left','center','right' or integer number. Defaults to 'center'.
163
+ * @param string|int $yPos Vertical position of image. Can be 'top', 'center','bottom' or integer number. Defaults to 'center'.
164
+ * @param null $width Width of overlay in pixels.
165
+ * @param null $height Height of overlay in pixels.
166
+ *
167
+ * @return EditorInterface An instance of image editor.
168
+ */
169
+ public function overlay( $overlay, $xPos = 'center', $yPos = 'center', $width = null, $height = null );
170
+
171
+ /**
172
+ * Wrapper function for the resizeXXX family of functions. Resize an image to a given width, height and mode.
173
+ *
174
+ * @param int $newWidth Width in pixels.
175
+ * @param int $newHeight Height in pixels.
176
+ * @param string $mode Resize mode. Possible values: "exact", "exactHeight", "exactWidth", "fill", "fit".
177
+ *
178
+ * @return EditorInterface An instance of image editor.
179
+ */
180
+ public function resize( $newWidth, $newHeight, $mode='fit' );
181
+
182
+ /**
183
+ * Resize image to exact dimensions ignoring aspect ratio. Useful if you want to force exact width and height.
184
+ *
185
+ * @param int $newWidth Width in pixels.
186
+ * @param int $newHeight Height in pixels.
187
+ *
188
+ * @return EditorInterface An instance of image editor.
189
+ */
190
+ public function resizeExact( $newWidth, $newHeight );
191
+
192
+ /**
193
+ * Resize image to exact height. Width is auto calculated. Useful for creating row of images with the same height.
194
+ *
195
+ * @param int $newHeight Height in pixels.
196
+ *
197
+ * @return EditorInterface An instance of image editor.
198
+ */
199
+ public function resizeExactHeight( $newHeight );
200
+
201
+ /**
202
+ * Resize image to exact width. Height is auto calculated. Useful for creating column of images with the same width.
203
+ *
204
+ * @param int $newWidth Width in pixels.
205
+ *
206
+ * @return EditorInterface An instance of image editor.
207
+ */
208
+ public function resizeExactWidth( $newWidth );
209
+
210
+ /**
211
+ * Resize image to fill all the space in the given dimension. Excess parts are cropped.
212
+ *
213
+ * @param int $newWidth Width in pixels.
214
+ * @param int $newHeight Height in pixels.
215
+ *
216
+ * @return EditorInterface An instance of image editor.
217
+ */
218
+ public function resizeFill( $newWidth, $newHeight );
219
+
220
+ /**
221
+ * Resize an image to fit within the given width and height. The re-sized image will not exceed the given dimension. Useful if you want to preserve the aspect ratio.
222
+ *
223
+ * @param int $newWidth Width in pixels.
224
+ * @param int $newHeight Width in pixels.
225
+ *
226
+ * @return EditorInterface An instance of image editor.
227
+ */
228
+ public function resizeFit( $newWidth, $newHeight );
229
+
230
+ /**
231
+ * Rotate an image counter-clockwise.
232
+ *
233
+ * @param int $angle The angle in degrees.
234
+ * @param Color|null $color The Color object containing the background color.
235
+ *
236
+ * @return EditorInterface An instance of image editor.
237
+ */
238
+ public function rotate( $angle, $color = null );
239
+
240
+ /**
241
+ * Save the image to an image format.
242
+ *
243
+ * @param string $file File path where to save the image.
244
+ * @param null|string $type Type of image. Can be null, "GIF", "PNG", or "JPEG". If null, an appropriate file type will be used.
245
+ * @param null|string $quality Quality of image. Applies to JPEG only. Accepts number 0 - 100 where 0 is lowest and 100 is the highest quality. Or null for default.
246
+ * @param bool $interlace Set to true for progressive JPEG. Applies to JPEG only.
247
+ *
248
+ * @return EditorInterface An instance of image editor.
249
+ */
250
+ public function save( $file, $type = null, $quality = null, $interlace = false );
251
+
252
+ /**
253
+ * Set image instance.
254
+ *
255
+ * @param ImageInterface $image An instance of a class implementing Grafika/ImageInterface.
256
+ */
257
+ public function setImage( $image );
258
+
259
+ /**
260
+ * Write text to image.
261
+ *
262
+ * @param string $text The text to be written.
263
+ * @param int $size The font size. Defaults to 12.
264
+ * @param int $x The distance from the left edge of the image to the left of the text. Defaults to 0.
265
+ * @param int $y The distance from the top edge of the image to the baseline of the text. Defaults to 12 (equal to font size) so that the text is placed within the image.
266
+ * @param Color $color The Color object. Default text color is black.
267
+ * @param string $font Full path to font file. If blank, will default to Liberation Sans font.
268
+ * @param int $angle Angle of text from 0 - 359. Defaults to 0.
269
+ *
270
+ * @return EditorInterface An instance of image editor.
271
+ * @throws \Exception
272
+ */
273
+ public function text( $text, $size = 12, $x = 0, $y = 12, $color = null, $font = '', $angle = 0 );
274
+
275
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/FilterInterface.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika;
3
+
4
+ /**
5
+ * Interface FilterInterface
6
+ * @package Grafika
7
+ */
8
+ interface FilterInterface {
9
+
10
+ /**
11
+ * @param ImageInterface $image
12
+ *
13
+ * @return ImageInterface
14
+ */
15
+ public function apply( $image );
16
+
17
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/CubicBezier.php ADDED
@@ -0,0 +1,412 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\CubicBezier as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+ use CycloneSlider\Grafika\ImageInterface;
8
+
9
+ /**
10
+ * Class CubicBezier
11
+ * @package Grafika
12
+ */
13
+ class CubicBezier extends Base implements DrawingObjectInterface
14
+ {
15
+
16
+ /**
17
+ * @param ImageInterface $image
18
+ * @return Image
19
+ */
20
+ public function draw($image)
21
+ {
22
+ // Localize vars
23
+ $width = $image->getWidth();
24
+ $height = $image->getHeight();
25
+ $gd = $image->getCore();
26
+
27
+ list($x0, $y0) = $this->point1;
28
+ list($x1, $y1) = $this->control1;
29
+ list($x2, $y2) = $this->control2;
30
+ list($x3, $y3) = $this->point2;
31
+
32
+ $this->plot($gd, $x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3);
33
+
34
+ $type = $image->getType();
35
+ $file = $image->getImageFile();
36
+ return new Image($gd, $file, $width, $height, $type); // Create new image with updated core
37
+ }
38
+
39
+ protected function plot($gd, $x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3)
40
+ { /* plot any cubic Bezier curve */
41
+ $n = 0;
42
+ $i = 0;
43
+ $xc = $x0 + $x1 - $x2 - $x3;
44
+ $xa = $xc - 4 * ($x1 - $x2);
45
+ $xb = $x0 - $x1 - $x2 + $x3;
46
+ $xd = $xb + 4 * ($x1 + $x2);
47
+ $yc = $y0 + $y1 - $y2 - $y3;
48
+ $ya = $yc - 4 * ($y1 - $y2);
49
+ $yb = $y0 - $y1 - $y2 + $y3;
50
+ $yd = $yb + 4 * ($y1 + $y2);
51
+ $fx0 = $x0;
52
+ $fx1 = 0;
53
+ $fx2 = 0;
54
+ $fx3 = 0;
55
+ $fy0 = $y0;
56
+ $fy1 = 0;
57
+ $fy2 = 0;
58
+ $fy3 = 0;
59
+ $t1 = $xb * $xb - $xa * $xc;
60
+ $t2 = 0;
61
+ $t = array();
62
+ /* sub-divide curve at gradient sign changes */
63
+ if ($xa == 0) { /* horizontal */
64
+ if (abs($xc) < 2 * abs($xb)) {
65
+ $t[$n++] = $xc / (2.0 * $xb);
66
+ } /* one change */
67
+ } else {
68
+ if ($t1 > 0.0) { /* two changes */
69
+ $t2 = sqrt($t1);
70
+ $t1 = ($xb - $t2) / $xa;
71
+ if (abs($t1) < 1.0) {
72
+ $t[$n++] = $t1;
73
+ }
74
+ $t1 = ($xb + $t2) / $xa;
75
+ if (abs($t1) < 1.0) {
76
+ $t[$n++] = $t1;
77
+ }
78
+ }
79
+ }
80
+ $t1 = $yb * $yb - $ya * $yc;
81
+ if ($ya == 0) { /* vertical */
82
+ if (abs($yc) < 2 * abs($yb)) {
83
+ $t[$n++] = $yc / (2.0 * $yb);
84
+ } /* one change */
85
+ } else {
86
+ if ($t1 > 0.0) { /* two changes */
87
+ $t2 = sqrt($t1);
88
+ $t1 = ($yb - $t2) / $ya;
89
+ if (abs($t1) < 1.0) {
90
+ $t[$n++] = $t1;
91
+ }
92
+ $t1 = ($yb + $t2) / $ya;
93
+ if (abs($t1) < 1.0) {
94
+ $t[$n++] = $t1;
95
+ }
96
+ }
97
+ }
98
+ for ($i = 1; $i < $n; $i++) /* bubble sort of 4 points */ {
99
+ if (($t1 = $t[$i - 1]) > $t[$i]) {
100
+ $t[$i - 1] = $t[$i];
101
+ $t[$i] = $t1;
102
+ $i = 0;
103
+ }
104
+ }
105
+ $t1 = -1.0;
106
+ $t[$n] = 1.0; /* begin / end point */
107
+ for ($i = 0; $i <= $n; $i++) { /* plot each segment separately */
108
+ $t2 = $t[$i]; /* sub-divide at $t[$i-1], $t[$i] */
109
+ $fx1 = ($t1 * ($t1 * $xb - 2 * $xc) - $t2 * ($t1 * ($t1 * $xa - 2 * $xb) + $xc) + $xd) / 8 - $fx0;
110
+ $fy1 = ($t1 * ($t1 * $yb - 2 * $yc) - $t2 * ($t1 * ($t1 * $ya - 2 * $yb) + $yc) + $yd) / 8 - $fy0;
111
+ $fx2 = ($t2 * ($t2 * $xb - 2 * $xc) - $t1 * ($t2 * ($t2 * $xa - 2 * $xb) + $xc) + $xd) / 8 - $fx0;
112
+ $fy2 = ($t2 * ($t2 * $yb - 2 * $yc) - $t1 * ($t2 * ($t2 * $ya - 2 * $yb) + $yc) + $yd) / 8 - $fy0;
113
+ $fx0 -= $fx3 = ($t2 * ($t2 * (3 * $xb - $t2 * $xa) - 3 * $xc) + $xd) / 8;
114
+ $fy0 -= $fy3 = ($t2 * ($t2 * (3 * $yb - $t2 * $ya) - 3 * $yc) + $yd) / 8;
115
+ $x3 = floor($fx3 + 0.5);
116
+ $y3 = floor($fy3 + 0.5); /* scale bounds to int */
117
+ if ($fx0 != 0.0) {
118
+ $fx1 *= $fx0 = ($x0 - $x3) / $fx0;
119
+ $fx2 *= $fx0;
120
+ }
121
+ if ($fy0 != 0.0) {
122
+ $fy1 *= $fy0 = ($y0 - $y3) / $fy0;
123
+ $fy2 *= $fy0;
124
+ }
125
+ if ($x0 != $x3 || $y0 != $y3) /* segment $t1 - $t2 */ {
126
+ $this->plotCubicSegment($gd, $x0, $y0, $x0 + $fx1, $y0 + $fy1, $x0 + $fx2, $y0 + $fy2, $x3, $y3);
127
+ }
128
+ $x0 = $x3;
129
+ $y0 = $y3;
130
+ $fx0 = $fx3;
131
+ $fy0 = $fy3;
132
+ $t1 = $t2;
133
+ }
134
+ }
135
+
136
+ protected function plotCubicSegment($gd, $x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3)
137
+ { /* plot limited anti-aliased cubic Bezier segment */
138
+ $f = 0;
139
+ $fx = 0;
140
+ $fy = 0;
141
+ $leg = 1;
142
+ $sx = $x0 < $x3 ? 1 : -1;
143
+ $sy = $y0 < $y3 ? 1 : -1; /* step direction */
144
+
145
+ $xc = -abs($x0 + $x1 - $x2 - $x3);
146
+ $xa = $xc - 4 * $sx * ($x1 - $x2);
147
+ $xb = $sx * ($x0 - $x1 - $x2 + $x3);
148
+ $yc = -abs($y0 + $y1 - $y2 - $y3);
149
+ $ya = $yc - 4 * $sy * ($y1 - $y2);
150
+ $yb = $sy * ($y0 - $y1 - $y2 + $y3);
151
+
152
+ $ab = 0;
153
+ $ac = 0;
154
+ $bc = 0;
155
+ $ba = 0;
156
+ $xx = 0;
157
+ $xy = 0;
158
+ $yy = 0;
159
+ $dx = 0;
160
+ $dy = 0;
161
+ $ex = 0;
162
+ $px = 0;
163
+ $py = 0;
164
+ $ed = 0;
165
+ $ip = 0;
166
+ $EP = 0.01;
167
+ /* check for curve restrains */
168
+ /* slope P0-P1 == P2-P3 and (P0-P3 == P1-P2 or no slope change) */
169
+ assert(($x1 - $x0) * ($x2 - $x3) < $EP && (($x3 - $x0) * ($x1 - $x2) < $EP || $xb * $xb < $xa * $xc + $EP));
170
+ assert(($y1 - $y0) * ($y2 - $y3) < $EP && (($y3 - $y0) * ($y1 - $y2) < $EP || $yb * $yb < $ya * $yc + $EP));
171
+ if ($xa == 0 && $ya == 0) { /* quadratic Bezier */
172
+ $sx = floor((3 * $x1 - $x0 + 1) / 2);
173
+ $sy = floor((3 * $y1 - $y0 + 1) / 2); /* new midpoint */
174
+ $this->plotQuadSegment($gd, $x0, $y0, $sx, $sy, $x3, $y3);
175
+ return;
176
+ }
177
+ $x1 = ($x1 - $x0) * ($x1 - $x0) + ($y1 - $y0) * ($y1 - $y0) + 1; /* line lengths */
178
+ $x2 = ($x2 - $x3) * ($x2 - $x3) + ($y2 - $y3) * ($y2 - $y3) + 1;
179
+ do { /* loop over both ends */
180
+ $ab = $xa * $yb - $xb * $ya;
181
+ $ac = $xa * $yc - $xc * $ya;
182
+ $bc = $xb * $yc - $xc * $yb;
183
+ $ip = 4 * $ab * $bc - $ac * $ac; /* self intersection loop at all? */
184
+ $ex = $ab * ($ab + $ac - 3 * $bc) + $ac * $ac; /* P0 part of self-intersection loop? */
185
+ $f = $ex > 0 ? 1 : sqrt(1 + 1024 / $x1); /* calculate resolution */
186
+ $ab *= $f;
187
+ $ac *= $f;
188
+ $bc *= $f;
189
+ $ex *= $f * $f; /* increase resolution */
190
+ $xy = 9 * ($ab + $ac + $bc) / 8;
191
+ $ba = 8 * ($xa - $ya);/* init differences of 1st degree */
192
+ $dx = 27 * (8 * $ab * ($yb * $yb - $ya * $yc) + $ex * ($ya + 2 * $yb + $yc)) / 64 - $ya * $ya * ($xy - $ya);
193
+ $dy = 27 * (8 * $ab * ($xb * $xb - $xa * $xc) - $ex * ($xa + 2 * $xb + $xc)) / 64 - $xa * $xa * ($xy + $xa);
194
+ /* init differences of 2nd degree */
195
+ $xx = 3 * (3 * $ab * (3 * $yb * $yb - $ya * $ya - 2 * $ya * $yc) - $ya * (3 * $ac * ($ya + $yb) + $ya * $ba)) / 4;
196
+ $yy = 3 * (3 * $ab * (3 * $xb * $xb - $xa * $xa - 2 * $xa * $xc) - $xa * (3 * $ac * ($xa + $xb) + $xa * $ba)) / 4;
197
+ $xy = $xa * $ya * (6 * $ab + 6 * $ac - 3 * $bc + $ba);
198
+ $ac = $ya * $ya;
199
+ $ba = $xa * $xa;
200
+ $xy = 3 * ($xy + 9 * $f * ($ba * $yb * $yc - $xb * $xc * $ac) - 18 * $xb * $yb * $ab) / 8;
201
+ if ($ex < 0) { /* negate values if inside self-intersection loop */
202
+ $dx = -$dx;
203
+ $dy = -$dy;
204
+ $xx = -$xx;
205
+ $yy = -$yy;
206
+ $xy = -$xy;
207
+ $ac = -$ac;
208
+ $ba = -$ba;
209
+ } /* init differences of 3rd degree */
210
+ $ab = 6 * $ya * $ac;
211
+ $ac = -6 * $xa * $ac;
212
+ $bc = 6 * $ya * $ba;
213
+ $ba = -6 * $xa * $ba;
214
+ $dx += $xy;
215
+ $ex = $dx + $dy;
216
+ $dy += $xy; /* error of 1st step */
217
+ for ($fx = $fy = $f; $x0 != $x3 && $y0 != $y3;) {
218
+ $y1 = min($xy - $dx, $dy - $xy);
219
+ $ed = max($xy - $dx, $dy - $xy); /* approximate error distance */
220
+ $ed = $f * ($ed + 2 * $ed * $y1 * $y1 / (4 * $ed * $ed + $y1 * $y1));
221
+ $y1 = 255 * abs($ex - ($f - $fx + 1) * $dx - ($f - $fy + 1) * $dy + $f * $xy) / $ed;
222
+ if ($y1 < 256) {
223
+ $this->setPixel($gd, $x0, $y0, $y1 / 255);
224
+ } /* plot curve */
225
+ $px = abs($ex - ($f - $fx + 1) * $dx + ($fy - 1) * $dy); /* pixel intensity x move */
226
+ $py = abs($ex + ($fx - 1) * $dx - ($f - $fy + 1) * $dy); /* pixel intensity y move */
227
+ $y2 = $y0;
228
+ do { /* move sub-steps of one pixel */
229
+ if ($ip >= -$EP) /* intersection possible? -> check.. */ {
230
+ if ($dx + $xx > $xy || $dy + $yy < $xy) {
231
+ goto exits;
232
+ }
233
+ } /* two x or y steps */
234
+ $y1 = 2 * $ex + $dx; /* save value for test of y step */
235
+ if (2 * $ex + $dy > 0) { /* x sub-step */
236
+ $fx--;
237
+ $ex += $dx += $xx;
238
+ $dy += $xy += $ac;
239
+ $yy += $bc;
240
+ $xx += $ab;
241
+ } else {
242
+ if ($y1 > 0) {
243
+ goto exits;
244
+ }
245
+ } /* tiny nearly cusp */
246
+ if ($y1 <= 0) { /* y sub-step */
247
+ $fy--;
248
+ $ex += $dy += $yy;
249
+ $dx += $xy += $bc;
250
+ $xx += $ac;
251
+ $yy += $ba;
252
+ }
253
+ } while ($fx > 0 && $fy > 0); /* pixel complete? */
254
+ if (2 * $fy <= $f) { /* x+ anti-aliasing pixel */
255
+ if ($py < $ed) {
256
+ $this->setPixel($gd, $x0 + $sx, $y0, $py / $ed);
257
+ } /* plot curve */
258
+ $y0 += $sy;
259
+ $fy += $f; /* y step */
260
+ }
261
+ if (2 * $fx <= $f) { /* y+ anti-aliasing pixel */
262
+ if ($px < $ed) {
263
+ $this->setPixel($gd, $x0, $y2 + $sy, $px / $ed);
264
+ } /* plot curve */
265
+ $x0 += $sx;
266
+ $fx += $f; /* x step */
267
+ }
268
+ }
269
+ break; /* finish curve by line */
270
+ exits:
271
+ if (2 * $ex < $dy && 2 * $fy <= $f + 2) { /* round x+ approximation pixel */
272
+ if ($py < $ed) {
273
+ $this->setPixel($gd, $x0 + $sx, $y0, $py / $ed);
274
+ } /* plot curve */
275
+ $y0 += $sy;
276
+ }
277
+ if (2 * $ex > $dx && 2 * $fx <= $f + 2) { /* round y+ approximation pixel */
278
+ if ($px < $ed) {
279
+ $this->setPixel($gd, $x0, $y2 + $sy, $px / $ed);
280
+ } /* plot curve */
281
+ $x0 += $sx;
282
+ }
283
+ $xx = $x0;
284
+ $x0 = $x3;
285
+ $x3 = $xx;
286
+ $sx = -$sx;
287
+ $xb = -$xb; /* swap legs */
288
+ $yy = $y0;
289
+ $y0 = $y3;
290
+ $y3 = $yy;
291
+ $sy = -$sy;
292
+ $yb = -$yb;
293
+ $x1 = $x2;
294
+ } while ($leg--); /* try other end */
295
+ $this->plotLine($gd, $x0, $y0, $x3, $y3); /* remaining part in case of cusp or crunode */
296
+ }
297
+
298
+ protected function plotQuadSegment($gd, $x0, $y0, $x1, $y1, $x2, $y2)
299
+ { /* draw an limited anti-aliased quadratic Bezier segment */
300
+ $sx = $x2 - $x1;
301
+ $sy = $y2 - $y1;
302
+ $xx = $x0 - $x1;
303
+ $yy = $y0 - $y1;
304
+ $xy = $dx = $dy = $err = $ed = 0;
305
+ $cur = $xx * $sy - $yy * $sx; /* $curvature */
306
+ if ($sx * (int)$sx + $sy * (int)$sy > $xx * $xx + $yy * $yy) { /* begin with longer part */
307
+ $x2 = $x0;
308
+ $x0 = $sx + $x1;
309
+ $y2 = $y0;
310
+ $y0 = $sy + $y1;
311
+ $cur = -$cur; /* swap P0 P2 */
312
+ }
313
+ if ($cur != 0) { /* no straight line */
314
+ $xx += $sx;
315
+ $xx *= $sx = $x0 < $x2 ? 1 : -1; /* x step direction */
316
+ $yy += $sy;
317
+ $yy *= $sy = $y0 < $y2 ? 1 : -1; /* y step direction */
318
+ $xy = 2 * $xx * $yy;
319
+ $xx *= $xx;
320
+ $yy *= $yy; /* differences 2nd degree */
321
+ if ($cur * $sx * $sy < 0) { /* negat$ed $curvature? */
322
+ $xx = -$xx;
323
+ $yy = -$yy;
324
+ $xy = -$xy;
325
+ $cur = -$cur;
326
+ }
327
+ $dx = 4.0 * $sy * ($x1 - $x0) * $cur + $xx - $xy; /* differences 1st degree */
328
+ $dy = 4.0 * $sx * ($y0 - $y1) * $cur + $yy - $xy;
329
+ $xx += $xx;
330
+ $yy += $yy;
331
+ $err = $dx + $dy + $xy; /* $error 1st step */
332
+ do {
333
+ $cur = min($dx + $xy, -$xy - $dy);
334
+ $ed = max($dx + $xy, -$xy - $dy); /* approximate $error distance */
335
+ $ed += 2 * $ed * $cur * $cur / (4 * $ed * $ed + $cur * $cur);
336
+ $this->setPixel($gd, $x0, $y0, abs($err - $dx - $dy - $xy) / $ed); /* plot $curve */
337
+ if ($x0 == $x2 || $y0 == $y2) {
338
+ break;
339
+ } /* $curve finish$ed */
340
+ $x1 = $x0;
341
+ $cur = $dx - $err;
342
+ $y1 = 2 * $err + $dy < 0;
343
+ if (2 * $err + $dx > 0) { /* x step */
344
+ if ($err - $dy < $ed) {
345
+ $this->setPixel($gd, $x0, $y0 + $sy, abs($err - $dy) / $ed);
346
+ }
347
+ $x0 += $sx;
348
+ $dx -= $xy;
349
+ $err += $dy += $yy;
350
+ }
351
+ if ($y1) { /* y step */
352
+ if ($cur < $ed) {
353
+ $this->setPixel($gd, $x1 + $sx, $y0, abs($cur) / $ed);
354
+ }
355
+ $y0 += $sy;
356
+ $dy -= $xy;
357
+ $err += $dx += $xx;
358
+ }
359
+ } while ($dy < $dx); /* gradient negates -> close curves */
360
+ }
361
+ $this->plotLine($gd, $x0, $y0, $x2, $y2); /* plot remaining needle to end */
362
+ }
363
+
364
+ protected function plotLine($gd, $x0, $y0, $x1, $y1)
365
+ { /* draw a black (0) anti-aliased line on white (255) background */
366
+ $dx = abs($x1 - $x0);
367
+ $sx = $x0 < $x1 ? 1 : -1;
368
+ $dy = -abs($y1 - $y0);
369
+ $sy = $y0 < $y1 ? 1 : -1;
370
+ $err = $dx + $dy;
371
+ $e2 = $x2 = 0; /* $error value e_xy */
372
+ $ed = $dx - $dy == 0 ? 1 : sqrt((float)$dx * $dx + (float)$dy * $dy);
373
+ for (; ;) { /* pixel loop */
374
+ $this->setPixel($gd, $x0, $y0, abs($err - $dx - $dy) / $ed);
375
+ $e2 = $err;
376
+ $x2 = $x0;
377
+ if (2 * $e2 + $dx >= 0) { /* x step */
378
+ if ($x0 == $x1) {
379
+ break;
380
+ }
381
+ if ($e2 - $dy < $ed) {
382
+ $this->setPixel($gd, $x0, $y0 + $sy, ($e2 - $dy) / $ed);
383
+ }
384
+ $err += $dy;
385
+ $x0 += $sx;
386
+ }
387
+ if (2 * $e2 + $dy <= 0) { /* y step */
388
+ if ($y0 == $y1) {
389
+ break;
390
+ }
391
+ if ($dx - $e2 < $ed) {
392
+ $this->setPixel($gd, $x2 + $sx, $y0, ($dx - $e2) / $ed);
393
+ }
394
+ $err += $dx;
395
+ $y0 += $sy;
396
+ }
397
+ }
398
+ }
399
+
400
+ /**
401
+ * @param resource $gd
402
+ * @param int $x
403
+ * @param int $y
404
+ * @param float $ar Alpha ratio
405
+ */
406
+ protected function setPixel($gd, $x, $y, $ar)
407
+ {
408
+ list($r, $g, $b) = $this->color->getRgb();
409
+ $c = imagecolorallocatealpha($gd, $r, $g, $b, 127 * $ar);
410
+ imagesetpixel($gd, $x, $y, $c);
411
+ }
412
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Ellipse.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\Ellipse as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Editor;
7
+ use CycloneSlider\Grafika\ImageInterface;
8
+
9
+ /**
10
+ * Class Ellipse
11
+ * @package Grafika
12
+ */
13
+ class Ellipse extends Base implements DrawingObjectInterface
14
+ {
15
+
16
+ /**
17
+ * TODO: Anti-aliased curves
18
+ * @param ImageInterface $image
19
+ * @return ImageInterface
20
+ */
21
+ public function draw($image)
22
+ {
23
+
24
+ list($x, $y) = $this->pos;
25
+ $left = $x + $this->width / 2;
26
+ $top = $y + $this->height / 2;
27
+
28
+ if( null !== $this->fillColor ){
29
+ list($r, $g, $b, $alpha) = $this->fillColor->getRgba();
30
+ $fillColorResource = imagecolorallocatealpha($image->getCore(), $r, $g, $b, Editor::gdAlpha($alpha));
31
+ imagefilledellipse($image->getCore(), $left, $top, $this->width, $this->height, $fillColorResource);
32
+ }
33
+ // Create borders. It will be placed on top of the filled ellipse (if present)
34
+ if ( 0 < $this->getBorderSize() and null !== $this->borderColor) { // With border > 0 AND borderColor !== null
35
+ list($r, $g, $b, $alpha) = $this->borderColor->getRgba();
36
+ $borderColorResource = imagecolorallocatealpha($image->getCore(), $r, $g, $b, Editor::gdAlpha($alpha));
37
+ imageellipse($image->getCore(), $left, $top, $this->width, $this->height, $borderColorResource);
38
+ }
39
+
40
+ return $image;
41
+ }
42
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Line.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\Line as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Class Line
10
+ * @package Grafika
11
+ */
12
+ class Line extends Base implements DrawingObjectInterface
13
+ {
14
+
15
+ /**
16
+ * @param Image $image
17
+ *
18
+ * @return Image
19
+ */
20
+ public function draw($image)
21
+ {
22
+
23
+ list( $x1, $y1 ) = $this->point1;
24
+ list( $x2, $y2 ) = $this->point2;
25
+ list( $r, $g, $b ) = $this->color->getRgb();
26
+ $color = imagecolorallocate( $image->getCore(), $r, $g, $b );
27
+ if ( function_exists( 'imageantialias' ) ) { // Not available on some if PHP is not precompiled with it even if GD is enabled
28
+ imageantialias( $image->getCore(), true );
29
+ }
30
+ imageline( $image->getCore(), $x1, $y1, $x2, $y2, $color );
31
+
32
+ return $image;
33
+ }
34
+
35
+
36
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Polygon.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\Polygon as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Editor;
7
+
8
+ /**
9
+ * Class Rectangle
10
+ * @package Grafika
11
+ */
12
+ class Polygon extends Base implements DrawingObjectInterface
13
+ {
14
+
15
+ public function draw($image)
16
+ {
17
+ if(function_exists('imageantialias')){
18
+ imageantialias($image->getCore(), true);
19
+ }
20
+
21
+ $points = $this->points();
22
+ $count = count($this->points);
23
+
24
+
25
+ // Create filled polygon
26
+ if( null !== $this->fillColor){
27
+ list($r, $g, $b, $alpha) = $this->getFillColor()->getRgba();
28
+ $fillColorResource = imagecolorallocatealpha(
29
+ $image->getCore(), $r, $g, $b,
30
+ Editor::gdAlpha($alpha)
31
+ );
32
+ imagefilledpolygon($image->getCore(), $points,
33
+ $count,
34
+ $fillColorResource
35
+ );
36
+ }
37
+
38
+ // Create polygon borders. It will be placed on top of the filled polygon (if present)
39
+ if ( 0 < $this->getBorderSize() and null !== $this->borderColor) { // With border > 0 AND borderColor !== null
40
+ list($r, $g, $b, $alpha) = $this->getBorderColor()->getRgba();
41
+ $borderColorResource = imagecolorallocatealpha(
42
+ $image->getCore(), $r, $g, $b,
43
+ Editor::gdAlpha($alpha)
44
+ );
45
+ imagepolygon($image->getCore(), $points,
46
+ $count,
47
+ $borderColorResource
48
+ );
49
+ }
50
+ return $image;
51
+ }
52
+
53
+ protected function points(){
54
+ $points = array();
55
+ foreach($this->points as $point){
56
+ $points[] = $point[0];
57
+ $points[] = $point[1];
58
+ }
59
+ if( count($points) < 6 ){
60
+ throw new \Exception('Polygon needs at least 3 points.');
61
+ }
62
+ return $points;
63
+ }
64
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/QuadraticBezier.php ADDED
@@ -0,0 +1,208 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\QuadraticBezier as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+ use CycloneSlider\Grafika\ImageInterface;
8
+
9
+ /**
10
+ * Class QuadraticBezier
11
+ * @package Grafika
12
+ */
13
+ class QuadraticBezier extends Base implements DrawingObjectInterface
14
+ {
15
+ /**
16
+ * @link http://members.chello.at/easyfilter/bresenham.pdf
17
+ * @param ImageInterface $image
18
+ * @return Image
19
+ */
20
+ public function draw($image)
21
+ {
22
+ // Localize vars
23
+ $width = $image->getWidth();
24
+ $height = $image->getHeight();
25
+ $gd = $image->getCore();
26
+
27
+ list($x0, $y0) = $this->point1;
28
+ list($x1, $y1) = $this->control;
29
+ list($x2, $y2) = $this->point2;
30
+
31
+ $this->plot($gd, $x0, $y0, $x1, $y1, $x2, $y2);
32
+
33
+ $type = $image->getType();
34
+ $file = $image->getImageFile();
35
+ return new Image($gd, $file, $width, $height, $type); // Create new image with updated core
36
+ }
37
+
38
+ protected function plot($gd, $x0, $y0, $x1, $y1, $x2, $y2)
39
+ {
40
+ /* plot any quadratic Bezier curve */
41
+ $x = $x0 - $x1;
42
+ $y = $y0 - $y1;
43
+ $t = $x0 - 2 * $x1 + $x2; //double
44
+
45
+ if ((int)$x * ($x2 - $x1) > 0) { /* horizontal cut at P4? */
46
+ if ((int)$y * ($y2 - $y1) > 0) /* vertical cut at P6 too? */ {
47
+ if (abs(($y0 - 2 * $y1 + $y2) / $t * $x) > abs($y)) { /* which first? */
48
+ $x0 = $x2;
49
+ $x2 = $x + $x1;
50
+ $y0 = $y2;
51
+ $y2 = $y + $y1; /* swap points */
52
+ }
53
+ } /* now horizontal cut at P4 comes first */
54
+ $t = ($x0 - $x1) / $t;
55
+ $r = (1 - $t) * ((1 - $t) * $y0 + 2.0 * $t * $y1) + $t * $t * $y2; /* By(t=P4) */
56
+ $t = ($x0 * $x2 - $x1 * $x1) * $t / ($x0 - $x1); /* gradient dP4/dx=0 */
57
+ $x = floor($t + 0.5);
58
+ $y = floor($r + 0.5);
59
+ $r = ($y1 - $y0) * ($t - $x0) / ($x1 - $x0) + $y0; /* intersect P3 | P0 P1 */
60
+ $this->plotSegment($gd, $x0, $y0, $x, floor($r + 0.5), $x, $y);
61
+ $r = ($y1 - $y2) * ($t - $x2) / ($x1 - $x2) + $y2; /* intersect P4 | P1 P2 */
62
+ $x0 = $x1 = $x;
63
+ $y0 = $y;
64
+ $y1 = floor($r + 0.5); /* P0 = P4, P1 = P8 */
65
+ }
66
+ if ((int)($y0 - $y1) * ($y2 - $y1) > 0) { /* vertical cut at P6? */
67
+ $t = $y0 - 2 * $y1 + $y2;
68
+ $t = ($y0 - $y1) / $t;
69
+ $r = (1 - $t) * ((1 - $t) * $x0 + 2.0 * $t * $x1) + $t * $t * $x2; /* Bx(t=P6) */
70
+ $t = ($y0 * $y2 - $y1 * $y1) * $t / ($y0 - $y1); /* gradient dP6/dy=0 */
71
+ $x = floor($r + 0.5);
72
+ $y = floor($t + 0.5);
73
+ $r = ($x1 - $x0) * ($t - $y0) / ($y1 - $y0) + $x0; /* intersect P6 | P0 P1 */
74
+ $this->plotSegment($gd, $x0, $y0, floor($r + 0.5), $y, $x, $y);
75
+ $r = ($x1 - $x2) * ($t - $y2) / ($y1 - $y2) + $x2; /* intersect P7 | P1 P2 */
76
+ $x0 = $x;
77
+ $x1 = floor($r + 0.5);
78
+ $y0 = $y1 = $y; /* P0 = P6, P1 = P7 */
79
+ }
80
+ $this->plotSegment($gd, $x0, $y0, $x1, $y1, $x2, $y2); /* remaining part */
81
+ }
82
+
83
+ /**
84
+ * Draw an limited anti-aliased quadratic Bezier segment.
85
+ * @param $gd
86
+ * @param $x0
87
+ * @param $y0
88
+ * @param $x1
89
+ * @param $y1
90
+ * @param $x2
91
+ * @param $y2
92
+ */
93
+ protected function plotSegment($gd, $x0, $y0, $x1, $y1, $x2, $y2)
94
+ {
95
+ $sx = $x2 - $x1;
96
+ $sy = $y2 - $y1;
97
+ $xx = $x0 - $x1;
98
+ $yy = $y0 - $y1;
99
+
100
+ $cur = $xx * $sy - $yy * $sx; /* $curvature */
101
+ assert($xx * $sx <= 0 && $yy * $sy <= 0);
102
+ if ($sx * (int)$sx + $sy * (int)$sy > $xx * $xx + $yy * $yy) { /* begin with longer part */
103
+ $x2 = $x0;
104
+ $x0 = $sx + $x1;
105
+ $y2 = $y0;
106
+ $y0 = $sy + $y1;
107
+ $cur = -$cur; /* swap P0 P2 */
108
+ }
109
+ if ($cur != 0) { /* no straight line */
110
+ $xx += $sx;
111
+ $xx *= $sx = $x0 < $x2 ? 1 : -1; /* x step direction */
112
+ $yy += $sy;
113
+ $yy *= $sy = $y0 < $y2 ? 1 : -1; /* y step direction */
114
+ $xy = 2 * $xx * $yy;
115
+ $xx *= $xx;
116
+ $yy *= $yy; /* differences 2nd degree */
117
+ if ($cur * $sx * $sy < 0) { /* negat$ed $curvature? */
118
+ $xx = -$xx;
119
+ $yy = -$yy;
120
+ $xy = -$xy;
121
+ $cur = -$cur;
122
+ }
123
+ $dx = 4.0 * $sy * ($x1 - $x0) * $cur + $xx - $xy; /* differences 1st degree */
124
+ $dy = 4.0 * $sx * ($y0 - $y1) * $cur + $yy - $xy;
125
+ $xx += $xx;
126
+ $yy += $yy;
127
+ $err = $dx + $dy + $xy; /* $error 1st step */
128
+ do {
129
+ $cur = min($dx + $xy, -$xy - $dy);
130
+ $ed = max($dx + $xy, -$xy - $dy); /* approximate $error distance */
131
+ $ed += 2 * $ed * $cur * $cur / (4 * $ed * $ed + $cur * $cur);
132
+ $this->setPixel($gd, $x0, $y0, abs($err - $dx - $dy - $xy) / $ed); /* plot $curve */
133
+ if ($x0 == $x2 || $y0 == $y2) {
134
+ break;
135
+ } /* $curve finish$ed */
136
+ $x1 = $x0;
137
+ $cur = $dx - $err;
138
+ $y1 = 2 * $err + $dy < 0;
139
+ if (2 * $err + $dx > 0) { /* x step */
140
+ if ($err - $dy < $ed) {
141
+ $this->setPixel($gd, $x0, $y0 + $sy, abs($err - $dy) / $ed);
142
+ }
143
+ $x0 += $sx;
144
+ $dx -= $xy;
145
+ $err += $dy += $yy;
146
+ }
147
+ if ($y1) { /* y step */
148
+ if ($cur < $ed) {
149
+ $this->setPixel($gd, $x1 + $sx, $y0, abs($cur) / $ed);
150
+ }
151
+ $y0 += $sy;
152
+ $dy -= $xy;
153
+ $err += $dx += $xx;
154
+ }
155
+ } while ($dy < $dx); /* gradient negates -> close curves */
156
+ }
157
+ $this->plotLine($gd, $x0, $y0, $x2, $y2); /* plot remaining needle to end */
158
+ }
159
+
160
+ protected function plotLine($gd, $x0, $y0, $x1, $y1)
161
+ {
162
+ $dx = abs($x1 - $x0);
163
+ $sx = $x0 < $x1 ? 1 : -1;
164
+ $dy = -abs($y1 - $y0);
165
+ $sy = $y0 < $y1 ? 1 : -1;
166
+ $err = $dx + $dy;
167
+
168
+ $ed = $dx - $dy == 0 ? 1 : sqrt((float)$dx * $dx + (float)$dy * $dy);
169
+ for (; ;) { /* pixel loop */
170
+ $this->setPixel($gd, $x0, $y0, abs($err - $dx - $dy) / $ed);
171
+ $e2 = $err;
172
+ $x2 = $x0;
173
+ if (2 * $e2 + $dx >= 0) { /* x step */
174
+ if ($x0 == $x1) {
175
+ break;
176
+ }
177
+ if ($e2 - $dy < $ed) {
178
+ $this->setPixel($gd, $x0, $y0 + $sy, ($e2 - $dy) / $ed);
179
+ }
180
+ $err += $dy;
181
+ $x0 += $sx;
182
+ }
183
+ if (2 * $e2 + $dy <= 0) { /* y step */
184
+ if ($y0 == $y1) {
185
+ break;
186
+ }
187
+ if ($dx - $e2 < $ed) {
188
+ $this->setPixel($gd, $x2 + $sx, $y0, ($dx - $e2) / $ed);
189
+ }
190
+ $err += $dx;
191
+ $y0 += $sy;
192
+ }
193
+ }
194
+ }
195
+
196
+ /**
197
+ * @param resource $gd
198
+ * @param int $x
199
+ * @param int $y
200
+ * @param float $ar Alpha ratio
201
+ */
202
+ protected function setPixel($gd, $x, $y, $ar)
203
+ {
204
+ list($r, $g, $b) = $this->color->getRgb();
205
+ $c = imagecolorallocatealpha($gd, $r, $g, $b, 127 * $ar);
206
+ imagesetpixel($gd, $x, $y, $c);
207
+ }
208
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/DrawingObject/Rectangle.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace CycloneSlider\Grafika\Gd\DrawingObject;
3
+
4
+ use CycloneSlider\Grafika\DrawingObject\Rectangle as Base;
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\Gd\Editor;
7
+
8
+ /**
9
+ * Class Rectangle
10
+ * @package Grafika
11
+ */
12
+ class Rectangle extends Base implements DrawingObjectInterface
13
+ {
14
+
15
+ public function draw($image)
16
+ {
17
+ $x1 = $this->pos[0];
18
+ $x2 = $x1 + $this->getWidth();
19
+ $y1 = $this->pos[1];
20
+ $y2 = $y1 + $this->getHeight();
21
+
22
+ if( null !== $this->fillColor ){
23
+ list($r, $g, $b, $alpha) = $this->fillColor->getRgba();
24
+ $fillColorResource = imagecolorallocatealpha($image->getCore(), $r, $g, $b, Editor::gdAlpha($alpha));
25
+ imagefilledrectangle($image->getCore(), $x1, $y1, $x2, $y2, $fillColorResource);
26
+ }
27
+ // Create borders. It will be placed on top of the filled rectangle (if present)
28
+ if ( 0 < $this->getBorderSize() and null !== $this->borderColor) { // With border > 0 AND borderColor !== null
29
+ list($r, $g, $b, $alpha) = $this->borderColor->getRgba();
30
+ $borderColorResource = imagecolorallocatealpha($image->getCore(), $r, $g, $b, Editor::gdAlpha($alpha));
31
+ imagerectangle($image->getCore(), $x1, $y1, $x2, $y2, $borderColorResource);
32
+ }
33
+
34
+ return $image;
35
+ }
36
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Editor.php ADDED
@@ -0,0 +1,1210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd;
4
+
5
+ use CycloneSlider\Grafika\DrawingObjectInterface;
6
+ use CycloneSlider\Grafika\EditorInterface;
7
+ use CycloneSlider\Grafika\FilterInterface;
8
+ use CycloneSlider\Grafika\Gd\Helper\GifHelper;
9
+ use CycloneSlider\Grafika\Gd\ImageHash\DifferenceHash;
10
+ use CycloneSlider\Grafika\Grafika;
11
+ use CycloneSlider\Grafika\ImageInterface;
12
+ use CycloneSlider\Grafika\ImageType;
13
+ use CycloneSlider\Grafika\Color;
14
+
15
+ /**
16
+ * GD Editor class. Uses the PHP GD library.
17
+ * @package Grafika\Gd
18
+ */
19
+ final class Editor implements EditorInterface
20
+ {
21
+
22
+ /**
23
+ * @var Image Holds the image instance.
24
+ */
25
+ private $image;
26
+
27
+ /**
28
+ * Constructor.
29
+ */
30
+ function __construct()
31
+ {
32
+ $this->image = null;
33
+ }
34
+
35
+ /**
36
+ * Apply a filter to the image. See Filters section for a list of available filters.
37
+ *
38
+ * @param FilterInterface $filter
39
+ *
40
+ * @return Editor
41
+ */
42
+ public function apply($filter)
43
+ {
44
+ $this->_imageCheck();
45
+
46
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
47
+ return $this;
48
+ }
49
+
50
+ $this->image = $filter->apply($this->image);
51
+
52
+ return $this;
53
+ }
54
+
55
+ /**
56
+ * Create a blank image given width and height.
57
+ *
58
+ * @param int $width Width of image in pixels.
59
+ * @param int $height Height of image in pixels.
60
+ *
61
+ * @return Editor
62
+ */
63
+ public function blank($width, $height)
64
+ {
65
+ $this->image = Image::createBlank($width, $height);
66
+
67
+ return $this;
68
+ }
69
+
70
+ /**
71
+ * Compare two images and returns a hamming distance. A value of 0 indicates a likely similar picture. A value between 1 and 10 is potentially a variation. A value greater than 10 is likely a different image.
72
+ *
73
+ * @param ImageInterface|string $image1
74
+ * @param ImageInterface|string $image2
75
+ *
76
+ * @return int Hamming distance. Note: This breaks the chain if you are doing fluent api calls as it does not return an Editor.
77
+ * @throws \Exception
78
+ */
79
+ public function compare($image1, $image2)
80
+ {
81
+
82
+ if (is_string($image1)) { // If string passed, turn it into a Image object
83
+ $image1 = Image::createFromFile($image1);
84
+ $image1->flatten();
85
+ }
86
+
87
+ if (is_string($image2)) { // If string passed, turn it into a Image object
88
+ $image2 = Image::createFromFile($image2);
89
+ $image2->flatten();
90
+ }
91
+
92
+ $hash = new DifferenceHash();
93
+
94
+ $bin1 = $hash->hash($image1);
95
+ $bin2 = $hash->hash($image2);
96
+ $str1 = str_split($bin1);
97
+ $str2 = str_split($bin2);
98
+ $distance = 0;
99
+ foreach ($str1 as $i => $char) {
100
+ if ($char !== $str2[$i]) {
101
+ $distance++;
102
+ }
103
+ }
104
+
105
+ return $distance;
106
+
107
+ }
108
+
109
+ /**
110
+ * Crop the image to the given dimension and position.
111
+ *
112
+ * @param int $cropWidth Crop width in pixels.
113
+ * @param int $cropHeight Crop Height in pixels.
114
+ * @param string $position The crop position. Possible values top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right and smart. Defaults to center.
115
+ * @param int $offsetX Number of pixels to add to the X position of the crop.
116
+ * @param int $offsetY Number of pixels to add to the Y position of the crop.
117
+ *
118
+ * @return Editor
119
+ * @throws \Exception
120
+ */
121
+ public function crop($cropWidth, $cropHeight, $position = 'center', $offsetX = 0, $offsetY = 0)
122
+ {
123
+ $this->_imageCheck();
124
+
125
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
126
+ return $this;
127
+ }
128
+
129
+ if ('top-left' === $position) {
130
+ $x = 0;
131
+ $y = 0;
132
+ } else if ('top-center' === $position) {
133
+ $x = (int)round(($this->image->getWidth() / 2) - ($cropWidth / 2));
134
+ $y = 0;
135
+ } else if ('top-right' === $position) {
136
+ $x = $this->image->getWidth() - $cropWidth;
137
+ $y = 0;
138
+ } else if ('center-left' === $position) {
139
+ $x = 0;
140
+ $y = (int)round(($this->image->getHeight() / 2) - ($cropHeight / 2));
141
+ } else if ('center-right' === $position) {
142
+ $x = $this->image->getWidth() - $cropWidth;
143
+ $y = (int)round(($this->image->getHeight() / 2) - ($cropHeight / 2));
144
+ } else if ('bottom-left' === $position) {
145
+ $x = 0;
146
+ $y = $this->image->getHeight() - $cropHeight;
147
+ } else if ('bottom-center' === $position) {
148
+ $x = (int)round(($this->image->getWidth() / 2) - ($cropWidth / 2));
149
+ $y = $this->image->getHeight() - $cropHeight;
150
+ } else if ('bottom-right' === $position) {
151
+ $x = $this->image->getWidth() - $cropWidth;
152
+ $y = $this->image->getHeight() - $cropHeight;
153
+ } else if ('smart' === $position) { // Smart crop
154
+ list($x, $y) = $this->_smartCrop($cropWidth, $cropHeight);
155
+ } else if ('center' === $position) {
156
+ $x = (int)round(($this->image->getWidth() / 2) - ($cropWidth / 2));
157
+ $y = (int)round(($this->image->getHeight() / 2) - ($cropHeight / 2));
158
+ } else {
159
+ throw new \Exception('Invalid parameter position.');
160
+ }
161
+
162
+ $x += $offsetX;
163
+ $y += $offsetY;
164
+
165
+ // Create blank image
166
+ $newImageResource = imagecreatetruecolor($cropWidth, $cropHeight);
167
+
168
+ // Now crop
169
+ imagecopyresampled(
170
+ $newImageResource, // Target image
171
+ $this->image->getCore(), // Source image
172
+ 0, // Target x
173
+ 0, // Target y
174
+ $x, // Src x
175
+ $y, // Src y
176
+ $cropWidth, // Target width
177
+ $cropHeight, // Target height
178
+ $cropWidth, // Src width
179
+ $cropHeight // Src height
180
+ );
181
+
182
+ // Free memory of old resource
183
+ imagedestroy($this->image->getCore());
184
+
185
+ // Cropped image instance
186
+ $this->image = new Image(
187
+ $newImageResource,
188
+ $this->image->getImageFile(),
189
+ $cropWidth,
190
+ $cropHeight,
191
+ $this->image->getType()
192
+ );
193
+
194
+ return $this;
195
+ }
196
+
197
+ /**
198
+ * Draw a DrawingObject on the image. See Drawing Objects section.
199
+ *
200
+ * @param DrawingObjectInterface $drawingObject
201
+ *
202
+ * @return $this
203
+ */
204
+ public function draw($drawingObject)
205
+ {
206
+ $this->_imageCheck();
207
+
208
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
209
+ return $this;
210
+ }
211
+
212
+ $this->image = $drawingObject->draw($this->image);
213
+
214
+ return $this;
215
+ }
216
+
217
+ /**
218
+ * Compare if two images are equal. It will compare if the two images are of the same width and height. If the dimensions differ, it will return false. If the dimensions are equal, it will loop through each pixels. If one of the pixel don't match, it will return false. The pixels are compared using their RGB (Red, Green, Blue) values.
219
+ *
220
+ * @param string|ImageInterface $image1 Can be an instance of Image or string containing the file system path to image.
221
+ * @param string|ImageInterface $image2 Can be an instance of Image or string containing the file system path to image.
222
+ *
223
+ * @return bool True if equals false if not. Note: This breaks the chain if you are doing fluent api calls as it does not return an Editor.
224
+ * @throws \Exception
225
+ */
226
+ public function equal($image1, $image2)
227
+ {
228
+
229
+ if (is_string($image1)) { // If string passed, turn it into a Image object
230
+ $image1 = Image::createFromFile($image1);
231
+ $image1->flatten();
232
+ }
233
+
234
+ if (is_string($image2)) { // If string passed, turn it into a Image object
235
+ $image2 = Image::createFromFile($image2);
236
+ $image2->flatten();
237
+ }
238
+
239
+ // Check if image dimensions are equal
240
+ if ($image1->getWidth() !== $image2->getWidth() or $image1->getHeight() !== $image2->getHeight()) {
241
+
242
+ return false;
243
+
244
+ } else {
245
+
246
+ // Loop using image1
247
+ for ($y = 0; $y < $image1->getHeight(); $y++) {
248
+ for ($x = 0; $x < $image1->getWidth(); $x++) {
249
+
250
+ // Get image1 pixel
251
+ $rgb1 = imagecolorat($image1->getCore(), $x, $y);
252
+ $r1 = ($rgb1 >> 16) & 0xFF;
253
+ $g1 = ($rgb1 >> 8) & 0xFF;
254
+ $b1 = $rgb1 & 0xFF;
255
+
256
+ // Get image2 pixel
257
+ $rgb2 = imagecolorat($image2->getCore(), $x, $y);
258
+ $r2 = ($rgb2 >> 16) & 0xFF;
259
+ $g2 = ($rgb2 >> 8) & 0xFF;
260
+ $b2 = $rgb2 & 0xFF;
261
+
262
+ // Compare pixel value
263
+ if (
264
+ $r1 !== $r2 or
265
+ $g1 !== $g2 or
266
+ $b1 !== $b2
267
+ ) {
268
+ return false;
269
+ }
270
+ }
271
+ }
272
+ }
273
+
274
+ return true;
275
+ }
276
+
277
+ /**
278
+ * Fill entire image with color.
279
+ *
280
+ * @param Color $color Color object
281
+ * @param int $x X-coordinate of start point
282
+ * @param int $y Y-coordinate of start point
283
+ *
284
+ * @return Editor
285
+ */
286
+ public function fill($color, $x = 0, $y = 0)
287
+ {
288
+
289
+ $this->_imageCheck();
290
+
291
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
292
+ return $this;
293
+ }
294
+
295
+ list($r, $g, $b, $alpha) = $color->getRgba();
296
+
297
+ $colorResource = imagecolorallocatealpha($this->image->getCore(), $r, $g, $b,
298
+ $this->gdAlpha($alpha));
299
+ imagefill($this->image->getCore(), $x, $y, $colorResource);
300
+
301
+ return $this;
302
+ }
303
+
304
+ /**
305
+ * Flatten if animated GIF. Do nothing otherwise.
306
+ *
307
+ * @return Editor
308
+ */
309
+ public function flatten(){
310
+ $this->_imageCheck();
311
+ $this->image->flatten();
312
+ return $this;
313
+ }
314
+
315
+ /**
316
+ * Flip or mirrors the image.
317
+ *
318
+ * @param string $mode The type of flip: 'h' for horizontal flip or 'v' for vertical.
319
+ *
320
+ * @return Editor
321
+ * @throws \Exception
322
+ */
323
+ public function flip($mode){
324
+ $this->_imageCheck();
325
+ $this->image = $this->_flip($this->image, $mode);
326
+ return $this;
327
+ }
328
+
329
+ /**
330
+ * Free the current image clearing resources associated with it.
331
+ */
332
+ public function free()
333
+ {
334
+ if (null !== $this->image) {
335
+ if (null !== $this->image->getCore()) {
336
+ imagedestroy($this->image->getCore());
337
+ }
338
+ }
339
+ $this->image = null;
340
+ }
341
+
342
+ /**
343
+ * Convert alpha value of 0 - 1 to GD compatible alpha value of 0 - 127 where 0 is opaque and 127 is transparent
344
+ *
345
+ * @param float $alpha Alpha value of 0 - 1. Example: 0, 0.60, 0.9, 1
346
+ *
347
+ * @return int
348
+ */
349
+ public static function gdAlpha($alpha)
350
+ {
351
+
352
+ $scale = round(127 * $alpha);
353
+
354
+ return $invert = 127 - $scale;
355
+ }
356
+
357
+ /**
358
+ * Get image instance.
359
+ *
360
+ * @param bool $byRef True to return image by reference or false to return a copy. Defaults to copy.
361
+ *
362
+ * @return Image
363
+ */
364
+ public function getImage($byRef=false)
365
+ {
366
+ $this->_imageCheck();
367
+ if($byRef){
368
+ return $this->image;
369
+ }
370
+ return clone $this->image;
371
+ }
372
+
373
+ /**
374
+ * Checks if the editor is available on the current PHP install.
375
+ *
376
+ * @return bool True if available false if not.
377
+ */
378
+ public function isAvailable()
379
+ {
380
+ if (false === extension_loaded('gd') || false === function_exists('gd_info')) {
381
+ return false;
382
+ }
383
+
384
+ // On some setups GD library does not provide imagerotate()
385
+ if ( ! function_exists('imagerotate')) {
386
+
387
+ return false;
388
+ }
389
+
390
+ return true;
391
+ }
392
+
393
+ /**
394
+ * Sets the image to the specified opacity level where 1.0 is fully opaque and 0.0 is fully transparent.
395
+ * Warning: This function loops thru each pixel manually which can be slow. Use sparingly.
396
+ *
397
+ * @param float $opacity
398
+ *
399
+ * @return Editor
400
+ * @throws \Exception
401
+ */
402
+ public function opacity($opacity)
403
+ {
404
+
405
+ $this->_imageCheck();
406
+
407
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
408
+ return $this;
409
+ }
410
+
411
+ // Bounds checks
412
+ $opacity = ($opacity > 1) ? 1 : $opacity;
413
+ $opacity = ($opacity < 0) ? 0 : $opacity;
414
+
415
+ for ($y = 0; $y < $this->image->getHeight(); $y++) {
416
+ for ($x = 0; $x < $this->image->getWidth(); $x++) {
417
+ $rgb = imagecolorat($this->image->getCore(), $x, $y);
418
+ $alpha = ($rgb >> 24) & 0x7F; // 127 in hex. These are binary operations.
419
+ $r = ($rgb >> 16) & 0xFF;
420
+ $g = ($rgb >> 8) & 0xFF;
421
+ $b = $rgb & 0xFF;
422
+
423
+ // Reverse alpha values from 127-0 (transparent to opaque) to 0-127 for easy math
424
+ // Previously: 0 = opaque, 127 = transparent.
425
+ // Now: 0 = transparent, 127 = opaque
426
+ $reverse = 127 - $alpha;
427
+ $reverse = round($reverse * $opacity);
428
+
429
+ if ($alpha < 127) { // Process non transparent pixels only
430
+ imagesetpixel($this->image->getCore(), $x, $y,
431
+ imagecolorallocatealpha($this->image->getCore(), $r, $g, $b, 127 - $reverse));
432
+ }
433
+ }
434
+ }
435
+
436
+ return $this;
437
+ }
438
+
439
+ /**
440
+ * Opens an image file for manipulation specified by $target.
441
+ *
442
+ * @param mixed $target Can be an instance of Image or a string containing file system path to the image.
443
+ *
444
+ * @return Editor
445
+ * @throws \Exception
446
+ */
447
+ public function open($target)
448
+ {
449
+ if ($target instanceof ImageInterface) {
450
+ $this->openImage($target);
451
+ } else if (is_string($target)) {
452
+ $this->openFile($target);
453
+ } else {
454
+ throw new \Exception('Could not open image.');
455
+ }
456
+
457
+ return $this;
458
+ }
459
+
460
+ /**
461
+ * Open an image by passing an instance of Image.
462
+ *
463
+ * @param ImageInterface $image
464
+ *
465
+ * @return $this
466
+ */
467
+ public function openImage($image)
468
+ {
469
+ $this->image = $image;
470
+
471
+ return $this;
472
+ }
473
+
474
+ /**
475
+ * Open an image by passing a file system path.
476
+ *
477
+ * @param string $file A full path to the image in the file system.
478
+ *
479
+ * @return $this
480
+ * @throws \Exception
481
+ */
482
+ public function openFile($file)
483
+ {
484
+ $this->image = Image::createFromFile($file);
485
+
486
+ return $this;
487
+ }
488
+
489
+ /**
490
+ * Overlay an image on top of the current image.
491
+ *
492
+ * @param Image|string $overlay Can be a string containing a file path of the image to overlay or an Image object.
493
+ * @param string|int $xPos Horizontal position of image. Can be 'left','center','right' or integer number. Defaults to 'center'.
494
+ * @param string|int $yPos Vertical position of image. Can be 'top', 'center','bottom' or integer number. Defaults to 'center'.
495
+ * @param null $width
496
+ * @param null $height
497
+ *
498
+ * @return Editor
499
+ * @throws \Exception
500
+ */
501
+ public function overlay($overlay, $xPos = 'center', $yPos = 'center', $width = null, $height = null)
502
+ {
503
+
504
+ $this->_imageCheck();
505
+
506
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
507
+ return $this;
508
+ }
509
+
510
+ if (is_string($overlay)) { // If string passed, turn it into a Image object
511
+ $overlay = Image::createFromFile($overlay);
512
+ }
513
+
514
+ // Resize overlay
515
+ if ($width and $height) {
516
+
517
+ $overlayWidth = $overlay->getWidth();
518
+ $overlayHeight = $overlay->getHeight();
519
+
520
+ if (is_numeric($width)) {
521
+ $overlayWidth = (int)$width;
522
+ } else {
523
+ $percent = strpos($width, '%');
524
+ if (false !== $percent) {
525
+ $overlayWidth = intval($width) / 100 * $this->image->getWidth();
526
+ }
527
+ }
528
+
529
+ if (is_numeric($height)) {
530
+ $overlayHeight = (int)$height;
531
+ } else {
532
+ $percent = strpos($height, '%');
533
+ if (false !== $percent) {
534
+ $overlayHeight = intval($height) / 100 * $this->image->getHeight();
535
+ }
536
+ }
537
+
538
+ $editor = new Editor();
539
+ $editor->setImage($overlay);
540
+ $editor->resizeFit($overlayWidth, $overlayHeight);
541
+ $overlay = $editor->getImage();
542
+ }
543
+
544
+ //$x = $y = 0;
545
+
546
+ if (is_string($xPos)) {
547
+ // Compute position from string
548
+ switch ($xPos) {
549
+ case 'left':
550
+ $x = 0;
551
+ break;
552
+
553
+ case 'right':
554
+ $x = $this->image->getWidth() - $overlay->getWidth();
555
+ break;
556
+
557
+ case 'center':
558
+ default:
559
+ $x = (int)round(($this->image->getWidth() / 2) - ($overlay->getWidth() / 2));
560
+ break;
561
+ }
562
+ } else {
563
+ $x = $xPos;
564
+ }
565
+
566
+ if (is_string($yPos)) {
567
+ switch ($yPos) {
568
+ case 'top':
569
+ $y = 0;
570
+ break;
571
+
572
+ case 'bottom':
573
+ $y = $this->image->getHeight() - $overlay->getHeight();
574
+ break;
575
+
576
+ case 'center':
577
+ default:
578
+ $y = (int)round(($this->image->getHeight() / 2) - ($overlay->getHeight() / 2));
579
+ break;
580
+ }
581
+ } else {
582
+ $y = $yPos;
583
+ }
584
+
585
+ imagecopyresampled(
586
+ $this->image->getCore(), // Base image
587
+ $overlay->getCore(), // Overlay
588
+ (int)$x, // Overlay x position
589
+ (int)$y, // Overlay y position
590
+ 0,
591
+ 0,
592
+ $overlay->getWidth(), // Overlay final width
593
+ $overlay->getHeight(), // Overlay final height
594
+ $overlay->getWidth(), // Overlay source width
595
+ $overlay->getHeight() // Overlay source height
596
+ );
597
+
598
+ return $this;
599
+
600
+ }
601
+
602
+ /**
603
+ * Wrapper function for the resizeXXX family of functions. Resize image given width, height and mode.
604
+ *
605
+ * @param int $newWidth Width in pixels.
606
+ * @param int $newHeight Height in pixels.
607
+ * @param string $mode Resize mode. Possible values: "exact", "exactHeight", "exactWidth", "fill", "fit".
608
+ *
609
+ * @return Editor
610
+ * @throws \Exception
611
+ */
612
+ public function resize($newWidth, $newHeight, $mode = 'fit')
613
+ {
614
+ /*
615
+ * Resize formula:
616
+ * ratio = w / h
617
+ * h = w / ratio
618
+ * w = h * ratio
619
+ */
620
+ switch ($mode) {
621
+ case 'exact':
622
+ $this->resizeExact($newWidth, $newHeight);
623
+ break;
624
+ case 'fill':
625
+ $this->resizeFill($newWidth, $newHeight);
626
+ break;
627
+ case 'exactWidth':
628
+ $this->resizeExactWidth($newWidth);
629
+ break;
630
+ case 'exactHeight':
631
+ $this->resizeExactHeight($newHeight);
632
+ break;
633
+ case 'fit':
634
+ $this->resizeFit($newWidth, $newHeight);
635
+ break;
636
+ default:
637
+ throw new \Exception(sprintf('Invalid resize mode "%s".', $mode));
638
+ }
639
+
640
+ return $this;
641
+ }
642
+
643
+ /**
644
+ * Resize image to exact dimensions ignoring aspect ratio. Useful if you want to force exact width and height.
645
+ *
646
+ * @param int $newWidth Width in pixels.
647
+ * @param int $newHeight Height in pixels.
648
+ *
649
+ * @return Editor
650
+ */
651
+ public function resizeExact($newWidth, $newHeight)
652
+ {
653
+
654
+ $this->_resize($newWidth, $newHeight);
655
+
656
+ return $this;
657
+ }
658
+
659
+ /**
660
+ * Resize image to exact height. Width is auto calculated. Useful for creating row of images with the same height.
661
+ *
662
+ * @param int $newHeight Height in pixels.
663
+ *
664
+ * @return Editor
665
+ */
666
+ public function resizeExactHeight($newHeight)
667
+ {
668
+
669
+ $width = $this->image->getWidth();
670
+ $height = $this->image->getHeight();
671
+ $ratio = $width / $height;
672
+
673
+ $resizeHeight = $newHeight;
674
+ $resizeWidth = $newHeight * $ratio;
675
+
676
+ $this->_resize($resizeWidth, $resizeHeight);
677
+
678
+ return $this;
679
+ }
680
+
681
+ /**
682
+ * Resize image to exact width. Height is auto calculated. Useful for creating column of images with the same width.
683
+ *
684
+ * @param int $newWidth Width in pixels.
685
+ *
686
+ * @return Editor
687
+ */
688
+ public function resizeExactWidth($newWidth)
689
+ {
690
+
691
+ $width = $this->image->getWidth();
692
+ $height = $this->image->getHeight();
693
+ $ratio = $width / $height;
694
+
695
+ $resizeWidth = $newWidth;
696
+ $resizeHeight = round($newWidth / $ratio);
697
+
698
+ $this->_resize($resizeWidth, $resizeHeight);
699
+
700
+ return $this;
701
+ }
702
+
703
+ /**
704
+ * Resize image to fill all the space in the given dimension. Excess parts are cropped.
705
+ *
706
+ * @param int $newWidth Width in pixels.
707
+ * @param int $newHeight Height in pixels.
708
+ *
709
+ * @return Editor
710
+ */
711
+ public function resizeFill($newWidth, $newHeight)
712
+ {
713
+ $width = $this->image->getWidth();
714
+ $height = $this->image->getHeight();
715
+ $ratio = $width / $height;
716
+
717
+ // Base optimum size on new width
718
+ $optimumWidth = $newWidth;
719
+ $optimumHeight = round($newWidth / $ratio);
720
+
721
+ if (($optimumWidth < $newWidth) or ($optimumHeight < $newHeight)) { // Oops, where trying to fill and there are blank areas
722
+ // So base optimum size on height instead
723
+ $optimumWidth = $newHeight * $ratio;
724
+ $optimumHeight = $newHeight;
725
+ }
726
+
727
+ $this->_resize($optimumWidth, $optimumHeight);
728
+ $this->crop($newWidth, $newHeight); // Trim excess parts
729
+
730
+ return $this;
731
+ }
732
+
733
+ /**
734
+ * Resize image to fit inside the given dimension. No part of the image is lost.
735
+ *
736
+ * @param int $newWidth Width in pixels.
737
+ * @param int $newHeight Height in pixels.
738
+ *
739
+ * @return Editor
740
+ */
741
+ public function resizeFit($newWidth, $newHeight)
742
+ {
743
+
744
+ $width = $this->image->getWidth();
745
+ $height = $this->image->getHeight();
746
+ $ratio = $width / $height;
747
+
748
+ // Try basing it on width first
749
+ $resizeWidth = $newWidth;
750
+ $resizeHeight = round($newWidth / $ratio);
751
+
752
+ if (($resizeWidth > $newWidth) or ($resizeHeight > $newHeight)) { // Oops, either with or height does not fit
753
+ // So base on height instead
754
+ $resizeHeight = $newHeight;
755
+ $resizeWidth = $newHeight * $ratio;
756
+ }
757
+
758
+ $this->_resize($resizeWidth, $resizeHeight);
759
+
760
+ return $this;
761
+ }
762
+
763
+ /**
764
+ * Rotate an image counter-clockwise.
765
+ *
766
+ * @param int $angle The angle in degrees.
767
+ * @param Color|null $color The Color object containing the background color.
768
+ *
769
+ * @return EditorInterface An instance of image editor.
770
+ * @throws \Exception
771
+ */
772
+ public function rotate($angle, $color = null)
773
+ {
774
+
775
+ $this->_imageCheck();
776
+
777
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
778
+ return $this;
779
+ }
780
+
781
+ $color = ($color !== null) ? $color : new Color('#000000');
782
+ list($r, $g, $b, $alpha) = $color->getRgba();
783
+
784
+ $new = imagerotate($this->image->getCore(), $angle, imagecolorallocatealpha($this->image->getCore(), $r, $g, $b, $alpha));
785
+
786
+ if(false === $new){
787
+ throw new \Exception('Error rotating image.');
788
+ }
789
+
790
+ $this->image = new Image( $new, $this->image->getImageFile(), $this->image->getWidth(), $this->image->getHeight(), $this->image->getType() );
791
+
792
+ return $this;
793
+ }
794
+
795
+ /**
796
+ * Save the image to an image format.
797
+ *
798
+ * @param string $file File path where to save the image.
799
+ * @param null|string $type Type of image. Can be null, "GIF", "PNG", or "JPEG".
800
+ * @param null|string $quality Quality of image. Applies to JPEG only. Accepts number 0 - 100 where 0 is lowest and 100 is the highest quality. Or null for default.
801
+ * @param bool|false $interlace Set to true for progressive JPEG. Applies to JPEG only.
802
+ * @param int $permission Default permission when creating non-existing target directory.
803
+ *
804
+ * @return Editor
805
+ * @throws \Exception
806
+ */
807
+ public function save($file, $type = null, $quality = null, $interlace = false, $permission = 0755)
808
+ {
809
+
810
+ $this->_imageCheck();
811
+
812
+ if (null === $type) {
813
+
814
+ $type = $this->_getImageTypeFromFileName($file); // Null given, guess type from file extension
815
+ if (ImageType::UNKNOWN === $type) {
816
+ $type = $this->image->getType(); // 0 result, use original image type
817
+ }
818
+ }
819
+
820
+ $targetDir = dirname($file); // $file's directory
821
+ if (false === is_dir($targetDir)) { // Check if $file's directory exist
822
+ // Create and set default perms to 0755
823
+ if ( ! mkdir($targetDir, $permission, true)) {
824
+ throw new \Exception(sprintf('Cannot create %s', $targetDir));
825
+ }
826
+ }
827
+
828
+ switch (strtoupper($type)) {
829
+ case ImageType::GIF :
830
+ if($this->image->isAnimated()){
831
+ $blocks = $this->image->getBlocks();
832
+ $gift = new GifHelper();
833
+ $hex = $gift->encode($blocks);
834
+ file_put_contents($file, pack('H*', $hex));
835
+ } else {
836
+ imagegif($this->image->getCore(), $file);
837
+ }
838
+
839
+ break;
840
+
841
+ case ImageType::PNG :
842
+ // PNG is lossless and does not need compression. Although GD allow values 0-9 (0 = no compression), we leave it alone.
843
+ imagepng($this->image->getCore(), $file);
844
+ break;
845
+
846
+ default: // Defaults to jpeg
847
+ $quality = ($quality === null) ? 75 : $quality; // Default to 75 (GDs default) if null.
848
+ $quality = ($quality > 100) ? 100 : $quality;
849
+ $quality = ($quality < 0) ? 0 : $quality;
850
+ imageinterlace($this->image->getCore(), $interlace);
851
+ imagejpeg($this->image->getCore(), $file, $quality);
852
+ }
853
+
854
+ return $this;
855
+ }
856
+
857
+ /**
858
+ * Set image instance.
859
+ *
860
+ * @param Image $image
861
+ */
862
+ public function setImage($image)
863
+ {
864
+ $this->image = $image;
865
+ }
866
+
867
+ /**
868
+ * Write text to image.
869
+ *
870
+ * @param string $text The text to be written.
871
+ * @param int $size The font size. Defaults to 12.
872
+ * @param int $x The distance from the left edge of the image to the left of the text. Defaults to 0.
873
+ * @param int $y The distance from the top edge of the image to the top of the text. Defaults to 12 (equal to font size) so that the text is placed within the image.
874
+ * @param Color $color The Color object. Default text color is black.
875
+ * @param string $font Full path to font file. If blank, will default to Liberation Sans font.
876
+ * @param int $angle Angle of text from 0 - 359. Defaults to 0.
877
+ *
878
+ * @return EditorInterface
879
+ * @throws \Exception
880
+ */
881
+ public function text($text, $size = 12, $x = 0, $y = 0, $color = null, $font = '', $angle = 0)
882
+ {
883
+
884
+ $this->_imageCheck();
885
+
886
+ if ($this->image->isAnimated()) { // Ignore animated GIF for now
887
+ return $this;
888
+ }
889
+
890
+ $y += $size;
891
+
892
+ $color = ($color !== null) ? $color : new Color('#000000');
893
+ $font = ($font !== '') ? $font : Grafika::fontsDir() . DIRECTORY_SEPARATOR . 'LiberationSans-Regular.ttf';
894
+
895
+ list($r, $g, $b, $alpha) = $color->getRgba();
896
+
897
+ $colorResource = imagecolorallocatealpha(
898
+ $this->image->getCore(),
899
+ $r, $g, $b,
900
+ $this->gdAlpha($alpha)
901
+ );
902
+
903
+ imagettftext(
904
+ $this->image->getCore(),
905
+ $size,
906
+ $angle,
907
+ $x,
908
+ $y,
909
+ $colorResource,
910
+ $font,
911
+ $text
912
+ );
913
+
914
+ return $this;
915
+ }
916
+
917
+ /**
918
+ * Get histogram from an entire image or its sub-region of image.
919
+ *
920
+ * @param array|null $slice Array of slice information. array( array( 0,0), array(100,50)) means x,y is 0,0 and width,height is 100,50
921
+ *
922
+ * @return array Returns array containing RGBA bins array('r'=>array(), 'g'=>array(), 'b'=>array(), 'a'=>array())
923
+ */
924
+ function histogram($slice = null)
925
+ {
926
+ $this->_imageCheck();
927
+ $gd = $this->image->getCore();
928
+
929
+ if(null === $slice){
930
+ $sliceX = 0;
931
+ $sliceY = 0;
932
+ $sliceW = $this->image->getWidth();
933
+ $sliceH = $this->image->getHeight();
934
+ } else {
935
+ $sliceX = $slice[0][0];
936
+ $sliceY = $slice[0][1];
937
+ $sliceW = $slice[1][0];
938
+ $sliceH = $slice[1][1];
939
+ }
940
+
941
+
942
+ $rBin = array();
943
+ $gBin = array();
944
+ $bBin = array();
945
+ $aBin = array();
946
+ for ($y = $sliceY; $y < $sliceY+$sliceH; $y++) {
947
+ for ($x = $sliceX; $x < $sliceX+$sliceW; $x++) {
948
+ $rgb = imagecolorat($gd, $x, $y);
949
+ $a = ($rgb >> 24) & 0x7F; // 127 in hex. These are binary operations.
950
+ $r = ($rgb >> 16) & 0xFF;
951
+ $g = ($rgb >> 8) & 0xFF;
952
+ $b = $rgb & 0xFF;
953
+
954
+ if ( ! isset($rBin[$r])) {
955
+ $rBin[$r] = 1;
956
+ } else {
957
+ $rBin[$r]++;
958
+ }
959
+
960
+ if ( ! isset($gBin[$g])) {
961
+ $gBin[$g] = 1;
962
+ } else {
963
+ $gBin[$g]++;
964
+ }
965
+
966
+ if ( ! isset($bBin[$b])) {
967
+ $bBin[$b] = 1;
968
+ } else {
969
+ $bBin[$b]++;
970
+ }
971
+
972
+ if ( ! isset($aBin[$a])) {
973
+ $aBin[$a] = 1;
974
+ } else {
975
+ $aBin[$a]++;
976
+ }
977
+ }
978
+ }
979
+ return array(
980
+ 'r' => $rBin,
981
+ 'g' => $gBin,
982
+ 'b' => $bBin,
983
+ 'a' => $aBin
984
+ );
985
+ }
986
+
987
+ /**
988
+ * Calculate entropy based on histogram.
989
+ *
990
+ * @param $hist
991
+ *
992
+ * @return float|int
993
+ */
994
+ function entropy($hist){
995
+ $entropy = 0;
996
+ $hist_size = array_sum($hist['r']) + array_sum($hist['g']) + array_sum($hist['b']);
997
+ foreach($hist['r'] as $p){
998
+ $p = $p / $hist_size;
999
+ $entropy += $p * log($p, 2);
1000
+ }
1001
+ foreach($hist['g'] as $p){
1002
+ $p = $p / $hist_size;
1003
+ $entropy += $p * log($p, 2);
1004
+ }
1005
+ foreach($hist['b'] as $p){
1006
+ $p = $p / $hist_size;
1007
+ $entropy += $p * log($p, 2);
1008
+ }
1009
+ return $entropy * -1;
1010
+ }
1011
+
1012
+ /**
1013
+ * Flips image.
1014
+ * @param Image $image
1015
+ * @param $mode
1016
+ *
1017
+ * @return Image
1018
+ * @throws \Exception
1019
+ */
1020
+ private function _flip($image, $mode)
1021
+ {
1022
+ $old = $image->getCore();
1023
+ $w = $image->getWidth();
1024
+ $h = $image->getHeight();
1025
+ if ($mode === 'h') {
1026
+ $new = imagecreatetruecolor($w, $h);
1027
+ for ($x = 0; $x < $w; $x++) {
1028
+ imagecopy($new, $old, $w - $x - 1, 0, $x, 0, 1, $h);
1029
+ }
1030
+ imagedestroy($old); // Free resource
1031
+ return new Image(
1032
+ $new,
1033
+ $image->getImageFile(),
1034
+ $w,
1035
+ $h,
1036
+ $image->getType(),
1037
+ $image->getBlocks(),
1038
+ $image->isAnimated()
1039
+ );
1040
+ } else if ($mode === 'v') {
1041
+ $new = imagecreatetruecolor($w, $h);
1042
+ for ($y = 0; $y < $h; $y++) {
1043
+ imagecopy($new, $old, 0, $h - $y - 1, 0, $y, $w, 1);
1044
+ }
1045
+ imagedestroy($old); // Free resource
1046
+ return new Image(
1047
+ $new,
1048
+ $image->getImageFile(),
1049
+ $w,
1050
+ $h,
1051
+ $image->getType(),
1052
+ $image->getBlocks(),
1053
+ $image->isAnimated()
1054
+ );
1055
+ } else {
1056
+ throw new \Exception(sprintf('Unsupported mode "%s"', $mode));
1057
+ }
1058
+ }
1059
+
1060
+ /**
1061
+ * Get image type base on file extension.
1062
+ *
1063
+ * @param int $imageFile File path to image.
1064
+ *
1065
+ * @return ImageType string Type of image.
1066
+ */
1067
+ private function _getImageTypeFromFileName($imageFile)
1068
+ {
1069
+ $ext = strtolower((string)pathinfo($imageFile, PATHINFO_EXTENSION));
1070
+
1071
+ if ('jpg' === $ext or 'jpeg' === $ext) {
1072
+ return ImageType::JPEG;
1073
+ } else if ('gif' === $ext) {
1074
+ return ImageType::GIF;
1075
+ } else if ('png' === $ext) {
1076
+ return ImageType::PNG;
1077
+ } else if ('wbm' === $ext or 'wbmp' === $ext) {
1078
+ return ImageType::WBMP;
1079
+ } else {
1080
+ return ImageType::UNKNOWN;
1081
+ }
1082
+ }
1083
+
1084
+ /**
1085
+ * Check if editor has already been assigned an image.
1086
+ *
1087
+ * @throws \Exception
1088
+ */
1089
+ private function _imageCheck()
1090
+ {
1091
+ if (null === $this->image) {
1092
+ throw new \Exception('No image to edit.');
1093
+ }
1094
+ }
1095
+
1096
+ /**
1097
+ * Resize helper function.
1098
+ *
1099
+ * @param int $newWidth
1100
+ * @param int $newHeight
1101
+ * @param int $targetX
1102
+ * @param int $targetY
1103
+ * @param int $srcX
1104
+ * @param int $srcY
1105
+ *
1106
+ * @throws \Exception
1107
+ */
1108
+ private function _resize($newWidth, $newHeight, $targetX = 0, $targetY = 0, $srcX = 0, $srcY = 0)
1109
+ {
1110
+
1111
+ $this->_imageCheck();
1112
+
1113
+ if ($this->image->isAnimated()) { // Animated GIF
1114
+ $gift = new GifHelper();
1115
+ $blocks = $gift->resize($this->image->getBlocks(), $newWidth, $newHeight);
1116
+ // Resize image instance
1117
+ $this->image = new Image(
1118
+ $this->image->getCore(),
1119
+ $this->image->getImageFile(),
1120
+ $newWidth,
1121
+ $newHeight,
1122
+ $this->image->getType(),
1123
+ $blocks,
1124
+ true
1125
+ );
1126
+ } else {
1127
+
1128
+ // Create blank image
1129
+ $newImage = Image::createBlank($newWidth, $newHeight);
1130
+
1131
+ if (ImageType::PNG === $this->image->getType()) {
1132
+ // Preserve PNG transparency
1133
+ $newImage->fullAlphaMode(true);
1134
+ }
1135
+
1136
+ imagecopyresampled(
1137
+ $newImage->getCore(),
1138
+ $this->image->getCore(),
1139
+ $targetX,
1140
+ $targetY,
1141
+ $srcX,
1142
+ $srcY,
1143
+ $newWidth,
1144
+ $newHeight,
1145
+ $this->image->getWidth(),
1146
+ $this->image->getHeight()
1147
+ );
1148
+
1149
+ // Free memory of old resource
1150
+ imagedestroy($this->image->getCore());
1151
+
1152
+ // Resize image instance
1153
+ $this->image = new Image(
1154
+ $newImage->getCore(),
1155
+ $this->image->getImageFile(),
1156
+ $newWidth,
1157
+ $newHeight,
1158
+ $this->image->getType()
1159
+ );
1160
+
1161
+ }
1162
+ }
1163
+
1164
+ /**
1165
+ * Crop based on entropy.
1166
+ *
1167
+ * @param $cropW
1168
+ * @param $cropH
1169
+ *
1170
+ * @return array
1171
+ */
1172
+ private function _smartCrop($cropW, $cropH){
1173
+ $image = clone $this->image;
1174
+
1175
+ $editor = new Editor();
1176
+ $editor->setImage($image);
1177
+ $editor->resizeFit(30, 30);
1178
+
1179
+ $origW = $this->getImage()->getWidth();
1180
+ $origH = $this->getImage()->getHeight();
1181
+ $resizeW = $editor->getImage()->getWidth();
1182
+ $resizeH = $editor->getImage()->getHeight();
1183
+
1184
+ $smallCropW = round(($resizeW / $origW) * $cropW);
1185
+ $smallCropH = round(($resizeH / $origH) * $cropH);
1186
+
1187
+ $step = 1;
1188
+
1189
+ for($y = 0; $y < $resizeH-$smallCropH; $y+=$step){
1190
+ for($x = 0; $x < $resizeW-$smallCropW; $x+=$step){
1191
+ $hist[$x.'-'.$y] = $this->entropy($editor->histogram(array(array($x, $y), array($smallCropW, $smallCropH))));
1192
+ }
1193
+ if($resizeW-$smallCropW <= 0){
1194
+ $hist['0-'.$y] = $this->entropy($editor->histogram(array(array(0, 0), array($smallCropW, $smallCropH))));
1195
+ }
1196
+ }
1197
+ if($resizeH-$smallCropH <= 0){
1198
+ $hist['0-0'] = $this->entropy($editor->histogram(array(array(0, 0), array($smallCropW, $smallCropH))));
1199
+ }
1200
+
1201
+ asort($hist);
1202
+ end($hist);
1203
+ $pos = key($hist); // last key
1204
+ list($x, $y) = explode('-', $pos);
1205
+ $x = round($x*($origW / $resizeW));
1206
+ $y = round($y*($origH / $resizeH));
1207
+
1208
+ return array($x,$y);
1209
+ }
1210
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Blur.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Blurs the image.
10
+ */
11
+ class Blur implements FilterInterface
12
+ {
13
+
14
+ /**
15
+ * @var int
16
+ */
17
+ protected $amount;
18
+
19
+ /**
20
+ * Blur constructor.
21
+ * @param int $amount The amount of blur to apply. Possible values 1-100.
22
+ */
23
+ public function __construct($amount = 1)
24
+ {
25
+ $this->amount = (int) $amount;
26
+ }
27
+
28
+ /**
29
+ * @param Image $image
30
+ *
31
+ * @return Image
32
+ */
33
+ public function apply($image)
34
+ {
35
+ for ($i=0; $i < $this->amount; $i++) {
36
+ imagefilter($image->getCore(), IMG_FILTER_GAUSSIAN_BLUR);
37
+ }
38
+ return $image;
39
+ }
40
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Brightness.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Change the image brightness.
10
+ *
11
+ * TODO: param checks
12
+ */
13
+ class Brightness implements FilterInterface{
14
+
15
+ /**
16
+ * @var int
17
+ */
18
+ protected $amount; // -100 >= 0 >= 100
19
+
20
+ /**
21
+ * Brightness constructor.
22
+ * @param int $amount The amount of brightness to apply. >= -100 and <= -1 to darken. 0 for no change. >= 1 and <= 100 to brighten.
23
+ */
24
+ public function __construct($amount)
25
+ {
26
+ $this->amount = (int) $amount;
27
+ }
28
+
29
+ /**
30
+ * @param Image $image
31
+ *
32
+ * @return Image
33
+ */
34
+ public function apply( $image ) {
35
+ imagefilter($image->getCore(), IMG_FILTER_BRIGHTNESS, ($this->amount * 2.55));
36
+ return $image;
37
+ }
38
+
39
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Colorize.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Change the values for red, green and blue in an image.
10
+ */
11
+ class Colorize implements FilterInterface{
12
+
13
+ /**
14
+ * @var int
15
+ */
16
+ protected $red; // -100 >= 0 >= 100
17
+ /**
18
+ * @var int
19
+ */
20
+ protected $green; // -100 >= 0 >= 100
21
+ /**
22
+ * @var int
23
+ */
24
+ protected $blue; // -100 >= 0 >= 100
25
+
26
+ /**
27
+ * Colorize constructor.
28
+ * @param int $red The amount of red colors. >= -100 and <= -1 to reduce. 0 for no change. >= 1 and <= 100 to add.
29
+ * @param int $green The amount of green colors. >= -100 and <= -1 to reduce. 0 for no change. >= 1 and <= 100 to add.
30
+ * @param int $blue The amount of blue colors. >= -100 and <= -1 to reduce. 0 for no change. >= 1 and <= 100 to add.
31
+ */
32
+ public function __construct($red, $green, $blue)
33
+ {
34
+ $this->red = round($red * 2.55);
35
+ $this->green = round($green * 2.55);
36
+ $this->blue = round($blue * 2.55);
37
+ }
38
+
39
+ /**
40
+ * @param Image $image
41
+ *
42
+ * @return Image
43
+ */
44
+ public function apply( $image ) {
45
+
46
+ imagefilter($image->getCore(), IMG_FILTER_COLORIZE, $this->red, $this->green, $this->blue);
47
+ return $image;
48
+ }
49
+
50
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Contrast.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Change the contrast of an image. Contrast is the difference in luminance or colour that makes an object distinguishable.
10
+ */
11
+ class Contrast implements FilterInterface{
12
+
13
+ /**
14
+ * @var int
15
+ */
16
+ protected $amount; // -100 >= 0 >= 100
17
+
18
+ /**
19
+ * Contrast constructor.
20
+ * @param int $amount The amount of contrast to apply. >= -100 and <= -1 to reduce. 0 for no change. >= 1 and <= 100 to increase.
21
+ */
22
+ public function __construct($amount)
23
+ {
24
+ $this->amount = (int) $amount;
25
+ }
26
+
27
+ /**
28
+ * @param Image $image
29
+ *
30
+ * @return Image
31
+ */
32
+ public function apply( $image ) {
33
+
34
+ imagefilter($image->getCore(), IMG_FILTER_CONTRAST, ($this->amount * -1));
35
+ return $image;
36
+ }
37
+
38
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Dither.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Dither image using Floyd-Steinberg algorithm. Dithering will reduce the color to black and white and add noise.
10
+ */
11
+ class Dither implements FilterInterface{
12
+ /**
13
+ * Dither an image.
14
+ */
15
+ public function __construct()
16
+ {
17
+ }
18
+
19
+
20
+ /**
21
+ * @param Image $image
22
+ *
23
+ * @return Image
24
+ */
25
+ public function apply( $image ) {
26
+ return $this->floydSteinberg( $image );
27
+ }
28
+
29
+ /**
30
+ * @param Image $image
31
+ *
32
+ * @return Image
33
+ */
34
+ private function floydSteinberg( $image ){
35
+ $pixel = array();
36
+
37
+ // Localize vars
38
+ $width = $image->getWidth();
39
+ $height = $image->getHeight();
40
+ $old = $image->getCore();
41
+
42
+ $new = imagecreatetruecolor($width, $height);
43
+
44
+ for ( $y = 0; $y < $height; $y+=1 ) {
45
+ for ( $x = 0; $x < $width; $x+=1 ) {
46
+
47
+ $color = imagecolorat( $old, $x, $y );
48
+ $r = ($color >> 16) & 0xFF;
49
+ $g = ($color >> 8) & 0xFF;
50
+ $b = $color & 0xFF;
51
+
52
+ $gray = round($r * 0.3 + $g * 0.59 + $b * 0.11);
53
+
54
+ if(isset($pixel[$x][$y])){ // Add errors to color if there are
55
+ $gray += $pixel[$x][$y];
56
+ }
57
+
58
+ if ( $gray <= 127 ) { // Determine if black or white. Also has the benefit of clipping excess val due to adding the error
59
+ $blackOrWhite = 0;
60
+ } else {
61
+ $blackOrWhite = 255;
62
+ }
63
+
64
+ $oldPixel = $gray;
65
+ $newPixel = $blackOrWhite;
66
+
67
+ // Current pixel
68
+ imagesetpixel( $new, $x, $y,
69
+ imagecolorallocate( $new,
70
+ $newPixel,
71
+ $newPixel,
72
+ $newPixel
73
+ )
74
+ );
75
+
76
+ $qError = $oldPixel - $newPixel; // Quantization error
77
+
78
+ // Propagate error on neighbor pixels
79
+ if ( $x + 1 < $width ) {
80
+ $pixel[$x+1][$y] = (isset($pixel[$x+1][$y]) ? $pixel[$x+1][$y] : 0) + ($qError * (7 / 16));
81
+ }
82
+
83
+ if ( $x - 1 > 0 and $y + 1 < $height ) {
84
+ $pixel[$x-1][$y+1] = (isset($pixel[$x-1][$y+1]) ? $pixel[$x-1][$y+1] : 0) + ($qError * (3 / 16));
85
+ }
86
+
87
+ if ( $y + 1 < $height ) {
88
+ $pixel[$x][$y+1] = (isset($pixel[$x][$y+1]) ? $pixel[$x][$y+1] : 0) + ($qError * (5 / 16));
89
+ }
90
+
91
+ if ( $x + 1 < $width and $y + 1 < $height ) {
92
+ $pixel[$x+1][$y+1] = (isset($pixel[$x+1][$y+1]) ? $pixel[$x+1][$y+1] : 0) + ($qError * (1 / 16));
93
+ }
94
+
95
+ }
96
+ }
97
+
98
+ imagedestroy($old); // Free resource
99
+ // Create new image with updated core
100
+ return new Image(
101
+ $new,
102
+ $image->getImageFile(),
103
+ $width,
104
+ $height,
105
+ $image->getType()
106
+ );
107
+ }
108
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Gamma.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Performs a gamma correction on an image.
10
+ */
11
+ class Gamma implements FilterInterface{
12
+
13
+ /**
14
+ * @var float
15
+ */
16
+ protected $amount; // >= 1.0
17
+
18
+ /**
19
+ * Gamma constructor.
20
+ * @param float $amount The amount of gamma correction to apply. >= 1.0
21
+ */
22
+ public function __construct($amount)
23
+ {
24
+ $this->amount = (float) $amount;
25
+ }
26
+
27
+ /**
28
+ * @param Image $image
29
+ *
30
+ * @return Image
31
+ */
32
+ public function apply( $image ) {
33
+
34
+ imagegammacorrect($image->getCore(), 1, $this->amount);
35
+ return $image;
36
+ }
37
+
38
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Grayscale.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Turn image into grayscale.
10
+ */
11
+ class Grayscale implements FilterInterface{
12
+
13
+ /**
14
+ * @param Image $image
15
+ *
16
+ * @return Image
17
+ */
18
+ public function apply( $image ) {
19
+ imagefilter($image->getCore(), IMG_FILTER_GRAYSCALE);
20
+ return $image;
21
+ }
22
+
23
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Invert.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Invert the image colors.
10
+ */
11
+ class Invert implements FilterInterface{
12
+
13
+ /**
14
+ * @param Image $image
15
+ *
16
+ * @return Image
17
+ */
18
+ public function apply( $image ) {
19
+
20
+ imagefilter($image->getCore(), IMG_FILTER_NEGATE);
21
+ return $image;
22
+ }
23
+
24
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Pixelate.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Pixelate an image.
10
+ */
11
+ class Pixelate implements FilterInterface{
12
+
13
+ /**
14
+ * @var int $amount Pixelate size from >= 1
15
+ */
16
+ protected $amount;
17
+
18
+ /**
19
+ * Pixelate constructor.
20
+ * @param int $amount The size of pixelation. >= 1
21
+ */
22
+ public function __construct($amount)
23
+ {
24
+ $this->amount = (int) $amount;
25
+ }
26
+
27
+ /**
28
+ * @param Image $image
29
+ *
30
+ * @return Image
31
+ */
32
+ public function apply( $image ) {
33
+
34
+ imagefilter($image->getCore(), IMG_FILTER_PIXELATE, $this->amount, true);
35
+ return $image;
36
+ }
37
+
38
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Sharpen.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Sharpen an image.
10
+ */
11
+ class Sharpen implements FilterInterface{
12
+
13
+ /**
14
+ * @var int $amount
15
+ */
16
+ protected $amount;
17
+
18
+ /**
19
+ * Sharpen constructor.
20
+ * @param int $amount Amount of sharpening from >= 1 to <= 100
21
+ */
22
+ public function __construct($amount)
23
+ {
24
+ $this->amount = (int) $amount;
25
+ }
26
+
27
+ /**
28
+ * @param Image $image
29
+ *
30
+ * @return Image
31
+ */
32
+ public function apply( $image ) {
33
+ $amount = $this->amount;
34
+ // build matrix
35
+ $min = $amount >= 10 ? $amount * -0.01 : 0;
36
+ $max = $amount * -0.025;
37
+ $abs = ((4 * $min + 4 * $max) * -1) + 1;
38
+ $div = 1;
39
+ $matrix = array(
40
+ array($min, $max, $min),
41
+ array($max, $abs, $max),
42
+ array($min, $max, $min)
43
+ );
44
+ // apply the matrix
45
+ imageconvolution($image->getCore(), $matrix, $div, 0);
46
+ return $image;
47
+ }
48
+
49
+ }
src/cyclone-slider/src/CycloneSlider/Grafika/Gd/Filter/Sobel.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace CycloneSlider\Grafika\Gd\Filter;
4
+
5
+ use CycloneSlider\Grafika\FilterInterface;
6
+ use CycloneSlider\Grafika\Gd\Image;
7
+
8
+ /**
9
+ * Sobel filter is an edge detection filter.
10
+ * @link https://en.wikipedia.org/wiki/Sobel_operator
11
+ */
12
+ class Sobel implements FilterInterface
13
+ {
14
+
15
+ /**
16
+ * @param Image $image
17
+ *
18
+ * @return Image
19
+ */
20
+ public function apply($image)
21
+ {
22
+
23
+ // Localize vars
24
+ $width = $image->getWidth();
25
+ $height = $image->getHeight();
26
+ $old = $image->getCore();
27
+
28
+ $pixels = array();
29
+ $new = imagecreatetruecolor($width, $height);
30
+ for ($y = 0; $y < $height; $y++) {
31
+ for ($x = 0; $x < $width; $x++) {
32
+ // row 0
33
+ if ($x > 0 and $y > 0) {
34
+ $matrix[0][0] = $this->getColor($old, $pixels,$x - 1, $y - 1);
35
+ } else {
36
+ $matrix[0][0] = $this->getColor($old, $pixels, $x, $y);
37
+ }
38
+
39
+ if ($y > 0) {
40
+ $matrix[1][0] = $this->getColor($old, $pixels, $x, $y - 1);
41
+ } else {
42
+ $matrix[1][0] = $this->getColor($old, $pixels, $x, $y);
43
+