Better Font Awesome - Version 1.7.5

Version Description

  • Fix: remove calls to ready() jQuery method to support latest jQuery versions.
  • Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
Download this release

Release Info

Developer McGuive7
Plugin Icon 128x128 Better Font Awesome
Version 1.7.5
Comparing to
See all releases

Code changes from version 1.7.4 to 1.7.5

Files changed (50) hide show
  1. CONTRIBUTING.md +55 -0
  2. README.md +13 -57
  3. better-font-awesome.php +627 -636
  4. js/admin-notices.js +1 -1
  5. js/admin.js +1 -1
  6. languages/better-font-awesome.pot +211 -146
  7. package-lock.json +2855 -0
  8. phpcs.xml.dist +65 -0
  9. readme.txt +14 -58
  10. vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php +311 -93
  11. vendor/mickey-kay/better-font-awesome-library/composer.json +5 -2
  12. vendor/mickey-kay/better-font-awesome-library/composer.lock +9 -8
  13. vendor/mickey-kay/better-font-awesome-library/js/admin.js +53 -37
  14. vendor/mickey-kay/better-font-awesome-library/lib/font-awesome/package.json +51 -20
  15. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/Gruntfile.js +107 -7
  16. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/README.md +20 -16
  17. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.css +19 -36
  18. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.min.css +5 -6
  19. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.js +4847 -561
  20. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.min.js +11 -2
  21. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/index.html +285 -245
  22. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/package.json +52 -26
  23. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/iconpicker.js +72 -152
  24. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/jquery.ui.pos.js +518 -474
  25. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/iconpicker.less +62 -62
  26. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/popovers.less +204 -203
  27. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/variables.less +38 -51
  28. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/autoload.php +7 -0
  29. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/ClassLoader.php +445 -0
  30. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/LICENSE +21 -0
  31. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_classmap.php +9 -0
  32. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_namespaces.php +9 -0
  33. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_psr4.php +9 -0
  34. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_real.php +52 -0
  35. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_static.php +15 -0
  36. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/installed.json +1 -0
  37. vendor/mickey-kay/better-font-awesome-library/package-lock.json +1993 -0
  38. vendor/mickey-kay/better-font-awesome-library/package.json +2 -2
  39. vendor/mickey-kay/better-font-awesome-library/vendor/composer/ClassLoader.php +5 -5
  40. vendor/mickey-kay/better-font-awesome-library/vendor/composer/autoload_real.php +3 -0
  41. vendor/mickey-kay/better-font-awesome-library/vendor/composer/installed.json +7 -7
  42. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/README.md +2 -2
  43. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/Spyc.php +31 -6
  44. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/phpunit.xml +8 -0
  45. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/DumpTest.php +1 -3
  46. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/IndentTest.php +1 -3
  47. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/LoadTest.php +0 -2
  48. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/ParseTest.php +25 -13
  49. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/RoundTripTest.php +0 -2
  50. vendor/mickey-kay/better-font-awesome-library/yarn.lock +3 -3
CONTRIBUTING.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # How to contribute
2
+
3
+ First of all, thanks for your interest in contributing 🎉👍. Getting started is pretty simple:
4
+
5
+ ```
6
+ // Clone the repo locally
7
+ git clone https://github.com/MickeyKay/better-font-awesome.git
8
+
9
+ // Set up the repo for development (install dependencies)
10
+ cd better-font-awesome && npm run develop
11
+
12
+ // Create your development branch
13
+ git checkout -b issue-1234-bugfix
14
+
15
+ // Compile/build changes
16
+ npm run build
17
+
18
+ // Run tests to ensure everything is working as expected
19
+ npm run test
20
+
21
+ // Run linting checks to ensure coding standards are met
22
+ npm run lint
23
+ npm run lint-fix // Optionally fix errors that can be handled automatically.
24
+
25
+ // Commit your changes
26
+ git commit -m 'Do thing X to fix thing Y'
27
+ ```
28
+
29
+ That's it! Once your changes are complete, just push your branch and file a PR with a detailed description.
30
+
31
+ ### A note on the `Better Font Awesome Library` dependency
32
+ This plugin is dependent on the [Better Font Awesome Library](https://github.com/MickeyKay/better-font-awesome-library) for much of its core functionality. If you need to make changes to the underlying library's functionality, please make changes and file PR's into that repo.
33
+
34
+ ## Testing
35
+
36
+ As mentioned above, the plugin includes a basic test suite which can be run via:
37
+ ```
38
+ npm run test
39
+ ```
40
+
41
+ As you develop new features, you get major bonus points for adding tests along the way!
42
+
43
+ ## Submitting changes
44
+
45
+ Please file a [GitHub Pull Request](https://github.com/MickeyKay/better-font-awesome/pull/new/master) with a clear list of the changes you've made (read more about [pull requests](http://help.github.com/pull-requests/)). Please follow [WordPress coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/) and as best as possible ensure your commits are atomic (one feature per commit).
46
+
47
+ Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:
48
+
49
+ $ git commit -m "A brief summary of the commit
50
+ >
51
+ > A paragraph describing what changed and its impact."
52
+
53
+
54
+ ## Thank you
55
+ Seriously. Thank you. I very much appreciate your contributions to Better Font Awesome ♥️.
README.md CHANGED
@@ -5,8 +5,8 @@
5
  **Tags:** better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
6
  **Donate link:** https://mickeykay.me
7
  **Requires at least:** 3.0
8
- **Tested up to:** 5.5
9
- **Stable tag:** 1.7.4
10
  **License:** GPLv2+
11
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -14,8 +14,6 @@ The Better Font Awesome plugin for WordPress. Shortcodes, HTML, TinyMCE, various
14
 
15
  ## Description ##
16
 
17
- [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome)
18
-
19
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
20
 
21
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
@@ -105,6 +103,9 @@ Nope. Better Font Awesome automatically pulls in everything you need, and it doe
105
 
106
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings → Better Font Awesome**.
107
 
 
 
 
108
 
109
  ## Screenshots ##
110
  1. The icon shortcode dropdown selector
@@ -113,6 +114,10 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
113
 
114
  ## Changelog ##
115
 
 
 
 
 
116
  ### 1.7.4 ###
117
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
118
 
@@ -220,35 +225,12 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
220
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
221
  * Switch out bulky Titan Framework for native Settings API.
222
 
223
- ### 0.9.6 ###
224
- * Fixed missing icon previews in WordPress 3.8 and below.
225
-
226
- ### 0.9.5 ###
227
- * Added ability to choose which CDN to use.
228
- * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
229
- * Updated prefixes to now return just the prefix without the dash (-).
230
-
231
- ### 0.9.4 ###
232
- * Switched default   being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
233
- * PLEASE NOTE: this will affect existing shortcodes.
234
-
235
- ### 0.9.3 ###
236
- * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
237
- * Print JS variables in front-end to aid developers
238
- * Create global $better_font_awesome object for developers to access
239
-
240
- ### 0.9.2 ###
241
- * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
242
-
243
- ### 0.9.1 ###
244
- * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
245
-
246
- ### 0.9.0 ###
247
- * First release!
248
-
249
-
250
  ## Upgrade Notice ##
251
 
 
 
 
 
252
  ### 1.7.4 ###
253
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
254
 
@@ -355,29 +337,3 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
355
  * Implement transients to minimize load time.
356
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
357
  * Switch out bulky Titan Framework for native Settings API.
358
-
359
- ### 0.9.6 ###
360
- * Fixed missing icon previews in WordPress 3.8 and below.
361
-
362
- ### 0.9.5 ###
363
- * Added ability to choose which CDN to use.
364
- * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
365
- * Updated prefixes to now return just the prefix without the dash (-).
366
-
367
- ### 0.9.4 ###
368
- * Switched default   being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
369
- * PLEASE NOTE: this will affect existing shortcodes.
370
-
371
- ### 0.9.3 ###
372
- * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
373
- * Print JS variables in front-end to aid developers
374
- * Create global $better_font_awesome object for developers to access
375
-
376
- ### 0.9.2 ###
377
- * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
378
-
379
- ### 0.9.1 ###
380
- * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
381
-
382
- ### 0.9.0 ###
383
- * First release!
5
  **Tags:** better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
6
  **Donate link:** https://mickeykay.me
7
  **Requires at least:** 3.0
8
+ **Tested up to:** 5.6.1
9
+ **Stable tag:** 1.7.5
10
  **License:** GPLv2+
11
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
12
 
14
 
15
  ## Description ##
16
 
 
 
17
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
18
 
19
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
103
 
104
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings → Better Font Awesome**.
105
 
106
+ ## Contributing & Development ##
107
+ Please see our [contributing guidelines](https://github.com/MickeyKay/better-font-awesome/blob/master/CONTRIBUTING.md) to get involved.
108
+
109
 
110
  ## Screenshots ##
111
  1. The icon shortcode dropdown selector
114
 
115
  ## Changelog ##
116
 
117
+ ### 1.7.5 ###
118
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
119
+ * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
120
+
121
  ### 1.7.4 ###
122
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
123
 
225
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
226
  * Switch out bulky Titan Framework for native Settings API.
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  ## Upgrade Notice ##
229
 
230
+ ### 1.7.5 ###
231
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
232
+ * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
233
+
234
  ### 1.7.4 ###
235
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
236
 
337
  * Implement transients to minimize load time.
338
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
339
  * Switch out bulky Titan Framework for native Settings API.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
better-font-awesome.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Better Font Awesome
13
  * Plugin URI: http://wordpress.org/plugins/better-font-awesome
14
  * Description: The ultimate Font Awesome icon plugin for WordPress.
15
- * Version: 1.7.4
16
  * Author: Mickey Kay
17
  * Author URI: mickeyskay@gmail.com
18
  * License: GPLv2+
@@ -32,8 +32,9 @@ add_action( 'init', 'bfa_start', 5 );
32
  * @since 0.9.5
33
  */
34
  function bfa_start() {
35
- global $better_font_awesome;
36
- $better_font_awesome = Better_Font_Awesome_Plugin::get_instance();
 
37
  }
38
 
39
  /**
@@ -43,305 +44,305 @@ function bfa_start() {
43
  */
44
  class Better_Font_Awesome_Plugin {
45
 
46
- /**
47
- * Plugin slug.
48
- *
49
- * @since 0.9.0
50
- *
51
- * @var string
52
- */
53
- const SLUG = 'better-font-awesome';
54
-
55
- /**
56
- * The Better Font Awesome Library object.
57
- *
58
- * @since 0.1.0
59
- *
60
- * @var Better_Font_Awesome_Library
61
- */
62
- private $bfa_lib;
63
-
64
- /**
65
- * Path to the Better Font Awesome Library main file.
66
- *
67
- * @since 0.1.0
68
- *
69
- * @var Better_Font_Awesome_Library
70
- */
71
- private $bfa_lib_file_path;
72
-
73
- /**
74
- * Plugin display name.
75
- *
76
- * @since 0.9.0
77
- *
78
- * @var string
79
- */
80
- private $plugin_display_name;
81
-
82
- /**
83
- * Plugin option name.
84
- *
85
- * @since 0.9.0
86
- *
87
- * @var string
88
- */
89
- protected $option_name;
90
-
91
- /**
92
- * Plugin options.
93
- *
94
- * @since 0.9.0
95
- *
96
- * @var string
97
- */
98
- protected $options;
99
-
100
- /**
101
- * Default options.
102
- *
103
- * Used for setting uninitialized plugin options.
104
- *
105
- * @since 0.9.0
106
- *
107
- * @var array
108
- */
109
- protected $option_defaults = array(
110
- 'version' => 'latest',
111
- 'minified' => 1,
112
- 'remove_existing_fa' => '',
113
- 'hide_admin_notices' => '',
114
- );
115
-
116
- /**
117
- * Instance of this class.
118
- *
119
- * @since 0.9.0
120
- *
121
- * @var Better_Font_Awesome_Plugin
122
- */
123
- protected static $instance = null;
124
-
125
-
126
- /**
127
- * Returns the instance of this class, and initializes the instance if it
128
- * doesn't already exist.
129
- *
130
- * @return Better_Font_Awesome The BFA object.
131
- */
132
- public static function get_instance( $args = array() ) {
133
-
134
- // If the single instance hasn't been set, set it now.
135
- if ( null == self::$instance ) {
136
- self::$instance = new self( $args );
137
- }
138
-
139
- return self::$instance;
140
-
141
- }
142
-
143
- /**
144
- * Better Font Awesome Plugin constructor.
145
- *
146
- * @since 0.9.0
147
- */
148
- function __construct() {
149
-
150
- // Perform plugin initialization actions.
151
- $this->initialize();
152
-
153
- // Stop if the Better Font Awesome Library isn't included.
154
- if ( ! $this->bfal_exists() ) {
155
- add_action( 'admin_init', array( $this, 'deactivate' ) );
156
- return false;
157
- }
158
-
159
- // Include required files.
160
- $this->includes();
161
-
162
- // Initialize the Better Font Awesome Library.
163
- $this->initialize_better_font_awesome_library( $this->options );
164
-
165
- // Load the plugin text domain.
166
- $this->load_text_domain();
167
-
168
- // Output admin notices.
 
169
  add_action( 'admin_notices', array( $this, 'do_admin_notices' ) );
170
 
171
- // Set up the admin settings page.
172
- add_action( 'admin_menu', array( $this, 'add_settings_page' ) );
173
- add_action( 'admin_init', array( $this, 'add_settings' ) );
174
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
175
-
176
- // Handle saving options via AJAX
177
- add_action( 'wp_ajax_bfa_save_options', array( $this, 'save_options' ) );
178
- add_action( 'wp_ajax_bfa_dismiss_testing_admin_notice', array( $this, 'dismiss_testing_admin_notice' ) );
179
-
180
- }
181
-
182
- /**
183
- * Do necessary initialization actions.
184
- *
185
- * @since 0.10.0
186
- */
187
- private function initialize() {
188
-
189
- // Set display name.
190
- $this->plugin_display_name = __( 'Better Font Awesome', 'better-font-awesome' );
191
-
192
- // Set options name.
193
- $this->option_name = self::SLUG . '_options';
194
-
195
- // Set up main Better Font Awesome Library file path.
196
- $this->bfa_lib_file_path = plugin_dir_path( __FILE__ ) . 'vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php';
197
-
198
- // Get plugin options, and populate defaults as needed.
199
- $this->initialize_options( $this->option_name );
200
-
201
- }
202
-
203
- /**
204
- * Get class prop.
205
- *
206
- * @since 1.7.0
207
- *
208
- * @param string $prop Prop to fetch.
209
- *
210
- * @return mixed Value of the prop.
211
- */
212
- public function get( $prop ) {
213
- return $this->$prop;
214
- }
215
-
216
- /**
217
- * Check if the Better Font Awesome Library is included.
218
- *
219
- * @since 0.10.0
220
- */
221
- public function bfal_exists() {
222
-
223
- if ( ! is_readable( $this->bfa_lib_file_path ) ) {
224
- return false;
225
- } else {
226
- return true;
227
- }
228
-
229
- }
230
-
231
- /**
232
- * Deactivate and display an error if the BFAL isn't included.
233
- *
234
- * @since 0.10.0
235
- */
236
- public function deactivate() {
237
-
238
- deactivate_plugins( plugin_basename( __FILE__ ) );
239
-
240
- $message = '<h2>' . __( 'Better Font Awesome', 'better-font-awesome' ) . '</h2>';
241
- $message .= '<p>' . __( 'It appears that Better Font Awesome is missing it\'s <a href="https://github.com/MickeyKay/better-font-awesome-library" target="_blank">core library</a>, which typically occurs when cloning the Git repository and failing to run <code>composer install</code>. Please refer to the plugin\'s <a href="https://github.com/MickeyKay/better-font-awesome" target="_blank">installation instructions</a> for details on how to properly install Better Font Awesome via Git. If you installed from within WordPress, or via the wordpress.org repo, then chances are the install failed and you can try again. If the issue persists, please create a new topic on the plugin\'s <a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank">support forum</a> or file an issue on the <a href="https://github.com/MickeyKay/better-font-awesome/issues" target="_blank">Github repo</a>.' , 'better-font-awesome' ) . '</p>';
242
- $message .= '<p><a href="' . get_admin_url( null, 'plugins.php' ) . '">' . __( 'Back to the plugins page &rarr;', 'better-font-awesome' ) . '</a></p>';
243
-
244
- wp_die( $message );
245
-
246
- }
247
-
248
- /**
249
- * Include required files.
250
- *
251
- * @since 0.10.0
252
- */
253
- private function includes() {
254
-
255
- // Better Font Awesome Library.
256
- require_once $this->bfa_lib_file_path;
257
-
258
- }
259
-
260
- /**
261
- * Get plugin options, or initialize with default values.
262
- *
263
- * @since 0.10.0
264
- *
265
- * @return array Plugin options.
266
- */
267
- private function initialize_options( $option_name ) {
268
-
269
- /**
270
- * Get plugin options.
271
- *
272
- * Run maybe_unserialize() in case we're updating from the old
273
- * serialized Titan Framwork option to a new, array-based options.
274
- */
275
- $this->options = maybe_unserialize( get_option( $option_name ) );
276
-
277
- // Initialize the plugin options with defaults if they're not set.
278
- if ( empty( $this->options ) ) {
279
- update_option( $option_name, $this->option_defaults );
280
- }
281
-
282
- }
283
-
284
- /**
285
- * Initialize the Better Font Awesome Library object.
286
- *
287
- * @since 0.9.0
288
- *
289
- * @param array $options Plugin options.
290
- */
291
- private function initialize_better_font_awesome_library( $options ) {
292
-
293
- // Hide admin notices if setting is checked.
294
- if ( true == $options['hide_admin_notices'] ) {
295
- add_filter( 'bfa_show_errors', '__return_false' );
296
- }
297
-
298
- // Initialize BFA library.
299
- $args = array(
300
- 'version' => isset( $options['version'] ) ? $options['version'] : $this->option_defaults['version'],
301
- 'minified' => isset( $options['minified'] ) ? $options['minified'] : '',
302
- 'remove_existing_fa' => isset( $options['remove_existing_fa'] ) ? $options['remove_existing_fa'] :'',
303
- 'load_styles' => true,
304
- 'load_admin_styles' => true,
305
- 'load_shortcode' => true,
306
- 'load_tinymce_plugin' => true,
307
- );
308
-
309
- $this->bfa_lib = Better_Font_Awesome_Library::get_instance( $args );
310
-
311
- }
312
-
313
- /**
314
- * Load plugin text domain.
315
- *
316
- * @since 0.10.0
317
- */
318
- function load_text_domain() {
319
- load_plugin_textdomain( self::SLUG, false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
320
- }
321
-
322
- /**
323
  * Generate admin notices.
324
  *
325
  * @since 1.7.3
326
  */
327
  public function do_admin_notices() {
328
-
329
  $user_dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
330
 
331
  if (
332
- !isset( $user_dismissed_option_data->{get_current_user_id()} ) ||
333
  true !== $user_dismissed_option_data->{get_current_user_id()}
334
  ) :
335
  ?>
336
- <div class="notice notice-info is-dismissible" id="<?php esc_attr_e( self::SLUG . '-testing-notice' ); ?>">
337
- <p><strong><?php _e( 'Better Font Awesome - We need your help!', 'better-font-awesome' ); ?></strong> </p>
338
- <p><?php printf( __( "First of all, thanks so much for using the plugin! Second of all, %sBetter Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a few major improvements, most notably support for Font Awesome 5 icons. Before publishing the update, it's important that we get plenty of user testing to validate that everything is working as expected, and we could really use your help.", 'better-font-awesome' ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' ); ?></p>
339
- <p><?php printf( __( "If you are interested in helping us test the new update, please read the official %sblog post%s, which includes simple instructions for how to get involved. Thanks so much for you support", 'better-font-awesome' ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' ); ?> <span class="dashicons dashicons-heart"></span>.</p>
340
- <button type="button" class="notice-dismiss">
341
- <span class="screen-reader-text"><?php _e( 'Dismiss this notice.', 'better-font-awesome' ); ?></span>
342
- </button>
 
 
 
 
 
 
 
 
343
  </div>
344
- <?php
345
  endif;
346
  }
347
 
@@ -361,9 +362,9 @@ class Better_Font_Awesome_Plugin {
361
  * @since 1.7.3
362
  */
363
  public function dismiss_testing_admin_notice() {
364
- $dismissed_option_key = self::SLUG . '-dismissed-notice-testing';
365
- $dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
366
- $updated_option_data = $dismissed_option_data;
367
  $updated_option_data->{get_current_user_id()} = true;
368
 
369
  update_option( $dismissed_option_key, $updated_option_data );
@@ -371,350 +372,340 @@ class Better_Font_Awesome_Plugin {
371
  wp_die();
372
  }
373
 
374
- /**
375
- * Create the plugin settings page.
376
- */
377
- function add_settings_page() {
378
-
379
- add_options_page(
380
- $this->plugin_display_name,
381
- $this->plugin_display_name,
382
- 'manage_options',
383
- self::SLUG,
384
- array( $this, 'create_admin_page' )
385
- );
386
-
387
- }
388
-
389
- /**
390
- * Output the plugin settings page contents.
391
- *
392
- * @since 0.10.0
393
- */
394
- public function create_admin_page() {
395
- ?>
396
- <div class="wrap bfa-settings">
397
- <?php screen_icon(); ?>
398
- <h2><?php echo $this->plugin_display_name; ?></h2>
399
- <form method="post" action="options.php" id="bfa-settings-form">
400
- <?php
401
- // This prints out all hidden setting fields
402
- settings_fields( 'option_group' );
403
- do_settings_sections( self::SLUG );
404
- ?>
405
- <p>
406
- <span class="button-primary bfa-save-settings-button"><?php _e( 'Save Settings', 'better-font-awesome' ); ?></span> <img class="bfa-loading-gif" src="<?php echo includes_url() . 'images/spinner.gif'; ?>" />
407
- </p>
408
- <div class="bfa-ajax-response-holder"></div>
409
- <?php echo $this->get_usage_text(); ?>
410
- </form>
411
- </div>
412
- <?php
413
- }
414
-
415
- /**
416
- * Populate the settings page with specific settings.
417
- *
418
- * @since 0.10.0
419
- */
420
- function add_settings() {
421
-
422
- register_setting(
423
- 'option_group', // Option group
424
- $this->option_name, // Option name
425
- array( $this, 'sanitize' ) // Sanitize
426
- );
427
-
428
- add_settings_section(
429
- 'settings_section_primary', // ID
430
- null, // Title
431
- null, // Callback
432
- self::SLUG // Page
433
- );
434
-
435
- add_settings_field(
436
- 'version', // ID
437
- __( 'Version', 'better-font-awesome' ), // Title
438
- array( $this, 'version_callback' ), // Callback
439
- self::SLUG, // Page
440
- 'settings_section_primary', // Section
441
- $this->get_versions_list() // Args
442
- );
443
-
444
- add_settings_field(
445
- 'minified',
446
- __( 'Use minified CSS', 'better-font-awesome' ),
447
- array( $this, 'checkbox_callback' ),
448
- self::SLUG,
449
- 'settings_section_primary',
450
- array(
451
- 'id' => 'minified',
452
- 'description' => __( 'Whether to include the minified version of the CSS (checked), or the unminified version (unchecked).', 'better-font-awesome' ),
453
- )
454
- );
455
-
456
- add_settings_field(
457
- 'remove_existing_fa',
458
- __( 'Remove existing Font Awesome', 'better-font-awesome' ),
459
- array( $this, 'checkbox_callback' ),
460
- self::SLUG,
461
- 'settings_section_primary',
462
- array(
463
- 'id' => 'remove_existing_fa',
464
- 'description' => __( 'Attempt to remove Font Awesome CSS and shortcodes added by other plugins and themes.', 'better-font-awesome' ),
465
- )
466
- );
467
-
468
- add_settings_field(
469
- 'hide_admin_notices',
470
- __( 'Hide admin notices', 'better-font-awesome' ),
471
- array( $this, 'checkbox_callback' ),
472
- self::SLUG,
473
- 'settings_section_primary',
474
- array(
475
- 'id' => 'hide_admin_notices',
476
- 'description' => __( 'Hide the default admin warnings that are shown when API and CDN errors occur.', 'better-font-awesome' ),
477
- )
478
- );
479
-
480
- }
481
-
482
- /**
483
- * Enqueue admin scripts and styles.
484
- *
485
- * @since 1.0.10
486
- */
487
- public function admin_enqueue_scripts( $hook ) {
488
-
489
- // Settings-specific functionality.
490
- if ( 'settings_page_better-font-awesome' === $hook ) {
491
-
492
- wp_enqueue_style(
493
- self::SLUG . '-admin',
494
- plugin_dir_url( __FILE__ ) . 'css/admin.css'
495
- );
496
-
497
- wp_enqueue_script(
498
- self::SLUG . '-admin',
499
- plugin_dir_url( __FILE__ ) . 'js/admin.js',
500
- array( 'jquery' )
501
- );
502
-
503
- wp_localize_script(
504
- self::SLUG . '-admin',
505
- 'bfa_ajax_object',
506
- array(
507
- 'ajax_url' => admin_url( 'admin-ajax.php' )
508
- )
509
- );
510
-
511
- }
512
-
513
- // Admin notices.
514
- wp_enqueue_script(
515
- self::SLUG . '-admin-notices',
516
- plugin_dir_url( __FILE__ ) . 'js/admin-notices.js',
517
- array( 'jquery' )
518
- );
519
- }
520
-
521
- /**
522
- * Save options via AJAX.
523
- *
524
- * @since 1.0.10
525
- */
526
- public function save_options() {
527
-
528
- $options = array(
529
- 'version' => $_POST['version'],
530
- 'minified' => $_POST['minified'],
531
- 'remove_existing_fa' => $_POST['remove_existing_fa'],
532
- 'hide_admin_notices' => $_POST['hide_admin_notices'],
533
- );
534
-
535
- // Sanitize and update the options.
536
- update_option( $this->option_name, $options );
537
-
538
- // Return a message.
539
- echo '<div class="updated"><p>' . esc_html( 'Settings saved.', 'better-font-awesome' ) . '</p></div>';
540
-
541
- wp_die();
542
-
543
- }
544
-
545
- /**
546
- * Get all Font Awesome versions available from the jsDelivr API.
547
- *
548
- * @since 0.10.0
549
- *
550
- * @return array All available versions and the latest version, or an
551
- * empty array if the API fetch fails.
552
- */
553
- function get_versions_list() {
554
-
555
- if ( $this->bfa_lib->get_api_value('versions') ) {
556
- $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
557
-
558
- foreach ( $this->bfa_lib->get_api_value('versions') as $version ) {
559
- $versions[ $version ] = $version;
560
- }
561
-
562
- } else {
563
- $versions = array();
564
- }
565
-
566
- return $versions;
567
-
568
- }
569
-
570
- /**
571
- * Output a <select> version selector.
572
- *
573
- * @since 0.10.0
574
- *
575
- * @param array $versions All available Font Awesome versions
576
- */
577
- public function version_callback( $versions ) {
578
-
579
- if ( $versions ) {
580
-
581
- // Add 'Always Latest' option.
582
- $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
583
-
584
- /**
585
- * Remove version 2.0, since its CSS doesn't work with the regex
586
- * algorith and no one needs 2.0 anyways.
587
- */
588
- foreach ( $versions as $index => $version ) {
589
-
590
- if ( '2.0' == $version ) {
591
- unset( $versions[ $index ] );
592
- }
593
-
594
- }
595
-
596
- // Output the <select> element.
597
- printf( '<select id="version" name="%s[version]">', esc_attr( $this->option_name ) );
598
-
599
- foreach ( $versions as $version => $text ) {
600
-
601
- printf(
602
- '<option value="%s" %s>%s</option>',
603
- esc_attr( $version ),
604
- selected( $version, $this->options['version'], false ),
605
- esc_attr( $text )
606
- );
607
-
608
- }
609
-
610
- echo '</select>';
611
-
612
- } else {
613
- ?>
614
- <p>
615
- <?php
616
- printf( __( 'Version selection is currently unavailable. The attempt to reach the jsDelivr API server failed with the following error: %s', 'better-font-awesome' ),
617
- '<code>' . $this->bfa_lib->get_error('api')->get_error_code() . ': ' . $this->bfa_lib->get_error('api')->get_error_message() . '</code>'
618
- );
619
- ?>
620
- </p>
621
- <p>
622
- <?php
623
- printf( __( 'Font Awesome will still render using version: %s', 'better-font-awesome' ),
624
- '<code>' . $this->bfa_lib->get_fallback_version() . '</code>'
625
- );
626
- ?>
627
- </p>
628
- <p>
629
- <?php
630
- printf( __( 'This may be the result of a temporary server or connectivity issue which will resolve shortly. However if the problem persists please file a support ticket on the %splugin forum%s, citing the errors listed above. ', 'better-font-awesome' ),
631
- '<a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank" title="Better Font Awesome support forum">',
632
- '</a>'
633
- );
634
- ?>
635
- </small></p>
636
- <?php
637
- }
638
-
639
- }
640
-
641
- /**
642
- * Output a checkbox setting.
643
- *
644
- * @since 0.10.0
645
- */
646
- public function checkbox_callback( $args ) {
647
- $option_name = esc_attr( $this->option_name ) . '[' . $args['id'] . ']';
648
- $option_value = isset( $this->options[ $args['id'] ] ) ? $this->options[ $args['id'] ] : '';
649
- printf(
650
- '<label for="%s"><input type="checkbox" value="1" id="%s" name="%s" %s/> %s</label>',
651
- $args['id'],
652
- $args['id'],
653
- $option_name,
654
- checked( 1, $option_value, false ),
655
- $args['description']
656
- );
657
- }
658
-
659
- /**
660
- * Output a text setting.
661
- *
662
- * @since 0.10.0
663
- */
664
- public function text_callback( $args ) {
665
- echo '<div class="bfa-text">' . $args['text'] . '</div>';
666
- }
667
-
668
- /**
669
- * Generate the admin instructions/usage text.
670
- *
671
- * @since 0.10.0
672
- *
673
- * @return string Usage text.
674
- */
675
- public function get_usage_text() {
676
- return '<div class="bfa-usage-text">' .
677
- __( '<h3>Usage</h3>
678
- <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/examples/">See all available options &raquo;</a></small><br /><br />
679
- <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="fa-coffee"&gt;&lt;/i&gt;</code><br /><br />
680
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="fa-2x"]</code> or <code>&lt;i class="fa-coffee fa-2x"&gt;&lt;/i&gt;</code><br /><br />
681
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="fa-2x fa-rotate-90"]</code> or <code>&lt;i class="fa-coffee fa-2x fa-rotate-90"&gt;&lt;/i&gt;</code><br /><br /><br />
682
- <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/3.2.1/examples/">See all available options &raquo;</a></small><br /><br />
683
- <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="icon icon-coffee"&gt;&lt;/i&gt;</code><br /><br />
684
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="icon-2x"]</code> or <code>&lt;i class="icon icon-coffee icon-2x"&gt;&lt;/i&gt;</code><br /><br />
685
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="icon-2x icon-rotate-90"]</code> or <code>&lt;i class="icon icon-coffee icon-2x icon-rotate-90"&gt;&lt;/i&gt;</code>',
686
- 'better-font-awesome' ) .
687
- '</div>';
688
- }
689
-
690
- /**
691
- * Sanitize each settings field as needed.
692
- *
693
- * @param array $input Contains all settings fields as array keys.
694
- */
695
- public function sanitize( $input ) {
696
-
697
- $new_input = array();
698
-
699
- // Sanitize options to match their type
700
- if ( isset( $input['version'] ) ) {
701
- $new_input['version'] = sanitize_text_field( $input['version'] );
702
- }
703
-
704
- if ( isset( $input['minified'] ) ) {
705
- $new_input['minified'] = absint( $input['minified'] );
706
- }
707
-
708
- if ( isset( $input['remove_existing_fa'] ) ) {
709
- $new_input['remove_existing_fa'] = absint( $input['remove_existing_fa'] );
710
- }
711
-
712
- if ( isset( $input['hide_admin_notices'] ) ) {
713
- $new_input['hide_admin_notices'] = absint( $input['hide_admin_notices'] );
714
- }
715
-
716
- return $new_input;
717
-
718
- }
719
 
720
  }
12
  * Plugin Name: Better Font Awesome
13
  * Plugin URI: http://wordpress.org/plugins/better-font-awesome
14
  * Description: The ultimate Font Awesome icon plugin for WordPress.
15
+ * Version: 1.7.5
16
  * Author: Mickey Kay
17
  * Author URI: mickeyskay@gmail.com
18
  * License: GPLv2+
32
  * @since 0.9.5
33
  */
34
  function bfa_start() {
35
+ global $better_font_awesome;
36
+ // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
37
+ $better_font_awesome = Better_Font_Awesome_Plugin::get_instance();
38
  }
39
 
40
  /**
44
  */
45
  class Better_Font_Awesome_Plugin {
46
 
47
+ /**
48
+ * Plugin slug.
49
+ *
50
+ * @since 0.9.0
51
+ *
52
+ * @var string
53
+ */
54
+ const SLUG = 'better-font-awesome';
55
+
56
+ /**
57
+ * The Better Font Awesome Library object.
58
+ *
59
+ * @since 0.1.0
60
+ *
61
+ * @var Better_Font_Awesome_Library
62
+ */
63
+ private $bfa_lib;
64
+
65
+ /**
66
+ * Path to the Better Font Awesome Library main file.
67
+ *
68
+ * @since 0.1.0
69
+ *
70
+ * @var Better_Font_Awesome_Library
71
+ */
72
+ private $bfa_lib_file_path;
73
+
74
+ /**
75
+ * Plugin display name.
76
+ *
77
+ * @since 0.9.0
78
+ *
79
+ * @var string
80
+ */
81
+ private $plugin_display_name;
82
+
83
+ /**
84
+ * Plugin option name.
85
+ *
86
+ * @since 0.9.0
87
+ *
88
+ * @var string
89
+ */
90
+ protected $option_name;
91
+
92
+ /**
93
+ * Plugin options.
94
+ *
95
+ * @since 0.9.0
96
+ *
97
+ * @var string
98
+ */
99
+ protected $options;
100
+
101
+ /**
102
+ * Default options.
103
+ *
104
+ * Used for setting uninitialized plugin options.
105
+ *
106
+ * @since 0.9.0
107
+ *
108
+ * @var array
109
+ */
110
+ protected $option_defaults = array(
111
+ 'version' => 'latest',
112
+ 'minified' => 1,
113
+ 'remove_existing_fa' => '',
114
+ 'hide_admin_notices' => '',
115
+ );
116
+
117
+ /**
118
+ * Instance of this class.
119
+ *
120
+ * @since 0.9.0
121
+ *
122
+ * @var Better_Font_Awesome_Plugin
123
+ */
124
+ protected static $instance = null;
125
+
126
+
127
+ /**
128
+ * Returns the instance of this class, and initializes the instance if it
129
+ * doesn't already exist.
130
+ *
131
+ * @param array $args Args to instantiate the plugin object.
132
+ *
133
+ * @return std_class Better_Font_Awesome The BFA object.
134
+ */
135
+ public static function get_instance( $args = array() ) {
136
+
137
+ // If the single instance hasn't been set, set it now.
138
+ if ( null === self::$instance ) {
139
+ self::$instance = new self( $args );
140
+ }
141
+
142
+ return self::$instance;
143
+ }
144
+
145
+ /**
146
+ * Better Font Awesome Plugin constructor.
147
+ *
148
+ * @since 0.9.0
149
+ */
150
+ protected function __construct() {
151
+
152
+ // Perform plugin initialization actions.
153
+ $this->initialize();
154
+
155
+ // Stop if the Better Font Awesome Library isn't included.
156
+ if ( ! $this->bfal_exists() ) {
157
+ add_action( 'admin_init', array( $this, 'deactivate' ) );
158
+ return false;
159
+ }
160
+
161
+ // Include required files.
162
+ $this->includes();
163
+
164
+ // Initialize the Better Font Awesome Library.
165
+ $this->initialize_better_font_awesome_library( $this->options );
166
+
167
+ // Load the plugin text domain.
168
+ $this->load_text_domain();
169
+
170
+ // Output admin notices.
171
  add_action( 'admin_notices', array( $this, 'do_admin_notices' ) );
172
 
173
+ // Set up the admin settings page.
174
+ add_action( 'admin_menu', array( $this, 'add_settings_page' ) );
175
+ add_action( 'admin_init', array( $this, 'add_settings' ) );
176
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
177
+
178
+ // Handle saving options via AJAX.
179
+ add_action( 'wp_ajax_bfa_save_options', array( $this, 'save_options' ) );
180
+ add_action( 'wp_ajax_bfa_dismiss_testing_admin_notice', array( $this, 'dismiss_testing_admin_notice' ) );
181
+ }
182
+
183
+ /**
184
+ * Do necessary initialization actions.
185
+ *
186
+ * @since 0.10.0
187
+ */
188
+ private function initialize() {
189
+
190
+ // Set display name.
191
+ $this->plugin_display_name = __( 'Better Font Awesome', 'better-font-awesome' );
192
+
193
+ // Set options name.
194
+ $this->option_name = self::SLUG . '_options';
195
+
196
+ // Set up main Better Font Awesome Library file path.
197
+ $this->bfa_lib_file_path = plugin_dir_path( __FILE__ ) . 'vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php';
198
+
199
+ // Get plugin options, and populate defaults as needed.
200
+ $this->initialize_options( $this->option_name );
201
+ }
202
+
203
+ /**
204
+ * Get class prop.
205
+ *
206
+ * @since 1.7.0
207
+ *
208
+ * @param string $prop Prop to fetch.
209
+ *
210
+ * @return mixed Value of the prop.
211
+ */
212
+ public function get( $prop ) {
213
+ return $this->$prop;
214
+ }
215
+
216
+ /**
217
+ * Check if the Better Font Awesome Library is included.
218
+ *
219
+ * @since 0.10.0
220
+ */
221
+ public function bfal_exists() {
222
+ if ( ! is_readable( $this->bfa_lib_file_path ) ) {
223
+ return false;
224
+ } else {
225
+ return true;
226
+ }
227
+ }
228
+
229
+ /**
230
+ * Deactivate and display an error if the BFAL isn't included.
231
+ *
232
+ * @since 0.10.0
233
+ */
234
+ public function deactivate() {
235
+ deactivate_plugins( plugin_basename( __FILE__ ) );
236
+
237
+ $message = '<h2>' . __( 'Better Font Awesome', 'better-font-awesome' ) . '</h2>';
238
+ $message .= '<p>' . __( 'It appears that Better Font Awesome is missing it\'s <a href="https://github.com/MickeyKay/better-font-awesome-library" target="_blank">core library</a>, which typically occurs when cloning the Git repository and failing to run <code>composer install</code>. Please refer to the plugin\'s <a href="https://github.com/MickeyKay/better-font-awesome" target="_blank">installation instructions</a> for details on how to properly install Better Font Awesome via Git. If you installed from within WordPress, or via the wordpress.org repo, then chances are the install failed and you can try again. If the issue persists, please create a new topic on the plugin\'s <a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank">support forum</a> or file an issue on the <a href="https://github.com/MickeyKay/better-font-awesome/issues" target="_blank">Github repo</a>.', 'better-font-awesome' ) . '</p>';
239
+ $message .= '<p><a href="' . get_admin_url( null, 'plugins.php' ) . '">' . __( 'Back to the plugins page &rarr;', 'better-font-awesome' ) . '</a></p>';
240
+
241
+ wp_die( esc_html( $message ) );
242
+ }
243
+
244
+ /**
245
+ * Include required files.
246
+ *
247
+ * @since 0.10.0
248
+ */
249
+ private function includes() {
250
+
251
+ // Better Font Awesome Library.
252
+ require_once $this->bfa_lib_file_path;
253
+ }
254
+
255
+ /**
256
+ * Get plugin options, or initialize with default values.
257
+ *
258
+ * @since 0.10.0
259
+ *
260
+ * @param string $option_name Options key.
261
+ */
262
+ private function initialize_options( $option_name ) {
263
+
264
+ /**
265
+ * Get plugin options.
266
+ *
267
+ * Run maybe_unserialize() in case we're updating from the old
268
+ * serialized Titan Framwork option to a new, array-based options.
269
+ */
270
+ $this->options = maybe_unserialize( get_option( $option_name ) );
271
+
272
+ // Initialize the plugin options with defaults if they're not set.
273
+ if ( empty( $this->options ) ) {
274
+ update_option( $option_name, $this->option_defaults );
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Initialize the Better Font Awesome Library object.
280
+ *
281
+ * @since 0.9.0
282
+ *
283
+ * @param array $options Plugin options.
284
+ */
285
+ private function initialize_better_font_awesome_library( $options ) {
286
+
287
+ // Hide admin notices if setting is checked.
288
+ // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
289
+ if ( true == $options['hide_admin_notices'] ) {
290
+ add_filter( 'bfa_show_errors', '__return_false' );
291
+ }
292
+
293
+ // Initialize BFA library.
294
+ $args = array(
295
+ 'version' => isset( $options['version'] ) ? $options['version'] : $this->option_defaults['version'],
296
+ 'minified' => isset( $options['minified'] ) ? $options['minified'] : '',
297
+ 'remove_existing_fa' => isset( $options['remove_existing_fa'] ) ? $options['remove_existing_fa'] : '',
298
+ 'load_styles' => true,
299
+ 'load_admin_styles' => true,
300
+ 'load_shortcode' => true,
301
+ 'load_tinymce_plugin' => true,
302
+ );
303
+
304
+ $this->bfa_lib = Better_Font_Awesome_Library::get_instance( $args );
305
+ }
306
+
307
+ /**
308
+ * Load plugin text domain.
309
+ *
310
+ * @since 0.10.0
311
+ */
312
+ public function load_text_domain() {
313
+ load_plugin_textdomain( self::SLUG, false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
314
+ }
315
+
316
+ /**
 
 
 
 
 
 
 
 
317
  * Generate admin notices.
318
  *
319
  * @since 1.7.3
320
  */
321
  public function do_admin_notices() {
 
322
  $user_dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
323
 
324
  if (
325
+ ! isset( $user_dismissed_option_data->{get_current_user_id()} ) ||
326
  true !== $user_dismissed_option_data->{get_current_user_id()}
327
  ) :
328
  ?>
329
+ <div class="notice notice-info is-dismissible" id="<?php echo esc_attr( self::SLUG . '-testing-notice' ); ?>">
330
+ <p><strong><?php esc_html_e( 'Better Font Awesome - We need your help!', 'better-font-awesome' ); ?></strong> </p>
331
+ <p>
332
+ <?php
333
+ /* translators: placeholders are the opening and closing <a> tags.*/
334
+ printf( wp_kses_post( __( "First of all, thanks so much for using the plugin! Second of all, %1\$sBetter Font Awesome 2.0%2\$s is <i>almost</i> ready for use! The new version adds a few major improvements, most notably support for Font Awesome 5 icons. Before publishing the update, it's important that we get plenty of user testing to validate that everything is working as expected, and we could really use your help.", 'better-font-awesome' ) ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' );
335
+ ?>
336
+ </p>
337
+ <p>
338
+ <?php
339
+ /* translators: placeholders are the opening and closing <a> tags.*/
340
+ printf( wp_kses_post( __( 'If you are interested in helping us test the new update, please read the official %1$sblog post%2$s, which includes simple instructions for how to get involved. Thanks so much for you support', 'better-font-awesome' ) ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' );
341
+ ?>
342
+ <span class="dashicons dashicons-heart"></span>.
343
+ </p>
344
  </div>
345
+ <?php
346
  endif;
347
  }
348
 
362
  * @since 1.7.3
363
  */
364
  public function dismiss_testing_admin_notice() {
365
+ $dismissed_option_key = self::SLUG . '-dismissed-notice-testing';
366
+ $dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
367
+ $updated_option_data = $dismissed_option_data;
368
  $updated_option_data->{get_current_user_id()} = true;
369
 
370
  update_option( $dismissed_option_key, $updated_option_data );
372
  wp_die();
373
  }
374
 
375
+ /**
376
+ * Create the plugin settings page.
377
+ */
378
+ public function add_settings_page() {
379
+ add_options_page(
380
+ $this->plugin_display_name,
381
+ $this->plugin_display_name,
382
+ 'manage_options',
383
+ self::SLUG,
384
+ array( $this, 'create_admin_page' )
385
+ );
386
+ }
387
+
388
+ /**
389
+ * Output the plugin settings page contents.
390
+ *
391
+ * @since 0.10.0
392
+ */
393
+ public function create_admin_page() {
394
+ ?>
395
+ <div class="wrap bfa-settings">
396
+ <h2><?php echo esc_html( $this->plugin_display_name ); ?></h2>
397
+ <form method="post" action="options.php" id="bfa-settings-form">
398
+ <?php
399
+ // This prints out all hidden setting fields.
400
+ settings_fields( 'option_group' );
401
+ do_settings_sections( self::SLUG );
402
+ ?>
403
+ <p>
404
+ <span class="button-primary bfa-save-settings-button"><?php esc_html_e( 'Save Settings', 'better-font-awesome' ); ?></span> <img class="bfa-loading-gif" src="<?php echo esc_attr( includes_url() . 'images/spinner.gif' ); ?>" />
405
+ </p>
406
+ <div class="bfa-ajax-response-holder"></div>
407
+ <?php echo wp_kses_post( $this->get_usage_text() ); ?>
408
+ </form>
409
+ </div>
410
+ <?php
411
+ }
412
+
413
+ /**
414
+ * Populate the settings page with specific settings.
415
+ *
416
+ * @since 0.10.0
417
+ */
418
+ public function add_settings() {
419
+ register_setting(
420
+ 'option_group', // Option group.
421
+ $this->option_name, // Option name.
422
+ array( $this, 'sanitize' ) // Sanitize.
423
+ );
424
+
425
+ add_settings_section(
426
+ 'settings_section_primary', // ID.
427
+ null, // Title.
428
+ null, // Callback.
429
+ self::SLUG // Page.
430
+ );
431
+
432
+ add_settings_field(
433
+ 'version', // ID.
434
+ __( 'Version', 'better-font-awesome' ), // Title.
435
+ array( $this, 'version_callback' ), // Callback.
436
+ self::SLUG, // Page.
437
+ 'settings_section_primary', // Section.
438
+ $this->get_versions_list() // Args.
439
+ );
440
+
441
+ add_settings_field(
442
+ 'minified',
443
+ __( 'Use minified CSS', 'better-font-awesome' ),
444
+ array( $this, 'checkbox_callback' ),
445
+ self::SLUG,
446
+ 'settings_section_primary',
447
+ array(
448
+ 'id' => 'minified',
449
+ 'description' => __( 'Whether to include the minified version of the CSS (checked), or the unminified version (unchecked).', 'better-font-awesome' ),
450
+ )
451
+ );
452
+
453
+ add_settings_field(
454
+ 'remove_existing_fa',
455
+ __( 'Remove existing Font Awesome', 'better-font-awesome' ),
456
+ array( $this, 'checkbox_callback' ),
457
+ self::SLUG,
458
+ 'settings_section_primary',
459
+ array(
460
+ 'id' => 'remove_existing_fa',
461
+ 'description' => __( 'Attempt to remove Font Awesome CSS and shortcodes added by other plugins and themes.', 'better-font-awesome' ),
462
+ )
463
+ );
464
+
465
+ add_settings_field(
466
+ 'hide_admin_notices',
467
+ __( 'Hide admin notices', 'better-font-awesome' ),
468
+ array( $this, 'checkbox_callback' ),
469
+ self::SLUG,
470
+ 'settings_section_primary',
471
+ array(
472
+ 'id' => 'hide_admin_notices',
473
+ 'description' => __( 'Hide the default admin warnings that are shown when API and CDN errors occur.', 'better-font-awesome' ),
474
+ )
475
+ );
476
+ }
477
+
478
+ /**
479
+ * Enqueue admin scripts and styles.
480
+ *
481
+ * @param string $hook Settings page hook.
482
+ *
483
+ * @since 1.0.10
484
+ */
485
+ public function admin_enqueue_scripts( $hook ) {
486
+
487
+ // Settings-specific functionality.
488
+ if ( 'settings_page_better-font-awesome' === $hook ) {
489
+ // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
490
+ wp_enqueue_style(
491
+ self::SLUG . '-admin',
492
+ plugin_dir_url( __FILE__ ) . 'css/admin.css'
493
+ );
494
+
495
+ // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion, WordPress.WP.EnqueuedResourceParameters.NotInFooter
496
+ wp_enqueue_script(
497
+ self::SLUG . '-admin',
498
+ plugin_dir_url( __FILE__ ) . 'js/admin.js',
499
+ array( 'jquery' )
500
+ );
501
+
502
+ // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.NotInFooter
503
+ wp_localize_script(
504
+ self::SLUG . '-admin',
505
+ 'bfa_ajax_object',
506
+ array(
507
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
508
+ )
509
+ );
510
+ }
511
+
512
+ // Admin notices.
513
+ // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion, WordPress.WP.EnqueuedResourceParameters.NotInFooter
514
+ wp_enqueue_script(
515
+ self::SLUG . '-admin-notices',
516
+ plugin_dir_url( __FILE__ ) . 'js/admin-notices.js',
517
+ array( 'jquery' )
518
+ );
519
+ }
520
+
521
+ /**
522
+ * Save options via AJAX.
523
+ *
524
+ * @since 1.0.10
525
+ */
526
+ public function save_options() {
527
+ $options = array(
528
+ 'minified' => isset( $_POST['minified'] ) && $_POST['minified'],
529
+ 'remove_existing_fa' => isset( $_POST['remove_existing_fa'] ) && $_POST['remove_existing_fa'],
530
+ 'hide_admin_notices' => isset( $_POST['hide_admin_notices'] ) && $_POST['hide_admin_notices'],
531
+ );
532
+
533
+ if ( isset( $_POST['version'] ) ) {
534
+ $options['version'] = $_POST['version'];
535
+ }
536
+
537
+ // Sanitize and update the options.
538
+ update_option( $this->option_name, $options );
539
+
540
+ // Return a message.
541
+ echo '<div class="updated"><p>' . esc_html__( 'Settings saved.', 'better-font-awesome' ) . '</p></div>';
542
+
543
+ wp_die();
544
+ }
545
+
546
+ /**
547
+ * Get all Font Awesome versions available from the jsDelivr API.
548
+ *
549
+ * @since 0.10.0
550
+ *
551
+ * @return array All available versions and the latest version, or an
552
+ * empty array if the API fetch fails.
553
+ */
554
+ public function get_versions_list() {
555
+ if ( $this->bfa_lib->get_api_value( 'versions' ) ) {
556
+ $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
557
+
558
+ foreach ( $this->bfa_lib->get_api_value( 'versions' ) as $version ) {
559
+ $versions[ $version ] = $version;
560
+ }
561
+ } else {
562
+ $versions = array();
563
+ }
564
+
565
+ return $versions;
566
+ }
567
+
568
+ /**
569
+ * Output a <select> version selector.
570
+ *
571
+ * @since 0.10.0
572
+ *
573
+ * @param array $versions All available Font Awesome versions.
574
+ */
575
+ public function version_callback( $versions ) {
576
+ if ( $versions ) {
577
+
578
+ // Add 'Always Latest' option.
579
+ $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
580
+
581
+ /**
582
+ * Remove version 2.0, since its CSS doesn't work with the regex
583
+ * algorith and no one needs 2.0 anyways.
584
+ */
585
+ foreach ( $versions as $index => $version ) {
586
+ // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
587
+ if ( '2.0' == $version ) {
588
+ unset( $versions[ $index ] );
589
+ }
590
+ }
591
+
592
+ // Output the <select> element.
593
+ printf( '<select id="version" name="%s[version]">', esc_attr( $this->option_name ) );
594
+
595
+ foreach ( $versions as $version => $text ) {
596
+ printf(
597
+ '<option value="%s" %s>%s</option>',
598
+ esc_attr( $version ),
599
+ selected( $version, $this->options['version'], false ),
600
+ esc_attr( $text )
601
+ );
602
+ }
603
+
604
+ echo '</select>';
605
+ } else {
606
+ ?>
607
+ <p>
608
+ <?php
609
+ printf(
610
+ // translators: string is the error code + message.
611
+ esc_html__( 'Version selection is currently unavailable. The attempt to reach the jsDelivr API server failed with the following error: %s', 'better-font-awesome' ),
612
+ '<code>' . esc_html( $this->bfa_lib->get_error( 'api' )->get_error_code() . ': ' . $this->bfa_lib->get_error( 'api' )->get_error_message() ) . '</code>'
613
+ );
614
+ ?>
615
+ </p>
616
+ <p>
617
+ <?php
618
+ printf(
619
+ // translators: string is the fallback version of font awesome.
620
+ esc_html__( 'Font Awesome will still render using version: %s', 'better-font-awesome' ),
621
+ '<code>' . esc_html( $this->bfa_lib->get_fallback_version() ) . '</code>'
622
+ );
623
+ ?>
624
+ </p>
625
+ <p>
626
+ <?php
627
+ printf(
628
+ // translators: placeholders are the opening and closing <a> tags.
629
+ esc_html__( 'This may be the result of a temporary server or connectivity issue which will resolve shortly. However if the problem persists please file a support ticket on the %1$splugin forum%2$s, citing the errors listed above. ', 'better-font-awesome' ),
630
+ '<a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank" title="Better Font Awesome support forum">',
631
+ '</a>'
632
+ );
633
+ ?>
634
+ </small></p>
635
+ <?php
636
+ }
637
+ }
638
+
639
+ /**
640
+ * Output a checkbox setting.
641
+ *
642
+ * @since 0.10.0
643
+ *
644
+ * @param array $args Args to the checkbox callback.
645
+ */
646
+ public function checkbox_callback( $args ) {
647
+ $option_name = esc_attr( $this->option_name ) . '[' . $args['id'] . ']';
648
+ $option_value = isset( $this->options[ $args['id'] ] ) ? $this->options[ $args['id'] ] : '';
649
+ printf(
650
+ '<label for="%s"><input type="checkbox" value="1" id="%s" name="%s" %s/> %s</label>',
651
+ esc_attr( $args['id'] ),
652
+ esc_attr( $args['id'] ),
653
+ esc_attr( $option_name ),
654
+ esc_attr( checked( 1, $option_value, false ) ),
655
+ esc_attr( $args['description'] )
656
+ );
657
+ }
658
+
659
+ /**
660
+ * Generate the admin instructions/usage text.
661
+ *
662
+ * @since 0.10.0
663
+ *
664
+ * @return string Usage text.
665
+ */
666
+ public function get_usage_text() {
667
+ return '<div class="bfa-usage-text">' .
668
+ __(
669
+ '<h3>Usage</h3>
670
+ <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/examples/">See all available options &raquo;</a></small><br /><br />
671
+ <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="fa-coffee"&gt;&lt;/i&gt;</code><br /><br />
672
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="fa-2x"]</code> or <code>&lt;i class="fa-coffee fa-2x"&gt;&lt;/i&gt;</code><br /><br />
673
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="fa-2x fa-rotate-90"]</code> or <code>&lt;i class="fa-coffee fa-2x fa-rotate-90"&gt;&lt;/i&gt;</code><br /><br /><br />
674
+ <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/3.2.1/examples/">See all available options &raquo;</a></small><br /><br />
675
+ <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="icon icon-coffee"&gt;&lt;/i&gt;</code><br /><br />
676
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="icon-2x"]</code> or <code>&lt;i class="icon icon-coffee icon-2x"&gt;&lt;/i&gt;</code><br /><br />
677
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="icon-2x icon-rotate-90"]</code> or <code>&lt;i class="icon icon-coffee icon-2x icon-rotate-90"&gt;&lt;/i&gt;</code>',
678
+ 'better-font-awesome'
679
+ ) .
680
+ '</div>';
681
+ }
682
+
683
+ /**
684
+ * Sanitize each settings field as needed.
685
+ *
686
+ * @param array $input Contains all settings fields as array keys.
687
+ */
688
+ public function sanitize( $input ) {
689
+ $new_input = array();
690
+
691
+ // Sanitize options to match their type.
692
+ if ( isset( $input['version'] ) ) {
693
+ $new_input['version'] = sanitize_text_field( $input['version'] );
694
+ }
695
+
696
+ if ( isset( $input['minified'] ) ) {
697
+ $new_input['minified'] = absint( $input['minified'] );
698
+ }
699
+
700
+ if ( isset( $input['remove_existing_fa'] ) ) {
701
+ $new_input['remove_existing_fa'] = absint( $input['remove_existing_fa'] );
702
+ }
703
+
704
+ if ( isset( $input['hide_admin_notices'] ) ) {
705
+ $new_input['hide_admin_notices'] = absint( $input['hide_admin_notices'] );
706
+ }
707
+
708
+ return $new_input;
709
+ }
 
 
 
 
 
 
 
 
 
 
710
 
711
  }
js/admin-notices.js CHANGED
@@ -7,7 +7,7 @@
7
 
8
  'use strict';
9
 
10
- $( document ).ready( function() {
11
 
12
  $( '#better-font-awesome-testing-notice' ).on( 'click', '.notice-dismiss', function() {
13
 
7
 
8
  'use strict';
9
 
10
+ $( function() {
11
 
12
  $( '#better-font-awesome-testing-notice' ).on( 'click', '.notice-dismiss', function() {
13
 
js/admin.js CHANGED
@@ -7,7 +7,7 @@
7
 
8
  'use strict';
9
 
10
- $( document ).ready( function() {
11
 
12
  $( '.bfa-save-settings-button' ).on( 'click', function() {
13
 
7
 
8
  'use strict';
9
 
10
+ $( function() {
11
 
12
  $( '.bfa-save-settings-button' ).on( 'click', function() {
13
 
languages/better-font-awesome.pot CHANGED
@@ -1,15 +1,15 @@
1
- # Copyright (C) 2020 Mickey Kay
2
  # This file is distributed under the GPLv2+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Better Font Awesome 1.7.4\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/better-font-awesome\n"
8
- "POT-Creation-Date: 2020-09-20 15:41:17+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
  "X-Generator: grunt-wp-i18n 1.0.3\n"
@@ -18,7 +18,7 @@ msgstr ""
18
  msgid "Better Font Awesome"
19
  msgstr ""
20
 
21
- #: better-font-awesome.php:241 svn/tags/1.7.0/better-font-awesome.php:237
22
  #: svn/tags/1.7.1/better-font-awesome.php:237
23
  #: svn/tags/1.7.2/better-font-awesome.php:237
24
  #: svn/tags/1.7.3/better-font-awesome.php:241
@@ -46,7 +46,7 @@ msgid ""
46
  "target=\"_blank\">Github repo</a>."
47
  msgstr ""
48
 
49
- #: better-font-awesome.php:242 svn/tags/1.0.0/better-font-awesome.php:218
50
  #: svn/tags/1.0.1/better-font-awesome.php:218
51
  #: svn/tags/1.0.10/better-font-awesome.php:219
52
  #: svn/tags/1.0.2/better-font-awesome.php:218
@@ -85,40 +85,32 @@ msgstr ""
85
  msgid "Back to the plugins page &rarr;"
86
  msgstr ""
87
 
88
- #: better-font-awesome.php:337 svn/tags/1.7.3/better-font-awesome.php:337
89
  #: svn/tags/1.7.4/better-font-awesome.php:337
90
  #: svn/trunk/better-font-awesome.php:337
91
  msgid "Better Font Awesome - We need your help!"
92
  msgstr ""
93
 
94
- #: better-font-awesome.php:338 svn/tags/1.7.3/better-font-awesome.php:338
95
- #: svn/tags/1.7.4/better-font-awesome.php:338
96
- #: svn/trunk/better-font-awesome.php:338
97
  msgid ""
98
- "First of all, thanks so much for using the plugin! Second of all, %sBetter "
99
- "Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a "
100
- "few major improvements, most notably support for Font Awesome 5 icons. "
101
- "Before publishing the update, it's important that we get plenty of user "
102
- "testing to validate that everything is working as expected, and we could "
103
- "really use your help."
104
  msgstr ""
105
 
106
- #: better-font-awesome.php:339 svn/tags/1.7.3/better-font-awesome.php:339
107
- #: svn/tags/1.7.4/better-font-awesome.php:339
108
- #: svn/trunk/better-font-awesome.php:339
109
  msgid ""
110
  "If you are interested in helping us test the new update, please read the "
111
- "official %sblog post%s, which includes simple instructions for how to get "
112
- "involved. Thanks so much for you support"
113
- msgstr ""
114
-
115
- #: better-font-awesome.php:341 svn/tags/1.7.3/better-font-awesome.php:341
116
- #: svn/tags/1.7.4/better-font-awesome.php:341
117
- #: svn/trunk/better-font-awesome.php:341
118
- msgid "Dismiss this notice."
119
  msgstr ""
120
 
121
- #: better-font-awesome.php:406 svn/tags/1.1.0/better-font-awesome.php:335
122
  #: svn/tags/1.2.0/better-font-awesome.php:335
123
  #: svn/tags/1.2.1/better-font-awesome.php:337
124
  #: svn/tags/1.3.0/better-font-awesome.php:337
@@ -146,7 +138,7 @@ msgstr ""
146
  msgid "Save Settings"
147
  msgstr ""
148
 
149
- #: better-font-awesome.php:437 svn/tags/1.0.0/better-font-awesome.php:352
150
  #: svn/tags/1.0.1/better-font-awesome.php:352
151
  #: svn/tags/1.0.10/better-font-awesome.php:359
152
  #: svn/tags/1.0.2/better-font-awesome.php:352
@@ -185,7 +177,7 @@ msgstr ""
185
  msgid "Version"
186
  msgstr ""
187
 
188
- #: better-font-awesome.php:446 svn/tags/1.0.0/better-font-awesome.php:361
189
  #: svn/tags/1.0.1/better-font-awesome.php:361
190
  #: svn/tags/1.0.10/better-font-awesome.php:368
191
  #: svn/tags/1.0.2/better-font-awesome.php:361
@@ -224,7 +216,7 @@ msgstr ""
224
  msgid "Use minified CSS"
225
  msgstr ""
226
 
227
- #: better-font-awesome.php:452 svn/tags/1.0.0/better-font-awesome.php:367
228
  #: svn/tags/1.0.1/better-font-awesome.php:367
229
  #: svn/tags/1.0.10/better-font-awesome.php:374
230
  #: svn/tags/1.0.2/better-font-awesome.php:367
@@ -265,7 +257,7 @@ msgid ""
265
  "unminified version (unchecked)."
266
  msgstr ""
267
 
268
- #: better-font-awesome.php:458 svn/tags/1.0.0/better-font-awesome.php:373
269
  #: svn/tags/1.0.1/better-font-awesome.php:373
270
  #: svn/tags/1.0.10/better-font-awesome.php:380
271
  #: svn/tags/1.0.2/better-font-awesome.php:373
@@ -304,7 +296,7 @@ msgstr ""
304
  msgid "Remove existing Font Awesome"
305
  msgstr ""
306
 
307
- #: better-font-awesome.php:464 svn/tags/1.0.0/better-font-awesome.php:379
308
  #: svn/tags/1.0.1/better-font-awesome.php:379
309
  #: svn/tags/1.0.10/better-font-awesome.php:386
310
  #: svn/tags/1.0.2/better-font-awesome.php:379
@@ -345,7 +337,7 @@ msgid ""
345
  "and themes."
346
  msgstr ""
347
 
348
- #: better-font-awesome.php:470 svn/tags/1.0.10/better-font-awesome.php:392
349
  #: svn/tags/1.0.8/better-font-awesome.php:392
350
  #: svn/tags/1.0.9/better-font-awesome.php:392
351
  #: svn/tags/1.1.0/better-font-awesome.php:399
@@ -376,7 +368,7 @@ msgstr ""
376
  msgid "Hide admin notices"
377
  msgstr ""
378
 
379
- #: better-font-awesome.php:476 svn/tags/1.0.10/better-font-awesome.php:398
380
  #: svn/tags/1.0.8/better-font-awesome.php:398
381
  #: svn/tags/1.0.9/better-font-awesome.php:398
382
  #: svn/tags/1.1.0/better-font-awesome.php:405
@@ -409,7 +401,11 @@ msgid ""
409
  "occur."
410
  msgstr ""
411
 
412
- #: better-font-awesome.php:556 better-font-awesome.php:582
 
 
 
 
413
  #: svn/tags/1.0.0/better-font-awesome.php:396
414
  #: svn/tags/1.0.0/better-font-awesome.php:422
415
  #: svn/tags/1.0.1/better-font-awesome.php:396
@@ -484,7 +480,7 @@ msgstr ""
484
  msgid "Always Latest"
485
  msgstr ""
486
 
487
- #: better-font-awesome.php:616 svn/tags/1.0.0/better-font-awesome.php:456
488
  #: svn/tags/1.0.1/better-font-awesome.php:456
489
  #: svn/tags/1.0.10/better-font-awesome.php:475
490
  #: svn/tags/1.0.2/better-font-awesome.php:456
@@ -520,12 +516,13 @@ msgstr ""
520
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:553
521
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:553
522
  #: svn/trunk/better-font-awesome.php:616
 
523
  msgid ""
524
  "Version selection is currently unavailable. The attempt to reach the "
525
  "jsDelivr API server failed with the following error: %s"
526
  msgstr ""
527
 
528
- #: better-font-awesome.php:623 svn/tags/1.0.0/better-font-awesome.php:463
529
  #: svn/tags/1.0.1/better-font-awesome.php:463
530
  #: svn/tags/1.0.10/better-font-awesome.php:482
531
  #: svn/tags/1.0.2/better-font-awesome.php:463
@@ -561,10 +558,93 @@ msgstr ""
561
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:560
562
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:560
563
  #: svn/trunk/better-font-awesome.php:623
 
564
  msgid "Font Awesome will still render using version: %s"
565
  msgstr ""
566
 
567
- #: better-font-awesome.php:630 svn/tags/1.0.0/better-font-awesome.php:470
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
  #: svn/tags/1.0.0/lib/better-font-awesome-library/better-font-awesome-library.php:1044
569
  #: svn/tags/1.0.1/better-font-awesome.php:470
570
  #: svn/tags/1.0.1/lib/better-font-awesome-library/better-font-awesome-library.php:1052
@@ -637,111 +717,13 @@ msgstr ""
637
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
638
  #: svn/trunk/better-font-awesome.php:630
639
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
640
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
641
  msgid ""
642
  "This may be the result of a temporary server or connectivity issue which "
643
  "will resolve shortly. However if the problem persists please file a support "
644
  "ticket on the %splugin forum%s, citing the errors listed above. "
645
  msgstr ""
646
 
647
- #: better-font-awesome.php:677 svn/tags/1.3.0/better-font-awesome.php:601
648
- #: svn/tags/1.3.1/better-font-awesome.php:601
649
- #: svn/tags/1.3.2/better-font-awesome.php:601
650
- #: svn/tags/1.3.3/better-font-awesome.php:601
651
- #: svn/tags/1.3.4/better-font-awesome.php:601
652
- #: svn/tags/1.3.5/better-font-awesome.php:601
653
- #: svn/tags/1.4.0/better-font-awesome.php:601
654
- #: svn/tags/1.4.1/better-font-awesome.php:601
655
- #: svn/tags/1.4.2/better-font-awesome.php:601
656
- #: svn/tags/1.4.3/better-font-awesome.php:601
657
- #: svn/tags/1.5.0/better-font-awesome.php:601
658
- #: svn/tags/1.6.0/better-font-awesome.php:601
659
- #: svn/tags/1.7.0/better-font-awesome.php:614
660
- #: svn/tags/1.7.1/better-font-awesome.php:614
661
- #: svn/tags/1.7.2/better-font-awesome.php:614
662
- #: svn/tags/1.7.3/better-font-awesome.php:677
663
- #: svn/tags/1.7.4/better-font-awesome.php:677
664
- #: svn/tags/2.0.0-beta/better-font-awesome.php:614
665
- #: svn/tags/2.0.0-beta1/better-font-awesome.php:614
666
- #: svn/tags/2.0.0-beta2/better-font-awesome.php:614
667
- #: svn/tags/2.0.0-beta3/better-font-awesome.php:614
668
- #: svn/trunk/better-font-awesome.php:677
669
- msgid ""
670
- "<h3>Usage</h3>\n"
671
- " <b>Font Awesome version 4.x "
672
- "+</b>&nbsp;&nbsp;&nbsp;<small><a "
673
- "href=\"http://fontawesome.io/examples/\">See all available options "
674
- "&raquo;</a></small><br /><br />\n"
675
- " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
676
- "name=\"coffee\"]</code> or <code>&lt;i "
677
- "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
678
- " <i class=\"icon-coffee fa fa-coffee icon-2x "
679
- "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or "
680
- "<code>&lt;i class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
681
- " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
682
- "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
683
- "class=\"fa-2x fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
684
- "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
685
- " <b>Font Awesome version "
686
- "3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
687
- "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
688
- "&raquo;</a></small><br /><br />\n"
689
- " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
690
- "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
691
- "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
692
- " <i class=\"icon-coffee fa fa-coffee icon-2x "
693
- "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or "
694
- "<code>&lt;i class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br "
695
- "/><br />\n"
696
- " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
697
- "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
698
- "class=\"icon-2x icon-rotate-90\"]</code> or <code>&lt;i class=\"icon "
699
- "icon-coffee icon-2x icon-rotate-90\"&gt;&lt;/i&gt;</code>"
700
- msgstr ""
701
-
702
- #: svn/tags/1.0.0/better-font-awesome.php:217
703
- #: svn/tags/1.0.1/better-font-awesome.php:217
704
- #: svn/tags/1.0.10/better-font-awesome.php:218
705
- #: svn/tags/1.0.2/better-font-awesome.php:217
706
- #: svn/tags/1.0.3/better-font-awesome.php:217
707
- #: svn/tags/1.0.4/better-font-awesome.php:217
708
- #: svn/tags/1.0.5/better-font-awesome.php:217
709
- #: svn/tags/1.0.6/better-font-awesome.php:217
710
- #: svn/tags/1.0.7/better-font-awesome.php:217
711
- #: svn/tags/1.0.8/better-font-awesome.php:218
712
- #: svn/tags/1.0.9/better-font-awesome.php:218
713
- #: svn/tags/1.1.0/better-font-awesome.php:222
714
- #: svn/tags/1.2.0/better-font-awesome.php:222
715
- #: svn/tags/1.2.1/better-font-awesome.php:224
716
- #: svn/tags/1.3.0/better-font-awesome.php:224
717
- #: svn/tags/1.3.1/better-font-awesome.php:224
718
- #: svn/tags/1.3.2/better-font-awesome.php:224
719
- #: svn/tags/1.3.3/better-font-awesome.php:224
720
- #: svn/tags/1.3.4/better-font-awesome.php:224
721
- #: svn/tags/1.3.5/better-font-awesome.php:224
722
- #: svn/tags/1.4.0/better-font-awesome.php:224
723
- #: svn/tags/1.4.1/better-font-awesome.php:224
724
- #: svn/tags/1.4.2/better-font-awesome.php:224
725
- #: svn/tags/1.4.3/better-font-awesome.php:224
726
- #: svn/tags/1.5.0/better-font-awesome.php:224
727
- #: svn/tags/1.6.0/better-font-awesome.php:224
728
- msgid ""
729
- "It appears that Better Font Awesome is missing it's <a "
730
- "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
731
- "target=\"_blank\">core library</a>, which typically occurs when cloning the "
732
- "Git repository and not updating all submodules. Please refer to the "
733
- "plugin's <a href=\"https://github.com/MickeyKay/better-font-awesome\" "
734
- "target=\"_blank\">installation instructions</a> for details on how to "
735
- "properly install Better Font Awesome via Git. If you installed from within "
736
- "WordPress, or via the wordpress.org repo, then chances are the install "
737
- "failed and you can try again. If the issue persists, please create a new "
738
- "topic on the plugin's <a "
739
- "href=\"http://wordpress.org/support/plugin/better-font-awesome\" "
740
- "target=\"_blank\">support forum</a> or file an issue on the <a "
741
- "href=\"https://github.com/MickeyKay/better-font-awesome/issues\" "
742
- "target=\"_blank\">Github repo</a>."
743
- msgstr ""
744
-
745
  #: svn/tags/1.0.0/better-font-awesome.php:517
746
  #: svn/tags/1.0.1/better-font-awesome.php:517
747
  #: svn/tags/1.0.10/better-font-awesome.php:536
@@ -825,7 +807,7 @@ msgstr ""
825
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1283
826
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
827
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
828
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
829
  msgid "API Error"
830
  msgstr ""
831
 
@@ -866,7 +848,7 @@ msgstr ""
866
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1285
867
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
868
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
869
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
870
  msgid ""
871
  "The attempt to reach the jsDelivr API server failed with the following "
872
  "error: %s"
@@ -909,7 +891,7 @@ msgstr ""
909
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1295
910
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
911
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
912
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
913
  msgid "Remote CSS Error"
914
  msgstr ""
915
 
@@ -950,7 +932,7 @@ msgstr ""
950
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1297
951
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
952
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
953
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
954
  msgid ""
955
  "The attempt to fetch the remote Font Awesome stylesheet failed with the "
956
  "following error: %s %s The embedded fallback Font Awesome will be used "
@@ -994,7 +976,7 @@ msgstr ""
994
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
995
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
996
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
997
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
998
  msgid "Solution"
999
  msgstr ""
1000
 
@@ -1039,7 +1021,8 @@ msgstr ""
1039
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1040
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1041
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1042
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
 
1043
  msgid "The jsDelivr API servers appear to be temporarily unavailable."
1044
  msgstr ""
1045
 
@@ -1079,12 +1062,67 @@ msgstr ""
1079
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1307
1080
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1081
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1082
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1083
  msgid ""
1084
  "<b>Don't worry! Better Font Awesome will still render using the included "
1085
  "fallback version:</b> "
1086
  msgstr ""
1087
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1088
  #: svn/tags/1.3.0/lib/better-font-awesome-library/better-font-awesome-library.php:1031
1089
  #: svn/tags/1.3.1/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1090
  #: svn/tags/1.3.2/lib/better-font-awesome-library/better-font-awesome-library.php:1039
@@ -1108,10 +1146,37 @@ msgstr ""
1108
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1257
1109
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1110
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1111
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1112
  msgid "Insert Icon"
1113
  msgstr ""
1114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1115
  #. Plugin URI of the plugin/theme
1116
  msgid "http://wordpress.org/plugins/better-font-awesome"
1117
  msgstr ""
1
+ # Copyright (C) 2021 Mickey Kay
2
  # This file is distributed under the GPLv2+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Better Font Awesome 1.7.5\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/better-font-awesome\n"
8
+ "POT-Creation-Date: 2021-02-08 06:09:04+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
  "X-Generator: grunt-wp-i18n 1.0.3\n"
18
  msgid "Better Font Awesome"
19
  msgstr ""
20
 
21
+ #: better-font-awesome.php:238 svn/tags/1.7.0/better-font-awesome.php:237
22
  #: svn/tags/1.7.1/better-font-awesome.php:237
23
  #: svn/tags/1.7.2/better-font-awesome.php:237
24
  #: svn/tags/1.7.3/better-font-awesome.php:241
46
  "target=\"_blank\">Github repo</a>."
47
  msgstr ""
48
 
49
+ #: better-font-awesome.php:239 svn/tags/1.0.0/better-font-awesome.php:218
50
  #: svn/tags/1.0.1/better-font-awesome.php:218
51
  #: svn/tags/1.0.10/better-font-awesome.php:219
52
  #: svn/tags/1.0.2/better-font-awesome.php:218
85
  msgid "Back to the plugins page &rarr;"
86
  msgstr ""
87
 
88
+ #: better-font-awesome.php:330 svn/tags/1.7.3/better-font-awesome.php:337
89
  #: svn/tags/1.7.4/better-font-awesome.php:337
90
  #: svn/trunk/better-font-awesome.php:337
91
  msgid "Better Font Awesome - We need your help!"
92
  msgstr ""
93
 
94
+ #: better-font-awesome.php:334
95
+ #. translators: placeholders are the opening and closing <a> tags.
 
96
  msgid ""
97
+ "First of all, thanks so much for using the plugin! Second of all, "
98
+ "%1$sBetter Font Awesome 2.0%2$s is <i>almost</i> ready for use! The new "
99
+ "version adds a few major improvements, most notably support for Font "
100
+ "Awesome 5 icons. Before publishing the update, it's important that we get "
101
+ "plenty of user testing to validate that everything is working as expected, "
102
+ "and we could really use your help."
103
  msgstr ""
104
 
105
+ #: better-font-awesome.php:340
106
+ #. translators: placeholders are the opening and closing <a> tags.
 
107
  msgid ""
108
  "If you are interested in helping us test the new update, please read the "
109
+ "official %1$sblog post%2$s, which includes simple instructions for how to "
110
+ "get involved. Thanks so much for you support"
 
 
 
 
 
 
111
  msgstr ""
112
 
113
+ #: better-font-awesome.php:404 svn/tags/1.1.0/better-font-awesome.php:335
114
  #: svn/tags/1.2.0/better-font-awesome.php:335
115
  #: svn/tags/1.2.1/better-font-awesome.php:337
116
  #: svn/tags/1.3.0/better-font-awesome.php:337
138
  msgid "Save Settings"
139
  msgstr ""
140
 
141
+ #: better-font-awesome.php:434 svn/tags/1.0.0/better-font-awesome.php:352
142
  #: svn/tags/1.0.1/better-font-awesome.php:352
143
  #: svn/tags/1.0.10/better-font-awesome.php:359
144
  #: svn/tags/1.0.2/better-font-awesome.php:352
177
  msgid "Version"
178
  msgstr ""
179
 
180
+ #: better-font-awesome.php:443 svn/tags/1.0.0/better-font-awesome.php:361
181
  #: svn/tags/1.0.1/better-font-awesome.php:361
182
  #: svn/tags/1.0.10/better-font-awesome.php:368
183
  #: svn/tags/1.0.2/better-font-awesome.php:361
216
  msgid "Use minified CSS"
217
  msgstr ""
218
 
219
+ #: better-font-awesome.php:449 svn/tags/1.0.0/better-font-awesome.php:367
220
  #: svn/tags/1.0.1/better-font-awesome.php:367
221
  #: svn/tags/1.0.10/better-font-awesome.php:374
222
  #: svn/tags/1.0.2/better-font-awesome.php:367
257
  "unminified version (unchecked)."
258
  msgstr ""
259
 
260
+ #: better-font-awesome.php:455 svn/tags/1.0.0/better-font-awesome.php:373
261
  #: svn/tags/1.0.1/better-font-awesome.php:373
262
  #: svn/tags/1.0.10/better-font-awesome.php:380
263
  #: svn/tags/1.0.2/better-font-awesome.php:373
296
  msgid "Remove existing Font Awesome"
297
  msgstr ""
298
 
299
+ #: better-font-awesome.php:461 svn/tags/1.0.0/better-font-awesome.php:379
300
  #: svn/tags/1.0.1/better-font-awesome.php:379
301
  #: svn/tags/1.0.10/better-font-awesome.php:386
302
  #: svn/tags/1.0.2/better-font-awesome.php:379
337
  "and themes."
338
  msgstr ""
339
 
340
+ #: better-font-awesome.php:467 svn/tags/1.0.10/better-font-awesome.php:392
341
  #: svn/tags/1.0.8/better-font-awesome.php:392
342
  #: svn/tags/1.0.9/better-font-awesome.php:392
343
  #: svn/tags/1.1.0/better-font-awesome.php:399
368
  msgid "Hide admin notices"
369
  msgstr ""
370
 
371
+ #: better-font-awesome.php:473 svn/tags/1.0.10/better-font-awesome.php:398
372
  #: svn/tags/1.0.8/better-font-awesome.php:398
373
  #: svn/tags/1.0.9/better-font-awesome.php:398
374
  #: svn/tags/1.1.0/better-font-awesome.php:405
401
  "occur."
402
  msgstr ""
403
 
404
+ #: better-font-awesome.php:541
405
+ msgid "Settings saved."
406
+ msgstr ""
407
+
408
+ #: better-font-awesome.php:556 better-font-awesome.php:579
409
  #: svn/tags/1.0.0/better-font-awesome.php:396
410
  #: svn/tags/1.0.0/better-font-awesome.php:422
411
  #: svn/tags/1.0.1/better-font-awesome.php:396
480
  msgid "Always Latest"
481
  msgstr ""
482
 
483
+ #: better-font-awesome.php:611 svn/tags/1.0.0/better-font-awesome.php:456
484
  #: svn/tags/1.0.1/better-font-awesome.php:456
485
  #: svn/tags/1.0.10/better-font-awesome.php:475
486
  #: svn/tags/1.0.2/better-font-awesome.php:456
516
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:553
517
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:553
518
  #: svn/trunk/better-font-awesome.php:616
519
+ #. translators: string is the error code + message.
520
  msgid ""
521
  "Version selection is currently unavailable. The attempt to reach the "
522
  "jsDelivr API server failed with the following error: %s"
523
  msgstr ""
524
 
525
+ #: better-font-awesome.php:620 svn/tags/1.0.0/better-font-awesome.php:463
526
  #: svn/tags/1.0.1/better-font-awesome.php:463
527
  #: svn/tags/1.0.10/better-font-awesome.php:482
528
  #: svn/tags/1.0.2/better-font-awesome.php:463
558
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:560
559
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:560
560
  #: svn/trunk/better-font-awesome.php:623
561
+ #. translators: string is the fallback version of font awesome.
562
  msgid "Font Awesome will still render using version: %s"
563
  msgstr ""
564
 
565
+ #: better-font-awesome.php:629
566
+ #. translators: placeholders are the opening and closing <a> tags.
567
+ msgid ""
568
+ "This may be the result of a temporary server or connectivity issue which "
569
+ "will resolve shortly. However if the problem persists please file a support "
570
+ "ticket on the %1$splugin forum%2$s, citing the errors listed above. "
571
+ msgstr ""
572
+
573
+ #: better-font-awesome.php:668
574
+ msgid ""
575
+ "<h3>Usage</h3>\n"
576
+ "\t\t\t\t\t <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a "
577
+ "href=\"http://fontawesome.io/examples/\">See all available options "
578
+ "&raquo;</a></small><br /><br />\n"
579
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
580
+ "name=\"coffee\"]</code> or <code>&lt;i "
581
+ "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
582
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
583
+ "<code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or <code>&lt;i "
584
+ "class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
585
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
586
+ "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"fa-2x "
587
+ "fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
588
+ "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
589
+ "\t\t\t\t\t <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
590
+ "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
591
+ "&raquo;</a></small><br /><br />\n"
592
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
593
+ "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
594
+ "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
595
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
596
+ "<code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or <code>&lt;i "
597
+ "class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
598
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
599
+ "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"icon-2x "
600
+ "icon-rotate-90\"]</code> or <code>&lt;i class=\"icon icon-coffee icon-2x "
601
+ "icon-rotate-90\"&gt;&lt;/i&gt;</code>"
602
+ msgstr ""
603
+
604
+ #: svn/tags/1.0.0/better-font-awesome.php:217
605
+ #: svn/tags/1.0.1/better-font-awesome.php:217
606
+ #: svn/tags/1.0.10/better-font-awesome.php:218
607
+ #: svn/tags/1.0.2/better-font-awesome.php:217
608
+ #: svn/tags/1.0.3/better-font-awesome.php:217
609
+ #: svn/tags/1.0.4/better-font-awesome.php:217
610
+ #: svn/tags/1.0.5/better-font-awesome.php:217
611
+ #: svn/tags/1.0.6/better-font-awesome.php:217
612
+ #: svn/tags/1.0.7/better-font-awesome.php:217
613
+ #: svn/tags/1.0.8/better-font-awesome.php:218
614
+ #: svn/tags/1.0.9/better-font-awesome.php:218
615
+ #: svn/tags/1.1.0/better-font-awesome.php:222
616
+ #: svn/tags/1.2.0/better-font-awesome.php:222
617
+ #: svn/tags/1.2.1/better-font-awesome.php:224
618
+ #: svn/tags/1.3.0/better-font-awesome.php:224
619
+ #: svn/tags/1.3.1/better-font-awesome.php:224
620
+ #: svn/tags/1.3.2/better-font-awesome.php:224
621
+ #: svn/tags/1.3.3/better-font-awesome.php:224
622
+ #: svn/tags/1.3.4/better-font-awesome.php:224
623
+ #: svn/tags/1.3.5/better-font-awesome.php:224
624
+ #: svn/tags/1.4.0/better-font-awesome.php:224
625
+ #: svn/tags/1.4.1/better-font-awesome.php:224
626
+ #: svn/tags/1.4.2/better-font-awesome.php:224
627
+ #: svn/tags/1.4.3/better-font-awesome.php:224
628
+ #: svn/tags/1.5.0/better-font-awesome.php:224
629
+ #: svn/tags/1.6.0/better-font-awesome.php:224
630
+ msgid ""
631
+ "It appears that Better Font Awesome is missing it's <a "
632
+ "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
633
+ "target=\"_blank\">core library</a>, which typically occurs when cloning the "
634
+ "Git repository and not updating all submodules. Please refer to the "
635
+ "plugin's <a href=\"https://github.com/MickeyKay/better-font-awesome\" "
636
+ "target=\"_blank\">installation instructions</a> for details on how to "
637
+ "properly install Better Font Awesome via Git. If you installed from within "
638
+ "WordPress, or via the wordpress.org repo, then chances are the install "
639
+ "failed and you can try again. If the issue persists, please create a new "
640
+ "topic on the plugin's <a "
641
+ "href=\"http://wordpress.org/support/plugin/better-font-awesome\" "
642
+ "target=\"_blank\">support forum</a> or file an issue on the <a "
643
+ "href=\"https://github.com/MickeyKay/better-font-awesome/issues\" "
644
+ "target=\"_blank\">Github repo</a>."
645
+ msgstr ""
646
+
647
+ #: svn/tags/1.0.0/better-font-awesome.php:470
648
  #: svn/tags/1.0.0/lib/better-font-awesome-library/better-font-awesome-library.php:1044
649
  #: svn/tags/1.0.1/better-font-awesome.php:470
650
  #: svn/tags/1.0.1/lib/better-font-awesome-library/better-font-awesome-library.php:1052
717
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
718
  #: svn/trunk/better-font-awesome.php:630
719
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
720
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
721
  msgid ""
722
  "This may be the result of a temporary server or connectivity issue which "
723
  "will resolve shortly. However if the problem persists please file a support "
724
  "ticket on the %splugin forum%s, citing the errors listed above. "
725
  msgstr ""
726
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
727
  #: svn/tags/1.0.0/better-font-awesome.php:517
728
  #: svn/tags/1.0.1/better-font-awesome.php:517
729
  #: svn/tags/1.0.10/better-font-awesome.php:536
807
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1283
808
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
809
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
810
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
811
  msgid "API Error"
812
  msgstr ""
813
 
848
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1285
849
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
850
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
851
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
852
  msgid ""
853
  "The attempt to reach the jsDelivr API server failed with the following "
854
  "error: %s"
891
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1295
892
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
893
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
894
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
895
  msgid "Remote CSS Error"
896
  msgstr ""
897
 
932
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1297
933
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
934
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
935
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
936
  msgid ""
937
  "The attempt to fetch the remote Font Awesome stylesheet failed with the "
938
  "following error: %s %s The embedded fallback Font Awesome will be used "
976
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
977
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
978
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
979
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
980
  msgid "Solution"
981
  msgstr ""
982
 
1021
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1022
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1023
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1024
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1025
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1026
  msgid "The jsDelivr API servers appear to be temporarily unavailable."
1027
  msgstr ""
1028
 
1062
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1307
1063
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1064
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1065
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1066
  msgid ""
1067
  "<b>Don't worry! Better Font Awesome will still render using the included "
1068
  "fallback version:</b> "
1069
  msgstr ""
1070
 
1071
+ #: svn/tags/1.3.0/better-font-awesome.php:601
1072
+ #: svn/tags/1.3.1/better-font-awesome.php:601
1073
+ #: svn/tags/1.3.2/better-font-awesome.php:601
1074
+ #: svn/tags/1.3.3/better-font-awesome.php:601
1075
+ #: svn/tags/1.3.4/better-font-awesome.php:601
1076
+ #: svn/tags/1.3.5/better-font-awesome.php:601
1077
+ #: svn/tags/1.4.0/better-font-awesome.php:601
1078
+ #: svn/tags/1.4.1/better-font-awesome.php:601
1079
+ #: svn/tags/1.4.2/better-font-awesome.php:601
1080
+ #: svn/tags/1.4.3/better-font-awesome.php:601
1081
+ #: svn/tags/1.5.0/better-font-awesome.php:601
1082
+ #: svn/tags/1.6.0/better-font-awesome.php:601
1083
+ #: svn/tags/1.7.0/better-font-awesome.php:614
1084
+ #: svn/tags/1.7.1/better-font-awesome.php:614
1085
+ #: svn/tags/1.7.2/better-font-awesome.php:614
1086
+ #: svn/tags/1.7.3/better-font-awesome.php:677
1087
+ #: svn/tags/1.7.4/better-font-awesome.php:677
1088
+ #: svn/tags/2.0.0-beta/better-font-awesome.php:614
1089
+ #: svn/tags/2.0.0-beta1/better-font-awesome.php:614
1090
+ #: svn/tags/2.0.0-beta2/better-font-awesome.php:614
1091
+ #: svn/tags/2.0.0-beta3/better-font-awesome.php:614
1092
+ #: svn/trunk/better-font-awesome.php:677
1093
+ msgid ""
1094
+ "<h3>Usage</h3>\n"
1095
+ " <b>Font Awesome version 4.x "
1096
+ "+</b>&nbsp;&nbsp;&nbsp;<small><a "
1097
+ "href=\"http://fontawesome.io/examples/\">See all available options "
1098
+ "&raquo;</a></small><br /><br />\n"
1099
+ " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1100
+ "name=\"coffee\"]</code> or <code>&lt;i "
1101
+ "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1102
+ " <i class=\"icon-coffee fa fa-coffee icon-2x "
1103
+ "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or "
1104
+ "<code>&lt;i class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
1105
+ " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
1106
+ "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
1107
+ "class=\"fa-2x fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
1108
+ "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
1109
+ " <b>Font Awesome version "
1110
+ "3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
1111
+ "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
1112
+ "&raquo;</a></small><br /><br />\n"
1113
+ " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1114
+ "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
1115
+ "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1116
+ " <i class=\"icon-coffee fa fa-coffee icon-2x "
1117
+ "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or "
1118
+ "<code>&lt;i class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br "
1119
+ "/><br />\n"
1120
+ " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
1121
+ "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
1122
+ "class=\"icon-2x icon-rotate-90\"]</code> or <code>&lt;i class=\"icon "
1123
+ "icon-coffee icon-2x icon-rotate-90\"&gt;&lt;/i&gt;</code>"
1124
+ msgstr ""
1125
+
1126
  #: svn/tags/1.3.0/lib/better-font-awesome-library/better-font-awesome-library.php:1031
1127
  #: svn/tags/1.3.1/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1128
  #: svn/tags/1.3.2/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1146
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1257
1147
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1148
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1149
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1150
  msgid "Insert Icon"
1151
  msgstr ""
1152
 
1153
+ #: svn/tags/1.7.3/better-font-awesome.php:338
1154
+ #: svn/tags/1.7.4/better-font-awesome.php:338
1155
+ #: svn/trunk/better-font-awesome.php:338
1156
+ msgid ""
1157
+ "First of all, thanks so much for using the plugin! Second of all, %sBetter "
1158
+ "Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a "
1159
+ "few major improvements, most notably support for Font Awesome 5 icons. "
1160
+ "Before publishing the update, it's important that we get plenty of user "
1161
+ "testing to validate that everything is working as expected, and we could "
1162
+ "really use your help."
1163
+ msgstr ""
1164
+
1165
+ #: svn/tags/1.7.3/better-font-awesome.php:339
1166
+ #: svn/tags/1.7.4/better-font-awesome.php:339
1167
+ #: svn/trunk/better-font-awesome.php:339
1168
+ msgid ""
1169
+ "If you are interested in helping us test the new update, please read the "
1170
+ "official %sblog post%s, which includes simple instructions for how to get "
1171
+ "involved. Thanks so much for you support"
1172
+ msgstr ""
1173
+
1174
+ #: svn/tags/1.7.3/better-font-awesome.php:341
1175
+ #: svn/tags/1.7.4/better-font-awesome.php:341
1176
+ #: svn/trunk/better-font-awesome.php:341
1177
+ msgid "Dismiss this notice."
1178
+ msgstr ""
1179
+
1180
  #. Plugin URI of the plugin/theme
1181
  msgid "http://wordpress.org/plugins/better-font-awesome"
1182
  msgstr ""
package-lock.json ADDED
@@ -0,0 +1,2855 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": "1.7.4",
3
+ "lockfileVersion": 1,
4
+ "requires": true,
5
+ "dependencies": {
6
+ "@types/color-name": {
7
+ "version": "1.1.1",
8
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
9
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
10
+ "dev": true
11
+ },
12
+ "@types/minimatch": {
13
+ "version": "3.0.3",
14
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
15
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
16
+ "dev": true
17
+ },
18
+ "abbrev": {
19
+ "version": "1.1.1",
20
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
21
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
22
+ "dev": true
23
+ },
24
+ "ansi-escapes": {
25
+ "version": "1.4.0",
26
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
27
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
28
+ "dev": true
29
+ },
30
+ "ansi-regex": {
31
+ "version": "0.2.1",
32
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
33
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
34
+ "dev": true
35
+ },
36
+ "ansi-styles": {
37
+ "version": "4.2.1",
38
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
39
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
40
+ "dev": true,
41
+ "requires": {
42
+ "@types/color-name": "^1.1.1",
43
+ "color-convert": "^2.0.1"
44
+ }
45
+ },
46
+ "argparse": {
47
+ "version": "1.0.10",
48
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
49
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
50
+ "dev": true,
51
+ "requires": {
52
+ "sprintf-js": "~1.0.2"
53
+ },
54
+ "dependencies": {
55
+ "sprintf-js": {
56
+ "version": "1.0.3",
57
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
58
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
59
+ "dev": true
60
+ }
61
+ }
62
+ },
63
+ "arr-diff": {
64
+ "version": "4.0.0",
65
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
66
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
67
+ "dev": true
68
+ },
69
+ "arr-flatten": {
70
+ "version": "1.1.0",
71
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
72
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
73
+ "dev": true
74
+ },
75
+ "arr-union": {
76
+ "version": "3.1.0",
77
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
78
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
79
+ "dev": true
80
+ },
81
+ "array-differ": {
82
+ "version": "3.0.0",
83
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
84
+ "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
85
+ "dev": true
86
+ },
87
+ "array-each": {
88
+ "version": "1.0.1",
89
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
90
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
91
+ "dev": true
92
+ },
93
+ "array-slice": {
94
+ "version": "1.1.0",
95
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
96
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
97
+ "dev": true
98
+ },
99
+ "array-union": {
100
+ "version": "2.1.0",
101
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
102
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
103
+ "dev": true
104
+ },
105
+ "array-unique": {
106
+ "version": "0.3.2",
107
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
108
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
109
+ "dev": true
110
+ },
111
+ "arrify": {
112
+ "version": "2.0.1",
113
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
114
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
115
+ "dev": true
116
+ },
117
+ "assign-symbols": {
118
+ "version": "1.0.0",
119
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
120
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
121
+ "dev": true
122
+ },
123
+ "async": {
124
+ "version": "1.5.2",
125
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
126
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
127
+ "dev": true
128
+ },
129
+ "async-each-series": {
130
+ "version": "1.1.0",
131
+ "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
132
+ "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
133
+ "dev": true
134
+ },
135
+ "atob": {
136
+ "version": "2.1.2",
137
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
138
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
139
+ "dev": true
140
+ },
141
+ "balanced-match": {
142
+ "version": "1.0.0",
143
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
144
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
145
+ "dev": true
146
+ },
147
+ "base": {
148
+ "version": "0.11.2",
149
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
150
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
151
+ "dev": true,
152
+ "requires": {
153
+ "cache-base": "^1.0.1",
154
+ "class-utils": "^0.3.5",
155
+ "component-emitter": "^1.2.1",
156
+ "define-property": "^1.0.0",
157
+ "isobject": "^3.0.1",
158
+ "mixin-deep": "^1.2.0",
159
+ "pascalcase": "^0.1.1"
160
+ },
161
+ "dependencies": {
162
+ "define-property": {
163
+ "version": "1.0.0",
164
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
165
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
166
+ "dev": true,
167
+ "requires": {
168
+ "is-descriptor": "^1.0.0"
169
+ }
170
+ },
171
+ "is-accessor-descriptor": {
172
+ "version": "1.0.0",
173
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
174
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
175
+ "dev": true,
176
+ "requires": {
177
+ "kind-of": "^6.0.0"
178
+ }
179
+ },
180
+ "is-data-descriptor": {
181
+ "version": "1.0.0",
182
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
183
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
184
+ "dev": true,
185
+ "requires": {
186
+ "kind-of": "^6.0.0"
187
+ }
188
+ },
189
+ "is-descriptor": {
190
+ "version": "1.0.2",
191
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
192
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
193
+ "dev": true,
194
+ "requires": {
195
+ "is-accessor-descriptor": "^1.0.0",
196
+ "is-data-descriptor": "^1.0.0",
197
+ "kind-of": "^6.0.2"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "bluebird": {
203
+ "version": "3.7.2",
204
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
205
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
206
+ "dev": true
207
+ },
208
+ "brace-expansion": {
209
+ "version": "1.1.11",
210
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
211
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
212
+ "dev": true,
213
+ "requires": {
214
+ "balanced-match": "^1.0.0",
215
+ "concat-map": "0.0.1"
216
+ }
217
+ },
218
+ "braces": {
219
+ "version": "2.3.2",
220
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
221
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
222
+ "dev": true,
223
+ "requires": {
224
+ "arr-flatten": "^1.1.0",
225
+ "array-unique": "^0.3.2",
226
+ "extend-shallow": "^2.0.1",
227
+ "fill-range": "^4.0.0",
228
+ "isobject": "^3.0.1",
229
+ "repeat-element": "^1.1.2",
230
+ "snapdragon": "^0.8.1",
231
+ "snapdragon-node": "^2.0.1",
232
+ "split-string": "^3.0.2",
233
+ "to-regex": "^3.0.1"
234
+ },
235
+ "dependencies": {
236
+ "extend-shallow": {
237
+ "version": "2.0.1",
238
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
239
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
240
+ "dev": true,
241
+ "requires": {
242
+ "is-extendable": "^0.1.0"
243
+ }
244
+ }
245
+ }
246
+ },
247
+ "cache-base": {
248
+ "version": "1.0.1",
249
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
250
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
251
+ "dev": true,
252
+ "requires": {
253
+ "collection-visit": "^1.0.0",
254
+ "component-emitter": "^1.2.1",
255
+ "get-value": "^2.0.6",
256
+ "has-value": "^1.0.0",
257
+ "isobject": "^3.0.1",
258
+ "set-value": "^2.0.0",
259
+ "to-object-path": "^0.3.0",
260
+ "union-value": "^1.0.0",
261
+ "unset-value": "^1.0.0"
262
+ }
263
+ },
264
+ "chalk": {
265
+ "version": "4.1.0",
266
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
267
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
268
+ "dev": true,
269
+ "requires": {
270
+ "ansi-styles": "^4.1.0",
271
+ "supports-color": "^7.1.0"
272
+ }
273
+ },
274
+ "class-utils": {
275
+ "version": "0.3.6",
276
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
277
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
278
+ "dev": true,
279
+ "requires": {
280
+ "arr-union": "^3.1.0",
281
+ "define-property": "^0.2.5",
282
+ "isobject": "^3.0.0",
283
+ "static-extend": "^0.1.1"
284
+ },
285
+ "dependencies": {
286
+ "define-property": {
287
+ "version": "0.2.5",
288
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
289
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
290
+ "dev": true,
291
+ "requires": {
292
+ "is-descriptor": "^0.1.0"
293
+ }
294
+ }
295
+ }
296
+ },
297
+ "cli-cursor": {
298
+ "version": "1.0.2",
299
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
300
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
301
+ "dev": true,
302
+ "requires": {
303
+ "restore-cursor": "^1.0.1"
304
+ }
305
+ },
306
+ "cli-width": {
307
+ "version": "2.2.1",
308
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
309
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
310
+ "dev": true
311
+ },
312
+ "code-point-at": {
313
+ "version": "1.1.0",
314
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
315
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
316
+ "dev": true
317
+ },
318
+ "collection-visit": {
319
+ "version": "1.0.0",
320
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
321
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
322
+ "dev": true,
323
+ "requires": {
324
+ "map-visit": "^1.0.0",
325
+ "object-visit": "^1.0.0"
326
+ }
327
+ },
328
+ "color-convert": {
329
+ "version": "2.0.1",
330
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
331
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
332
+ "dev": true,
333
+ "requires": {
334
+ "color-name": "~1.1.4"
335
+ }
336
+ },
337
+ "color-name": {
338
+ "version": "1.1.4",
339
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
340
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
341
+ "dev": true
342
+ },
343
+ "colors": {
344
+ "version": "1.1.2",
345
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
346
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
347
+ "dev": true
348
+ },
349
+ "component-emitter": {
350
+ "version": "1.3.0",
351
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
352
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
353
+ "dev": true
354
+ },
355
+ "concat-map": {
356
+ "version": "0.0.1",
357
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
358
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
359
+ "dev": true
360
+ },
361
+ "copy-descriptor": {
362
+ "version": "0.1.1",
363
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
364
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
365
+ "dev": true
366
+ },
367
+ "dateformat": {
368
+ "version": "3.0.3",
369
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
370
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
371
+ "dev": true
372
+ },
373
+ "debug": {
374
+ "version": "2.6.9",
375
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
376
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
377
+ "dev": true,
378
+ "requires": {
379
+ "ms": "2.0.0"
380
+ }
381
+ },
382
+ "decode-uri-component": {
383
+ "version": "0.2.0",
384
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
385
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
386
+ "dev": true
387
+ },
388
+ "define-property": {
389
+ "version": "2.0.2",
390
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
391
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
392
+ "dev": true,
393
+ "requires": {
394
+ "is-descriptor": "^1.0.2",
395
+ "isobject": "^3.0.1"
396
+ },
397
+ "dependencies": {
398
+ "is-accessor-descriptor": {
399
+ "version": "1.0.0",
400
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
401
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
402
+ "dev": true,
403
+ "requires": {
404
+ "kind-of": "^6.0.0"
405
+ }
406
+ },
407
+ "is-data-descriptor": {
408
+ "version": "1.0.0",
409
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
410
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
411
+ "dev": true,
412
+ "requires": {
413
+ "kind-of": "^6.0.0"
414
+ }
415
+ },
416
+ "is-descriptor": {
417
+ "version": "1.0.2",
418
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
419
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
420
+ "dev": true,
421
+ "requires": {
422
+ "is-accessor-descriptor": "^1.0.0",
423
+ "is-data-descriptor": "^1.0.0",
424
+ "kind-of": "^6.0.2"
425
+ }
426
+ }
427
+ }
428
+ },
429
+ "detect-file": {
430
+ "version": "1.0.0",
431
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
432
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
433
+ "dev": true
434
+ },
435
+ "encoding": {
436
+ "version": "0.1.13",
437
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
438
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
439
+ "dev": true,
440
+ "requires": {
441
+ "iconv-lite": "^0.6.2"
442
+ },
443
+ "dependencies": {
444
+ "iconv-lite": {
445
+ "version": "0.6.2",
446
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
447
+ "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
448
+ "dev": true,
449
+ "requires": {
450
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
451
+ }
452
+ }
453
+ }
454
+ },
455
+ "escape-string-regexp": {
456
+ "version": "1.0.5",
457
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
458
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
459
+ "dev": true
460
+ },
461
+ "esprima": {
462
+ "version": "4.0.1",
463
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
464
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
465
+ "dev": true
466
+ },
467
+ "eventemitter2": {
468
+ "version": "0.4.14",
469
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
470
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
471
+ "dev": true
472
+ },
473
+ "exit": {
474
+ "version": "0.1.2",
475
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
476
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
477
+ "dev": true
478
+ },
479
+ "exit-hook": {
480
+ "version": "1.1.1",
481
+ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
482
+ "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
483
+ "dev": true
484
+ },
485
+ "expand-brackets": {
486
+ "version": "2.1.4",
487
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
488
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
489
+ "dev": true,
490
+ "requires": {
491
+ "debug": "^2.3.3",
492
+ "define-property": "^0.2.5",
493
+ "extend-shallow": "^2.0.1",
494
+ "posix-character-classes": "^0.1.0",
495
+ "regex-not": "^1.0.0",
496
+ "snapdragon": "^0.8.1",
497
+ "to-regex": "^3.0.1"
498
+ },
499
+ "dependencies": {
500
+ "define-property": {
501
+ "version": "0.2.5",
502
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
503
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
504
+ "dev": true,
505
+ "requires": {
506
+ "is-descriptor": "^0.1.0"
507
+ }
508
+ },
509
+ "extend-shallow": {
510
+ "version": "2.0.1",
511
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
512
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
513
+ "dev": true,
514
+ "requires": {
515
+ "is-extendable": "^0.1.0"
516
+ }
517
+ }
518
+ }
519
+ },
520
+ "expand-range": {
521
+ "version": "1.8.2",
522
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
523
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
524
+ "dev": true,
525
+ "requires": {
526
+ "fill-range": "^2.1.0"
527
+ },
528
+ "dependencies": {
529
+ "fill-range": {
530
+ "version": "2.2.4",
531
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
532
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
533
+ "dev": true,
534
+ "requires": {
535
+ "is-number": "^2.1.0",
536
+ "isobject": "^2.0.0",
537
+ "randomatic": "^3.0.0",
538
+ "repeat-element": "^1.1.2",
539
+ "repeat-string": "^1.5.2"
540
+ }
541
+ },
542
+ "is-number": {
543
+ "version": "2.1.0",
544
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
545
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
546
+ "dev": true,
547
+ "requires": {
548
+ "kind-of": "^3.0.2"
549
+ }
550
+ },
551
+ "isobject": {
552
+ "version": "2.1.0",
553
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
554
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
555
+ "dev": true,
556
+ "requires": {
557
+ "isarray": "1.0.0"
558
+ }
559
+ },
560
+ "kind-of": {
561
+ "version": "3.2.2",
562
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
563
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
564
+ "dev": true,
565
+ "requires": {
566
+ "is-buffer": "^1.1.5"
567
+ }
568
+ }
569
+ }
570
+ },
571
+ "expand-tilde": {
572
+ "version": "2.0.2",
573
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
574
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
575
+ "dev": true,
576
+ "requires": {
577
+ "homedir-polyfill": "^1.0.1"
578
+ }
579
+ },
580
+ "extend": {
581
+ "version": "3.0.2",
582
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
583
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
584
+ "dev": true
585
+ },
586
+ "extend-shallow": {
587
+ "version": "3.0.2",
588
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
589
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
590
+ "dev": true,
591
+ "requires": {
592
+ "assign-symbols": "^1.0.0",
593
+ "is-extendable": "^1.0.1"
594
+ },
595
+ "dependencies": {
596
+ "is-extendable": {
597
+ "version": "1.0.1",
598
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
599
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
600
+ "dev": true,
601
+ "requires": {
602
+ "is-plain-object": "^2.0.4"
603
+ }
604
+ }
605
+ }
606
+ },
607
+ "extglob": {
608
+ "version": "2.0.4",
609
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
610
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
611
+ "dev": true,
612
+ "requires": {
613
+ "array-unique": "^0.3.2",
614
+ "define-property": "^1.0.0",
615
+ "expand-brackets": "^2.1.4",
616
+ "extend-shallow": "^2.0.1",
617
+ "fragment-cache": "^0.2.1",
618
+ "regex-not": "^1.0.0",
619
+ "snapdragon": "^0.8.1",
620
+ "to-regex": "^3.0.1"
621
+ },
622
+ "dependencies": {
623
+ "define-property": {
624
+ "version": "1.0.0",
625
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
626
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
627
+ "dev": true,
628
+ "requires": {
629
+ "is-descriptor": "^1.0.0"
630
+ }
631
+ },
632
+ "extend-shallow": {
633
+ "version": "2.0.1",
634
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
635
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
636
+ "dev": true,
637
+ "requires": {
638
+ "is-extendable": "^0.1.0"
639
+ }
640
+ },
641
+ "is-accessor-descriptor": {
642
+ "version": "1.0.0",
643
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
644
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
645
+ "dev": true,
646
+ "requires": {
647
+ "kind-of": "^6.0.0"
648
+ }
649
+ },
650
+ "is-data-descriptor": {
651
+ "version": "1.0.0",
652
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
653
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
654
+ "dev": true,
655
+ "requires": {
656
+ "kind-of": "^6.0.0"
657
+ }
658
+ },
659
+ "is-descriptor": {
660
+ "version": "1.0.2",
661
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
662
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
663
+ "dev": true,
664
+ "requires": {
665
+ "is-accessor-descriptor": "^1.0.0",
666
+ "is-data-descriptor": "^1.0.0",
667
+ "kind-of": "^6.0.2"
668
+ }
669
+ }
670
+ }
671
+ },
672
+ "figures": {
673
+ "version": "1.7.0",
674
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
675
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
676
+ "dev": true,
677
+ "requires": {
678
+ "escape-string-regexp": "^1.0.5",
679
+ "object-assign": "^4.1.0"
680
+ }
681
+ },
682
+ "filename-regex": {
683
+ "version": "2.0.1",
684
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
685
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
686
+ "dev": true
687
+ },
688
+ "fill-range": {
689
+ "version": "4.0.0",
690
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
691
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
692
+ "dev": true,
693
+ "requires": {
694
+ "extend-shallow": "^2.0.1",
695
+ "is-number": "^3.0.0",
696
+ "repeat-string": "^1.6.1",
697
+ "to-regex-range": "^2.1.0"
698
+ },
699
+ "dependencies": {
700
+ "extend-shallow": {
701
+ "version": "2.0.1",
702
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
703
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
704
+ "dev": true,
705
+ "requires": {
706
+ "is-extendable": "^0.1.0"
707
+ }
708
+ }
709
+ }
710
+ },
711
+ "find-up": {
712
+ "version": "3.0.0",
713
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
714
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
715
+ "dev": true,
716
+ "requires": {
717
+ "locate-path": "^3.0.0"
718
+ }
719
+ },
720
+ "findup-sync": {
721
+ "version": "0.3.0",
722
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
723
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
724
+ "dev": true,
725
+ "requires": {
726
+ "glob": "~5.0.0"
727
+ },
728
+ "dependencies": {
729
+ "glob": {
730
+ "version": "5.0.15",
731
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
732
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
733
+ "dev": true,
734
+ "requires": {
735
+ "inflight": "^1.0.4",
736
+ "inherits": "2",
737
+ "minimatch": "2 || 3",
738
+ "once": "^1.3.0",
739
+ "path-is-absolute": "^1.0.0"
740
+ }
741
+ }
742
+ }
743
+ },
744
+ "fined": {
745
+ "version": "1.2.0",
746
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
747
+ "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
748
+ "dev": true,
749
+ "requires": {
750
+ "expand-tilde": "^2.0.2",
751
+ "is-plain-object": "^2.0.3",
752
+ "object.defaults": "^1.1.0",
753
+ "object.pick": "^1.2.0",
754
+ "parse-filepath": "^1.0.1"
755
+ }
756
+ },
757
+ "flagged-respawn": {
758
+ "version": "1.0.1",
759
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
760
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
761
+ "dev": true
762
+ },
763
+ "for-in": {
764
+ "version": "1.0.2",
765
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
766
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
767
+ "dev": true
768
+ },
769
+ "for-own": {
770
+ "version": "1.0.0",
771
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
772
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
773
+ "dev": true,
774
+ "requires": {
775
+ "for-in": "^1.0.1"
776
+ }
777
+ },
778
+ "fragment-cache": {
779
+ "version": "0.2.1",
780
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
781
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
782
+ "dev": true,
783
+ "requires": {
784
+ "map-cache": "^0.2.2"
785
+ }
786
+ },
787
+ "fs-exists-sync": {
788
+ "version": "0.1.0",
789
+ "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
790
+ "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
791
+ "dev": true
792
+ },
793
+ "fs.realpath": {
794
+ "version": "1.0.0",
795
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
796
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
797
+ "dev": true
798
+ },
799
+ "get-value": {
800
+ "version": "2.0.6",
801
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
802
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
803
+ "dev": true
804
+ },
805
+ "getobject": {
806
+ "version": "0.1.0",
807
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
808
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
809
+ "dev": true
810
+ },
811
+ "gettext-parser": {
812
+ "version": "3.1.1",
813
+ "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz",
814
+ "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==",
815
+ "dev": true,
816
+ "requires": {
817
+ "encoding": "^0.1.12",
818
+ "readable-stream": "^3.2.0",
819
+ "safe-buffer": "^5.1.2"
820
+ }
821
+ },
822
+ "glob": {
823
+ "version": "7.1.6",
824
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
825
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
826
+ "dev": true,
827
+ "requires": {
828
+ "fs.realpath": "^1.0.0",
829
+ "inflight": "^1.0.4",
830
+ "inherits": "2",
831
+ "minimatch": "^3.0.4",
832
+ "once": "^1.3.0",
833
+ "path-is-absolute": "^1.0.0"
834
+ }
835
+ },
836
+ "glob-base": {
837
+ "version": "0.3.0",
838
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
839
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
840
+ "dev": true,
841
+ "requires": {
842
+ "glob-parent": "^2.0.0",
843
+ "is-glob": "^2.0.0"
844
+ },
845
+ "dependencies": {
846
+ "is-extglob": {
847
+ "version": "1.0.0",
848
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
849
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
850
+ "dev": true
851
+ },
852
+ "is-glob": {
853
+ "version": "2.0.1",
854
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
855
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
856
+ "dev": true,
857
+ "requires": {
858
+ "is-extglob": "^1.0.0"
859
+ }
860
+ }
861
+ }
862
+ },
863
+ "glob-parent": {
864
+ "version": "2.0.0",
865
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
866
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
867
+ "dev": true,
868
+ "requires": {
869
+ "is-glob": "^2.0.0"
870
+ },
871
+ "dependencies": {
872
+ "is-extglob": {
873
+ "version": "1.0.0",
874
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
875
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
876
+ "dev": true
877
+ },
878
+ "is-glob": {
879
+ "version": "2.0.1",
880
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
881
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
882
+ "dev": true,
883
+ "requires": {
884
+ "is-extglob": "^1.0.0"
885
+ }
886
+ }
887
+ }
888
+ },
889
+ "global-modules": {
890
+ "version": "1.0.0",
891
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
892
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
893
+ "dev": true,
894
+ "requires": {
895
+ "global-prefix": "^1.0.1",
896
+ "is-windows": "^1.0.1",
897
+ "resolve-dir": "^1.0.0"
898
+ }
899
+ },
900
+ "global-prefix": {
901
+ "version": "1.0.2",
902
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
903
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
904
+ "dev": true,
905
+ "requires": {
906
+ "expand-tilde": "^2.0.2",
907
+ "homedir-polyfill": "^1.0.1",
908
+ "ini": "^1.3.4",
909
+ "is-windows": "^1.0.1",
910
+ "which": "^1.2.14"
911
+ }
912
+ },
913
+ "grunt": {
914
+ "version": "1.3.0",
915
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz",
916
+ "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==",
917
+ "dev": true,
918
+ "requires": {
919
+ "dateformat": "~3.0.3",
920
+ "eventemitter2": "~0.4.13",
921
+ "exit": "~0.1.2",
922
+ "findup-sync": "~0.3.0",
923
+ "glob": "~7.1.6",
924
+ "grunt-cli": "~1.3.2",
925
+ "grunt-known-options": "~1.1.0",
926
+ "grunt-legacy-log": "~3.0.0",
927
+ "grunt-legacy-util": "~2.0.0",
928
+ "iconv-lite": "~0.4.13",
929
+ "js-yaml": "~3.14.0",
930
+ "minimatch": "~3.0.4",
931
+ "mkdirp": "~1.0.4",
932
+ "nopt": "~3.0.6",
933
+ "rimraf": "~3.0.2"
934
+ },
935
+ "dependencies": {
936
+ "grunt-cli": {
937
+ "version": "1.3.2",
938
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
939
+ "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
940
+ "dev": true,
941
+ "requires": {
942
+ "grunt-known-options": "~1.1.0",
943
+ "interpret": "~1.1.0",
944
+ "liftoff": "~2.5.0",
945
+ "nopt": "~4.0.1",
946
+ "v8flags": "~3.1.1"
947
+ },
948
+ "dependencies": {
949
+ "nopt": {
950
+ "version": "4.0.3",
951
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
952
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
953
+ "dev": true,
954
+ "requires": {
955
+ "abbrev": "1",
956
+ "osenv": "^0.1.4"
957
+ }
958
+ }
959
+ }
960
+ }
961
+ }
962
+ },
963
+ "grunt-contrib-copy": {
964
+ "version": "0.7.0",
965
+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.7.0.tgz",
966
+ "integrity": "sha1-xt5I4N9zFEmu2w8InAldvCpVBQ8=",
967
+ "dev": true,
968
+ "requires": {
969
+ "chalk": "~0.5.1"
970
+ },
971
+ "dependencies": {
972
+ "ansi-styles": {
973
+ "version": "1.1.0",
974
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
975
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
976
+ "dev": true
977
+ },
978
+ "chalk": {
979
+ "version": "0.5.1",
980
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
981
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
982
+ "dev": true,
983
+ "requires": {
984
+ "ansi-styles": "^1.1.0",
985
+ "escape-string-regexp": "^1.0.0",
986
+ "has-ansi": "^0.1.0",
987
+ "strip-ansi": "^0.3.0",
988
+ "supports-color": "^0.2.0"
989
+ }
990
+ },
991
+ "supports-color": {
992
+ "version": "0.2.0",
993
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
994
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
995
+ "dev": true
996
+ }
997
+ }
998
+ },
999
+ "grunt-dev-update": {
1000
+ "version": "2.3.0",
1001
+ "resolved": "https://registry.npmjs.org/grunt-dev-update/-/grunt-dev-update-2.3.0.tgz",
1002
+ "integrity": "sha512-q/DUppB7YuRUJM0tthz4EzyfYfaiEmfTIZGaFTx6dyrkOZO+McrMgQVoO0A5+lFwPxPFKhPEXwhxWitADNcn6w==",
1003
+ "dev": true,
1004
+ "requires": {
1005
+ "async-each-series": "^1.1.0",
1006
+ "findup-sync": "^0.4.0",
1007
+ "inquirer": "^0.12.0",
1008
+ "lodash": "^4.8.2",
1009
+ "npm-package-arg": "^4.1.0",
1010
+ "semver": "^5.1.0"
1011
+ },
1012
+ "dependencies": {
1013
+ "arr-diff": {
1014
+ "version": "2.0.0",
1015
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
1016
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
1017
+ "dev": true,
1018
+ "requires": {
1019
+ "arr-flatten": "^1.0.1"
1020
+ }
1021
+ },
1022
+ "array-unique": {
1023
+ "version": "0.2.1",
1024
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
1025
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
1026
+ "dev": true
1027
+ },
1028
+ "braces": {
1029
+ "version": "1.8.5",
1030
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
1031
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
1032
+ "dev": true,
1033
+ "requires": {
1034
+ "expand-range": "^1.8.1",
1035
+ "preserve": "^0.2.0",
1036
+ "repeat-element": "^1.1.2"
1037
+ }
1038
+ },
1039
+ "detect-file": {
1040
+ "version": "0.1.0",
1041
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
1042
+ "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
1043
+ "dev": true,
1044
+ "requires": {
1045
+ "fs-exists-sync": "^0.1.0"
1046
+ }
1047
+ },
1048
+ "expand-brackets": {
1049
+ "version": "0.1.5",
1050
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
1051
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
1052
+ "dev": true,
1053
+ "requires": {
1054
+ "is-posix-bracket": "^0.1.0"
1055
+ }
1056
+ },
1057
+ "expand-tilde": {
1058
+ "version": "1.2.2",
1059
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
1060
+ "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
1061
+ "dev": true,
1062
+ "requires": {
1063
+ "os-homedir": "^1.0.1"
1064
+ }
1065
+ },
1066
+ "extglob": {
1067
+ "version": "0.3.2",
1068
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
1069
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
1070
+ "dev": true,
1071
+ "requires": {
1072
+ "is-extglob": "^1.0.0"
1073
+ }
1074
+ },
1075
+ "findup-sync": {
1076
+ "version": "0.4.3",
1077
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
1078
+ "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=",
1079
+ "dev": true,
1080
+ "requires": {
1081
+ "detect-file": "^0.1.0",
1082
+ "is-glob": "^2.0.1",
1083
+ "micromatch": "^2.3.7",
1084
+ "resolve-dir": "^0.1.0"
1085
+ }
1086
+ },
1087
+ "global-modules": {
1088
+ "version": "0.2.3",
1089
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
1090
+ "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
1091
+ "dev": true,
1092
+ "requires": {
1093
+ "global-prefix": "^0.1.4",
1094
+ "is-windows": "^0.2.0"
1095
+ }
1096
+ },
1097
+ "global-prefix": {
1098
+ "version": "0.1.5",
1099
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
1100
+ "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
1101
+ "dev": true,
1102
+ "requires": {
1103
+ "homedir-polyfill": "^1.0.0",
1104
+ "ini": "^1.3.4",
1105
+ "is-windows": "^0.2.0",
1106
+ "which": "^1.2.12"
1107
+ }
1108
+ },
1109
+ "is-extglob": {
1110
+ "version": "1.0.0",
1111
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1112
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1113
+ "dev": true
1114
+ },
1115
+ "is-glob": {
1116
+ "version": "2.0.1",
1117
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1118
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1119
+ "dev": true,
1120
+ "requires": {
1121
+ "is-extglob": "^1.0.0"
1122
+ }
1123
+ },
1124
+ "is-windows": {
1125
+ "version": "0.2.0",
1126
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
1127
+ "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
1128
+ "dev": true
1129
+ },
1130
+ "kind-of": {
1131
+ "version": "3.2.2",
1132
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1133
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1134
+ "dev": true,
1135
+ "requires": {
1136
+ "is-buffer": "^1.1.5"
1137
+ }
1138
+ },
1139
+ "micromatch": {
1140
+ "version": "2.3.11",
1141
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
1142
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
1143
+ "dev": true,
1144
+ "requires": {
1145
+ "arr-diff": "^2.0.0",
1146
+ "array-unique": "^0.2.1",
1147
+ "braces": "^1.8.2",
1148
+ "expand-brackets": "^0.1.4",
1149
+ "extglob": "^0.3.1",
1150
+ "filename-regex": "^2.0.0",
1151
+ "is-extglob": "^1.0.0",
1152
+ "is-glob": "^2.0.1",
1153
+ "kind-of": "^3.0.2",
1154
+ "normalize-path": "^2.0.1",
1155
+ "object.omit": "^2.0.0",
1156
+ "parse-glob": "^3.0.4",
1157
+ "regex-cache": "^0.4.2"
1158
+ }
1159
+ },
1160
+ "resolve-dir": {
1161
+ "version": "0.1.1",
1162
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
1163
+ "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
1164
+ "dev": true,
1165
+ "requires": {
1166
+ "expand-tilde": "^1.2.2",
1167
+ "global-modules": "^0.2.3"
1168
+ }
1169
+ }
1170
+ }
1171
+ },
1172
+ "grunt-known-options": {
1173
+ "version": "1.1.1",
1174
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
1175
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
1176
+ "dev": true
1177
+ },
1178
+ "grunt-legacy-log": {
1179
+ "version": "3.0.0",
1180
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz",
1181
+ "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==",
1182
+ "dev": true,
1183
+ "requires": {
1184
+ "colors": "~1.1.2",
1185
+ "grunt-legacy-log-utils": "~2.1.0",
1186
+ "hooker": "~0.2.3",
1187
+ "lodash": "~4.17.19"
1188
+ }
1189
+ },
1190
+ "grunt-legacy-log-utils": {
1191
+ "version": "2.1.0",
1192
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz",
1193
+ "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==",
1194
+ "dev": true,
1195
+ "requires": {
1196
+ "chalk": "~4.1.0",
1197
+ "lodash": "~4.17.19"
1198
+ }
1199
+ },
1200
+ "grunt-legacy-util": {
1201
+ "version": "2.0.0",
1202
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz",
1203
+ "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==",
1204
+ "dev": true,
1205
+ "requires": {
1206
+ "async": "~1.5.2",
1207
+ "exit": "~0.1.1",
1208
+ "getobject": "~0.1.0",
1209
+ "hooker": "~0.2.3",
1210
+ "lodash": "~4.17.20",
1211
+ "underscore.string": "~3.3.5",
1212
+ "which": "~1.3.0"
1213
+ }
1214
+ },
1215
+ "grunt-prompt": {
1216
+ "version": "1.3.3",
1217
+ "resolved": "https://registry.npmjs.org/grunt-prompt/-/grunt-prompt-1.3.3.tgz",
1218
+ "integrity": "sha1-xbQ77DqimqaWKsZhGolnEvy6Z5E=",
1219
+ "dev": true,
1220
+ "requires": {
1221
+ "inquirer": "^0.11.0",
1222
+ "lodash": "^3.10.1"
1223
+ },
1224
+ "dependencies": {
1225
+ "ansi-regex": {
1226
+ "version": "2.1.1",
1227
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1228
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1229
+ "dev": true
1230
+ },
1231
+ "ansi-styles": {
1232
+ "version": "2.2.1",
1233
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
1234
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
1235
+ "dev": true
1236
+ },
1237
+ "chalk": {
1238
+ "version": "1.1.3",
1239
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1240
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1241
+ "dev": true,
1242
+ "requires": {
1243
+ "ansi-styles": "^2.2.1",
1244
+ "escape-string-regexp": "^1.0.2",
1245
+ "has-ansi": "^2.0.0",
1246
+ "strip-ansi": "^3.0.0",
1247
+ "supports-color": "^2.0.0"
1248
+ }
1249
+ },
1250
+ "cli-width": {
1251
+ "version": "1.1.1",
1252
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
1253
+ "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
1254
+ "dev": true
1255
+ },
1256
+ "has-ansi": {
1257
+ "version": "2.0.0",
1258
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1259
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1260
+ "dev": true,
1261
+ "requires": {
1262
+ "ansi-regex": "^2.0.0"
1263
+ }
1264
+ },
1265
+ "inquirer": {
1266
+ "version": "0.11.4",
1267
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz",
1268
+ "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=",
1269
+ "dev": true,
1270
+ "requires": {
1271
+ "ansi-escapes": "^1.1.0",
1272
+ "ansi-regex": "^2.0.0",
1273
+ "chalk": "^1.0.0",
1274
+ "cli-cursor": "^1.0.1",
1275
+ "cli-width": "^1.0.1",
1276
+ "figures": "^1.3.5",
1277
+ "lodash": "^3.3.1",
1278
+ "readline2": "^1.0.1",
1279
+ "run-async": "^0.1.0",
1280
+ "rx-lite": "^3.1.2",
1281
+ "string-width": "^1.0.1",
1282
+ "strip-ansi": "^3.0.0",
1283
+ "through": "^2.3.6"
1284
+ }
1285
+ },
1286
+ "lodash": {
1287
+ "version": "3.10.1",
1288
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
1289
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
1290
+ "dev": true
1291
+ },
1292
+ "strip-ansi": {
1293
+ "version": "3.0.1",
1294
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1295
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1296
+ "dev": true,
1297
+ "requires": {
1298
+ "ansi-regex": "^2.0.0"
1299
+ }
1300
+ },
1301
+ "supports-color": {
1302
+ "version": "2.0.0",
1303
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1304
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1305
+ "dev": true
1306
+ }
1307
+ }
1308
+ },
1309
+ "grunt-text-replace": {
1310
+ "version": "0.4.0",
1311
+ "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz",
1312
+ "integrity": "sha1-252c5Z4v5J2id+nbwZXD4Rz7FsI=",
1313
+ "dev": true
1314
+ },
1315
+ "grunt-wp-i18n": {
1316
+ "version": "1.0.3",
1317
+ "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.3.tgz",
1318
+ "integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
1319
+ "dev": true,
1320
+ "requires": {
1321
+ "grunt": "^1.0.3",
1322
+ "node-wp-i18n": "^1.2.2"
1323
+ }
1324
+ },
1325
+ "grunt-wp-readme-to-markdown": {
1326
+ "version": "2.0.1",
1327
+ "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.0.1.tgz",
1328
+ "integrity": "sha1-QGzV6YmIWA3B0W6AXE4uYJJWhVI=",
1329
+ "dev": true
1330
+ },
1331
+ "has-ansi": {
1332
+ "version": "0.1.0",
1333
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
1334
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
1335
+ "dev": true,
1336
+ "requires": {
1337
+ "ansi-regex": "^0.2.0"
1338
+ }
1339
+ },
1340
+ "has-flag": {
1341
+ "version": "4.0.0",
1342
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1343
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1344
+ "dev": true
1345
+ },
1346
+ "has-value": {
1347
+ "version": "1.0.0",
1348
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1349
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1350
+ "dev": true,
1351
+ "requires": {
1352
+ "get-value": "^2.0.6",
1353
+ "has-values": "^1.0.0",
1354
+ "isobject": "^3.0.0"
1355
+ }
1356
+ },
1357
+ "has-values": {
1358
+ "version": "1.0.0",
1359
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1360
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1361
+ "dev": true,
1362
+ "requires": {
1363
+ "is-number": "^3.0.0",
1364
+ "kind-of": "^4.0.0"
1365
+ },
1366
+ "dependencies": {
1367
+ "kind-of": {
1368
+ "version": "4.0.0",
1369
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1370
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1371
+ "dev": true,
1372
+ "requires": {
1373
+ "is-buffer": "^1.1.5"
1374
+ }
1375
+ }
1376
+ }
1377
+ },
1378
+ "homedir-polyfill": {
1379
+ "version": "1.0.3",
1380
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
1381
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
1382
+ "dev": true,
1383
+ "requires": {
1384
+ "parse-passwd": "^1.0.0"
1385
+ }
1386
+ },
1387
+ "hooker": {
1388
+ "version": "0.2.3",
1389
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
1390
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
1391
+ "dev": true
1392
+ },
1393
+ "hosted-git-info": {
1394
+ "version": "2.8.8",
1395
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
1396
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
1397
+ "dev": true
1398
+ },
1399
+ "iconv-lite": {
1400
+ "version": "0.4.24",
1401
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1402
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1403
+ "dev": true,
1404
+ "requires": {
1405
+ "safer-buffer": ">= 2.1.2 < 3"
1406
+ }
1407
+ },
1408
+ "inflight": {
1409
+ "version": "1.0.6",
1410
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1411
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1412
+ "dev": true,
1413
+ "requires": {
1414
+ "once": "^1.3.0",
1415
+ "wrappy": "1"
1416
+ }
1417
+ },
1418
+ "inherits": {
1419
+ "version": "2.0.4",
1420
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1421
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1422
+ "dev": true
1423
+ },
1424
+ "ini": {
1425
+ "version": "1.3.5",
1426
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
1427
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
1428
+ "dev": true
1429
+ },
1430
+ "inquirer": {
1431
+ "version": "0.12.0",
1432
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
1433
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
1434
+ "dev": true,
1435
+ "requires": {
1436
+ "ansi-escapes": "^1.1.0",
1437
+ "ansi-regex": "^2.0.0",
1438
+ "chalk": "^1.0.0",
1439
+ "cli-cursor": "^1.0.1",
1440
+ "cli-width": "^2.0.0",
1441
+ "figures": "^1.3.5",
1442
+ "lodash": "^4.3.0",
1443
+ "readline2": "^1.0.1",
1444
+ "run-async": "^0.1.0",
1445
+ "rx-lite": "^3.1.2",
1446
+ "string-width": "^1.0.1",
1447
+ "strip-ansi": "^3.0.0",
1448
+ "through": "^2.3.6"
1449
+ },
1450
+ "dependencies": {
1451
+ "ansi-regex": {
1452
+ "version": "2.1.1",
1453
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1454
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1455
+ "dev": true
1456
+ },
1457
+ "ansi-styles": {
1458
+ "version": "2.2.1",
1459
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
1460
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
1461
+ "dev": true
1462
+ },
1463
+ "chalk": {
1464
+ "version": "1.1.3",
1465
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1466
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1467
+ "dev": true,
1468
+ "requires": {
1469
+ "ansi-styles": "^2.2.1",
1470
+ "escape-string-regexp": "^1.0.2",
1471
+ "has-ansi": "^2.0.0",
1472
+ "strip-ansi": "^3.0.0",
1473
+ "supports-color": "^2.0.0"
1474
+ }
1475
+ },
1476
+ "has-ansi": {
1477
+ "version": "2.0.0",
1478
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1479
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1480
+ "dev": true,
1481
+ "requires": {
1482
+ "ansi-regex": "^2.0.0"
1483
+ }
1484
+ },
1485
+ "strip-ansi": {
1486
+ "version": "3.0.1",
1487
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1488
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1489
+ "dev": true,
1490
+ "requires": {
1491
+ "ansi-regex": "^2.0.0"
1492
+ }
1493
+ },
1494
+ "supports-color": {
1495
+ "version": "2.0.0",
1496
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1497
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1498
+ "dev": true
1499
+ }
1500
+ }
1501
+ },
1502
+ "interpret": {
1503
+ "version": "1.1.0",
1504
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
1505
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
1506
+ "dev": true
1507
+ },
1508
+ "is-absolute": {
1509
+ "version": "1.0.0",
1510
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
1511
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
1512
+ "dev": true,
1513
+ "requires": {
1514
+ "is-relative": "^1.0.0",
1515
+ "is-windows": "^1.0.1"
1516
+ }
1517
+ },
1518
+ "is-accessor-descriptor": {
1519
+ "version": "0.1.6",
1520
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1521
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1522
+ "dev": true,
1523
+ "requires": {
1524
+ "kind-of": "^3.0.2"
1525
+ },
1526
+ "dependencies": {
1527
+ "kind-of": {
1528
+ "version": "3.2.2",
1529
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1530
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1531
+ "dev": true,
1532
+ "requires": {
1533
+ "is-buffer": "^1.1.5"
1534
+ }
1535
+ }
1536
+ }
1537
+ },
1538
+ "is-buffer": {
1539
+ "version": "1.1.6",
1540
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1541
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1542
+ "dev": true
1543
+ },
1544
+ "is-data-descriptor": {
1545
+ "version": "0.1.4",
1546
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1547
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1548
+ "dev": true,
1549
+ "requires": {
1550
+ "kind-of": "^3.0.2"
1551
+ },
1552
+ "dependencies": {
1553
+ "kind-of": {
1554
+ "version": "3.2.2",
1555
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1556
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1557
+ "dev": true,
1558
+ "requires": {
1559
+ "is-buffer": "^1.1.5"
1560
+ }
1561
+ }
1562
+ }
1563
+ },
1564
+ "is-descriptor": {
1565
+ "version": "0.1.6",
1566
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
1567
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
1568
+ "dev": true,
1569
+ "requires": {
1570
+ "is-accessor-descriptor": "^0.1.6",
1571
+ "is-data-descriptor": "^0.1.4",
1572
+ "kind-of": "^5.0.0"
1573
+ },
1574
+ "dependencies": {
1575
+ "kind-of": {
1576
+ "version": "5.1.0",
1577
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1578
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1579
+ "dev": true
1580
+ }
1581
+ }
1582
+ },
1583
+ "is-dotfile": {
1584
+ "version": "1.0.3",
1585
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1586
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1587
+ "dev": true
1588
+ },
1589
+ "is-equal-shallow": {
1590
+ "version": "0.1.3",
1591
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1592
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1593
+ "dev": true,
1594
+ "requires": {
1595
+ "is-primitive": "^2.0.0"
1596
+ }
1597
+ },
1598
+ "is-extendable": {
1599
+ "version": "0.1.1",
1600
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1601
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1602
+ "dev": true
1603
+ },
1604
+ "is-extglob": {
1605
+ "version": "2.1.1",
1606
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1607
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1608
+ "dev": true
1609
+ },
1610
+ "is-fullwidth-code-point": {
1611
+ "version": "1.0.0",
1612
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1613
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1614
+ "dev": true,
1615
+ "requires": {
1616
+ "number-is-nan": "^1.0.0"
1617
+ }
1618
+ },
1619
+ "is-glob": {
1620
+ "version": "3.1.0",
1621
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
1622
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
1623
+ "dev": true,
1624
+ "requires": {
1625
+ "is-extglob": "^2.1.0"
1626
+ }
1627
+ },
1628
+ "is-number": {
1629
+ "version": "3.0.0",
1630
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1631
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1632
+ "dev": true,
1633
+ "requires": {
1634
+ "kind-of": "^3.0.2"
1635
+ },
1636
+ "dependencies": {
1637
+ "kind-of": {
1638
+ "version": "3.2.2",
1639
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1640
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1641
+ "dev": true,
1642
+ "requires": {
1643
+ "is-buffer": "^1.1.5"
1644
+ }
1645
+ }
1646
+ }
1647
+ },
1648
+ "is-plain-object": {
1649
+ "version": "2.0.4",
1650
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1651
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1652
+ "dev": true,
1653
+ "requires": {
1654
+ "isobject": "^3.0.1"
1655
+ }
1656
+ },
1657
+ "is-posix-bracket": {
1658
+ "version": "0.1.1",
1659
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1660
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1661
+ "dev": true
1662
+ },
1663
+ "is-primitive": {
1664
+ "version": "2.0.0",
1665
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1666
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1667
+ "dev": true
1668
+ },
1669
+ "is-relative": {
1670
+ "version": "1.0.0",
1671
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1672
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1673
+ "dev": true,
1674
+ "requires": {
1675
+ "is-unc-path": "^1.0.0"
1676
+ }
1677
+ },
1678
+ "is-unc-path": {
1679
+ "version": "1.0.0",
1680
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1681
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1682
+ "dev": true,
1683
+ "requires": {
1684
+ "unc-path-regex": "^0.1.2"
1685
+ }
1686
+ },
1687
+ "is-windows": {
1688
+ "version": "1.0.2",
1689
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1690
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1691
+ "dev": true
1692
+ },
1693
+ "isarray": {
1694
+ "version": "1.0.0",
1695
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1696
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1697
+ "dev": true
1698
+ },
1699
+ "isexe": {
1700
+ "version": "2.0.0",
1701
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1702
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1703
+ "dev": true
1704
+ },
1705
+ "isobject": {
1706
+ "version": "3.0.1",
1707
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1708
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1709
+ "dev": true
1710
+ },
1711
+ "js-yaml": {
1712
+ "version": "3.14.0",
1713
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
1714
+ "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
1715
+ "dev": true,
1716
+ "requires": {
1717
+ "argparse": "^1.0.7",
1718
+ "esprima": "^4.0.0"
1719
+ }
1720
+ },
1721
+ "kind-of": {
1722
+ "version": "6.0.3",
1723
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1724
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1725
+ "dev": true
1726
+ },
1727
+ "liftoff": {
1728
+ "version": "2.5.0",
1729
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
1730
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
1731
+ "dev": true,
1732
+ "requires": {
1733
+ "extend": "^3.0.0",
1734
+ "findup-sync": "^2.0.0",
1735
+ "fined": "^1.0.1",
1736
+ "flagged-respawn": "^1.0.0",
1737
+ "is-plain-object": "^2.0.4",
1738
+ "object.map": "^1.0.0",
1739
+ "rechoir": "^0.6.2",
1740
+ "resolve": "^1.1.7"
1741
+ },
1742
+ "dependencies": {
1743
+ "findup-sync": {
1744
+ "version": "2.0.0",
1745
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
1746
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
1747
+ "dev": true,
1748
+ "requires": {
1749
+ "detect-file": "^1.0.0",
1750
+ "is-glob": "^3.1.0",
1751
+ "micromatch": "^3.0.4",
1752
+ "resolve-dir": "^1.0.1"
1753
+ }
1754
+ }
1755
+ }
1756
+ },
1757
+ "load-grunt-tasks": {
1758
+ "version": "5.1.0",
1759
+ "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-5.1.0.tgz",
1760
+ "integrity": "sha512-oNj0Jlka1TsfDe+9He0kcA1cRln+TMoTsEByW7ij6kyktNLxBKJtslCFEvFrLC2Dj0S19IWJh3fOCIjLby2Xrg==",
1761
+ "dev": true,
1762
+ "requires": {
1763
+ "arrify": "^2.0.1",
1764
+ "multimatch": "^4.0.0",
1765
+ "pkg-up": "^3.1.0",
1766
+ "resolve-pkg": "^2.0.0"
1767
+ }
1768
+ },
1769
+ "locate-path": {
1770
+ "version": "3.0.0",
1771
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1772
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1773
+ "dev": true,
1774
+ "requires": {
1775
+ "p-locate": "^3.0.0",
1776
+ "path-exists": "^3.0.0"
1777
+ }
1778
+ },
1779
+ "lodash": {
1780
+ "version": "4.17.20",
1781
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
1782
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
1783
+ "dev": true
1784
+ },
1785
+ "make-iterator": {
1786
+ "version": "1.0.1",
1787
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1788
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1789
+ "dev": true,
1790
+ "requires": {
1791
+ "kind-of": "^6.0.2"
1792
+ }
1793
+ },
1794
+ "map-cache": {
1795
+ "version": "0.2.2",
1796
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1797
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
1798
+ "dev": true
1799
+ },
1800
+ "map-visit": {
1801
+ "version": "1.0.0",
1802
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1803
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1804
+ "dev": true,
1805
+ "requires": {
1806
+ "object-visit": "^1.0.0"
1807
+ }
1808
+ },
1809
+ "math-random": {
1810
+ "version": "1.0.4",
1811
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
1812
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
1813
+ "dev": true
1814
+ },
1815
+ "micromatch": {
1816
+ "version": "3.1.10",
1817
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1818
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1819
+ "dev": true,
1820
+ "requires": {
1821
+ "arr-diff": "^4.0.0",
1822
+ "array-unique": "^0.3.2",
1823
+ "braces": "^2.3.1",
1824
+ "define-property": "^2.0.2",
1825
+ "extend-shallow": "^3.0.2",
1826
+ "extglob": "^2.0.4",
1827
+ "fragment-cache": "^0.2.1",
1828
+ "kind-of": "^6.0.2",
1829
+ "nanomatch": "^1.2.9",
1830
+ "object.pick": "^1.3.0",
1831
+ "regex-not": "^1.0.0",
1832
+ "snapdragon": "^0.8.1",
1833
+ "to-regex": "^3.0.2"
1834
+ }
1835
+ },
1836
+ "minimatch": {
1837
+ "version": "3.0.4",
1838
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1839
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1840
+ "dev": true,
1841
+ "requires": {
1842
+ "brace-expansion": "^1.1.7"
1843
+ }
1844
+ },
1845
+ "minimist": {
1846
+ "version": "1.2.5",
1847
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1848
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1849
+ "dev": true
1850
+ },
1851
+ "mixin-deep": {
1852
+ "version": "1.3.2",
1853
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1854
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1855
+ "dev": true,
1856
+ "requires": {
1857
+ "for-in": "^1.0.2",
1858
+ "is-extendable": "^1.0.1"
1859
+ },
1860
+ "dependencies": {
1861
+ "is-extendable": {
1862
+ "version": "1.0.1",
1863
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1864
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1865
+ "dev": true,
1866
+ "requires": {
1867
+ "is-plain-object": "^2.0.4"
1868
+ }
1869
+ }
1870
+ }
1871
+ },
1872
+ "mkdirp": {
1873
+ "version": "1.0.4",
1874
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1875
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1876
+ "dev": true
1877
+ },
1878
+ "ms": {
1879
+ "version": "2.0.0",
1880
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1881
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1882
+ "dev": true
1883
+ },
1884
+ "multimatch": {
1885
+ "version": "4.0.0",
1886
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
1887
+ "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
1888
+ "dev": true,
1889
+ "requires": {
1890
+ "@types/minimatch": "^3.0.3",
1891
+ "array-differ": "^3.0.0",
1892
+ "array-union": "^2.1.0",
1893
+ "arrify": "^2.0.1",
1894
+ "minimatch": "^3.0.4"
1895
+ }
1896
+ },
1897
+ "mute-stream": {
1898
+ "version": "0.0.5",
1899
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
1900
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
1901
+ "dev": true
1902
+ },
1903
+ "nanomatch": {
1904
+ "version": "1.2.13",
1905
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1906
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1907
+ "dev": true,
1908
+ "requires": {
1909
+ "arr-diff": "^4.0.0",
1910
+ "array-unique": "^0.3.2",
1911
+ "define-property": "^2.0.2",
1912
+ "extend-shallow": "^3.0.2",
1913
+ "fragment-cache": "^0.2.1",
1914
+ "is-windows": "^1.0.2",
1915
+ "kind-of": "^6.0.2",
1916
+ "object.pick": "^1.3.0",
1917
+ "regex-not": "^1.0.0",
1918
+ "snapdragon": "^0.8.1",
1919
+ "to-regex": "^3.0.1"
1920
+ }
1921
+ },
1922
+ "node-wp-i18n": {
1923
+ "version": "1.2.3",
1924
+ "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.3.tgz",
1925
+ "integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==",
1926
+ "dev": true,
1927
+ "requires": {
1928
+ "bluebird": "^3.4.1",
1929
+ "gettext-parser": "^3.1.0",
1930
+ "glob": "^7.0.5",
1931
+ "lodash": "^4.14.2",
1932
+ "minimist": "^1.2.0",
1933
+ "mkdirp": "^0.5.1",
1934
+ "tmp": "^0.0.33"
1935
+ },
1936
+ "dependencies": {
1937
+ "mkdirp": {
1938
+ "version": "0.5.5",
1939
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1940
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1941
+ "dev": true,
1942
+ "requires": {
1943
+ "minimist": "^1.2.5"
1944
+ }
1945
+ }
1946
+ }
1947
+ },
1948
+ "nopt": {
1949
+ "version": "3.0.6",
1950
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
1951
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
1952
+ "dev": true,
1953
+ "requires": {
1954
+ "abbrev": "1"
1955
+ }
1956
+ },
1957
+ "normalize-path": {
1958
+ "version": "2.1.1",
1959
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
1960
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
1961
+ "dev": true,
1962
+ "requires": {
1963
+ "remove-trailing-separator": "^1.0.1"
1964
+ }
1965
+ },
1966
+ "npm-package-arg": {
1967
+ "version": "4.2.1",
1968
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz",
1969
+ "integrity": "sha1-WTMD/eqF98Qid18X+et2cPaA4+w=",
1970
+ "dev": true,
1971
+ "requires": {
1972
+ "hosted-git-info": "^2.1.5",
1973
+ "semver": "^5.1.0"
1974
+ }
1975
+ },
1976
+ "number-is-nan": {
1977
+ "version": "1.0.1",
1978
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
1979
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
1980
+ "dev": true
1981
+ },
1982
+ "object-assign": {
1983
+ "version": "4.1.1",
1984
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1985
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1986
+ "dev": true
1987
+ },
1988
+ "object-copy": {
1989
+ "version": "0.1.0",
1990
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1991
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1992
+ "dev": true,
1993
+ "requires": {
1994
+ "copy-descriptor": "^0.1.0",
1995
+ "define-property": "^0.2.5",
1996
+ "kind-of": "^3.0.3"
1997
+ },
1998
+ "dependencies": {
1999
+ "define-property": {
2000
+ "version": "0.2.5",
2001
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2002
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2003
+ "dev": true,
2004
+ "requires": {
2005
+ "is-descriptor": "^0.1.0"
2006
+ }
2007
+ },
2008
+ "kind-of": {
2009
+ "version": "3.2.2",
2010
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2011
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2012
+ "dev": true,
2013
+ "requires": {
2014
+ "is-buffer": "^1.1.5"
2015
+ }
2016
+ }
2017
+ }
2018
+ },
2019
+ "object-visit": {
2020
+ "version": "1.0.1",
2021
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
2022
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
2023
+ "dev": true,
2024
+ "requires": {
2025
+ "isobject": "^3.0.0"
2026
+ }
2027
+ },
2028
+ "object.defaults": {
2029
+ "version": "1.1.0",
2030
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
2031
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
2032
+ "dev": true,
2033
+ "requires": {
2034
+ "array-each": "^1.0.1",
2035
+ "array-slice": "^1.0.0",
2036
+ "for-own": "^1.0.0",
2037
+ "isobject": "^3.0.0"
2038
+ }
2039
+ },
2040
+ "object.map": {
2041
+ "version": "1.0.1",
2042
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
2043
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
2044
+ "dev": true,
2045
+ "requires": {
2046
+ "for-own": "^1.0.0",
2047
+ "make-iterator": "^1.0.0"
2048
+ }
2049
+ },
2050
+ "object.omit": {
2051
+ "version": "2.0.1",
2052
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2053
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2054
+ "dev": true,
2055
+ "requires": {
2056
+ "for-own": "^0.1.4",
2057
+ "is-extendable": "^0.1.1"
2058
+ },
2059
+ "dependencies": {
2060
+ "for-own": {
2061
+ "version": "0.1.5",
2062
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
2063
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
2064
+ "dev": true,
2065
+ "requires": {
2066
+ "for-in": "^1.0.1"
2067
+ }
2068
+ }
2069
+ }
2070
+ },
2071
+ "object.pick": {
2072
+ "version": "1.3.0",
2073
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
2074
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
2075
+ "dev": true,
2076
+ "requires": {
2077
+ "isobject": "^3.0.1"
2078
+ }
2079
+ },
2080
+ "once": {
2081
+ "version": "1.4.0",
2082
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2083
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2084
+ "dev": true,
2085
+ "requires": {
2086
+ "wrappy": "1"
2087
+ }
2088
+ },
2089
+ "onetime": {
2090
+ "version": "1.1.0",
2091
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
2092
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
2093
+ "dev": true
2094
+ },
2095
+ "os-homedir": {
2096
+ "version": "1.0.2",
2097
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2098
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
2099
+ "dev": true
2100
+ },
2101
+ "os-tmpdir": {
2102
+ "version": "1.0.2",
2103
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2104
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2105
+ "dev": true
2106
+ },
2107
+ "osenv": {
2108
+ "version": "0.1.5",
2109
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
2110
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
2111
+ "dev": true,
2112
+ "requires": {
2113
+ "os-homedir": "^1.0.0",
2114
+ "os-tmpdir": "^1.0.0"
2115
+ }
2116
+ },
2117
+ "p-limit": {
2118
+ "version": "2.3.0",
2119
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2120
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2121
+ "dev": true,
2122
+ "requires": {
2123
+ "p-try": "^2.0.0"
2124
+ }
2125
+ },
2126
+ "p-locate": {
2127
+ "version": "3.0.0",
2128
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2129
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2130
+ "dev": true,
2131
+ "requires": {
2132
+ "p-limit": "^2.0.0"
2133
+ }
2134
+ },
2135
+ "p-try": {
2136
+ "version": "2.2.0",
2137
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
2138
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
2139
+ "dev": true
2140
+ },
2141
+ "parse-filepath": {
2142
+ "version": "1.0.2",
2143
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
2144
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
2145
+ "dev": true,
2146
+ "requires": {
2147
+ "is-absolute": "^1.0.0",
2148
+ "map-cache": "^0.2.0",
2149
+ "path-root": "^0.1.1"
2150
+ }
2151
+ },
2152
+ "parse-glob": {
2153
+ "version": "3.0.4",
2154
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2155
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2156
+ "dev": true,
2157
+ "requires": {
2158
+ "glob-base": "^0.3.0",
2159
+ "is-dotfile": "^1.0.0",
2160
+ "is-extglob": "^1.0.0",
2161
+ "is-glob": "^2.0.0"
2162
+ },
2163
+ "dependencies": {
2164
+ "is-extglob": {
2165
+ "version": "1.0.0",
2166
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
2167
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
2168
+ "dev": true
2169
+ },
2170
+ "is-glob": {
2171
+ "version": "2.0.1",
2172
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
2173
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
2174
+ "dev": true,
2175
+ "requires": {
2176
+ "is-extglob": "^1.0.0"
2177
+ }
2178
+ }
2179
+ }
2180
+ },
2181
+ "parse-passwd": {
2182
+ "version": "1.0.0",
2183
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
2184
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
2185
+ "dev": true
2186
+ },
2187
+ "pascalcase": {
2188
+ "version": "0.1.1",
2189
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
2190
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
2191
+ "dev": true
2192
+ },
2193
+ "path-exists": {
2194
+ "version": "3.0.0",
2195
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2196
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2197
+ "dev": true
2198
+ },
2199
+ "path-is-absolute": {
2200
+ "version": "1.0.1",
2201
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2202
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2203
+ "dev": true
2204
+ },
2205
+ "path-parse": {
2206
+ "version": "1.0.6",
2207
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2208
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2209
+ "dev": true
2210
+ },
2211
+ "path-root": {
2212
+ "version": "0.1.1",
2213
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
2214
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
2215
+ "dev": true,
2216
+ "requires": {
2217
+ "path-root-regex": "^0.1.0"
2218
+ }
2219
+ },
2220
+ "path-root-regex": {
2221
+ "version": "0.1.2",
2222
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
2223
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
2224
+ "dev": true
2225
+ },
2226
+ "pkg-up": {
2227
+ "version": "3.1.0",
2228
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
2229
+ "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
2230
+ "dev": true,
2231
+ "requires": {
2232
+ "find-up": "^3.0.0"
2233
+ }
2234
+ },
2235
+ "posix-character-classes": {
2236
+ "version": "0.1.1",
2237
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
2238
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
2239
+ "dev": true
2240
+ },
2241
+ "preserve": {
2242
+ "version": "0.2.0",
2243
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2244
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
2245
+ "dev": true
2246
+ },
2247
+ "randomatic": {
2248
+ "version": "3.1.1",
2249
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
2250
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
2251
+ "dev": true,
2252
+ "requires": {
2253
+ "is-number": "^4.0.0",
2254
+ "kind-of": "^6.0.0",
2255
+ "math-random": "^1.0.1"
2256
+ },
2257
+ "dependencies": {
2258
+ "is-number": {
2259
+ "version": "4.0.0",
2260
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
2261
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
2262
+ "dev": true
2263
+ }
2264
+ }
2265
+ },
2266
+ "readable-stream": {
2267
+ "version": "3.6.0",
2268
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
2269
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
2270
+ "dev": true,
2271
+ "requires": {
2272
+ "inherits": "^2.0.3",
2273
+ "string_decoder": "^1.1.1",
2274
+ "util-deprecate": "^1.0.1"
2275
+ }
2276
+ },
2277
+ "readline2": {
2278
+ "version": "1.0.1",
2279
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
2280
+ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
2281
+ "dev": true,
2282
+ "requires": {
2283
+ "code-point-at": "^1.0.0",
2284
+ "is-fullwidth-code-point": "^1.0.0",
2285
+ "mute-stream": "0.0.5"
2286
+ }
2287
+ },
2288
+ "rechoir": {
2289
+ "version": "0.6.2",
2290
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
2291
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
2292
+ "dev": true,
2293
+ "requires": {
2294
+ "resolve": "^1.1.6"
2295
+ }
2296
+ },
2297
+ "regex-cache": {
2298
+ "version": "0.4.4",
2299
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
2300
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
2301
+ "dev": true,
2302
+ "requires": {
2303
+ "is-equal-shallow": "^0.1.3"
2304
+ }
2305
+ },
2306
+ "regex-not": {
2307
+ "version": "1.0.2",
2308
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
2309
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
2310
+ "dev": true,
2311
+ "requires": {
2312
+ "extend-shallow": "^3.0.2",
2313
+ "safe-regex": "^1.1.0"
2314
+ }
2315
+ },
2316
+ "remove-trailing-separator": {
2317
+ "version": "1.1.0",
2318
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
2319
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
2320
+ "dev": true
2321
+ },
2322
+ "repeat-element": {
2323
+ "version": "1.1.3",
2324
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
2325
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
2326
+ "dev": true
2327
+ },
2328
+ "repeat-string": {
2329
+ "version": "1.6.1",
2330
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2331
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
2332
+ "dev": true
2333
+ },
2334
+ "resolve": {
2335
+ "version": "1.17.0",
2336
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
2337
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
2338
+ "dev": true,
2339
+ "requires": {
2340
+ "path-parse": "^1.0.6"
2341
+ }
2342
+ },
2343
+ "resolve-dir": {
2344
+ "version": "1.0.1",
2345
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
2346
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
2347
+ "dev": true,
2348
+ "requires": {
2349
+ "expand-tilde": "^2.0.0",
2350
+ "global-modules": "^1.0.0"
2351
+ }
2352
+ },
2353
+ "resolve-from": {
2354
+ "version": "5.0.0",
2355
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
2356
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
2357
+ "dev": true
2358
+ },
2359
+ "resolve-pkg": {
2360
+ "version": "2.0.0",
2361
+ "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz",
2362
+ "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==",
2363
+ "dev": true,
2364
+ "requires": {
2365
+ "resolve-from": "^5.0.0"
2366
+ }
2367
+ },
2368
+ "resolve-url": {
2369
+ "version": "0.2.1",
2370
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
2371
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
2372
+ "dev": true
2373
+ },
2374
+ "restore-cursor": {
2375
+ "version": "1.0.1",
2376
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
2377
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
2378
+ "dev": true,
2379
+ "requires": {
2380
+ "exit-hook": "^1.0.0",
2381
+ "onetime": "^1.0.0"
2382
+ }
2383
+ },
2384
+ "ret": {
2385
+ "version": "0.1.15",
2386
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
2387
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
2388
+ "dev": true
2389
+ },
2390
+ "rimraf": {
2391
+ "version": "3.0.2",
2392
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2393
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2394
+ "dev": true,
2395
+ "requires": {
2396
+ "glob": "^7.1.3"
2397
+ }
2398
+ },
2399
+ "run-async": {
2400
+ "version": "0.1.0",
2401
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
2402
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
2403
+ "dev": true,
2404
+ "requires": {
2405
+ "once": "^1.3.0"
2406
+ }
2407
+ },
2408
+ "rx-lite": {
2409
+ "version": "3.1.2",
2410
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
2411
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
2412
+ "dev": true
2413
+ },
2414
+ "safe-buffer": {
2415
+ "version": "5.2.1",
2416
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2417
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2418
+ "dev": true
2419
+ },
2420
+ "safe-regex": {
2421
+ "version": "1.1.0",
2422
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
2423
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
2424
+ "dev": true,
2425
+ "requires": {
2426
+ "ret": "~0.1.10"
2427
+ }
2428
+ },
2429
+ "safer-buffer": {
2430
+ "version": "2.1.2",
2431
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2432
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2433
+ "dev": true
2434
+ },
2435
+ "semver": {
2436
+ "version": "5.7.1",
2437
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2438
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2439
+ "dev": true
2440
+ },
2441
+ "set-value": {
2442
+ "version": "2.0.1",
2443
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
2444
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
2445
+ "dev": true,
2446
+ "requires": {
2447
+ "extend-shallow": "^2.0.1",
2448
+ "is-extendable": "^0.1.1",
2449
+ "is-plain-object": "^2.0.3",
2450
+ "split-string": "^3.0.1"
2451
+ },
2452
+ "dependencies": {
2453
+ "extend-shallow": {
2454
+ "version": "2.0.1",
2455
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2456
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2457
+ "dev": true,
2458
+ "requires": {
2459
+ "is-extendable": "^0.1.0"
2460
+ }
2461
+ }
2462
+ }
2463
+ },
2464
+ "snapdragon": {
2465
+ "version": "0.8.2",
2466
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
2467
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
2468
+ "dev": true,
2469
+ "requires": {
2470
+ "base": "^0.11.1",
2471
+ "debug": "^2.2.0",
2472
+ "define-property": "^0.2.5",
2473
+ "extend-shallow": "^2.0.1",
2474
+ "map-cache": "^0.2.2",
2475
+ "source-map": "^0.5.6",
2476
+ "source-map-resolve": "^0.5.0",
2477
+ "use": "^3.1.0"
2478
+ },
2479
+ "dependencies": {
2480
+ "define-property": {
2481
+ "version": "0.2.5",
2482
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2483
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2484
+ "dev": true,
2485
+ "requires": {
2486
+ "is-descriptor": "^0.1.0"
2487
+ }
2488
+ },
2489
+ "extend-shallow": {
2490
+ "version": "2.0.1",
2491
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2492
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2493
+ "dev": true,
2494
+ "requires": {
2495
+ "is-extendable": "^0.1.0"
2496
+ }
2497
+ }
2498
+ }
2499
+ },
2500
+ "snapdragon-node": {
2501
+ "version": "2.1.1",
2502
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
2503
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
2504
+ "dev": true,
2505
+ "requires": {
2506
+ "define-property": "^1.0.0",
2507
+ "isobject": "^3.0.0",
2508
+ "snapdragon-util": "^3.0.1"
2509
+ },
2510
+ "dependencies": {
2511
+ "define-property": {
2512
+ "version": "1.0.0",
2513
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2514
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2515
+ "dev": true,
2516
+ "requires": {
2517
+ "is-descriptor": "^1.0.0"
2518
+ }
2519
+ },
2520
+ "is-accessor-descriptor": {
2521
+ "version": "1.0.0",
2522
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2523
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2524
+ "dev": true,
2525
+ "requires": {
2526
+ "kind-of": "^6.0.0"
2527
+ }
2528
+ },
2529
+ "is-data-descriptor": {
2530
+ "version": "1.0.0",
2531
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2532
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2533
+ "dev": true,
2534
+ "requires": {
2535
+ "kind-of": "^6.0.0"
2536
+ }
2537
+ },
2538
+ "is-descriptor": {
2539
+ "version": "1.0.2",
2540
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2541
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2542
+ "dev": true,
2543
+ "requires": {
2544
+ "is-accessor-descriptor": "^1.0.0",
2545
+ "is-data-descriptor": "^1.0.0",
2546
+ "kind-of": "^6.0.2"
2547
+ }
2548
+ }
2549
+ }
2550
+ },
2551
+ "snapdragon-util": {
2552
+ "version": "3.0.1",
2553
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
2554
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
2555
+ "dev": true,
2556
+ "requires": {
2557
+ "kind-of": "^3.2.0"
2558
+ },
2559
+ "dependencies": {
2560
+ "kind-of": {
2561
+ "version": "3.2.2",
2562
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2563
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2564
+ "dev": true,
2565
+ "requires": {
2566
+ "is-buffer": "^1.1.5"
2567
+ }
2568
+ }
2569
+ }
2570
+ },
2571
+ "source-map": {
2572
+ "version": "0.5.7",
2573
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2574
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
2575
+ "dev": true
2576
+ },
2577
+ "source-map-resolve": {
2578
+ "version": "0.5.3",
2579
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
2580
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
2581
+ "dev": true,
2582
+ "requires": {
2583
+ "atob": "^2.1.2",
2584
+ "decode-uri-component": "^0.2.0",
2585
+ "resolve-url": "^0.2.1",
2586
+ "source-map-url": "^0.4.0",
2587
+ "urix": "^0.1.0"
2588
+ }
2589
+ },
2590
+ "source-map-url": {
2591
+ "version": "0.4.0",
2592
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
2593
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
2594
+ "dev": true
2595
+ },
2596
+ "split-string": {
2597
+ "version": "3.1.0",
2598
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
2599
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
2600
+ "dev": true,
2601
+ "requires": {
2602
+ "extend-shallow": "^3.0.0"
2603
+ }
2604
+ },
2605
+ "sprintf-js": {
2606
+ "version": "1.1.2",
2607
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
2608
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
2609
+ "dev": true
2610
+ },
2611
+ "static-extend": {
2612
+ "version": "0.1.2",
2613
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
2614
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
2615
+ "dev": true,
2616
+ "requires": {
2617
+ "define-property": "^0.2.5",
2618
+ "object-copy": "^0.1.0"
2619
+ },
2620
+ "dependencies": {
2621
+ "define-property": {
2622
+ "version": "0.2.5",
2623
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2624
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2625
+ "dev": true,
2626
+ "requires": {
2627
+ "is-descriptor": "^0.1.0"
2628
+ }
2629
+ }
2630
+ }
2631
+ },
2632
+ "string-width": {
2633
+ "version": "1.0.2",
2634
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
2635
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
2636
+ "dev": true,
2637
+ "requires": {
2638
+ "code-point-at": "^1.0.0",
2639
+ "is-fullwidth-code-point": "^1.0.0",
2640
+ "strip-ansi": "^3.0.0"
2641
+ },
2642
+ "dependencies": {
2643
+ "ansi-regex": {
2644
+ "version": "2.1.1",
2645
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
2646
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
2647
+ "dev": true
2648
+ },
2649
+ "strip-ansi": {
2650
+ "version": "3.0.1",
2651
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2652
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2653
+ "dev": true,
2654
+ "requires": {
2655
+ "ansi-regex": "^2.0.0"
2656
+ }
2657
+ }
2658
+ }
2659
+ },
2660
+ "string_decoder": {
2661
+ "version": "1.3.0",
2662
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
2663
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
2664
+ "dev": true,
2665
+ "requires": {
2666
+ "safe-buffer": "~5.2.0"
2667
+ }
2668
+ },
2669
+ "strip-ansi": {
2670
+ "version": "0.3.0",
2671
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
2672
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
2673
+ "dev": true,
2674
+ "requires": {
2675
+ "ansi-regex": "^0.2.1"
2676
+ }
2677
+ },
2678
+ "supports-color": {
2679
+ "version": "7.2.0",
2680
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2681
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2682
+ "dev": true,
2683
+ "requires": {
2684
+ "has-flag": "^4.0.0"
2685
+ }
2686
+ },
2687
+ "through": {
2688
+ "version": "2.3.8",
2689
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2690
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2691
+ "dev": true
2692
+ },
2693
+ "tmp": {
2694
+ "version": "0.0.33",
2695
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2696
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2697
+ "dev": true,
2698
+ "requires": {
2699
+ "os-tmpdir": "~1.0.2"
2700
+ }
2701
+ },
2702
+ "to-object-path": {
2703
+ "version": "0.3.0",
2704
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
2705
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
2706
+ "dev": true,
2707
+ "requires": {
2708
+ "kind-of": "^3.0.2"
2709
+ },
2710
+ "dependencies": {
2711
+ "kind-of": {
2712
+ "version": "3.2.2",
2713
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2714
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2715
+ "dev": true,
2716
+ "requires": {
2717
+ "is-buffer": "^1.1.5"
2718
+ }
2719
+ }
2720
+ }
2721
+ },
2722
+ "to-regex": {
2723
+ "version": "3.0.2",
2724
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
2725
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
2726
+ "dev": true,
2727
+ "requires": {
2728
+ "define-property": "^2.0.2",
2729
+ "extend-shallow": "^3.0.2",
2730
+ "regex-not": "^1.0.2",
2731
+ "safe-regex": "^1.1.0"
2732
+ }
2733
+ },
2734
+ "to-regex-range": {
2735
+ "version": "2.1.1",
2736
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
2737
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
2738
+ "dev": true,
2739
+ "requires": {
2740
+ "is-number": "^3.0.0",
2741
+ "repeat-string": "^1.6.1"
2742
+ }
2743
+ },
2744
+ "unc-path-regex": {
2745
+ "version": "0.1.2",
2746
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
2747
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
2748
+ "dev": true
2749
+ },
2750
+ "underscore.string": {
2751
+ "version": "3.3.5",
2752
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
2753
+ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
2754
+ "dev": true,
2755
+ "requires": {
2756
+ "sprintf-js": "^1.0.3",
2757
+ "util-deprecate": "^1.0.2"
2758
+ }
2759
+ },
2760
+ "union-value": {
2761
+ "version": "1.0.1",
2762
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
2763
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
2764
+ "dev": true,
2765
+ "requires": {
2766
+ "arr-union": "^3.1.0",
2767
+ "get-value": "^2.0.6",
2768
+ "is-extendable": "^0.1.1",
2769
+ "set-value": "^2.0.1"
2770
+ }
2771
+ },
2772
+ "unset-value": {
2773
+ "version": "1.0.0",
2774
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
2775
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
2776
+ "dev": true,
2777
+ "requires": {
2778
+ "has-value": "^0.3.1",
2779
+ "isobject": "^3.0.0"
2780
+ },
2781
+ "dependencies": {
2782
+ "has-value": {
2783
+ "version": "0.3.1",
2784
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
2785
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
2786
+ "dev": true,
2787
+ "requires": {
2788
+ "get-value": "^2.0.3",
2789
+ "has-values": "^0.1.4",
2790
+ "isobject": "^2.0.0"
2791
+ },
2792
+ "dependencies": {
2793
+ "isobject": {
2794
+ "version": "2.1.0",
2795
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
2796
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
2797
+ "dev": true,
2798
+ "requires": {
2799
+ "isarray": "1.0.0"
2800
+ }
2801
+ }
2802
+ }
2803
+ },
2804
+ "has-values": {
2805
+ "version": "0.1.4",
2806
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
2807
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
2808
+ "dev": true
2809
+ }
2810
+ }
2811
+ },
2812
+ "urix": {
2813
+ "version": "0.1.0",
2814
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
2815
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
2816
+ "dev": true
2817
+ },
2818
+ "use": {
2819
+ "version": "3.1.1",
2820
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
2821
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
2822
+ "dev": true
2823
+ },
2824
+ "util-deprecate": {
2825
+ "version": "1.0.2",
2826
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2827
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
2828
+ "dev": true
2829
+ },
2830
+ "v8flags": {
2831
+ "version": "3.1.3",
2832
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
2833
+ "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
2834
+ "dev": true,
2835
+ "requires": {
2836
+ "homedir-polyfill": "^1.0.1"
2837
+ }
2838
+ },
2839
+ "which": {
2840
+ "version": "1.3.1",
2841
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2842
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2843
+ "dev": true,
2844
+ "requires": {
2845
+ "isexe": "^2.0.0"
2846
+ }
2847
+ },
2848
+ "wrappy": {
2849
+ "version": "1.0.2",
2850
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2851
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2852
+ "dev": true
2853
+ }
2854
+ }
2855
+ }
phpcs.xml.dist ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <ruleset name="WordPress Coding Standards based custom ruleset for your plugin">
3
+ <description>Better Font Awesome PHPCS config.</description>
4
+
5
+ <!-- Set paths to PHP CS standards installed via composer -->
6
+ <config name="installed_paths" value="vendor/wp-coding-standards/wpcs,vendor/phpcompatibility/php-compatibility,vendor/phpcompatibility/phpcompatibility-paragonie,vendor/phpcompatibility/phpcompatibility-wp" />
7
+
8
+ <!-- What to scan -->
9
+ <file>.</file>
10
+ <exclude-pattern>/vendor/</exclude-pattern>
11
+ <exclude-pattern>/node_modules/</exclude-pattern>
12
+ <exclude-pattern>/svn/</exclude-pattern>
13
+ <exclude-pattern>/tests/</exclude-pattern>
14
+
15
+ <!-- How to scan -->
16
+ <!-- Usage instructions: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage -->
17
+ <!-- Annotated ruleset: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
18
+ <arg value="sp"/> <!-- Show sniff and progress -->
19
+ <arg name="basepath" value="./"/><!-- Strip the file paths down to the relevant bit -->
20
+ <arg name="colors"/>
21
+ <arg name="extensions" value="php"/>
22
+ <arg name="parallel" value="8"/><!-- Enables parallel processing when available for faster results. -->
23
+
24
+ <!-- Rules: Check PHP version compatibility -->
25
+ <!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
26
+ <config name="testVersion" value="5.6-"/>
27
+ <!-- https://github.com/PHPCompatibility/PHPCompatibilityWP -->
28
+ <rule ref="PHPCompatibilityWP"/>
29
+
30
+ <!-- Rules: WordPress Coding Standards -->
31
+ <!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards -->
32
+ <!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties -->
33
+ <config name="minimum_supported_wp_version" value="4.6"/>
34
+
35
+ <rule ref="WordPress">
36
+ <properties>
37
+ <property name="strict_class_file_names" value="false"/>
38
+ </properties>
39
+ </rule>
40
+
41
+ <rule ref="WordPress.NamingConventions.PrefixAllGlobals">
42
+ <properties>
43
+ <property name="prefixes" type="array" value="bfa, Better_Font_Awesome"/>
44
+ </properties>
45
+ </rule>
46
+
47
+ <rule ref="WordPress.WP.I18n">
48
+ <properties>
49
+ <!-- Value: replace the text domain used. -->
50
+ <property name="text_domain" type="array" value="better-font-awesome"/>
51
+ </properties>
52
+ </rule>
53
+
54
+ <rule ref="WordPress.Security">
55
+ <exclude name="WordPress.Security.NonceVerification.Missing" />
56
+ <exclude name="WordPress.Security.ValidatedSanitizedInput.MissingUnslash" />
57
+ <exclude name="WordPress.Security.ValidatedSanitizedInput.InputNotSanitized" />
58
+ </rule>
59
+
60
+ <rule ref="WordPress.WhiteSpace.ControlStructureSpacing">
61
+ <properties>
62
+ <property name="blank_line_check" value="true"/>
63
+ </properties>
64
+ </rule>
65
+ </ruleset>
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Better Font Awesome ===
2
- Contributors: McGuive7, aaronbmm, mightyminnow
3
  Tags: better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
4
  Donate link: https://mickeykay.me
5
  Requires at least: 3.0
6
- Tested up to: 5.5
7
- Stable tag: 1.7.4
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,8 +12,6 @@ The Better Font Awesome plugin for WordPress. Shortcodes, HTML, TinyMCE, various
12
 
13
  == Description ==
14
 
15
- [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome)
16
-
17
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
18
 
19
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
@@ -103,6 +101,9 @@ Nope. Better Font Awesome automatically pulls in everything you need, and it doe
103
 
104
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings &rarr; Better Font Awesome**.
105
 
 
 
 
106
 
107
  == Screenshots ==
108
  1. The icon shortcode dropdown selector
@@ -111,6 +112,10 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
111
 
112
  == Changelog ==
113
 
 
 
 
 
114
  = 1.7.4 =
115
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
116
 
@@ -218,35 +223,12 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
218
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
219
  * Switch out bulky Titan Framework for native Settings API.
220
 
221
- = 0.9.6 =
222
- * Fixed missing icon previews in WordPress 3.8 and below.
223
-
224
- = 0.9.5 =
225
- * Added ability to choose which CDN to use.
226
- * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
227
- * Updated prefixes to now return just the prefix without the dash (-).
228
-
229
- = 0.9.4 =
230
- * Switched default &nbsp; being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
231
- * PLEASE NOTE: this will affect existing shortcodes.
232
-
233
- = 0.9.3 =
234
- * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
235
- * Print JS variables in front-end to aid developers
236
- * Create global $better_font_awesome object for developers to access
237
-
238
- = 0.9.2 =
239
- * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
240
-
241
- = 0.9.1 =
242
- * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
243
-
244
- = 0.9.0 =
245
- * First release!
246
-
247
-
248
  == Upgrade Notice ==
249
 
 
 
 
 
250
  = 1.7.4 =
251
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
252
 
@@ -353,29 +335,3 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
353
  * Implement transients to minimize load time.
354
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
355
  * Switch out bulky Titan Framework for native Settings API.
356
-
357
- = 0.9.6 =
358
- * Fixed missing icon previews in WordPress 3.8 and below.
359
-
360
- = 0.9.5 =
361
- * Added ability to choose which CDN to use.
362
- * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
363
- * Updated prefixes to now return just the prefix without the dash (-).
364
-
365
- = 0.9.4 =
366
- * Switched default &nbsp; being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
367
- * PLEASE NOTE: this will affect existing shortcodes.
368
-
369
- = 0.9.3 =
370
- * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
371
- * Print JS variables in front-end to aid developers
372
- * Create global $better_font_awesome object for developers to access
373
-
374
- = 0.9.2 =
375
- * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
376
-
377
- = 0.9.1 =
378
- * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
379
-
380
- = 0.9.0 =
381
- * First release!
1
  === Better Font Awesome ===
2
+ Contributors: McGuive7
3
  Tags: better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
4
  Donate link: https://mickeykay.me
5
  Requires at least: 3.0
6
+ Tested up to: 5.6.1
7
+ Stable tag: 1.7.5
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
 
 
15
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
16
 
17
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
101
 
102
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings &rarr; Better Font Awesome**.
103
 
104
+ == Contributing & Development ==
105
+ Please see our [contributing guidelines](https://github.com/MickeyKay/better-font-awesome/blob/master/CONTRIBUTING.md) to get involved.
106
+
107
 
108
  == Screenshots ==
109
  1. The icon shortcode dropdown selector
112
 
113
  == Changelog ==
114
 
115
+ = 1.7.5 =
116
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
117
+ * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
118
+
119
  = 1.7.4 =
120
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
121
 
223
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
224
  * Switch out bulky Titan Framework for native Settings API.
225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  == Upgrade Notice ==
227
 
228
+ = 1.7.5 =
229
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
230
+ * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
231
+
232
  = 1.7.4 =
233
  * Fix: revert accidental bump to underlying Better Font Awesome Library dependency.
234
 
335
  * Implement transients to minimize load time.
336
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
337
  * Switch out bulky Titan Framework for native Settings API.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php CHANGED
@@ -45,7 +45,29 @@ class Better_Font_Awesome_Library {
45
  *
46
  * @var string
47
  */
48
- const JSDELIVR_API_URL = 'http://api.jsdelivr.com/v1/jsdelivr/libraries/fontawesome/?fields=versions,lastversion';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  /**
51
  * Initialization args.
@@ -121,15 +143,6 @@ class Better_Font_Awesome_Library {
121
  */
122
  private $stylesheet_url;
123
 
124
- /**
125
- * Font Awesome CSS.
126
- *
127
- * @since 1.0.0
128
- *
129
- * @var string
130
- */
131
- private $css;
132
-
133
  /**
134
  * Data associated with the local fallback version of Font Awesome.
135
  *
@@ -231,6 +244,9 @@ class Better_Font_Awesome_Library {
231
  */
232
  public function load() {
233
 
 
 
 
234
  // Initialize library properties and actions as needed.
235
  $this->initialize( $this->args );
236
 
@@ -307,6 +323,10 @@ class Better_Font_Awesome_Library {
307
 
308
  }
309
 
 
 
 
 
310
  /**
311
  * Do necessary initialization actions.
312
  *
@@ -438,7 +458,7 @@ class Better_Font_Awesome_Library {
438
  * @since 1.0.0
439
  */
440
  private function setup_api_data() {
441
- $this->api_data = $this->fetch_api_data( self::JSDELIVR_API_URL );
442
  }
443
 
444
  /**
@@ -452,9 +472,11 @@ class Better_Font_Awesome_Library {
452
  * @return array|WP_ERROR Available CDN Font Awesome versions, or a
453
  * WP_ERROR if the fetch fails.
454
  */
455
- private function fetch_api_data( $url ) {
 
 
456
 
457
- if ( false === ( $response = get_transient( self::SLUG . '-api-versions' ) ) ) {
458
 
459
  $response = wp_remote_get( $url, $this->wp_remote_get_args );
460
 
@@ -462,10 +484,12 @@ class Better_Font_Awesome_Library {
462
 
463
  // Decode the API data and grab the versions info.
464
  $json_data = json_decode( wp_remote_retrieve_body( $response ) );
465
- $response = $json_data[0];
466
 
467
  /**
468
- * Filter the API transient expiration.
 
 
469
  *
470
  * @since 1.0.0
471
  *
@@ -473,8 +497,88 @@ class Better_Font_Awesome_Library {
473
  */
474
  $transient_expiration = apply_filters( 'bfa_api_transient_expiration', 12 * HOUR_IN_SECONDS );
475
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  // Set the API transient.
477
- set_transient( self::SLUG . '-api-versions', $response, $transient_expiration );
478
 
479
  } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
480
 
@@ -526,7 +630,8 @@ class Better_Font_Awesome_Library {
526
  private function get_latest_version() {
527
 
528
  if ( $this->api_data_exists() ) {
529
- return $this->get_api_value( 'lastversion' );
 
530
  } else {
531
  return $this->guess_latest_version();
532
  }
@@ -584,7 +689,11 @@ class Better_Font_Awesome_Library {
584
  * @param string $version Version of Font Awesome to use.
585
  */
586
  private function set_stylesheet_url( $version ) {
587
- $this->stylesheet_url = '//cdn.jsdelivr.net/fontawesome/' . $version . '/css/font-awesome' . $this->get_min_suffix() . '.css';
 
 
 
 
588
  }
589
 
590
  /**
@@ -594,15 +703,11 @@ class Better_Font_Awesome_Library {
594
  */
595
  private function setup_stylesheet_data() {
596
 
597
- // Get the Font Awesome CSS.
598
- $this->css = $this->get_css( $this->stylesheet_url, $this->font_awesome_version );
599
-
600
- // Get the list of available icons from the Font Awesome CSS.
601
- $this->icons = $this->setup_icon_array( $this->css );
602
-
603
  // Set up prefix based on version ('fa' or 'icon').
604
- $this->prefix = $this->setup_prefix( $this->font_awesome_version );
605
 
 
 
606
  }
607
 
608
  /**
@@ -761,36 +866,86 @@ class Better_Font_Awesome_Library {
761
  return $this->get_local_file_contents( $this->fallback_data['path'] );
762
  }
763
 
764
- /**
765
- * Get array of icons from the Font Awesome CSS.
766
- *
767
- * @since 1.0.0
768
- *
769
- * @param string $css The Font Awesome CSS.
770
- *
771
- * @return array All available icon names (e.g. adjust, car, pencil).
772
- */
773
- private function setup_icon_array( $css ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
774
 
775
  $icons = array();
776
  $hex_codes = array();
777
 
 
 
778
  /**
779
  * Get all CSS selectors that have a "content:" pseudo-element rule,
780
  * as well as all associated hex codes.
781
  */
782
  preg_match_all( '/\.(icon-|fa-)([^,}]*)\s*:before\s*{\s*(content:)\s*"(\\\\[^"]+)"/s', $css, $matches );
783
- $icons = $matches[2];
 
784
  $hex_codes = $matches[4];
785
 
786
- // Add hex codes as icon array index.
787
- $icons = array_combine( $hex_codes, $icons );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
788
 
789
- // Alphabetize the icons array by icon name.
790
- asort( $icons );
 
 
 
791
 
792
  /**
793
- * Filter the array of available icons.
794
  *
795
  * @since 1.0.0
796
  *
@@ -798,8 +953,16 @@ class Better_Font_Awesome_Library {
798
  */
799
  $icons = apply_filters( 'bfa_icon_list', $icons );
800
 
801
- return $icons;
 
 
 
 
 
 
 
802
 
 
803
  }
804
 
805
  /**
@@ -811,9 +974,9 @@ class Better_Font_Awesome_Library {
811
  *
812
  * @return string $prefix 'fa' or 'icon', depending on the version.
813
  */
814
- private function setup_prefix( $version ) {
815
 
816
- if ( 0 <= version_compare( $version, '4' ) ) {
817
  $prefix = 'fa';
818
  } else {
819
  $prefix = 'icon';
@@ -873,41 +1036,7 @@ class Better_Font_Awesome_Library {
873
  add_shortcode( 'icon', array( $this, 'render_shortcode' ) );
874
  }
875
 
876
- /**
877
- * Render [icon] shortcode.
878
- *
879
- * Usage:
880
- * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
881
- *
882
- * @param array $atts Shortcode attributes.
883
- * @return string $output Icon HTML (e.g. <i class="fa fa-car"></i>).
884
- */
885
- public function render_shortcode( $atts ) {
886
-
887
- extract( shortcode_atts( array(
888
- 'name' => '',
889
- 'class' => '',
890
- 'unprefixed_class' => '',
891
- 'title' => '', /* For compatibility with other plugins */
892
- 'size' => '', /* For compatibility with other plugins */
893
- 'space' => '',
894
- ), $atts )
895
- );
896
-
897
- /**
898
- * Include for backwards compatibility with Font Awesome More Icons plugin.
899
- *
900
- * @see https://wordpress.org/plugins/font-awesome-more-icons/
901
- */
902
- $title = $title ? 'title="' . $title . '" ' : '';
903
- $space = 'true' == $space ? '&nbsp;' : '';
904
- $size = $size ? ' '. $this->prefix . '-' . $size : '';
905
-
906
- // Remove "icon-" and "fa-" from name
907
- // This helps both:
908
- // 1. Incorrect shortcodes (when user includes full class name including prefix)
909
- // 2. Old shortcodes from other plugins that required prefixes
910
-
911
  /**
912
  * Strip 'icon-' and 'fa-' from the BEGINNING of $name.
913
  *
@@ -924,10 +1053,11 @@ class Better_Font_Awesome_Library {
924
 
925
  }
926
 
927
- $name = str_replace( 'fa-', '', $name );
 
928
 
929
- // Add the version-specific prefix back on to $name, if it exists.
930
- $icon_name = $this->prefix ? $this->prefix . '-' . $name : $name;
931
 
932
  // Remove "icon-" and "fa-" from the icon class.
933
  $class = str_replace( 'icon-', '', $class );
@@ -938,23 +1068,79 @@ class Better_Font_Awesome_Library {
938
  $class = preg_replace( '/\s{3,}/', ' ', $class );
939
 
940
  // Add the version-specific prefix back on to each class.
941
- $class_array = explode( ' ', $class );
 
942
  foreach ( $class_array as $index => $class ) {
943
- $class_array[ $index ] = $this->prefix ? $this->prefix . '-' . $class : $class;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
944
  }
945
- $class = implode( ' ', $class_array );
946
 
947
- // Add unprefixed classes.
948
- $class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
949
 
950
  /**
951
  * Filter the icon class.
952
  *
953
  * @since 1.0.0
954
  *
955
- * @param string $class Classes attached to the icon.
956
  */
957
- $class = apply_filters( 'bfa_icon_class', $class, $name );
958
 
959
  /**
960
  * Filter the default <i> icon tag.
@@ -966,11 +1152,9 @@ class Better_Font_Awesome_Library {
966
  $tag = apply_filters( 'bfa_icon_tag', 'i' );
967
 
968
  // Generate the HTML <i> icon element output.
969
- $output = sprintf( '<%s class="%s %s %s %s" %s>%s</%s>',
970
  $tag,
971
- $this->prefix,
972
- $icon_name,
973
- $class,
974
  $size,
975
  $title,
976
  $space,
@@ -988,6 +1172,32 @@ class Better_Font_Awesome_Library {
988
 
989
  }
990
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991
  /**
992
  * Register and enqueue Font Awesome CSS.
993
  */
@@ -1295,5 +1505,13 @@ class Better_Font_Awesome_Library {
1295
  return $this->errors;
1296
  }
1297
 
 
 
 
 
 
 
 
 
1298
  }
1299
  endif;
45
  *
46
  * @var string
47
  */
48
+ const JSDELIVR_API_URL = 'https://data.jsdelivr.com/v1/package/gh/FortAwesome/Font-Awesome';
49
+
50
+ /**
51
+ * jsDelivr API URL for Font Awesome icon metadata.
52
+ *
53
+ * Version 5+ only,
54
+ *
55
+ * @since 2.0.0
56
+ *
57
+ * @var string
58
+ */
59
+ const JSDELIVR_ICON_METADATA_BASE_URL = 'https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@';
60
+
61
+ /**
62
+ * jsDelivr API file path for Font Awesome icon metadata.
63
+ *
64
+ * Version 5+ only,
65
+ *
66
+ * @since 2.0.0
67
+ *
68
+ * @var string
69
+ */
70
+ const JSDELIVR_ICON_METADATA_FILE_PATH = '/advanced-options/metadata/icons.yml';
71
 
72
  /**
73
  * Initialization args.
143
  */
144
  private $stylesheet_url;
145
 
 
 
 
 
 
 
 
 
 
146
  /**
147
  * Data associated with the local fallback version of Font Awesome.
148
  *
244
  */
245
  public function load() {
246
 
247
+ // Load dependencies.
248
+ $this->load_depenencies();
249
+
250
  // Initialize library properties and actions as needed.
251
  $this->initialize( $this->args );
252
 
323
 
324
  }
325
 
326
+ private function load_depenencies() {
327
+ require_once __DIR__ . '/vendor/autoload.php';
328
+ }
329
+
330
  /**
331
  * Do necessary initialization actions.
332
  *
458
  * @since 1.0.0
459
  */
460
  private function setup_api_data() {
461
+ $this->api_data = $this->get_version_data();
462
  }
463
 
464
  /**
472
  * @return array|WP_ERROR Available CDN Font Awesome versions, or a
473
  * WP_ERROR if the fetch fails.
474
  */
475
+ private function get_version_data() {
476
+ $transient_suffix = '-version-data';
477
+ $url = self::JSDELIVR_API_URL;
478
 
479
+ if ( false === ( $response = get_transient( self::SLUG . $transient_suffix ) ) ) {
480
 
481
  $response = wp_remote_get( $url, $this->wp_remote_get_args );
482
 
484
 
485
  // Decode the API data and grab the versions info.
486
  $json_data = json_decode( wp_remote_retrieve_body( $response ) );
487
+ $response = $json_data;
488
 
489
  /**
490
+ * Deprecated.
491
+ *
492
+ * Preserved for legacy support.
493
  *
494
  * @since 1.0.0
495
  *
497
  */
498
  $transient_expiration = apply_filters( 'bfa_api_transient_expiration', 12 * HOUR_IN_SECONDS );
499
 
500
+ /**
501
+ * Filter API version data transient expiration.
502
+ *
503
+ * @since 2.0.0
504
+ *
505
+ * @param int Expiration for API version data.
506
+ */
507
+ $transient_expiration = apply_filters( 'bfa_api_version_data', $transient_expiration );
508
+
509
+ // Set the API transient.
510
+ set_transient( self::SLUG . $transient_suffix, $response, $transient_expiration );
511
+
512
+ } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
513
+
514
+ $this->set_error( 'api', $response->get_error_code(), $response->get_error_message() . " (URL: $url)" );
515
+ $response = '';
516
+
517
+ } elseif ( isset( $response['response'] ) ) { // Check for 404 and other non-WP_ERROR codes
518
+
519
+ $this->set_error( 'api', $response['response']['code'], $response['response']['message'] . " (URL: $url)" );
520
+ $response = '';
521
+
522
+ } else { // Total failsafe
523
+
524
+ $this->set_error( 'api', 'Unknown', __( 'The jsDelivr API servers appear to be temporarily unavailable.', 'better-font-awesome' ) . " (URL: $url)" );
525
+ $response = '';
526
+
527
+ }
528
+
529
+ }
530
+
531
+ return $response;
532
+
533
+ }
534
+
535
+ /**
536
+ * Fetch the jsDelivr API data.
537
+ *
538
+ * First check to see if the transient is set for this version's metadata,
539
+ * and if not use the jsDelivr API to retrieve all available versions of
540
+ * Font Awesome.
541
+ *
542
+ * @since 2.0.0
543
+ *
544
+ * @return array Icon metadata, keyed by icon slug.
545
+ */
546
+ private function get_icons_metadata() {
547
+ $transient_suffix = '-icons-metadata';
548
+ $version = $this->get_version();
549
+ $transient_slug = self::SLUG . "${transient_suffix}_version-${version}";
550
+
551
+ $url = self::JSDELIVR_ICON_METADATA_BASE_URL . $version . self::JSDELIVR_ICON_METADATA_FILE_PATH;
552
+
553
+ if ( false === ( $response = get_transient( $transient_slug ) ) ) {
554
+
555
+ $response = wp_remote_get( $url, $this->wp_remote_get_args );
556
+
557
+ if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
558
+
559
+ // Decode the API data and grab the versions info.
560
+ $yaml_data = wp_remote_retrieve_body( $response );
561
+
562
+ $response = spyc_load( $yaml_data );
563
+
564
+ // Short-circuit if something is wrong with parsing.
565
+ if ( empty( $response ) ) {
566
+ return '';
567
+ }
568
+
569
+ /**
570
+ * Filter icon metadata transient expiration.
571
+ *
572
+ * This can be very long since versioned icon data should never change.
573
+ *
574
+ * @since 2.0.0
575
+ *
576
+ * @param int Expiration for icon metadata.
577
+ */
578
+ $transient_expiration = apply_filters( 'bfa_icons_metadata', YEAR_IN_SECONDS );
579
+
580
  // Set the API transient.
581
+ set_transient( $transient_slug, $response, $transient_expiration );
582
 
583
  } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
584
 
630
  private function get_latest_version() {
631
 
632
  if ( $this->api_data_exists() ) {
633
+ $versions = $this->get_api_value( 'versions' );
634
+ return $versions[0];
635
  } else {
636
  return $this->guess_latest_version();
637
  }
689
  * @param string $version Version of Font Awesome to use.
690
  */
691
  private function set_stylesheet_url( $version ) {
692
+ if ( version_compare( $version, '5.0.0', '>=' ) ) {
693
+ $this->stylesheet_url = '//cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@' . $version . '/web-fonts-with-css/css/fontawesome-all' . $this->get_min_suffix() . '.css';
694
+ } else {
695
+ $this->stylesheet_url = '//cdn.jsdelivr.net/fontawesome/' . $version . '/css/font-awesome' . $this->get_min_suffix() . '.css';
696
+ }
697
  }
698
 
699
  /**
703
  */
704
  private function setup_stylesheet_data() {
705
 
 
 
 
 
 
 
706
  // Set up prefix based on version ('fa' or 'icon').
707
+ $this->prefix = $this->derive_prefix( $this->font_awesome_version );
708
 
709
+ // Get the list of available icons.
710
+ $this->icons = $this->get_icon_array();
711
  }
712
 
713
  /**
866
  return $this->get_local_file_contents( $this->fallback_data['path'] );
867
  }
868
 
869
+ private function get_icon_array_version_5() {
870
+
871
+ $icons_metadata = $this->get_icons_metadata();
872
+ $icons = array();
873
+
874
+ // Add style prefixes.
875
+ foreach ( $icons_metadata as $slug => $metadata ) {
876
+ $search_terms = array_map( function( $term ) {
877
+ return $term;
878
+ }, $metadata['search']['terms'] );
879
+
880
+ foreach ( $metadata['styles'] as $style ) {
881
+ $icons[] = array(
882
+ 'title' => "{$metadata['label']} ({$style})",
883
+ 'slug' => $slug,
884
+ 'style' => $style,
885
+ 'base_class' => $this->get_icon_base_class( $slug, $style ),
886
+ 'searchTerms' => $search_terms,
887
+ );
888
+ }
889
+ }
890
+
891
+ return $icons;
892
+ }
893
+
894
+ private function get_icon_array_version_pre_5() {
895
 
896
  $icons = array();
897
  $hex_codes = array();
898
 
899
+ $css = $this->get_css( $this->stylesheet_url, $this->font_awesome_version );
900
+
901
  /**
902
  * Get all CSS selectors that have a "content:" pseudo-element rule,
903
  * as well as all associated hex codes.
904
  */
905
  preg_match_all( '/\.(icon-|fa-)([^,}]*)\s*:before\s*{\s*(content:)\s*"(\\\\[^"]+)"/s', $css, $matches );
906
+
907
+ $icon_slugs = $matches[2];
908
  $hex_codes = $matches[4];
909
 
910
+ foreach ( $icon_slugs as $index => $slug ) {
911
+ $icons[] = array(
912
+ 'title' => $slug,
913
+ 'slug' => $slug,
914
+ 'base_class' => $this->get_icon_base_class( $slug ),
915
+ 'searchTerms' => $slug,
916
+ );
917
+
918
+ }
919
+
920
+ // Alphabetize the icons array by icon slug.
921
+ uasort( $icons, function( $icon1, $icon2 ) {
922
+ return strcmp( $icon1['slug'], $icon2['slug'] );
923
+ });
924
+
925
+ return array_values( $icons );
926
+ }
927
+
928
+ /**
929
+ * Get array of icons for the current version.
930
+ *
931
+ * @since 1.0.0
932
+ *
933
+ * @param string CSS for the current version of FA (only used pre-v5)
934
+ *
935
+ * @return array All available icon names (e.g. adjust, car, pencil).
936
+ */
937
+ private function get_icon_array() {
938
+
939
+ $icons = array();
940
 
941
+ if ( version_compare( $this->get_version(), '5.0.0', '>=' ) ) {
942
+ $icons = $this->get_icon_array_version_5();
943
+ } else {
944
+ $icons = $this->get_icon_array_version_pre_5();
945
+ }
946
 
947
  /**
948
+ * [DEPRECATED] Filter the array of available icons.
949
  *
950
  * @since 1.0.0
951
  *
953
  */
954
  $icons = apply_filters( 'bfa_icon_list', $icons );
955
 
956
+ /**
957
+ * Filter the array of available icons.
958
+ *
959
+ * @since 2.0.0
960
+ *
961
+ * @param array $icons Array of all available icons.
962
+ */
963
+ $icons = apply_filters( 'bfa_icon_array', $icons );
964
 
965
+ return $icons;
966
  }
967
 
968
  /**
974
  *
975
  * @return string $prefix 'fa' or 'icon', depending on the version.
976
  */
977
+ private function derive_prefix( $version ) {
978
 
979
+ if ( version_compare( $this->get_version(), 4, '>=' ) ) {
980
  $prefix = 'fa';
981
  } else {
982
  $prefix = 'icon';
1036
  add_shortcode( 'icon', array( $this, 'render_shortcode' ) );
1037
  }
1038
 
1039
+ public function sanitize_shortcode_name_att( $name ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1040
  /**
1041
  * Strip 'icon-' and 'fa-' from the BEGINNING of $name.
1042
  *
1053
 
1054
  }
1055
 
1056
+ return $name;
1057
+ }
1058
 
1059
+ public function sanitize_shortcode_class_att( $class ) {
1060
+ $prefix = $this->get_prefix();
1061
 
1062
  // Remove "icon-" and "fa-" from the icon class.
1063
  $class = str_replace( 'icon-', '', $class );
1068
  $class = preg_replace( '/\s{3,}/', ' ', $class );
1069
 
1070
  // Add the version-specific prefix back on to each class.
1071
+ $class_array = array_filter( explode( ' ', $class ) );
1072
+
1073
  foreach ( $class_array as $index => $class ) {
1074
+ $class_array[ $index ] = $prefix ? $prefix . '-' . $class : $class;
1075
+ }
1076
+
1077
+ return implode( ' ', $class_array );
1078
+ }
1079
+
1080
+ /**
1081
+ * Render [icon] shortcode.
1082
+ *
1083
+ * Usage:
1084
+ * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
1085
+ *
1086
+ * @param array $atts Shortcode attributes.
1087
+ * @return string $output Icon HTML (e.g. <i class="fa fa-car"></i>).
1088
+ */
1089
+ public function render_shortcode( $atts ) {
1090
+
1091
+ extract( shortcode_atts( array(
1092
+ 'name' => '',
1093
+ 'class' => '',
1094
+ 'unprefixed_class' => '',
1095
+ 'title' => '', /* For compatibility with other plugins */
1096
+ 'size' => '', /* For compatibility with other plugins */
1097
+ 'space' => '',
1098
+ 'style' => '', /* Style category */
1099
+ ), $atts ));
1100
+
1101
+ $icon = $this->get_icon_by_slug( $name );
1102
+
1103
+ // Maybe this is an old icon that needs an updated alias.
1104
+ if ( ! $icon ) {
1105
+ require_once __DIR__ . '/inc/icon-updater.php';
1106
+ $name = bfa_get_updated_icon_slug( $name );
1107
+
1108
+ if ( ! $name ) {
1109
+ return '';
1110
+ }
1111
  }
 
1112
 
1113
+ $prefix = $this->get_prefix();
1114
+ $classes = array();
1115
+
1116
+ /**
1117
+ * Include for backwards compatibility with Font Awesome More Icons plugin.
1118
+ *
1119
+ * @see https://wordpress.org/plugins/font-awesome-more-icons/
1120
+ */
1121
+ $title = $title ? 'title="' . $title . '" ' : '';
1122
+ $space = 'true' == $space ? '&nbsp;' : '';
1123
+ $size = $size ? ' '. $prefix . '-' . $size : '';
1124
+
1125
+ // Santize name.
1126
+ $name = $this->sanitize_shortcode_name_att( $name );
1127
+
1128
+ // Generate classes array.
1129
+ $icon = $this->get_icon_by_slug( $name );
1130
+ $classes[] = $icon['base_class'];
1131
+ $classes[] = $this->sanitize_shortcode_class_att( $class );
1132
+ $classes[] = $unprefixed_class;
1133
+
1134
+ $class_string = implode( ' ', array_filter( $classes ) );
1135
 
1136
  /**
1137
  * Filter the icon class.
1138
  *
1139
  * @since 1.0.0
1140
  *
1141
+ * @param string $class_string Classes attached to the icon.
1142
  */
1143
+ $class_string = apply_filters( 'bfa_icon_class', $class_string, $name );
1144
 
1145
  /**
1146
  * Filter the default <i> icon tag.
1152
  $tag = apply_filters( 'bfa_icon_tag', 'i' );
1153
 
1154
  // Generate the HTML <i> icon element output.
1155
+ $output = sprintf( '<%s class="%s %s" %s>%s</%s>',
1156
  $tag,
1157
+ $class_string,
 
 
1158
  $size,
1159
  $title,
1160
  $space,
1172
 
1173
  }
1174
 
1175
+ public function get_icon_base_class( $slug, $style = '' ) {
1176
+ return "{$this->get_icon_style_class( $style )} {$this->get_prefix()}-{$slug}";
1177
+ }
1178
+
1179
+ private function get_icon_style_class( $style = '' ) {
1180
+
1181
+ if ( version_compare( $this->get_version(), 5, '>=' ) ) {
1182
+ switch ( $style ) {
1183
+ case 'brands':
1184
+ return 'fab';
1185
+
1186
+ case 'solid':
1187
+ return 'fas';
1188
+
1189
+ case 'light':
1190
+ return 'fal';
1191
+
1192
+ case 'regular':
1193
+ default:
1194
+ return 'far';
1195
+ }
1196
+ } else {
1197
+ return $this->get_prefix();
1198
+ }
1199
+ }
1200
+
1201
  /**
1202
  * Register and enqueue Font Awesome CSS.
1203
  */
1505
  return $this->errors;
1506
  }
1507
 
1508
+ public function get_icon_by_slug( $slug ) {
1509
+ foreach ( $this->get_icons() as $icon ) {
1510
+ if ( $slug === $icon['slug'] ) {
1511
+ return $icon;
1512
+ }
1513
+ }
1514
+ }
1515
+
1516
  }
1517
  endif;
vendor/mickey-kay/better-font-awesome-library/composer.json CHANGED
@@ -1,5 +1,8 @@
1
  {
2
  "name": "mickey-kay/better-font-awesome-library",
3
  "description": "Better Font Awesome Library for PHP",
4
- "license": "GPL-2.0"
5
- }
 
 
 
1
  {
2
  "name": "mickey-kay/better-font-awesome-library",
3
  "description": "Better Font Awesome Library for PHP",
4
+ "license": "GPL-2.0",
5
+ "require": {
6
+ "mustangostang/spyc": "^0.6.2"
7
+ }
8
+ }
vendor/mickey-kay/better-font-awesome-library/composer.lock CHANGED
@@ -1,23 +1,23 @@
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
  "content-hash": "2af966f91fba481aec1dcf6e1531d0f0",
8
  "packages": [
9
  {
10
  "name": "mustangostang/spyc",
11
- "version": "0.6.2",
12
  "source": {
13
  "type": "git",
14
- "url": "https://github.com/mustangostang/spyc.git",
15
- "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/mustangostang/spyc/zipball/23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
20
- "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
21
  "shasum": ""
22
  },
23
  "require": {
@@ -54,7 +54,7 @@
54
  "yaml",
55
  "yml"
56
  ],
57
- "time": "2017-02-24T16:06:33+00:00"
58
  }
59
  ],
60
  "packages-dev": [],
@@ -64,5 +64,6 @@
64
  "prefer-stable": false,
65
  "prefer-lowest": false,
66
  "platform": [],
67
- "platform-dev": []
 
68
  }
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
  "content-hash": "2af966f91fba481aec1dcf6e1531d0f0",
8
  "packages": [
9
  {
10
  "name": "mustangostang/spyc",
11
+ "version": "0.6.3",
12
  "source": {
13
  "type": "git",
14
+ "url": "git@github.com:mustangostang/spyc.git",
15
+ "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0",
20
+ "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0",
21
  "shasum": ""
22
  },
23
  "require": {
54
  "yaml",
55
  "yml"
56
  ],
57
+ "time": "2019-09-10T13:16:29+00:00"
58
  }
59
  ],
60
  "packages-dev": [],
64
  "prefer-stable": false,
65
  "prefer-lowest": false,
66
  "platform": [],
67
+ "platform-dev": [],
68
+ "plugin-api-version": "1.1.0"
69
  }
vendor/mickey-kay/better-font-awesome-library/js/admin.js CHANGED
@@ -8,45 +8,61 @@
8
 
9
  ( function( $ ) {
10
 
11
- $( document ).on( 'ready ', function() {
12
-
13
- $( 'body' ).on( 'mousedown', '.bfa-iconpicker', function(e) { // Use mousedown even to allow for triggering click later without infinite looping.
14
-
15
- e.preventDefault();
16
-
17
- $( this ).not( ' .initialized' )
18
- .addClass( 'initialized' )
19
- .iconpicker({
20
- placement: 'bottomLeft',
21
- hideOnSelect: true,
22
- animation: false,
23
- selectedCustomClass: 'selected',
24
- icons: bfa_vars.fa_icons,
25
- fullClassFormatter: function( val ) {
26
- if ( bfa_vars.fa_prefix ) {
27
- return bfa_vars.fa_prefix + ' ' + bfa_vars.fa_prefix + '-' + val;
28
- } else {
29
- return val;
30
- }
31
- },
32
- });
33
-
34
- $( this ).trigger( 'click' );
35
-
36
- })
37
- .on( 'click', '.bfa-iconpicker', function(e) {
38
- $( this ).find( '.iconpicker-search' ).focus();
39
- });
40
-
41
- // Set up icon insertion functionality.
42
- $( document ).on( 'iconpickerSelect', function( e ) {
43
- wp.media.editor.insert( icon_shortcode( e.iconpickerItem.context.title.replace( '.', '' ) ) );
44
- });
45
 
 
 
 
46
  });
 
47
 
48
- function icon_shortcode( icon ) {
49
- return '[icon name="' + icon + '" class="" unprefixed_class=""]';
50
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  } )( jQuery );
8
 
9
  ( function( $ ) {
10
 
11
+ var icons = Object.values( bfa_vars.fa_icons );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ function get_icon_by_title( title ) {
14
+ return icons.find( function( icon ) {
15
+ return icon.title == title;
16
  });
17
+ }
18
 
19
+ function icon_shortcode( icon ) {
20
+ var icon_style_string = icon.style ? ' style="' + icon.style + '"' : '';
21
+ return '[icon name="' + icon.slug + '"' + icon_style_string + ' class="" unprefixed_class=""]';
22
+ }
23
+
24
+ $( function() {
25
+
26
+ $( 'body' ).on( 'mousedown', '.bfa-iconpicker', function(e) { // Use mousedown even to allow for triggering click later without infinite looping.
27
+
28
+ e.preventDefault();
29
+
30
+ $( this ).not( ' .initialized' )
31
+ .addClass( 'initialized' )
32
+ .iconpicker({
33
+ placement: 'bottomLeft',
34
+ hideOnSelect: true,
35
+ animation: false,
36
+ selectedCustomClass: 'selected',
37
+ icons: icons,
38
+ fullClassFormatter: function( icon_title ) {
39
+ var classes = [];
40
+ var icon = get_icon_by_title( icon_title );
41
+
42
+ return icon.base_class;
43
+ },
44
+ })
45
+ .find( '.iconpicker-item' ).each( function() {
46
+ var $item = $( this );
47
+ var title = $item.attr( 'title' ).replace( '.', '' );
48
+
49
+ $item.attr( 'title', title );
50
+ });
51
+
52
+ $( this ).trigger( 'click' );
53
+
54
+ })
55
+ .on( 'click', '.bfa-iconpicker', function(e) {
56
+ e.preventDefault(); // Prevent scrolling to top.
57
+ $( this ).find( '.iconpicker-search' ).focus();
58
+ });
59
+
60
+ // Set up icon insertion functionality.
61
+ $( '.bfa-iconpicker' ).on( 'iconpickerSelected', function( e ) {
62
+ var icon_title = e.iconpickerItem.title.replace( '.', '' );
63
+ var icon = get_icon_by_title( icon_title );
64
+ wp.media.editor.insert( icon_shortcode( icon ) );
65
+ });
66
+ });
67
 
68
  } )( jQuery );
vendor/mickey-kay/better-font-awesome-library/lib/font-awesome/package.json CHANGED
@@ -1,44 +1,75 @@
1
  {
2
- "name": "font-awesome",
3
- "description": "The iconic font and CSS framework",
4
- "version": "4.7.0",
5
- "style": "css/font-awesome.css",
6
- "keywords": ["font", "awesome", "fontawesome", "icon", "font", "bootstrap"],
7
- "homepage": "http://fontawesome.io/",
8
- "bugs": {
9
- "url" : "http://github.com/FortAwesome/Font-Awesome/issues"
 
 
 
 
 
 
 
10
  },
 
 
 
 
 
 
 
11
  "author": {
12
  "name": "Dave Gandy",
13
  "email": "dave@fontawesome.io",
14
- "web": "http://twitter.com/davegandy"
15
  },
16
- "repository": {
17
- "type": "git",
18
- "url": "https://github.com/FortAwesome/Font-Awesome.git"
19
  },
 
20
  "contributors": [
21
  {
22
  "name": "Brian Talbot",
23
- "web": "http://twitter.com/talbs"
24
  },
25
  {
26
  "name": "Travis Chase",
27
- "web": "http://twitter.com/supercodepoet"
28
  },
29
  {
30
  "name": "Rob Madole",
31
- "web": "http://twitter.com/robmadole"
32
  },
33
  {
34
  "name": "Geremia Taglialatela",
35
- "web": "http://twitter.com/gtagliala"
36
  }
37
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  "license": "(OFL-1.1 AND MIT)",
39
- "dependencies": {
 
 
 
40
  },
41
- "engines" : {
42
- "node" : ">=0.10.3"
43
- }
44
  }
1
  {
2
+ "_from": "font-awesome@4.7.0",
3
+ "_id": "font-awesome@4.7.0",
4
+ "_inBundle": false,
5
+ "_integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=",
6
+ "_location": "/font-awesome",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "font-awesome@4.7.0",
12
+ "name": "font-awesome",
13
+ "escapedName": "font-awesome",
14
+ "rawSpec": "4.7.0",
15
+ "saveSpec": null,
16
+ "fetchSpec": "4.7.0"
17
  },
18
+ "_requiredBy": [
19
+ "#DEV:/"
20
+ ],
21
+ "_resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
22
+ "_shasum": "8fa8cf0411a1a31afd07b06d2902bb9fc815a133",
23
+ "_spec": "font-awesome@4.7.0",
24
+ "_where": "/Users/mickey/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/better-font-awesome/vendor/mickey-kay/better-font-awesome-library",
25
  "author": {
26
  "name": "Dave Gandy",
27
  "email": "dave@fontawesome.io",
28
+ "url": "http://twitter.com/davegandy"
29
  },
30
+ "bugs": {
31
+ "url": "http://github.com/FortAwesome/Font-Awesome/issues"
 
32
  },
33
+ "bundleDependencies": false,
34
  "contributors": [
35
  {
36
  "name": "Brian Talbot",
37
+ "url": "http://twitter.com/talbs"
38
  },
39
  {
40
  "name": "Travis Chase",
41
+ "url": "http://twitter.com/supercodepoet"
42
  },
43
  {
44
  "name": "Rob Madole",
45
+ "url": "http://twitter.com/robmadole"
46
  },
47
  {
48
  "name": "Geremia Taglialatela",
49
+ "url": "http://twitter.com/gtagliala"
50
  }
51
  ],
52
+ "dependencies": {},
53
+ "deprecated": false,
54
+ "description": "The iconic font and CSS framework",
55
+ "engines": {
56
+ "node": ">=0.10.3"
57
+ },
58
+ "homepage": "http://fontawesome.io/",
59
+ "keywords": [
60
+ "font",
61
+ "awesome",
62
+ "fontawesome",
63
+ "icon",
64
+ "font",
65
+ "bootstrap"
66
+ ],
67
  "license": "(OFL-1.1 AND MIT)",
68
+ "name": "font-awesome",
69
+ "repository": {
70
+ "type": "git",
71
+ "url": "git+https://github.com/FortAwesome/Font-Awesome.git"
72
  },
73
+ "style": "css/font-awesome.css",
74
+ "version": "4.7.0"
 
75
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/Gruntfile.js CHANGED
@@ -1,6 +1,91 @@
1
  'use strict';
 
 
 
 
 
 
 
 
 
 
 
 
2
  module.exports = function(grunt) {
 
 
3
  grunt.initConfig({
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  less: {
5
  dist: {
6
  options: {
@@ -26,30 +111,34 @@ module.exports = function(grunt) {
26
  }
27
  },
28
  jsbeautifier: {
29
- files: ['Gruntfile.js', 'src/js/*.js']
30
  },
31
  uglify: {
32
  distMin: {
33
  options: {
34
  compress: {},
35
- beautify: false
 
 
36
  },
37
  files: {
38
  'dist/js/fontawesome-iconpicker.min.js': [
39
  'src/js/jquery.ui.pos.js',
40
- 'src/js/iconpicker.js'
41
  ]
42
  }
43
  },
44
  dist: {
45
  options: {
46
  compress: false,
47
- beautify: true
 
 
48
  },
49
  files: {
50
  'dist/js/fontawesome-iconpicker.js': [
51
  'src/js/jquery.ui.pos.js',
52
- 'src/js/iconpicker.js'
53
  ]
54
  }
55
  }
@@ -72,6 +161,10 @@ module.exports = function(grunt) {
72
  dist: [
73
  'dist/css',
74
  'dist/js/*.js'
 
 
 
 
75
  ]
76
  }
77
  });
@@ -82,13 +175,20 @@ module.exports = function(grunt) {
82
  grunt.loadNpmTasks('grunt-contrib-watch');
83
  grunt.loadNpmTasks('grunt-contrib-less');
84
  grunt.loadNpmTasks('grunt-jsbeautifier');
 
 
 
85
 
86
  // Register tasks
87
  grunt.registerTask('default', [
88
- 'clean',
 
 
 
89
  'less',
90
  'jsbeautifier',
91
- 'uglify'
 
92
  ]);
93
  grunt.registerTask('dev', [
94
  'watch'
1
  'use strict';
2
+
3
+ const FONTAWESOME_VERSION = '5.5.0';
4
+ const jsBanner = `/*!
5
+ * Font Awesome Icon Picker
6
+ * https://farbelous.github.io/fontawesome-iconpicker/
7
+ *
8
+ * @author Javi Aguilar, itsjavi.com
9
+ * @license MIT License
10
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
11
+ */
12
+ `;
13
+
14
  module.exports = function(grunt) {
15
+ const parsedIconPicker = 'prod/src/js/iconpicker.js';
16
+ const tempIconsFile = '.icons.temp';
17
  grunt.initConfig({
18
+ download: {
19
+ somefile: {
20
+ src: [
21
+ 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/' +
22
+ FONTAWESOME_VERSION +
23
+ '/advanced-options/metadata/icons.yml'
24
+ ],
25
+ dest: tempIconsFile
26
+ },
27
+ },
28
+ yaml: {
29
+ getIcons: {
30
+ options: {
31
+ space: 2,
32
+ disableDest: true,
33
+ middleware: function(response, sourceJSON, src, dest) {
34
+ let targetJSON = {
35
+ icons: []
36
+ };
37
+ sourceJSON = JSON.parse(sourceJSON);
38
+ Object.keys(sourceJSON).forEach(function(key) {
39
+ let ele = sourceJSON[key];
40
+ let icon = 'fa-' + key;
41
+ ele.styles.forEach(function(style) {
42
+ style = style.toLowerCase();
43
+ if (style.startsWith('brand')) {
44
+ targetJSON.icons.push({
45
+ title: 'fab ' + icon,
46
+ searchTerms: ele.search.terms
47
+ });
48
+ } else if (style.startsWith('solid')) {
49
+ targetJSON.icons.push({
50
+ title: 'fas ' + icon,
51
+ searchTerms: ele.search.terms
52
+ });
53
+ } else if (style.startsWith('regular')) {
54
+ targetJSON.icons.push({
55
+ title: 'far ' + icon,
56
+ searchTerms: ele.search.terms
57
+ });
58
+ } else if (style.startsWith('light')) {
59
+ targetJSON.icons.push({
60
+ title: 'fal ' + icon,
61
+ searchTerms: ele.search.terms
62
+ });
63
+ }
64
+ });
65
+ });
66
+ grunt.file.write(dest, JSON.stringify(targetJSON));
67
+ }
68
+ },
69
+ files: [{
70
+ expand: false,
71
+ src: [tempIconsFile],
72
+ dest: tempIconsFile
73
+ }]
74
+ },
75
+ },
76
+ 'string-replace': {
77
+ dist: {
78
+ files: {
79
+ 'prod/': ['src/js/iconpicker.js'],
80
+ },
81
+ options: {
82
+ replacements: [{
83
+ pattern: '//###REPLACE-WITH-FONT-AWESOME-5-FONTS###',
84
+ replacement: "<%= grunt.file.read('" + tempIconsFile + "') %>"
85
+ }]
86
+ }
87
+ }
88
+ },
89
  less: {
90
  dist: {
91
  options: {
111
  }
112
  },
113
  jsbeautifier: {
114
+ files: ['Gruntfile.js', 'src/js/*.js', parsedIconPicker]
115
  },
116
  uglify: {
117
  distMin: {
118
  options: {
119
  compress: {},
120
+ beautify: false,
121
+ comments: 'some',
122
+ banner: jsBanner
123
  },
124
  files: {
125
  'dist/js/fontawesome-iconpicker.min.js': [
126
  'src/js/jquery.ui.pos.js',
127
+ parsedIconPicker
128
  ]
129
  }
130
  },
131
  dist: {
132
  options: {
133
  compress: false,
134
+ beautify: true,
135
+ comments: 'some',
136
+ banner: jsBanner
137
  },
138
  files: {
139
  'dist/js/fontawesome-iconpicker.js': [
140
  'src/js/jquery.ui.pos.js',
141
+ parsedIconPicker
142
  ]
143
  }
144
  }
161
  dist: [
162
  'dist/css',
163
  'dist/js/*.js'
164
+ ],
165
+ temp: [
166
+ tempIconsFile,
167
+ 'prod/'
168
  ]
169
  }
170
  });
175
  grunt.loadNpmTasks('grunt-contrib-watch');
176
  grunt.loadNpmTasks('grunt-contrib-less');
177
  grunt.loadNpmTasks('grunt-jsbeautifier');
178
+ grunt.loadNpmTasks('grunt-yaml');
179
+ grunt.loadNpmTasks('grunt-http-download');
180
+ grunt.loadNpmTasks('grunt-string-replace');
181
 
182
  // Register tasks
183
  grunt.registerTask('default', [
184
+ 'download',
185
+ 'yaml',
186
+ 'string-replace',
187
+ 'clean:dist',
188
  'less',
189
  'jsbeautifier',
190
+ 'uglify',
191
+ 'clean:temp'
192
  ]);
193
  grunt.registerTask('dev', [
194
  'watch'
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/README.md CHANGED
@@ -1,12 +1,19 @@
1
  fontawesome-iconpicker
2
  ========================
3
 
 
 
 
 
 
 
 
4
  Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
5
- with a powerful base API, based on [bootstrap-popover-picker](https://itsjavi.com/bootstrap-popover-picker/)
6
 
7
- You can use Font Awesome or another font icon set of your choice (icon list is totally customizable).
8
 
9
- [View demos](https://itsjavi.com/fontawesome-iconpicker/)
10
 
11
  ## Instantiation
12
 
@@ -49,6 +56,13 @@ In order of call:
49
  * iconpickerDestroy
50
  * iconpickerDestroyed
51
 
 
 
 
 
 
 
 
52
  ## Popover placement extensions
53
 
54
  This plugin comes with more placement options than the original Bootstrap Popover.
@@ -59,7 +73,7 @@ Here are all the possibilities in detail:
59
  F 7
60
  E 8
61
  D C B A 9
62
-
63
  0. inline (no placement, display as inline-block)
64
  1. topLeftCorner
65
  2. topLeft
@@ -82,7 +96,7 @@ Here are all the possibilities in detail:
82
  ## Available options
83
 
84
  ```javascript
85
- var defaults = {
86
  title: false, // Popover title (optional) only if specified in the template
87
  selected: false, // use this value as the current item and ignore the original
88
  defaultValue: false, // use this value as the current item if input or element value is empty
@@ -95,7 +109,7 @@ var defaults = {
95
  searchInFooter: false, // If true, the search will be added to the footer instead of the title
96
  mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer
97
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
98
- icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
99
  fullClassFormatter: function(val) {
100
  return 'fa ' + val;
101
  },
@@ -116,13 +130,3 @@ var defaults = {
116
  }
117
  };
118
  ```
119
-
120
- ## TO-DO
121
- - [x] Support other icon fonts
122
- - [x] Fix: input marked as error when it is empty
123
- - [x] Add role=button to each item, for making them tabbable
124
- - [x] Ability to use the user input as the filter instead of the popover input
125
- - [x] Fix bottomRight position when using component mode
126
- - [x] Better dropdown compatibility
127
- - [x] Ability to mix various class prefixes and use a customizable class formatter function
128
- - [ ] ~~Ability to select and copy the icon character (the would need to be hardcoded in js)~~ (Use the chrome extension)
1
  fontawesome-iconpicker
2
  ========================
3
 
4
+ <!--[![Build Status](https://img.shields.io/travis/farbelous/fontawesome-iconpicker/master.svg?style=flat-square)](https://travis-ci.org/farbelous/fontawesome-iconpicker)-->
5
+ <!--[![npm@next](https://img.shields.io/npm/v/fontawesome-iconpicker/next.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker?activeTab=versions)-->
6
+ [![npm](https://img.shields.io/npm/v/fontawesome-iconpicker.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker)
7
+ [![Donate](https://img.shields.io/badge/%E2%9D%A4-Donate%20to%20this%20project-e0a61d.svg?longCache=true&style=flat-square)](https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers)
8
+ [![Supporters](https://img.shields.io/badge/%F0%9F%92%AA-Supporters-333333.svg?longCache=true&style=flat-square)](https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors)
9
+
10
+
11
  Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
12
+ with a powerful base API, based on [bootstrap-popover-picker](https://farbelous.github.io/bootstrap-popover-picker/)
13
 
14
+ You can use Font Awesome 5 or another font icon set of your choice (icon list is totally customizable).
15
 
16
+ [View demos](https://farbelous.github.io/fontawesome-iconpicker/)
17
 
18
  ## Instantiation
19
 
56
  * iconpickerDestroy
57
  * iconpickerDestroyed
58
 
59
+ ```javascript
60
+ // Bind iconpicker events to the element
61
+ $('.my').on('iconpickerSelected', function(event){
62
+ /* event.iconpickerValue */
63
+ });
64
+ ```
65
+
66
  ## Popover placement extensions
67
 
68
  This plugin comes with more placement options than the original Bootstrap Popover.
73
  F 7
74
  E 8
75
  D C B A 9
76
+
77
  0. inline (no placement, display as inline-block)
78
  1. topLeftCorner
79
  2. topLeft
96
  ## Available options
97
 
98
  ```javascript
99
+ var options = {
100
  title: false, // Popover title (optional) only if specified in the template
101
  selected: false, // use this value as the current item and ignore the original
102
  defaultValue: false, // use this value as the current item if input or element value is empty
109
  searchInFooter: false, // If true, the search will be added to the footer instead of the title
110
  mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer
111
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
112
+ icons: [], // list of icon objects [{title:String, searchTerms:String}]. By default, all Font Awesome icons are included.
113
  fullClassFormatter: function(val) {
114
  return 'fa ' + val;
115
  },
130
  }
131
  };
132
  ```
 
 
 
 
 
 
 
 
 
 
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.css CHANGED
@@ -1,29 +1,10 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
- *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
- *
9
- */
10
- /*
11
- * Font Awesome Icon Picker
12
- * https://itsjavi.com/fontawesome-iconpicker/
13
- *
14
- * Originally written by (c) 2016 Javi Aguilar
15
- * Licensed under the MIT License
16
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
17
- *
18
- */
19
- /*
20
- * Font Awesome Icon Picker
21
- * https://itsjavi.com/fontawesome-iconpicker/
22
- *
23
- * Originally written by (c) 2016 Javi Aguilar
24
- * Licensed under the MIT License
25
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
26
  *
 
 
 
27
  */
28
  .iconpicker-popover.popover {
29
  position: absolute;
@@ -33,8 +14,9 @@
33
  max-width: none;
34
  padding: 1px;
35
  text-align: left;
36
- width: 216px;
37
  background: #f7f7f7;
 
38
  }
39
  .iconpicker-popover.popover.top,
40
  .iconpicker-popover.popover.topLeftCorner,
@@ -123,7 +105,7 @@
123
  }
124
  .iconpicker-popover .popover-footer input[type=search].iconpicker-search {
125
  /*width:auto;
126
- float:left;*/
127
  margin-bottom: 12px;
128
  }
129
  .iconpicker-popover.popover > .arrow,
@@ -159,7 +141,7 @@
159
  bottom: 1px;
160
  margin-left: -10px;
161
  border-bottom-width: 0;
162
- border-top-color: #ffffff;
163
  }
164
  .iconpicker-popover.popover.topLeft > .arrow {
165
  left: 8px;
@@ -187,7 +169,7 @@
187
  left: 1px;
188
  bottom: -10px;
189
  border-left-width: 0;
190
- border-right-color: #ffffff;
191
  }
192
  .iconpicker-popover.popover.rightTop > .arrow {
193
  top: auto;
@@ -215,7 +197,7 @@
215
  top: 1px;
216
  margin-left: -10px;
217
  border-top-width: 0;
218
- border-bottom-color: #ffffff;
219
  }
220
  .iconpicker-popover.popover.bottomLeft > .arrow {
221
  left: 8px;
@@ -242,7 +224,7 @@
242
  content: " ";
243
  right: 1px;
244
  border-right-width: 0;
245
- border-left-color: #ffffff;
246
  bottom: -10px;
247
  }
248
  .iconpicker-popover.popover.leftBottom > .arrow {
@@ -307,21 +289,22 @@
307
  cursor: pointer;
308
  border-radius: 3px;
309
  font-size: 14px;
310
- box-shadow: 0 0 0 1px #dddddd;
311
  color: inherit;
312
  /*&:nth-child(4n+4) {
313
- margin-right: 0;
314
- }
315
- &:nth-last-child(-n+4) {
316
- margin-bottom: 0;
317
- }*/
318
  }
319
  .iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
320
- background-color: #eeeeee;
321
  }
322
  .iconpicker .iconpicker-item.iconpicker-selected {
323
  box-shadow: none;
324
  color: #fff;
 
325
  }
326
  .iconpicker-component {
327
  cursor: pointer;
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
  .iconpicker-popover.popover {
10
  position: absolute;
14
  max-width: none;
15
  padding: 1px;
16
  text-align: left;
17
+ width: 234px;
18
  background: #f7f7f7;
19
+ z-index: 9;
20
  }
21
  .iconpicker-popover.popover.top,
22
  .iconpicker-popover.popover.topLeftCorner,
105
  }
106
  .iconpicker-popover .popover-footer input[type=search].iconpicker-search {
107
  /*width:auto;
108
+ float:left;*/
109
  margin-bottom: 12px;
110
  }
111
  .iconpicker-popover.popover > .arrow,
141
  bottom: 1px;
142
  margin-left: -10px;
143
  border-bottom-width: 0;
144
+ border-top-color: #fff;
145
  }
146
  .iconpicker-popover.popover.topLeft > .arrow {
147
  left: 8px;
169
  left: 1px;
170
  bottom: -10px;
171
  border-left-width: 0;
172
+ border-right-color: #fff;
173
  }
174
  .iconpicker-popover.popover.rightTop > .arrow {
175
  top: auto;
197
  top: 1px;
198
  margin-left: -10px;
199
  border-top-width: 0;
200
+ border-bottom-color: #fff;
201
  }
202
  .iconpicker-popover.popover.bottomLeft > .arrow {
203
  left: 8px;
224
  content: " ";
225
  right: 1px;
226
  border-right-width: 0;
227
+ border-left-color: #fff;
228
  bottom: -10px;
229
  }
230
  .iconpicker-popover.popover.leftBottom > .arrow {
289
  cursor: pointer;
290
  border-radius: 3px;
291
  font-size: 14px;
292
+ box-shadow: 0 0 0 1px #ddd;
293
  color: inherit;
294
  /*&:nth-child(4n+4) {
295
+ margin-right: 0;
296
+ }
297
+ &:nth-last-child(-n+4) {
298
+ margin-bottom: 0;
299
+ }*/
300
  }
301
  .iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
302
+ background-color: #eee;
303
  }
304
  .iconpicker .iconpicker-item.iconpicker-selected {
305
  box-shadow: none;
306
  color: #fff;
307
+ background: #000;
308
  }
309
  .iconpicker-component {
310
  cursor: pointer;
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.min.css CHANGED
@@ -1,9 +1,8 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
  *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
- *
9
- */.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:216px;background:#f7f7f7}.iconpicker-popover.popover.top,.iconpicker-popover.popover.topLeftCorner,.iconpicker-popover.popover.topLeft,.iconpicker-popover.popover.topRight,.iconpicker-popover.popover.topRightCorner{margin-top:-10px}.iconpicker-popover.popover.right,.iconpicker-popover.popover.rightTop,.iconpicker-popover.popover.rightBottom{margin-left:10px}.iconpicker-popover.popover.bottom,.iconpicker-popover.popover.bottomRightCorner,.iconpicker-popover.popover.bottomRight,.iconpicker-popover.popover.bottomLeft,.iconpicker-popover.popover.bottomLeftCorner{margin-top:10px}.iconpicker-popover.popover.left,.iconpicker-popover.popover.leftBottom,.iconpicker-popover.popover.leftTop{margin-left:-10px}.iconpicker-popover.popover.inline{margin:0 0 12px 0;position:relative;display:inline-block;opacity:1;top:auto;left:auto;bottom:auto;right:auto;max-width:100%;box-shadow:none;z-index:auto;vertical-align:top}.iconpicker-popover.popover.inline>.arrow{display:none}.dropdown-menu .iconpicker-popover.inline{margin:0;border:none}.dropdown-menu.iconpicker-container{padding:0}.iconpicker-popover.popover .popover-title{padding:12px;font-size:13px;line-height:15px;border-bottom:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px 0}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:12px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:12px;text-align:right;margin:0;border-top:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover .popover-footer:before,.iconpicker-popover .popover-footer:after{content:" ";display:table}.iconpicker-popover .popover-footer:after{clear:both}.iconpicker-popover .popover-footer .iconpicker-btn{margin-left:10px}.iconpicker-popover .popover-footer input[type=search].iconpicker-search{margin-bottom:12px}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.top>.arrow,.iconpicker-popover.popover.topLeft>.arrow,.iconpicker-popover.popover.topRight>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.iconpicker-popover.popover.top>.arrow:after,.iconpicker-popover.popover.topLeft>.arrow:after,.iconpicker-popover.popover.topRight>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.iconpicker-popover.popover.topLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.right>.arrow,.iconpicker-popover.popover.rightTop>.arrow,.iconpicker-popover.popover.rightBottom>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.right>.arrow:after,.iconpicker-popover.popover.rightTop>.arrow:after,.iconpicker-popover.popover.rightBottom>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.iconpicker-popover.popover.rightTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.bottom>.arrow,.iconpicker-popover.popover.bottomRight>.arrow,.iconpicker-popover.popover.bottomLeft>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.iconpicker-popover.popover.bottom>.arrow:after,.iconpicker-popover.popover.bottomRight>.arrow:after,.iconpicker-popover.popover.bottomLeft>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.iconpicker-popover.popover.bottomLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.left>.arrow,.iconpicker-popover.popover.leftBottom>.arrow,.iconpicker-popover.popover.leftTop>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.left>.arrow:after,.iconpicker-popover.popover.leftBottom>.arrow:after,.iconpicker-popover.popover.leftTop>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.iconpicker-popover.popover.leftBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker{position:relative;text-align:left;text-shadow:none;line-height:0;display:block;margin:0;overflow:hidden}.iconpicker *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative}.iconpicker:before,.iconpicker:after{content:" ";display:table}.iconpicker:after{clear:both}.iconpicker .iconpicker-items{position:relative;clear:both;float:none;padding:12px 0 0 12px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:49px;max-height:246px}.iconpicker .iconpicker-items:before,.iconpicker .iconpicker-items:after{content:" ";display:table}.iconpicker .iconpicker-items:after{clear:both}.iconpicker .iconpicker-item{float:left;width:14px;height:14px;padding:12px;margin:0 12px 12px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd;color:inherit}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;color:#fff}.iconpicker-component{cursor:pointer}
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
4
  *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
+ */.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:234px;background:#f7f7f7;z-index:9}.iconpicker-popover.popover.top,.iconpicker-popover.popover.topLeftCorner,.iconpicker-popover.popover.topLeft,.iconpicker-popover.popover.topRight,.iconpicker-popover.popover.topRightCorner{margin-top:-10px}.iconpicker-popover.popover.right,.iconpicker-popover.popover.rightTop,.iconpicker-popover.popover.rightBottom{margin-left:10px}.iconpicker-popover.popover.bottom,.iconpicker-popover.popover.bottomRightCorner,.iconpicker-popover.popover.bottomRight,.iconpicker-popover.popover.bottomLeft,.iconpicker-popover.popover.bottomLeftCorner{margin-top:10px}.iconpicker-popover.popover.left,.iconpicker-popover.popover.leftBottom,.iconpicker-popover.popover.leftTop{margin-left:-10px}.iconpicker-popover.popover.inline{margin:0 0 12px 0;position:relative;display:inline-block;opacity:1;top:auto;left:auto;bottom:auto;right:auto;max-width:100%;box-shadow:none;z-index:auto;vertical-align:top}.iconpicker-popover.popover.inline>.arrow{display:none}.dropdown-menu .iconpicker-popover.inline{margin:0;border:none}.dropdown-menu.iconpicker-container{padding:0}.iconpicker-popover.popover .popover-title{padding:12px;font-size:13px;line-height:15px;border-bottom:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px 0}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:12px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:12px;text-align:right;margin:0;border-top:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover .popover-footer:before,.iconpicker-popover .popover-footer:after{content:" ";display:table}.iconpicker-popover .popover-footer:after{clear:both}.iconpicker-popover .popover-footer .iconpicker-btn{margin-left:10px}.iconpicker-popover .popover-footer input[type=search].iconpicker-search{margin-bottom:12px}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.top>.arrow,.iconpicker-popover.popover.topLeft>.arrow,.iconpicker-popover.popover.topRight>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.iconpicker-popover.popover.top>.arrow:after,.iconpicker-popover.popover.topLeft>.arrow:after,.iconpicker-popover.popover.topRight>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.iconpicker-popover.popover.topLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.right>.arrow,.iconpicker-popover.popover.rightTop>.arrow,.iconpicker-popover.popover.rightBottom>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.right>.arrow:after,.iconpicker-popover.popover.rightTop>.arrow:after,.iconpicker-popover.popover.rightBottom>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.iconpicker-popover.popover.rightTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.bottom>.arrow,.iconpicker-popover.popover.bottomRight>.arrow,.iconpicker-popover.popover.bottomLeft>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.iconpicker-popover.popover.bottom>.arrow:after,.iconpicker-popover.popover.bottomRight>.arrow:after,.iconpicker-popover.popover.bottomLeft>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.iconpicker-popover.popover.bottomLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.left>.arrow,.iconpicker-popover.popover.leftBottom>.arrow,.iconpicker-popover.popover.leftTop>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.left>.arrow:after,.iconpicker-popover.popover.leftBottom>.arrow:after,.iconpicker-popover.popover.leftTop>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.iconpicker-popover.popover.leftBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker{position:relative;text-align:left;text-shadow:none;line-height:0;display:block;margin:0;overflow:hidden}.iconpicker *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative}.iconpicker:before,.iconpicker:after{content:" ";display:table}.iconpicker:after{clear:both}.iconpicker .iconpicker-items{position:relative;clear:both;float:none;padding:12px 0 0 12px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:49px;max-height:246px}.iconpicker .iconpicker-items:before,.iconpicker .iconpicker-items:after{content:" ";display:table}.iconpicker .iconpicker-items:after{clear:both}.iconpicker .iconpicker-item{float:left;width:14px;height:14px;padding:12px;margin:0 12px 12px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd;color:inherit}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;color:#fff;background:#000}.iconpicker-component{cursor:pointer}
 
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.js CHANGED
@@ -1,402 +1,418 @@
1
- (function(a, b) {
2
- a.ui = a.ui || {};
3
- var c, d = Math.max, e = Math.abs, f = Math.round, g = /left|center|right/, h = /top|center|bottom/, i = /[\+\-]\d+(\.[\d]+)?%?/, j = /^\w+/, k = /%$/, l = a.fn.pos;
4
- function m(a, b, c) {
5
- return [ parseFloat(a[0]) * (k.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (k.test(a[1]) ? c / 100 : 1) ];
6
- }
7
- function n(b, c) {
8
- return parseInt(a.css(b, c), 10) || 0;
 
 
 
 
 
 
 
9
  }
10
- function o(b) {
11
- var c = b[0];
12
- if (c.nodeType === 9) {
13
- return {
14
- width: b.width(),
15
- height: b.height(),
16
- offset: {
17
- top: 0,
18
- left: 0
19
- }
20
- };
21
  }
22
- if (a.isWindow(c)) {
23
- return {
24
- width: b.width(),
25
- height: b.height(),
26
- offset: {
27
- top: b.scrollTop(),
28
- left: b.scrollLeft()
29
- }
30
- };
31
  }
32
- if (c.preventDefault) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  return {
34
- width: 0,
35
- height: 0,
36
- offset: {
37
- top: c.pageY,
38
- left: c.pageX
39
- }
40
  };
41
  }
42
- return {
43
- width: b.outerWidth(),
44
- height: b.outerHeight(),
45
- offset: b.offset()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  };
47
- }
48
- a.pos = {
49
- scrollbarWidth: function() {
50
- if (c !== b) {
51
- return c;
52
- }
53
- var d, e, f = a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), g = f.children()[0];
54
- a("body").append(f);
55
- d = g.offsetWidth;
56
- f.css("overflow", "scroll");
57
- e = g.offsetWidth;
58
- if (d === e) {
59
- e = f[0].clientWidth;
60
- }
61
- f.remove();
62
- return c = d - e;
63
- },
64
- getScrollInfo: function(b) {
65
- var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight;
66
- return {
67
- width: f ? a.pos.scrollbarWidth() : 0,
68
- height: e ? a.pos.scrollbarWidth() : 0
69
- };
70
- },
71
- getWithinInfo: function(b) {
72
- var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9;
73
- return {
74
- element: c,
75
- isWindow: d,
76
- isDocument: e,
77
- offset: c.offset() || {
78
- left: 0,
79
- top: 0
80
- },
81
- scrollLeft: c.scrollLeft(),
82
- scrollTop: c.scrollTop(),
83
- width: d ? c.width() : c.outerWidth(),
84
- height: d ? c.height() : c.outerHeight()
85
- };
86
- }
87
- };
88
- a.fn.pos = function(b) {
89
- if (!b || !b.of) {
90
- return l.apply(this, arguments);
91
- }
92
- b = a.extend({}, b);
93
- var c, k, p, q, r, s, t = a(b.of), u = a.pos.getWithinInfo(b.within), v = a.pos.getScrollInfo(u), w = (b.collision || "flip").split(" "), x = {};
94
- s = o(t);
95
- if (t[0].preventDefault) {
96
- b.at = "left top";
97
- }
98
- k = s.width;
99
- p = s.height;
100
- q = s.offset;
101
- r = a.extend({}, q);
102
- a.each([ "my", "at" ], function() {
103
- var a = (b[this] || "").split(" "), c, d;
104
- if (a.length === 1) {
105
- a = g.test(a[0]) ? a.concat([ "center" ]) : h.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ];
106
- }
107
- a[0] = g.test(a[0]) ? a[0] : "center";
108
- a[1] = h.test(a[1]) ? a[1] : "center";
109
- c = i.exec(a[0]);
110
- d = i.exec(a[1]);
111
- x[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];
112
- b[this] = [ j.exec(a[0])[0], j.exec(a[1])[0] ];
113
- });
114
- if (w.length === 1) {
115
- w[1] = w[0];
116
- }
117
- if (b.at[0] === "right") {
118
- r.left += k;
119
- } else if (b.at[0] === "center") {
120
- r.left += k / 2;
121
- }
122
- if (b.at[1] === "bottom") {
123
- r.top += p;
124
- } else if (b.at[1] === "center") {
125
- r.top += p / 2;
126
- }
127
- c = m(x.at, k, p);
128
- r.left += c[0];
129
- r.top += c[1];
130
- return this.each(function() {
131
- var g, h, i = a(this), j = i.outerWidth(), l = i.outerHeight(), o = n(this, "marginLeft"), s = n(this, "marginTop"), y = j + o + n(this, "marginRight") + v.width, z = l + s + n(this, "marginBottom") + v.height, A = a.extend({}, r), B = m(x.my, i.outerWidth(), i.outerHeight());
132
- if (b.my[0] === "right") {
133
- A.left -= j;
134
- } else if (b.my[0] === "center") {
135
- A.left -= j / 2;
136
- }
137
- if (b.my[1] === "bottom") {
138
- A.top -= l;
139
- } else if (b.my[1] === "center") {
140
- A.top -= l / 2;
141
- }
142
- A.left += B[0];
143
- A.top += B[1];
144
- if (!a.support.offsetFractions) {
145
- A.left = f(A.left);
146
- A.top = f(A.top);
147
- }
148
- g = {
149
- marginLeft: o,
150
- marginTop: s
151
- };
152
- a.each([ "left", "top" ], function(d, e) {
153
- if (a.ui.pos[w[d]]) {
154
- a.ui.pos[w[d]][e](A, {
155
- targetWidth: k,
156
- targetHeight: p,
157
- elemWidth: j,
158
- elemHeight: l,
159
- collisionPosition: g,
160
- collisionWidth: y,
161
- collisionHeight: z,
162
- offset: [ c[0] + B[0], c[1] + B[1] ],
163
- my: b.my,
164
- at: b.at,
165
- within: u,
166
- elem: i
167
- });
168
  }
 
 
 
 
 
 
169
  });
170
- if (b.using) {
171
- h = function(a) {
172
- var c = q.left - A.left, f = c + k - j, g = q.top - A.top, h = g + p - l, m = {
173
- target: {
174
- element: t,
175
- left: q.left,
176
- top: q.top,
177
- width: k,
178
- height: p
179
- },
180
- element: {
181
- element: i,
182
- left: A.left,
183
- top: A.top,
184
- width: j,
185
- height: l
186
- },
187
- horizontal: f < 0 ? "left" : c > 0 ? "right" : "center",
188
- vertical: h < 0 ? "top" : g > 0 ? "bottom" : "middle"
189
- };
190
- if (k < j && e(c + f) < k) {
191
- m.horizontal = "center";
192
- }
193
- if (p < l && e(g + h) < p) {
194
- m.vertical = "middle";
195
- }
196
- if (d(e(c), e(f)) > d(e(g), e(h))) {
197
- m.important = "horizontal";
198
- } else {
199
- m.important = "vertical";
200
- }
201
- b.using.call(this, a, m);
202
- };
203
  }
204
- i.offset(a.extend(A, {
205
- using: h
206
- }));
207
- });
208
- };
209
- a.ui.pos = {
210
- _trigger: function(a, b, c, d) {
211
- if (b.elem) {
212
- b.elem.trigger({
213
- type: c,
214
- position: a,
215
- positionData: b,
216
- triggered: d
217
- });
218
  }
219
- },
220
- fit: {
221
- left: function(b, c) {
222
- a.ui.pos._trigger(b, c, "posCollide", "fitLeft");
223
- var e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - c.collisionPosition.marginLeft, i = f - h, j = h + c.collisionWidth - g - f, k;
224
- if (c.collisionWidth > g) {
225
- if (i > 0 && j <= 0) {
226
- k = b.left + i + c.collisionWidth - g - f;
227
- b.left += i - k;
228
- } else if (j > 0 && i <= 0) {
229
- b.left = f;
230
- } else {
231
- if (i > j) {
232
- b.left = f + g - c.collisionWidth;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  } else {
234
- b.left = f;
235
  }
236
- }
237
- } else if (i > 0) {
238
- b.left += i;
239
- } else if (j > 0) {
240
- b.left -= j;
241
- } else {
242
- b.left = d(b.left - h, b.left);
 
 
 
 
 
 
 
 
 
 
243
  }
244
- a.ui.pos._trigger(b, c, "posCollided", "fitLeft");
245
  },
246
- top: function(b, c) {
247
- a.ui.pos._trigger(b, c, "posCollide", "fitTop");
248
- var e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = c.within.height, h = b.top - c.collisionPosition.marginTop, i = f - h, j = h + c.collisionHeight - g - f, k;
249
- if (c.collisionHeight > g) {
250
- if (i > 0 && j <= 0) {
251
- k = b.top + i + c.collisionHeight - g - f;
252
- b.top += i - k;
253
- } else if (j > 0 && i <= 0) {
254
- b.top = f;
255
- } else {
256
- if (i > j) {
257
- b.top = f + g - c.collisionHeight;
258
  } else {
259
- b.top = f;
 
 
 
 
260
  }
 
 
 
 
 
 
261
  }
262
- } else if (i > 0) {
263
- b.top += i;
264
- } else if (j > 0) {
265
- b.top -= j;
266
- } else {
267
- b.top = d(b.top - h, b.top);
268
- }
269
- a.ui.pos._trigger(b, c, "posCollided", "fitTop");
270
- }
271
- },
272
- flip: {
273
- left: function(b, c) {
274
- a.ui.pos._trigger(b, c, "posCollide", "flipLeft");
275
- var d = c.within, f = d.offset.left + d.scrollLeft, g = d.width, h = d.isWindow ? d.scrollLeft : d.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;
276
- if (j < 0) {
277
- o = b.left + l + m + n + c.collisionWidth - g - f;
278
- if (o < 0 || o < e(j)) {
279
- b.left += l + m + n;
280
- }
281
- } else if (k > 0) {
282
- p = b.left - c.collisionPosition.marginLeft + l + m + n - h;
283
- if (p > 0 || e(p) < k) {
284
- b.left += l + m + n;
 
285
  }
 
286
  }
287
- a.ui.pos._trigger(b, c, "posCollided", "flipLeft");
288
  },
289
- top: function(b, c) {
290
- a.ui.pos._trigger(b, c, "posCollide", "flipTop");
291
- var d = c.within, f = d.offset.top + d.scrollTop, g = d.height, h = d.isWindow ? d.scrollTop : d.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;
292
- if (j < 0) {
293
- q = b.top + m + n + o + c.collisionHeight - g - f;
294
- if (b.top + m + n + o > j && (q < 0 || q < e(j))) {
295
- b.top += m + n + o;
 
 
 
 
 
 
 
296
  }
297
- } else if (k > 0) {
298
- p = b.top - c.collisionPosition.marginTop + m + n + o - h;
299
- if (b.top + m + n + o > k && (p > 0 || e(p) < k)) {
300
- b.top += m + n + o;
 
 
 
 
 
 
 
 
 
 
 
301
  }
 
302
  }
303
- a.ui.pos._trigger(b, c, "posCollided", "flipTop");
304
- }
305
- },
306
- flipfit: {
307
- left: function() {
308
- a.ui.pos.flip.left.apply(this, arguments);
309
- a.ui.pos.fit.left.apply(this, arguments);
310
  },
311
- top: function() {
312
- a.ui.pos.flip.top.apply(this, arguments);
313
- a.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
 
314
  }
315
- }
316
- };
317
- (function() {
318
- var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div");
319
- b = document.createElement(g ? "div" : "body");
320
- d = {
321
- visibility: "hidden",
322
- width: 0,
323
- height: 0,
324
- border: 0,
325
- margin: 0,
326
- background: "none"
327
  };
328
- if (g) {
329
- a.extend(d, {
330
- position: "absolute",
331
- left: "-1000px",
332
- top: "-1000px"
333
- });
334
- }
335
- for (f in d) {
336
- b.style[f] = d[f];
337
- }
338
- b.appendChild(h);
339
- c = g || document.documentElement;
340
- c.insertBefore(b, c.firstChild);
341
- h.style.cssText = "position: absolute; left: 10.7432222px;";
342
- e = a(h).offset().left;
343
- a.support.offsetFractions = e > 10 && e < 11;
344
- b.innerHTML = "";
345
- c.removeChild(b);
 
 
 
 
 
 
 
 
 
 
 
 
346
  })();
347
- })(jQuery);
 
348
 
349
- (function(a) {
350
  "use strict";
351
  if (typeof define === "function" && define.amd) {
352
- define([ "jquery" ], a);
353
  } else if (window.jQuery && !window.jQuery.fn.iconpicker) {
354
- a(window.jQuery);
355
  }
356
- })(function(a) {
357
  "use strict";
358
- var b = {
359
- isEmpty: function(a) {
360
- return a === false || a === "" || a === null || a === undefined;
361
  },
362
- isEmptyObject: function(a) {
363
- return this.isEmpty(a) === true || a.length === 0;
364
  },
365
- isElement: function(b) {
366
- return a(b).length > 0;
367
  },
368
- isString: function(a) {
369
- return typeof a === "string" || a instanceof String;
370
  },
371
- isArray: function(b) {
372
- return a.isArray(b);
373
  },
374
- inArray: function(b, c) {
375
- return a.inArray(b, c) !== -1;
376
  },
377
- throwError: function(a) {
378
- throw "Font Awesome Icon Picker Exception: " + a;
379
  }
380
  };
381
- var c = function(d, e) {
382
- this._id = c._idCounter++;
383
- this.element = a(d).addClass("iconpicker-element");
384
- this._trigger("iconpickerCreate");
385
- this.options = a.extend({}, c.defaultOptions, this.element.data(), e);
386
- this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);
 
 
387
  this.options.originalPlacement = this.options.placement;
388
- this.container = b.isElement(this.options.container) ? a(this.options.container) : false;
389
  if (this.container === false) {
390
  if (this.element.is(".dropdown-toggle")) {
391
- this.container = a("~ .dropdown-menu:first", this.element);
392
  } else {
393
  this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element;
394
  }
395
  }
396
  this.container.addClass("iconpicker-container");
397
  if (this.isDropdownMenu()) {
398
- this.options.templates.search = false;
399
- this.options.templates.buttons = false;
400
  this.options.placement = "inline";
401
  }
402
  this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false;
@@ -428,10 +444,12 @@
428
  if (this.isInline()) {
429
  this.show();
430
  }
431
- this._trigger("iconpickerCreated");
 
 
432
  };
433
- c._idCounter = 0;
434
- c.defaultOptions = {
435
  title: false,
436
  selected: false,
437
  defaultValue: false,
@@ -444,8 +462,8 @@
444
  mustAccept: false,
445
  selectedCustomClass: "bg-primary",
446
  icons: [],
447
- fullClassFormatter: function(a) {
448
- return "fa " + a;
449
  },
450
  input: "input,.iconpicker-input",
451
  inputSearch: false,
@@ -457,49 +475,49 @@
457
  buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
458
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
459
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
460
- iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>'
461
  }
462
  };
463
- c.batch = function(b, c) {
464
- var d = Array.prototype.slice.call(arguments, 2);
465
- return a(b).each(function() {
466
- var b = a(this).data("iconpicker");
467
- if (!!b) {
468
- b[c].apply(b, d);
469
  }
470
  });
471
  };
472
- c.prototype = {
473
- constructor: c,
474
  options: {},
475
  _id: 0,
476
- _trigger: function(b, c) {
477
- c = c || {};
478
- this.element.trigger(a.extend({
479
- type: b,
480
  iconpickerInstance: this
481
- }, c));
482
  },
483
  _createPopover: function() {
484
- this.popover = a(this.options.templates.popover);
485
- var c = this.popover.find(".popover-title");
486
  if (!!this.options.title) {
487
- c.append(a('<div class="popover-title-text">' + this.options.title + "</div>"));
488
  }
489
  if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
490
- c.append(this.options.templates.search);
491
  } else if (!this.options.title) {
492
- c.remove();
493
  }
494
- if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {
495
- var d = a(this.options.templates.footer);
496
  if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
497
- d.append(a(this.options.templates.search));
498
  }
499
- if (!b.isEmpty(this.options.templates.buttons)) {
500
- d.append(a(this.options.templates.buttons));
501
  }
502
- this.popover.append(d);
503
  }
504
  if (this.options.animation === true) {
505
  this.popover.addClass("fade");
@@ -507,113 +525,118 @@
507
  return this.popover;
508
  },
509
  _createIconpicker: function() {
510
- var b = this;
511
- this.iconpicker = a(this.options.templates.iconpicker);
512
- var c = function(c) {
513
- var d = a(this);
514
- if (d.is("i")) {
515
- d = d.parent();
516
- }
517
- b._trigger("iconpickerSelect", {
518
- iconpickerItem: d,
519
- iconpickerValue: b.iconpickerValue
520
  });
521
- if (b.options.mustAccept === false) {
522
- b.update(d.data("iconpickerValue"));
523
- b._trigger("iconpickerSelected", {
524
  iconpickerItem: this,
525
- iconpickerValue: b.iconpickerValue
526
  });
527
  } else {
528
- b.update(d.data("iconpickerValue"), true);
529
  }
530
- if (b.options.hideOnSelect && b.options.mustAccept === false) {
531
- b.hide();
532
  }
533
- c.preventDefault();
534
- return false;
535
  };
536
- for (var d in this.options.icons) {
537
- if (typeof this.options.icons[d] === "string") {
538
- var e = a(this.options.templates.iconpickerItem);
539
- e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d]));
540
- e.data("iconpickerValue", this.options.icons[d]).on("click.iconpicker", c);
541
- this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.options.icons[d]));
 
 
 
 
 
 
 
 
 
 
542
  }
543
  }
 
544
  this.popover.find(".popover-content").append(this.iconpicker);
545
  return this.iconpicker;
546
  },
547
- _isEventInsideIconpicker: function(b) {
548
- var c = a(b.target);
549
- if ((!c.hasClass("iconpicker-element") || c.hasClass("iconpicker-element") && !c.is(this.element)) && c.parents(".iconpicker-popover").length === 0) {
550
  return false;
551
  }
552
  return true;
553
  },
554
  _bindElementEvents: function() {
555
- var c = this;
556
  this.getSearchInput().on("keyup.iconpicker", function() {
557
- c.filter(a(this).val().toLowerCase());
558
  });
559
  this.getAcceptButton().on("click.iconpicker", function() {
560
- var a = c.iconpicker.find(".iconpicker-selected").get(0);
561
- c.update(c.iconpickerValue);
562
- c._trigger("iconpickerSelected", {
563
- iconpickerItem: a,
564
- iconpickerValue: c.iconpickerValue
565
  });
566
- if (!c.isInline()) {
567
- c.hide();
568
  }
569
  });
570
  this.getCancelButton().on("click.iconpicker", function() {
571
- if (!c.isInline()) {
572
- c.hide();
573
  }
574
  });
575
- this.element.on("focus.iconpicker", function(a) {
576
- c.show();
577
- a.stopPropagation();
578
  });
579
  if (this.hasComponent()) {
580
  this.component.on("click.iconpicker", function() {
581
- c.toggle();
582
  });
583
  }
584
  if (this.hasInput()) {
585
- this.input.on("keyup.iconpicker", function(d) {
586
- if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
587
- c.update();
588
  } else {
589
- c._updateFormGroupStatus(c.getValid(this.value) !== false);
590
  }
591
- if (c.options.inputSearch === true) {
592
- c.filter(a(this).val().toLowerCase());
593
  }
594
  });
595
  }
596
  },
597
  _bindWindowEvents: function() {
598
- var b = a(window.document);
599
- var c = this;
600
- var d = ".iconpicker.inst" + this._id;
601
- a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function(a) {
602
- if (c.popover.hasClass("in")) {
603
- c.updatePlacement();
604
  }
605
  });
606
- if (!c.isInline()) {
607
- b.on("mouseup" + d, function(a) {
608
- if (!c._isEventInsideIconpicker(a) && !c.isInline()) {
609
- c.hide();
610
  }
611
- a.stopPropagation();
612
- a.preventDefault();
613
- return false;
614
  });
615
  }
616
- return false;
617
  },
618
  _unbindElementEvents: function() {
619
  this.popover.off(".iconpicker");
@@ -629,141 +652,141 @@
629
  }
630
  },
631
  _unbindWindowEvents: function() {
632
- a(window).off(".iconpicker.inst" + this._id);
633
- a(window.document).off(".iconpicker.inst" + this._id);
634
- },
635
- updatePlacement: function(b, c) {
636
- b = b || this.options.placement;
637
- this.options.placement = b;
638
- c = c || this.options.collision;
639
- c = c === true ? "flip" : c;
640
- var d = {
641
  at: "right bottom",
642
  my: "right top",
643
  of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
644
- collision: c === true ? "flip" : c,
645
  within: window
646
  };
647
  this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
648
- if (typeof b === "object") {
649
- return this.popover.pos(a.extend({}, d, b));
650
  }
651
- switch (b) {
652
  case "inline":
653
  {
654
- d = false;
655
  }
656
  break;
657
 
658
  case "topLeftCorner":
659
  {
660
- d.my = "right bottom";
661
- d.at = "left top";
662
  }
663
  break;
664
 
665
  case "topLeft":
666
  {
667
- d.my = "left bottom";
668
- d.at = "left top";
669
  }
670
  break;
671
 
672
  case "top":
673
  {
674
- d.my = "center bottom";
675
- d.at = "center top";
676
  }
677
  break;
678
 
679
  case "topRight":
680
  {
681
- d.my = "right bottom";
682
- d.at = "right top";
683
  }
684
  break;
685
 
686
  case "topRightCorner":
687
  {
688
- d.my = "left bottom";
689
- d.at = "right top";
690
  }
691
  break;
692
 
693
  case "rightTop":
694
  {
695
- d.my = "left bottom";
696
- d.at = "right center";
697
  }
698
  break;
699
 
700
  case "right":
701
  {
702
- d.my = "left center";
703
- d.at = "right center";
704
  }
705
  break;
706
 
707
  case "rightBottom":
708
  {
709
- d.my = "left top";
710
- d.at = "right center";
711
  }
712
  break;
713
 
714
  case "bottomRightCorner":
715
  {
716
- d.my = "left top";
717
- d.at = "right bottom";
718
  }
719
  break;
720
 
721
  case "bottomRight":
722
  {
723
- d.my = "right top";
724
- d.at = "right bottom";
725
  }
726
  break;
727
 
728
  case "bottom":
729
  {
730
- d.my = "center top";
731
- d.at = "center bottom";
732
  }
733
  break;
734
 
735
  case "bottomLeft":
736
  {
737
- d.my = "left top";
738
- d.at = "left bottom";
739
  }
740
  break;
741
 
742
  case "bottomLeftCorner":
743
  {
744
- d.my = "right top";
745
- d.at = "left bottom";
746
  }
747
  break;
748
 
749
  case "leftBottom":
750
  {
751
- d.my = "right top";
752
- d.at = "left center";
753
  }
754
  break;
755
 
756
  case "left":
757
  {
758
- d.my = "right center";
759
- d.at = "left center";
760
  }
761
  break;
762
 
763
  case "leftTop":
764
  {
765
- d.my = "right bottom";
766
- d.at = "left center";
767
  }
768
  break;
769
 
@@ -776,8 +799,8 @@
776
  this.popover.css({
777
  display: this.options.placement === "inline" ? "" : "block"
778
  });
779
- if (d !== false) {
780
- this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5);
781
  } else {
782
  this.popover.css({
783
  top: "auto",
@@ -796,17 +819,17 @@
796
  this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
797
  }
798
  if (this.hasComponent()) {
799
- var a = this.component.find("i");
800
- if (a.length > 0) {
801
- a.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
802
  } else {
803
  this.component.html(this.getHtml());
804
  }
805
  }
806
  },
807
- _updateFormGroupStatus: function(a) {
808
  if (this.hasInput()) {
809
- if (a !== false) {
810
  this.input.parents(".form-group:first").removeClass("has-error");
811
  } else {
812
  this.input.parents(".form-group:first").addClass("has-error");
@@ -815,28 +838,35 @@
815
  }
816
  return false;
817
  },
818
- getValid: function(c) {
819
- if (!b.isString(c)) {
820
- c = "";
 
 
 
 
 
 
 
 
 
821
  }
822
- var d = c === "";
823
- c = a.trim(c);
824
- if (b.inArray(c, this.options.icons) || d) {
825
- return c;
826
  }
827
  return false;
828
  },
829
- setValue: function(a) {
830
- var b = this.getValid(a);
831
- if (b !== false) {
832
- this.iconpickerValue = b;
833
  this._trigger("iconpickerSetValue", {
834
- iconpickerValue: b
835
  });
836
  return this.iconpickerValue;
837
  } else {
838
  this._trigger("iconpickerInvalid", {
839
- iconpickerValue: a
840
  });
841
  return false;
842
  }
@@ -844,32 +874,32 @@
844
  getHtml: function() {
845
  return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
846
  },
847
- setSourceValue: function(a) {
848
- a = this.setValue(a);
849
- if (a !== false && a !== "") {
850
  if (this.hasInput()) {
851
  this.input.val(this.iconpickerValue);
852
  } else {
853
  this.element.data("iconpickerValue", this.iconpickerValue);
854
  }
855
  this._trigger("iconpickerSetSourceValue", {
856
- iconpickerValue: a
857
  });
858
  }
859
- return a;
860
  },
861
- getSourceValue: function(a) {
862
- a = a || this.options.defaultValue;
863
- var b = a;
864
  if (this.hasInput()) {
865
- b = this.input.val();
866
  } else {
867
- b = this.element.data("iconpickerValue");
868
  }
869
- if (b === undefined || b === "" || b === null || b === false) {
870
- b = a;
871
  }
872
- return b;
873
  },
874
  hasInput: function() {
875
  return this.input !== false;
@@ -901,55 +931,65 @@
901
  getSearchInput: function() {
902
  return this.popover.find(".iconpicker-search");
903
  },
904
- filter: function(c) {
905
- if (b.isEmpty(c)) {
906
  this.iconpicker.find(".iconpicker-item").show();
907
- return a(false);
908
  } else {
909
- var d = [];
910
  this.iconpicker.find(".iconpicker-item").each(function() {
911
- var b = a(this);
912
- var e = b.attr("title").toLowerCase();
913
- var f = false;
 
 
914
  try {
915
- f = new RegExp(c, "g");
916
- } catch (a) {
917
- f = false;
918
  }
919
- if (f !== false && e.match(f)) {
920
- d.push(b);
921
- b.show();
922
  } else {
923
- b.hide();
924
  }
925
  });
926
- return d;
927
  }
928
  },
929
  show: function() {
930
  if (this.popover.hasClass("in")) {
931
  return false;
932
  }
933
- a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
934
- this._trigger("iconpickerShow");
 
 
935
  this.updatePlacement();
936
  this.popover.addClass("in");
937
- setTimeout(a.proxy(function() {
938
  this.popover.css("display", this.isInline() ? "" : "block");
939
- this._trigger("iconpickerShown");
 
 
940
  }, this), this.options.animation ? 300 : 1);
941
  },
942
  hide: function() {
943
  if (!this.popover.hasClass("in")) {
944
  return false;
945
  }
946
- this._trigger("iconpickerHide");
 
 
947
  this.popover.removeClass("in");
948
- setTimeout(a.proxy(function() {
949
  this.popover.css("display", "none");
950
  this.getSearchInput().val("");
951
  this.filter("");
952
- this._trigger("iconpickerHidden");
 
 
953
  }, this), this.options.animation ? 300 : 1);
954
  },
955
  toggle: function() {
@@ -959,28 +999,36 @@
959
  this.show(true);
960
  }
961
  },
962
- update: function(a, b) {
963
- a = a ? a : this.getSourceValue(this.iconpickerValue);
964
- this._trigger("iconpickerUpdate");
965
- if (b === true) {
966
- a = this.setValue(a);
 
 
967
  } else {
968
- a = this.setSourceValue(a);
969
- this._updateFormGroupStatus(a !== false);
970
  }
971
- if (a !== false) {
972
  this._updateComponents();
973
  }
974
- this._trigger("iconpickerUpdated");
975
- return a;
 
 
976
  },
977
  destroy: function() {
978
- this._trigger("iconpickerDestroy");
 
 
979
  this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
980
  this._unbindElementEvents();
981
  this._unbindWindowEvents();
982
- a(this.popover).remove();
983
- this._trigger("iconpickerDestroyed");
 
 
984
  },
985
  disable: function() {
986
  if (this.hasInput()) {
@@ -1006,14 +1054,4252 @@
1006
  return this.options.placement === "inline" || this.popover.hasClass("inline");
1007
  }
1008
  };
1009
- a.iconpicker = c;
1010
- a.fn.iconpicker = function(b) {
1011
  return this.each(function() {
1012
- var d = a(this);
1013
- if (!d.data("iconpicker")) {
1014
- d.data("iconpicker", new c(this, typeof b === "object" ? b : {}));
1015
  }
1016
  });
1017
  };
1018
- c.defaultOptions.icons = [ "fa-500px", "fa-address-book", "fa-address-book-o", "fa-address-card", "fa-address-card-o", "fa-adjust", "fa-adn", "fa-align-center", "fa-align-justify", "fa-align-left", "fa-align-right", "fa-amazon", "fa-ambulance", "fa-american-sign-language-interpreting", "fa-anchor", "fa-android", "fa-angellist", "fa-angle-double-down", "fa-angle-double-left", "fa-angle-double-right", "fa-angle-double-up", "fa-angle-down", "fa-angle-left", "fa-angle-right", "fa-angle-up", "fa-apple", "fa-archive", "fa-area-chart", "fa-arrow-circle-down", "fa-arrow-circle-left", "fa-arrow-circle-o-down", "fa-arrow-circle-o-left", "fa-arrow-circle-o-right", "fa-arrow-circle-o-up", "fa-arrow-circle-right", "fa-arrow-circle-up", "fa-arrow-down", "fa-arrow-left", "fa-arrow-right", "fa-arrow-up", "fa-arrows", "fa-arrows-alt", "fa-arrows-h", "fa-arrows-v", "fa-asl-interpreting", "fa-assistive-listening-systems", "fa-asterisk", "fa-at", "fa-audio-description", "fa-automobile", "fa-backward", "fa-balance-scale", "fa-ban", "fa-bandcamp", "fa-bank", "fa-bar-chart", "fa-bar-chart-o", "fa-barcode", "fa-bars", "fa-bath", "fa-bathtub", "fa-battery", "fa-battery-0", "fa-battery-1", "fa-battery-2", "fa-battery-3", "fa-battery-4", "fa-battery-empty", "fa-battery-full", "fa-battery-half", "fa-battery-quarter", "fa-battery-three-quarters", "fa-bed", "fa-beer", "fa-behance", "fa-behance-square", "fa-bell", "fa-bell-o", "fa-bell-slash", "fa-bell-slash-o", "fa-bicycle", "fa-binoculars", "fa-birthday-cake", "fa-bitbucket", "fa-bitbucket-square", "fa-bitcoin", "fa-black-tie", "fa-blind", "fa-bluetooth", "fa-bluetooth-b", "fa-bold", "fa-bolt", "fa-bomb", "fa-book", "fa-bookmark", "fa-bookmark-o", "fa-braille", "fa-briefcase", "fa-btc", "fa-bug", "fa-building", "fa-building-o", "fa-bullhorn", "fa-bullseye", "fa-bus", "fa-buysellads", "fa-cab", "fa-calculator", "fa-calendar", "fa-calendar-check-o", "fa-calendar-minus-o", "fa-calendar-o", "fa-calendar-plus-o", "fa-calendar-times-o", "fa-camera", "fa-camera-retro", "fa-car", "fa-caret-down", "fa-caret-left", "fa-caret-right", "fa-caret-square-o-down", "fa-caret-square-o-left", "fa-caret-square-o-right", "fa-caret-square-o-up", "fa-caret-up", "fa-cart-arrow-down", "fa-cart-plus", "fa-cc", "fa-cc-amex", "fa-cc-diners-club", "fa-cc-discover", "fa-cc-jcb", "fa-cc-mastercard", "fa-cc-paypal", "fa-cc-stripe", "fa-cc-visa", "fa-certificate", "fa-chain", "fa-chain-broken", "fa-check", "fa-check-circle", "fa-check-circle-o", "fa-check-square", "fa-check-square-o", "fa-chevron-circle-down", "fa-chevron-circle-left", "fa-chevron-circle-right", "fa-chevron-circle-up", "fa-chevron-down", "fa-chevron-left", "fa-chevron-right", "fa-chevron-up", "fa-child", "fa-chrome", "fa-circle", "fa-circle-o", "fa-circle-o-notch", "fa-circle-thin", "fa-clipboard", "fa-clock-o", "fa-clone", "fa-close", "fa-cloud", "fa-cloud-download", "fa-cloud-upload", "fa-cny", "fa-code", "fa-code-fork", "fa-codepen", "fa-codiepie", "fa-coffee", "fa-cog", "fa-cogs", "fa-columns", "fa-comment", "fa-comment-o", "fa-commenting", "fa-commenting-o", "fa-comments", "fa-comments-o", "fa-compass", "fa-compress", "fa-connectdevelop", "fa-contao", "fa-copy", "fa-copyright", "fa-creative-commons", "fa-credit-card", "fa-credit-card-alt", "fa-crop", "fa-crosshairs", "fa-css3", "fa-cube", "fa-cubes", "fa-cut", "fa-cutlery", "fa-dashboard", "fa-dashcube", "fa-database", "fa-deaf", "fa-deafness", "fa-dedent", "fa-delicious", "fa-desktop", "fa-deviantart", "fa-diamond", "fa-digg", "fa-dollar", "fa-dot-circle-o", "fa-download", "fa-dribbble", "fa-drivers-license", "fa-drivers-license-o", "fa-dropbox", "fa-drupal", "fa-edge", "fa-edit", "fa-eercast", "fa-eject", "fa-ellipsis-h", "fa-ellipsis-v", "fa-empire", "fa-envelope", "fa-envelope-o", "fa-envelope-open", "fa-envelope-open-o", "fa-envelope-square", "fa-envira", "fa-eraser", "fa-etsy", "fa-eur", "fa-euro", "fa-exchange", "fa-exclamation", "fa-exclamation-circle", "fa-exclamation-triangle", "fa-expand", "fa-expeditedssl", "fa-external-link", "fa-external-link-square", "fa-eye", "fa-eye-slash", "fa-eyedropper", "fa-fa", "fa-facebook", "fa-facebook-f", "fa-facebook-official", "fa-facebook-square", "fa-fast-backward", "fa-fast-forward", "fa-fax", "fa-feed", "fa-female", "fa-fighter-jet", "fa-file", "fa-file-archive-o", "fa-file-audio-o", "fa-file-code-o", "fa-file-excel-o", "fa-file-image-o", "fa-file-movie-o", "fa-file-o", "fa-file-pdf-o", "fa-file-photo-o", "fa-file-picture-o", "fa-file-powerpoint-o", "fa-file-sound-o", "fa-file-text", "fa-file-text-o", "fa-file-video-o", "fa-file-word-o", "fa-file-zip-o", "fa-files-o", "fa-film", "fa-filter", "fa-fire", "fa-fire-extinguisher", "fa-firefox", "fa-first-order", "fa-flag", "fa-flag-checkered", "fa-flag-o", "fa-flash", "fa-flask", "fa-flickr", "fa-floppy-o", "fa-folder", "fa-folder-o", "fa-folder-open", "fa-folder-open-o", "fa-font", "fa-font-awesome", "fa-fonticons", "fa-fort-awesome", "fa-forumbee", "fa-forward", "fa-foursquare", "fa-free-code-camp", "fa-frown-o", "fa-futbol-o", "fa-gamepad", "fa-gavel", "fa-gbp", "fa-ge", "fa-gear", "fa-gears", "fa-genderless", "fa-get-pocket", "fa-gg", "fa-gg-circle", "fa-gift", "fa-git", "fa-git-square", "fa-github", "fa-github-alt", "fa-github-square", "fa-gitlab", "fa-gittip", "fa-glass", "fa-glide", "fa-glide-g", "fa-globe", "fa-google", "fa-google-plus", "fa-google-plus-circle", "fa-google-plus-official", "fa-google-plus-square", "fa-google-wallet", "fa-graduation-cap", "fa-gratipay", "fa-grav", "fa-group", "fa-h-square", "fa-hacker-news", "fa-hand-grab-o", "fa-hand-lizard-o", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-hand-paper-o", "fa-hand-peace-o", "fa-hand-pointer-o", "fa-hand-rock-o", "fa-hand-scissors-o", "fa-hand-spock-o", "fa-hand-stop-o", "fa-handshake-o", "fa-hard-of-hearing", "fa-hashtag", "fa-hdd-o", "fa-header", "fa-headphones", "fa-heart", "fa-heart-o", "fa-heartbeat", "fa-history", "fa-home", "fa-hospital-o", "fa-hotel", "fa-hourglass", "fa-hourglass-1", "fa-hourglass-2", "fa-hourglass-3", "fa-hourglass-end", "fa-hourglass-half", "fa-hourglass-o", "fa-hourglass-start", "fa-houzz", "fa-html5", "fa-i-cursor", "fa-id-badge", "fa-id-card", "fa-id-card-o", "fa-ils", "fa-image", "fa-imdb", "fa-inbox", "fa-indent", "fa-industry", "fa-info", "fa-info-circle", "fa-inr", "fa-instagram", "fa-institution", "fa-internet-explorer", "fa-intersex", "fa-ioxhost", "fa-italic", "fa-joomla", "fa-jpy", "fa-jsfiddle", "fa-key", "fa-keyboard-o", "fa-krw", "fa-language", "fa-laptop", "fa-lastfm", "fa-lastfm-square", "fa-leaf", "fa-leanpub", "fa-legal", "fa-lemon-o", "fa-level-down", "fa-level-up", "fa-life-bouy", "fa-life-buoy", "fa-life-ring", "fa-life-saver", "fa-lightbulb-o", "fa-line-chart", "fa-link", "fa-linkedin", "fa-linkedin-square", "fa-linode", "fa-linux", "fa-list", "fa-list-alt", "fa-list-ol", "fa-list-ul", "fa-location-arrow", "fa-lock", "fa-long-arrow-down", "fa-long-arrow-left", "fa-long-arrow-right", "fa-long-arrow-up", "fa-low-vision", "fa-magic", "fa-magnet", "fa-mail-forward", "fa-mail-reply", "fa-mail-reply-all", "fa-male", "fa-map", "fa-map-marker", "fa-map-o", "fa-map-pin", "fa-map-signs", "fa-mars", "fa-mars-double", "fa-mars-stroke", "fa-mars-stroke-h", "fa-mars-stroke-v", "fa-maxcdn", "fa-meanpath", "fa-medium", "fa-medkit", "fa-meetup", "fa-meh-o", "fa-mercury", "fa-microchip", "fa-microphone", "fa-microphone-slash", "fa-minus", "fa-minus-circle", "fa-minus-square", "fa-minus-square-o", "fa-mixcloud", "fa-mobile", "fa-mobile-phone", "fa-modx", "fa-money", "fa-moon-o", "fa-mortar-board", "fa-motorcycle", "fa-mouse-pointer", "fa-music", "fa-navicon", "fa-neuter", "fa-newspaper-o", "fa-object-group", "fa-object-ungroup", "fa-odnoklassniki", "fa-odnoklassniki-square", "fa-opencart", "fa-openid", "fa-opera", "fa-optin-monster", "fa-outdent", "fa-pagelines", "fa-paint-brush", "fa-paper-plane", "fa-paper-plane-o", "fa-paperclip", "fa-paragraph", "fa-paste", "fa-pause", "fa-pause-circle", "fa-pause-circle-o", "fa-paw", "fa-paypal", "fa-pencil", "fa-pencil-square", "fa-pencil-square-o", "fa-percent", "fa-phone", "fa-phone-square", "fa-photo", "fa-picture-o", "fa-pie-chart", "fa-pied-piper", "fa-pied-piper-alt", "fa-pied-piper-pp", "fa-pinterest", "fa-pinterest-p", "fa-pinterest-square", "fa-plane", "fa-play", "fa-play-circle", "fa-play-circle-o", "fa-plug", "fa-plus", "fa-plus-circle", "fa-plus-square", "fa-plus-square-o", "fa-podcast", "fa-power-off", "fa-print", "fa-product-hunt", "fa-puzzle-piece", "fa-qq", "fa-qrcode", "fa-question", "fa-question-circle", "fa-question-circle-o", "fa-quora", "fa-quote-left", "fa-quote-right", "fa-ra", "fa-random", "fa-ravelry", "fa-rebel", "fa-recycle", "fa-reddit", "fa-reddit-alien", "fa-reddit-square", "fa-refresh", "fa-registered", "fa-remove", "fa-renren", "fa-reorder", "fa-repeat", "fa-reply", "fa-reply-all", "fa-resistance", "fa-retweet", "fa-rmb", "fa-road", "fa-rocket", "fa-rotate-left", "fa-rotate-right", "fa-rouble", "fa-rss", "fa-rss-square", "fa-rub", "fa-ruble", "fa-rupee", "fa-s15", "fa-safari", "fa-save", "fa-scissors", "fa-scribd", "fa-search", "fa-search-minus", "fa-search-plus", "fa-sellsy", "fa-send", "fa-send-o", "fa-server", "fa-share", "fa-share-alt", "fa-share-alt-square", "fa-share-square", "fa-share-square-o", "fa-shekel", "fa-sheqel", "fa-shield", "fa-ship", "fa-shirtsinbulk", "fa-shopping-bag", "fa-shopping-basket", "fa-shopping-cart", "fa-shower", "fa-sign-in", "fa-sign-language", "fa-sign-out", "fa-signal", "fa-signing", "fa-simplybuilt", "fa-sitemap", "fa-skyatlas", "fa-skype", "fa-slack", "fa-sliders", "fa-slideshare", "fa-smile-o", "fa-snapchat", "fa-snapchat-ghost", "fa-snapchat-square", "fa-snowflake-o", "fa-soccer-ball-o", "fa-sort", "fa-sort-alpha-asc", "fa-sort-alpha-desc", "fa-sort-amount-asc", "fa-sort-amount-desc", "fa-sort-asc", "fa-sort-desc", "fa-sort-down", "fa-sort-numeric-asc", "fa-sort-numeric-desc", "fa-sort-up", "fa-soundcloud", "fa-space-shuttle", "fa-spinner", "fa-spoon", "fa-spotify", "fa-square", "fa-square-o", "fa-stack-exchange", "fa-stack-overflow", "fa-star", "fa-star-half", "fa-star-half-empty", "fa-star-half-full", "fa-star-half-o", "fa-star-o", "fa-steam", "fa-steam-square", "fa-step-backward", "fa-step-forward", "fa-stethoscope", "fa-sticky-note", "fa-sticky-note-o", "fa-stop", "fa-stop-circle", "fa-stop-circle-o", "fa-street-view", "fa-strikethrough", "fa-stumbleupon", "fa-stumbleupon-circle", "fa-subscript", "fa-subway", "fa-suitcase", "fa-sun-o", "fa-superpowers", "fa-superscript", "fa-support", "fa-table", "fa-tablet", "fa-tachometer", "fa-tag", "fa-tags", "fa-tasks", "fa-taxi", "fa-telegram", "fa-television", "fa-tencent-weibo", "fa-terminal", "fa-text-height", "fa-text-width", "fa-th", "fa-th-large", "fa-th-list", "fa-themeisle", "fa-thermometer", "fa-thermometer-0", "fa-thermometer-1", "fa-thermometer-2", "fa-thermometer-3", "fa-thermometer-4", "fa-thermometer-empty", "fa-thermometer-full", "fa-thermometer-half", "fa-thermometer-quarter", "fa-thermometer-three-quarters", "fa-thumb-tack", "fa-thumbs-down", "fa-thumbs-o-down", "fa-thumbs-o-up", "fa-thumbs-up", "fa-ticket", "fa-times", "fa-times-circle", "fa-times-circle-o", "fa-times-rectangle", "fa-times-rectangle-o", "fa-tint", "fa-toggle-down", "fa-toggle-left", "fa-toggle-off", "fa-toggle-on", "fa-toggle-right", "fa-toggle-up", "fa-trademark", "fa-train", "fa-transgender", "fa-transgender-alt", "fa-trash", "fa-trash-o", "fa-tree", "fa-trello", "fa-tripadvisor", "fa-trophy", "fa-truck", "fa-try", "fa-tty", "fa-tumblr", "fa-tumblr-square", "fa-turkish-lira", "fa-tv", "fa-twitch", "fa-twitter", "fa-twitter-square", "fa-umbrella", "fa-underline", "fa-undo", "fa-universal-access", "fa-university", "fa-unlink", "fa-unlock", "fa-unlock-alt", "fa-unsorted", "fa-upload", "fa-usb", "fa-usd", "fa-user", "fa-user-circle", "fa-user-circle-o", "fa-user-md", "fa-user-o", "fa-user-plus", "fa-user-secret", "fa-user-times", "fa-users", "fa-vcard", "fa-vcard-o", "fa-venus", "fa-venus-double", "fa-venus-mars", "fa-viacoin", "fa-viadeo", "fa-viadeo-square", "fa-video-camera", "fa-vimeo", "fa-vimeo-square", "fa-vine", "fa-vk", "fa-volume-control-phone", "fa-volume-down", "fa-volume-off", "fa-volume-up", "fa-warning", "fa-wechat", "fa-weibo", "fa-weixin", "fa-whatsapp", "fa-wheelchair", "fa-wheelchair-alt", "fa-wifi", "fa-wikipedia-w", "fa-window-close", "fa-window-close-o", "fa-window-maximize", "fa-window-minimize", "fa-window-restore", "fa-windows", "fa-won", "fa-wordpress", "fa-wpbeginner", "fa-wpexplorer", "fa-wpforms", "fa-wrench", "fa-xing", "fa-xing-square", "fa-y-combinator", "fa-y-combinator-square", "fa-yahoo", "fa-yc", "fa-yc-square", "fa-yelp", "fa-yen", "fa-yoast", "fa-youtube", "fa-youtube-play", "fa-youtube-square" ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
  });
1
+ /*!
2
+ * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
4
+ *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
+ */
9
+
10
+
11
+ (function(e) {
12
+ if (typeof define === "function" && define.amd) {
13
+ define([ "jquery" ], e);
14
+ } else {
15
+ e(jQuery);
16
  }
17
+ })(function(j) {
18
+ j.ui = j.ui || {};
19
+ var e = j.ui.version = "1.12.1";
20
+ (function() {
21
+ var r, y = Math.max, x = Math.abs, s = /left|center|right/, i = /top|center|bottom/, f = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, c = /%$/, a = j.fn.pos;
22
+ function q(e, a, t) {
23
+ return [ parseFloat(e[0]) * (c.test(e[0]) ? a / 100 : 1), parseFloat(e[1]) * (c.test(e[1]) ? t / 100 : 1) ];
 
 
 
 
24
  }
25
+ function C(e, a) {
26
+ return parseInt(j.css(e, a), 10) || 0;
 
 
 
 
 
 
 
27
  }
28
+ function t(e) {
29
+ var a = e[0];
30
+ if (a.nodeType === 9) {
31
+ return {
32
+ width: e.width(),
33
+ height: e.height(),
34
+ offset: {
35
+ top: 0,
36
+ left: 0
37
+ }
38
+ };
39
+ }
40
+ if (j.isWindow(a)) {
41
+ return {
42
+ width: e.width(),
43
+ height: e.height(),
44
+ offset: {
45
+ top: e.scrollTop(),
46
+ left: e.scrollLeft()
47
+ }
48
+ };
49
+ }
50
+ if (a.preventDefault) {
51
+ return {
52
+ width: 0,
53
+ height: 0,
54
+ offset: {
55
+ top: a.pageY,
56
+ left: a.pageX
57
+ }
58
+ };
59
+ }
60
  return {
61
+ width: e.outerWidth(),
62
+ height: e.outerHeight(),
63
+ offset: e.offset()
 
 
 
64
  };
65
  }
66
+ j.pos = {
67
+ scrollbarWidth: function() {
68
+ if (r !== undefined) {
69
+ return r;
70
+ }
71
+ var e, a, t = j("<div " + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + "<div style='height:100px;width:auto;'></div></div>"), s = t.children()[0];
72
+ j("body").append(t);
73
+ e = s.offsetWidth;
74
+ t.css("overflow", "scroll");
75
+ a = s.offsetWidth;
76
+ if (e === a) {
77
+ a = t[0].clientWidth;
78
+ }
79
+ t.remove();
80
+ return r = e - a;
81
+ },
82
+ getScrollInfo: function(e) {
83
+ var a = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"), t = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"), s = a === "scroll" || a === "auto" && e.width < e.element[0].scrollWidth, r = t === "scroll" || t === "auto" && e.height < e.element[0].scrollHeight;
84
+ return {
85
+ width: r ? j.pos.scrollbarWidth() : 0,
86
+ height: s ? j.pos.scrollbarWidth() : 0
87
+ };
88
+ },
89
+ getWithinInfo: function(e) {
90
+ var a = j(e || window), t = j.isWindow(a[0]), s = !!a[0] && a[0].nodeType === 9, r = !t && !s;
91
+ return {
92
+ element: a,
93
+ isWindow: t,
94
+ isDocument: s,
95
+ offset: r ? j(e).offset() : {
96
+ left: 0,
97
+ top: 0
98
+ },
99
+ scrollLeft: a.scrollLeft(),
100
+ scrollTop: a.scrollTop(),
101
+ width: a.outerWidth(),
102
+ height: a.outerHeight()
103
+ };
104
+ }
105
  };
106
+ j.fn.pos = function(h) {
107
+ if (!h || !h.of) {
108
+ return a.apply(this, arguments);
109
+ }
110
+ h = j.extend({}, h);
111
+ var m, p, d, u, T, e, g = j(h.of), b = j.pos.getWithinInfo(h.within), k = j.pos.getScrollInfo(b), w = (h.collision || "flip").split(" "), v = {};
112
+ e = t(g);
113
+ if (g[0].preventDefault) {
114
+ h.at = "left top";
115
+ }
116
+ p = e.width;
117
+ d = e.height;
118
+ u = e.offset;
119
+ T = j.extend({}, u);
120
+ j.each([ "my", "at" ], function() {
121
+ var e = (h[this] || "").split(" "), a, t;
122
+ if (e.length === 1) {
123
+ e = s.test(e[0]) ? e.concat([ "center" ]) : i.test(e[0]) ? [ "center" ].concat(e) : [ "center", "center" ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  }
125
+ e[0] = s.test(e[0]) ? e[0] : "center";
126
+ e[1] = i.test(e[1]) ? e[1] : "center";
127
+ a = f.exec(e[0]);
128
+ t = f.exec(e[1]);
129
+ v[this] = [ a ? a[0] : 0, t ? t[0] : 0 ];
130
+ h[this] = [ l.exec(e[0])[0], l.exec(e[1])[0] ];
131
  });
132
+ if (w.length === 1) {
133
+ w[1] = w[0];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
135
+ if (h.at[0] === "right") {
136
+ T.left += p;
137
+ } else if (h.at[0] === "center") {
138
+ T.left += p / 2;
 
 
 
 
 
 
 
 
 
 
139
  }
140
+ if (h.at[1] === "bottom") {
141
+ T.top += d;
142
+ } else if (h.at[1] === "center") {
143
+ T.top += d / 2;
144
+ }
145
+ m = q(v.at, p, d);
146
+ T.left += m[0];
147
+ T.top += m[1];
148
+ return this.each(function() {
149
+ var t, e, f = j(this), l = f.outerWidth(), c = f.outerHeight(), a = C(this, "marginLeft"), s = C(this, "marginTop"), r = l + a + C(this, "marginRight") + k.width, i = c + s + C(this, "marginBottom") + k.height, o = j.extend({}, T), n = q(v.my, f.outerWidth(), f.outerHeight());
150
+ if (h.my[0] === "right") {
151
+ o.left -= l;
152
+ } else if (h.my[0] === "center") {
153
+ o.left -= l / 2;
154
+ }
155
+ if (h.my[1] === "bottom") {
156
+ o.top -= c;
157
+ } else if (h.my[1] === "center") {
158
+ o.top -= c / 2;
159
+ }
160
+ o.left += n[0];
161
+ o.top += n[1];
162
+ t = {
163
+ marginLeft: a,
164
+ marginTop: s
165
+ };
166
+ j.each([ "left", "top" ], function(e, a) {
167
+ if (j.ui.pos[w[e]]) {
168
+ j.ui.pos[w[e]][a](o, {
169
+ targetWidth: p,
170
+ targetHeight: d,
171
+ elemWidth: l,
172
+ elemHeight: c,
173
+ collisionPosition: t,
174
+ collisionWidth: r,
175
+ collisionHeight: i,
176
+ offset: [ m[0] + n[0], m[1] + n[1] ],
177
+ my: h.my,
178
+ at: h.at,
179
+ within: b,
180
+ elem: f
181
+ });
182
+ }
183
+ });
184
+ if (h.using) {
185
+ e = function(e) {
186
+ var a = u.left - o.left, t = a + p - l, s = u.top - o.top, r = s + d - c, i = {
187
+ target: {
188
+ element: g,
189
+ left: u.left,
190
+ top: u.top,
191
+ width: p,
192
+ height: d
193
+ },
194
+ element: {
195
+ element: f,
196
+ left: o.left,
197
+ top: o.top,
198
+ width: l,
199
+ height: c
200
+ },
201
+ horizontal: t < 0 ? "left" : a > 0 ? "right" : "center",
202
+ vertical: r < 0 ? "top" : s > 0 ? "bottom" : "middle"
203
+ };
204
+ if (p < l && x(a + t) < p) {
205
+ i.horizontal = "center";
206
+ }
207
+ if (d < c && x(s + r) < d) {
208
+ i.vertical = "middle";
209
+ }
210
+ if (y(x(a), x(t)) > y(x(s), x(r))) {
211
+ i.important = "horizontal";
212
  } else {
213
+ i.important = "vertical";
214
  }
215
+ h.using.call(this, e, i);
216
+ };
217
+ }
218
+ f.offset(j.extend(o, {
219
+ using: e
220
+ }));
221
+ });
222
+ };
223
+ j.ui.pos = {
224
+ _trigger: function(e, a, t, s) {
225
+ if (a.elem) {
226
+ a.elem.trigger({
227
+ type: t,
228
+ position: e,
229
+ positionData: a,
230
+ triggered: s
231
+ });
232
  }
 
233
  },
234
+ fit: {
235
+ left: function(e, a) {
236
+ j.ui.pos._trigger(e, a, "posCollide", "fitLeft");
237
+ var t = a.within, s = t.isWindow ? t.scrollLeft : t.offset.left, r = t.width, i = e.left - a.collisionPosition.marginLeft, f = s - i, l = i + a.collisionWidth - r - s, c;
238
+ if (a.collisionWidth > r) {
239
+ if (f > 0 && l <= 0) {
240
+ c = e.left + f + a.collisionWidth - r - s;
241
+ e.left += f - c;
242
+ } else if (l > 0 && f <= 0) {
243
+ e.left = s;
 
 
244
  } else {
245
+ if (f > l) {
246
+ e.left = s + r - a.collisionWidth;
247
+ } else {
248
+ e.left = s;
249
+ }
250
  }
251
+ } else if (f > 0) {
252
+ e.left += f;
253
+ } else if (l > 0) {
254
+ e.left -= l;
255
+ } else {
256
+ e.left = y(e.left - i, e.left);
257
  }
258
+ j.ui.pos._trigger(e, a, "posCollided", "fitLeft");
259
+ },
260
+ top: function(e, a) {
261
+ j.ui.pos._trigger(e, a, "posCollide", "fitTop");
262
+ var t = a.within, s = t.isWindow ? t.scrollTop : t.offset.top, r = a.within.height, i = e.top - a.collisionPosition.marginTop, f = s - i, l = i + a.collisionHeight - r - s, c;
263
+ if (a.collisionHeight > r) {
264
+ if (f > 0 && l <= 0) {
265
+ c = e.top + f + a.collisionHeight - r - s;
266
+ e.top += f - c;
267
+ } else if (l > 0 && f <= 0) {
268
+ e.top = s;
269
+ } else {
270
+ if (f > l) {
271
+ e.top = s + r - a.collisionHeight;
272
+ } else {
273
+ e.top = s;
274
+ }
275
+ }
276
+ } else if (f > 0) {
277
+ e.top += f;
278
+ } else if (l > 0) {
279
+ e.top -= l;
280
+ } else {
281
+ e.top = y(e.top - i, e.top);
282
  }
283
+ j.ui.pos._trigger(e, a, "posCollided", "fitTop");
284
  }
 
285
  },
286
+ flip: {
287
+ left: function(e, a) {
288
+ j.ui.pos._trigger(e, a, "posCollide", "flipLeft");
289
+ var t = a.within, s = t.offset.left + t.scrollLeft, r = t.width, i = t.isWindow ? t.scrollLeft : t.offset.left, f = e.left - a.collisionPosition.marginLeft, l = f - i, c = f + a.collisionWidth - r - i, o = a.my[0] === "left" ? -a.elemWidth : a.my[0] === "right" ? a.elemWidth : 0, n = a.at[0] === "left" ? a.targetWidth : a.at[0] === "right" ? -a.targetWidth : 0, h = -2 * a.offset[0], m, p;
290
+ if (l < 0) {
291
+ m = e.left + o + n + h + a.collisionWidth - r - s;
292
+ if (m < 0 || m < x(l)) {
293
+ e.left += o + n + h;
294
+ }
295
+ } else if (c > 0) {
296
+ p = e.left - a.collisionPosition.marginLeft + o + n + h - i;
297
+ if (p > 0 || x(p) < c) {
298
+ e.left += o + n + h;
299
+ }
300
  }
301
+ j.ui.pos._trigger(e, a, "posCollided", "flipLeft");
302
+ },
303
+ top: function(e, a) {
304
+ j.ui.pos._trigger(e, a, "posCollide", "flipTop");
305
+ var t = a.within, s = t.offset.top + t.scrollTop, r = t.height, i = t.isWindow ? t.scrollTop : t.offset.top, f = e.top - a.collisionPosition.marginTop, l = f - i, c = f + a.collisionHeight - r - i, o = a.my[1] === "top", n = o ? -a.elemHeight : a.my[1] === "bottom" ? a.elemHeight : 0, h = a.at[1] === "top" ? a.targetHeight : a.at[1] === "bottom" ? -a.targetHeight : 0, m = -2 * a.offset[1], p, d;
306
+ if (l < 0) {
307
+ d = e.top + n + h + m + a.collisionHeight - r - s;
308
+ if (d < 0 || d < x(l)) {
309
+ e.top += n + h + m;
310
+ }
311
+ } else if (c > 0) {
312
+ p = e.top - a.collisionPosition.marginTop + n + h + m - i;
313
+ if (p > 0 || x(p) < c) {
314
+ e.top += n + h + m;
315
+ }
316
  }
317
+ j.ui.pos._trigger(e, a, "posCollided", "flipTop");
318
  }
 
 
 
 
 
 
 
319
  },
320
+ flipfit: {
321
+ left: function() {
322
+ j.ui.pos.flip.left.apply(this, arguments);
323
+ j.ui.pos.fit.left.apply(this, arguments);
324
+ },
325
+ top: function() {
326
+ j.ui.pos.flip.top.apply(this, arguments);
327
+ j.ui.pos.fit.top.apply(this, arguments);
328
+ }
329
  }
 
 
 
 
 
 
 
 
 
 
 
 
330
  };
331
+ (function() {
332
+ var e, a, t, s, r, i = document.getElementsByTagName("body")[0], f = document.createElement("div");
333
+ e = document.createElement(i ? "div" : "body");
334
+ t = {
335
+ visibility: "hidden",
336
+ width: 0,
337
+ height: 0,
338
+ border: 0,
339
+ margin: 0,
340
+ background: "none"
341
+ };
342
+ if (i) {
343
+ j.extend(t, {
344
+ position: "absolute",
345
+ left: "-1000px",
346
+ top: "-1000px"
347
+ });
348
+ }
349
+ for (r in t) {
350
+ e.style[r] = t[r];
351
+ }
352
+ e.appendChild(f);
353
+ a = i || document.documentElement;
354
+ a.insertBefore(e, a.firstChild);
355
+ f.style.cssText = "position: absolute; left: 10.7432222px;";
356
+ s = j(f).offset().left;
357
+ j.support.offsetFractions = s > 10 && s < 11;
358
+ e.innerHTML = "";
359
+ a.removeChild(e);
360
+ })();
361
  })();
362
+ var a = j.ui.position;
363
+ });
364
 
365
+ (function(e) {
366
  "use strict";
367
  if (typeof define === "function" && define.amd) {
368
+ define([ "jquery" ], e);
369
  } else if (window.jQuery && !window.jQuery.fn.iconpicker) {
370
+ e(window.jQuery);
371
  }
372
+ })(function(c) {
373
  "use strict";
374
+ var f = {
375
+ isEmpty: function(e) {
376
+ return e === false || e === "" || e === null || e === undefined;
377
  },
378
+ isEmptyObject: function(e) {
379
+ return this.isEmpty(e) === true || e.length === 0;
380
  },
381
+ isElement: function(e) {
382
+ return c(e).length > 0;
383
  },
384
+ isString: function(e) {
385
+ return typeof e === "string" || e instanceof String;
386
  },
387
+ isArray: function(e) {
388
+ return c.isArray(e);
389
  },
390
+ inArray: function(e, a) {
391
+ return c.inArray(e, a) !== -1;
392
  },
393
+ throwError: function(e) {
394
+ throw "Font Awesome Icon Picker Exception: " + e;
395
  }
396
  };
397
+ var t = function(e, a) {
398
+ this._id = t._idCounter++;
399
+ this.element = c(e).addClass("iconpicker-element");
400
+ this._trigger("iconpickerCreate", {
401
+ iconpickerValue: this.iconpickerValue
402
+ });
403
+ this.options = c.extend({}, t.defaultOptions, this.element.data(), a);
404
+ this.options.templates = c.extend({}, t.defaultOptions.templates, this.options.templates);
405
  this.options.originalPlacement = this.options.placement;
406
+ this.container = f.isElement(this.options.container) ? c(this.options.container) : false;
407
  if (this.container === false) {
408
  if (this.element.is(".dropdown-toggle")) {
409
+ this.container = c("~ .dropdown-menu:first", this.element);
410
  } else {
411
  this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element;
412
  }
413
  }
414
  this.container.addClass("iconpicker-container");
415
  if (this.isDropdownMenu()) {
 
 
416
  this.options.placement = "inline";
417
  }
418
  this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false;
444
  if (this.isInline()) {
445
  this.show();
446
  }
447
+ this._trigger("iconpickerCreated", {
448
+ iconpickerValue: this.iconpickerValue
449
+ });
450
  };
451
+ t._idCounter = 0;
452
+ t.defaultOptions = {
453
  title: false,
454
  selected: false,
455
  defaultValue: false,
462
  mustAccept: false,
463
  selectedCustomClass: "bg-primary",
464
  icons: [],
465
+ fullClassFormatter: function(e) {
466
+ return e;
467
  },
468
  input: "input,.iconpicker-input",
469
  inputSearch: false,
475
  buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
476
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
477
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
478
+ iconpickerItem: '<a role="button" href="javascript:;" class="iconpicker-item"><i></i></a>'
479
  }
480
  };
481
+ t.batch = function(e, a) {
482
+ var t = Array.prototype.slice.call(arguments, 2);
483
+ return c(e).each(function() {
484
+ var e = c(this).data("iconpicker");
485
+ if (!!e) {
486
+ e[a].apply(e, t);
487
  }
488
  });
489
  };
490
+ t.prototype = {
491
+ constructor: t,
492
  options: {},
493
  _id: 0,
494
+ _trigger: function(e, a) {
495
+ a = a || {};
496
+ this.element.trigger(c.extend({
497
+ type: e,
498
  iconpickerInstance: this
499
+ }, a));
500
  },
501
  _createPopover: function() {
502
+ this.popover = c(this.options.templates.popover);
503
+ var e = this.popover.find(".popover-title");
504
  if (!!this.options.title) {
505
+ e.append(c('<div class="popover-title-text">' + this.options.title + "</div>"));
506
  }
507
  if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
508
+ e.append(this.options.templates.search);
509
  } else if (!this.options.title) {
510
+ e.remove();
511
  }
512
+ if (this.options.showFooter && !f.isEmpty(this.options.templates.footer)) {
513
+ var a = c(this.options.templates.footer);
514
  if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
515
+ a.append(c(this.options.templates.search));
516
  }
517
+ if (!f.isEmpty(this.options.templates.buttons)) {
518
+ a.append(c(this.options.templates.buttons));
519
  }
520
+ this.popover.append(a);
521
  }
522
  if (this.options.animation === true) {
523
  this.popover.addClass("fade");
525
  return this.popover;
526
  },
527
  _createIconpicker: function() {
528
+ var t = this;
529
+ this.iconpicker = c(this.options.templates.iconpicker);
530
+ var e = function(e) {
531
+ var a = c(this);
532
+ if (a.is("i")) {
533
+ a = a.parent();
534
+ }
535
+ t._trigger("iconpickerSelect", {
536
+ iconpickerItem: a,
537
+ iconpickerValue: t.iconpickerValue
538
  });
539
+ if (t.options.mustAccept === false) {
540
+ t.update(a.data("iconpickerValue"));
541
+ t._trigger("iconpickerSelected", {
542
  iconpickerItem: this,
543
+ iconpickerValue: t.iconpickerValue
544
  });
545
  } else {
546
+ t.update(a.data("iconpickerValue"), true);
547
  }
548
+ if (t.options.hideOnSelect && t.options.mustAccept === false) {
549
+ t.hide();
550
  }
 
 
551
  };
552
+ var a = c(this.options.templates.iconpickerItem);
553
+ var s = [];
554
+ for (var r in this.options.icons) {
555
+ if (typeof this.options.icons[r].title === "string") {
556
+ var i = a.clone();
557
+ i.find("i").addClass(this.options.fullClassFormatter(this.options.icons[r].title));
558
+ i.data("iconpickerValue", this.options.icons[r].title).on("click.iconpicker", e);
559
+ i.attr("title", "." + this.options.icons[r].title);
560
+ if (this.options.icons[r].searchTerms.length > 0) {
561
+ var f = "";
562
+ for (var l = 0; l < this.options.icons[r].searchTerms.length; l++) {
563
+ f = f + this.options.icons[r].searchTerms[l] + " ";
564
+ }
565
+ i.attr("data-search-terms", f);
566
+ }
567
+ s.push(i);
568
  }
569
  }
570
+ this.iconpicker.find(".iconpicker-items").append(s);
571
  this.popover.find(".popover-content").append(this.iconpicker);
572
  return this.iconpicker;
573
  },
574
+ _isEventInsideIconpicker: function(e) {
575
+ var a = c(e.target);
576
+ if ((!a.hasClass("iconpicker-element") || a.hasClass("iconpicker-element") && !a.is(this.element)) && a.parents(".iconpicker-popover").length === 0) {
577
  return false;
578
  }
579
  return true;
580
  },
581
  _bindElementEvents: function() {
582
+ var a = this;
583
  this.getSearchInput().on("keyup.iconpicker", function() {
584
+ a.filter(c(this).val().toLowerCase());
585
  });
586
  this.getAcceptButton().on("click.iconpicker", function() {
587
+ var e = a.iconpicker.find(".iconpicker-selected").get(0);
588
+ a.update(a.iconpickerValue);
589
+ a._trigger("iconpickerSelected", {
590
+ iconpickerItem: e,
591
+ iconpickerValue: a.iconpickerValue
592
  });
593
+ if (!a.isInline()) {
594
+ a.hide();
595
  }
596
  });
597
  this.getCancelButton().on("click.iconpicker", function() {
598
+ if (!a.isInline()) {
599
+ a.hide();
600
  }
601
  });
602
+ this.element.on("focus.iconpicker", function(e) {
603
+ a.show();
604
+ e.stopPropagation();
605
  });
606
  if (this.hasComponent()) {
607
  this.component.on("click.iconpicker", function() {
608
+ a.toggle();
609
  });
610
  }
611
  if (this.hasInput()) {
612
+ this.input.on("keyup.iconpicker", function(e) {
613
+ if (!f.inArray(e.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
614
+ a.update();
615
  } else {
616
+ a._updateFormGroupStatus(a.getValid(this.value) !== false);
617
  }
618
+ if (a.options.inputSearch === true) {
619
+ a.filter(c(this).val().toLowerCase());
620
  }
621
  });
622
  }
623
  },
624
  _bindWindowEvents: function() {
625
+ var e = c(window.document);
626
+ var a = this;
627
+ var t = ".iconpicker.inst" + this._id;
628
+ c(window).on("resize.iconpicker" + t + " orientationchange.iconpicker" + t, function(e) {
629
+ if (a.popover.hasClass("in")) {
630
+ a.updatePlacement();
631
  }
632
  });
633
+ if (!a.isInline()) {
634
+ e.on("mouseup" + t, function(e) {
635
+ if (!a._isEventInsideIconpicker(e) && !a.isInline()) {
636
+ a.hide();
637
  }
 
 
 
638
  });
639
  }
 
640
  },
641
  _unbindElementEvents: function() {
642
  this.popover.off(".iconpicker");
652
  }
653
  },
654
  _unbindWindowEvents: function() {
655
+ c(window).off(".iconpicker.inst" + this._id);
656
+ c(window.document).off(".iconpicker.inst" + this._id);
657
+ },
658
+ updatePlacement: function(e, a) {
659
+ e = e || this.options.placement;
660
+ this.options.placement = e;
661
+ a = a || this.options.collision;
662
+ a = a === true ? "flip" : a;
663
+ var t = {
664
  at: "right bottom",
665
  my: "right top",
666
  of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
667
+ collision: a === true ? "flip" : a,
668
  within: window
669
  };
670
  this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
671
+ if (typeof e === "object") {
672
+ return this.popover.pos(c.extend({}, t, e));
673
  }
674
+ switch (e) {
675
  case "inline":
676
  {
677
+ t = false;
678
  }
679
  break;
680
 
681
  case "topLeftCorner":
682
  {
683
+ t.my = "right bottom";
684
+ t.at = "left top";
685
  }
686
  break;
687
 
688
  case "topLeft":
689
  {
690
+ t.my = "left bottom";
691
+ t.at = "left top";
692
  }
693
  break;
694
 
695
  case "top":
696
  {
697
+ t.my = "center bottom";
698
+ t.at = "center top";
699
  }
700
  break;
701
 
702
  case "topRight":
703
  {
704
+ t.my = "right bottom";
705
+ t.at = "right top";
706
  }
707
  break;
708
 
709
  case "topRightCorner":
710
  {
711
+ t.my = "left bottom";
712
+ t.at = "right top";
713
  }
714
  break;
715
 
716
  case "rightTop":
717
  {
718
+ t.my = "left bottom";
719
+ t.at = "right center";
720
  }
721
  break;
722
 
723
  case "right":
724
  {
725
+ t.my = "left center";
726
+ t.at = "right center";
727
  }
728
  break;
729
 
730
  case "rightBottom":
731
  {
732
+ t.my = "left top";
733
+ t.at = "right center";
734
  }
735
  break;
736
 
737
  case "bottomRightCorner":
738
  {
739
+ t.my = "left top";
740
+ t.at = "right bottom";
741
  }
742
  break;
743
 
744
  case "bottomRight":
745
  {
746
+ t.my = "right top";
747
+ t.at = "right bottom";
748
  }
749
  break;
750
 
751
  case "bottom":
752
  {
753
+ t.my = "center top";
754
+ t.at = "center bottom";
755
  }
756
  break;
757
 
758
  case "bottomLeft":
759
  {
760
+ t.my = "left top";
761
+ t.at = "left bottom";
762
  }
763
  break;
764
 
765
  case "bottomLeftCorner":
766
  {
767
+ t.my = "right top";
768
+ t.at = "left bottom";
769
  }
770
  break;
771
 
772
  case "leftBottom":
773
  {
774
+ t.my = "right top";
775
+ t.at = "left center";
776
  }
777
  break;
778
 
779
  case "left":
780
  {
781
+ t.my = "right center";
782
+ t.at = "left center";
783
  }
784
  break;
785
 
786
  case "leftTop":
787
  {
788
+ t.my = "right bottom";
789
+ t.at = "left center";
790
  }
791
  break;
792
 
799
  this.popover.css({
800
  display: this.options.placement === "inline" ? "" : "block"
801
  });
802
+ if (t !== false) {
803
+ this.popover.pos(t).css("maxWidth", c(window).width() - this.container.offset().left - 5);
804
  } else {
805
  this.popover.css({
806
  top: "auto",
819
  this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
820
  }
821
  if (this.hasComponent()) {
822
+ var e = this.component.find("i");
823
+ if (e.length > 0) {
824
+ e.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
825
  } else {
826
  this.component.html(this.getHtml());
827
  }
828
  }
829
  },
830
+ _updateFormGroupStatus: function(e) {
831
  if (this.hasInput()) {
832
+ if (e !== false) {
833
  this.input.parents(".form-group:first").removeClass("has-error");
834
  } else {
835
  this.input.parents(".form-group:first").addClass("has-error");
838
  }
839
  return false;
840
  },
841
+ getValid: function(e) {
842
+ if (!f.isString(e)) {
843
+ e = "";
844
+ }
845
+ var a = e === "";
846
+ e = c.trim(e);
847
+ var t = false;
848
+ for (var s = 0; s < this.options.icons.length; s++) {
849
+ if (this.options.icons[s].title === e) {
850
+ t = true;
851
+ break;
852
+ }
853
  }
854
+ if (t || a) {
855
+ return e;
 
 
856
  }
857
  return false;
858
  },
859
+ setValue: function(e) {
860
+ var a = this.getValid(e);
861
+ if (a !== false) {
862
+ this.iconpickerValue = a;
863
  this._trigger("iconpickerSetValue", {
864
+ iconpickerValue: a
865
  });
866
  return this.iconpickerValue;
867
  } else {
868
  this._trigger("iconpickerInvalid", {
869
+ iconpickerValue: e
870
  });
871
  return false;
872
  }
874
  getHtml: function() {
875
  return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
876
  },
877
+ setSourceValue: function(e) {
878
+ e = this.setValue(e);
879
+ if (e !== false && e !== "") {
880
  if (this.hasInput()) {
881
  this.input.val(this.iconpickerValue);
882
  } else {
883
  this.element.data("iconpickerValue", this.iconpickerValue);
884
  }
885
  this._trigger("iconpickerSetSourceValue", {
886
+ iconpickerValue: e
887
  });
888
  }
889
+ return e;
890
  },
891
+ getSourceValue: function(e) {
892
+ e = e || this.options.defaultValue;
893
+ var a = e;
894
  if (this.hasInput()) {
895
+ a = this.input.val();
896
  } else {
897
+ a = this.element.data("iconpickerValue");
898
  }
899
+ if (a === undefined || a === "" || a === null || a === false) {
900
+ a = e;
901
  }
902
+ return a;
903
  },
904
  hasInput: function() {
905
  return this.input !== false;
931
  getSearchInput: function() {
932
  return this.popover.find(".iconpicker-search");
933
  },
934
+ filter: function(r) {
935
+ if (f.isEmpty(r)) {
936
  this.iconpicker.find(".iconpicker-item").show();
937
+ return c(false);
938
  } else {
939
+ var i = [];
940
  this.iconpicker.find(".iconpicker-item").each(function() {
941
+ var e = c(this);
942
+ var a = e.attr("title").toLowerCase();
943
+ var t = e.attr("data-search-terms") ? e.attr("data-search-terms").toLowerCase() : "";
944
+ a = a + " " + t;
945
+ var s = false;
946
  try {
947
+ s = new RegExp("(^|\\W)" + r, "g");
948
+ } catch (e) {
949
+ s = false;
950
  }
951
+ if (s !== false && a.match(s)) {
952
+ i.push(e);
953
+ e.show();
954
  } else {
955
+ e.hide();
956
  }
957
  });
958
+ return i;
959
  }
960
  },
961
  show: function() {
962
  if (this.popover.hasClass("in")) {
963
  return false;
964
  }
965
+ c.iconpicker.batch(c(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
966
+ this._trigger("iconpickerShow", {
967
+ iconpickerValue: this.iconpickerValue
968
+ });
969
  this.updatePlacement();
970
  this.popover.addClass("in");
971
+ setTimeout(c.proxy(function() {
972
  this.popover.css("display", this.isInline() ? "" : "block");
973
+ this._trigger("iconpickerShown", {
974
+ iconpickerValue: this.iconpickerValue
975
+ });
976
  }, this), this.options.animation ? 300 : 1);
977
  },
978
  hide: function() {
979
  if (!this.popover.hasClass("in")) {
980
  return false;
981
  }
982
+ this._trigger("iconpickerHide", {
983
+ iconpickerValue: this.iconpickerValue
984
+ });
985
  this.popover.removeClass("in");
986
+ setTimeout(c.proxy(function() {
987
  this.popover.css("display", "none");
988
  this.getSearchInput().val("");
989
  this.filter("");
990
+ this._trigger("iconpickerHidden", {
991
+ iconpickerValue: this.iconpickerValue
992
+ });
993
  }, this), this.options.animation ? 300 : 1);
994
  },
995
  toggle: function() {
999
  this.show(true);
1000
  }
1001
  },
1002
+ update: function(e, a) {
1003
+ e = e ? e : this.getSourceValue(this.iconpickerValue);
1004
+ this._trigger("iconpickerUpdate", {
1005
+ iconpickerValue: this.iconpickerValue
1006
+ });
1007
+ if (a === true) {
1008
+ e = this.setValue(e);
1009
  } else {
1010
+ e = this.setSourceValue(e);
1011
+ this._updateFormGroupStatus(e !== false);
1012
  }
1013
+ if (e !== false) {
1014
  this._updateComponents();
1015
  }
1016
+ this._trigger("iconpickerUpdated", {
1017
+ iconpickerValue: this.iconpickerValue
1018
+ });
1019
+ return e;
1020
  },
1021
  destroy: function() {
1022
+ this._trigger("iconpickerDestroy", {
1023
+ iconpickerValue: this.iconpickerValue
1024
+ });
1025
  this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
1026
  this._unbindElementEvents();
1027
  this._unbindWindowEvents();
1028
+ c(this.popover).remove();
1029
+ this._trigger("iconpickerDestroyed", {
1030
+ iconpickerValue: this.iconpickerValue
1031
+ });
1032
  },
1033
  disable: function() {
1034
  if (this.hasInput()) {
1054
  return this.options.placement === "inline" || this.popover.hasClass("inline");
1055
  }
1056
  };
1057
+ c.iconpicker = t;
1058
+ c.fn.iconpicker = function(a) {
1059
  return this.each(function() {
1060
+ var e = c(this);
1061
+ if (!e.data("iconpicker")) {
1062
+ e.data("iconpicker", new t(this, typeof a === "object" ? a : {}));
1063
  }
1064
  });
1065
  };
1066
+ t.defaultOptions = c.extend(t.defaultOptions, {
1067
+ icons: [ {
1068
+ title: "fab fa-500px",
1069
+ searchTerms: []
1070
+ }, {
1071
+ title: "fab fa-accessible-icon",
1072
+ searchTerms: [ "accessibility", "handicap", "person", "wheelchair", "wheelchair-alt" ]
1073
+ }, {
1074
+ title: "fab fa-accusoft",
1075
+ searchTerms: []
1076
+ }, {
1077
+ title: "fab fa-acquisitions-incorporated",
1078
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
1079
+ }, {
1080
+ title: "fas fa-ad",
1081
+ searchTerms: []
1082
+ }, {
1083
+ title: "fas fa-address-book",
1084
+ searchTerms: []
1085
+ }, {
1086
+ title: "far fa-address-book",
1087
+ searchTerms: []
1088
+ }, {
1089
+ title: "fas fa-address-card",
1090
+ searchTerms: []
1091
+ }, {
1092
+ title: "far fa-address-card",
1093
+ searchTerms: []
1094
+ }, {
1095
+ title: "fas fa-adjust",
1096
+ searchTerms: [ "contrast" ]
1097
+ }, {
1098
+ title: "fab fa-adn",
1099
+ searchTerms: []
1100
+ }, {
1101
+ title: "fab fa-adversal",
1102
+ searchTerms: []
1103
+ }, {
1104
+ title: "fab fa-affiliatetheme",
1105
+ searchTerms: []
1106
+ }, {
1107
+ title: "fas fa-air-freshener",
1108
+ searchTerms: []
1109
+ }, {
1110
+ title: "fab fa-algolia",
1111
+ searchTerms: []
1112
+ }, {
1113
+ title: "fas fa-align-center",
1114
+ searchTerms: [ "middle", "text" ]
1115
+ }, {
1116
+ title: "fas fa-align-justify",
1117
+ searchTerms: [ "text" ]
1118
+ }, {
1119
+ title: "fas fa-align-left",
1120
+ searchTerms: [ "text" ]
1121
+ }, {
1122
+ title: "fas fa-align-right",
1123
+ searchTerms: [ "text" ]
1124
+ }, {
1125
+ title: "fab fa-alipay",
1126
+ searchTerms: []
1127
+ }, {
1128
+ title: "fas fa-allergies",
1129
+ searchTerms: [ "freckles", "hand", "intolerances", "pox", "spots" ]
1130
+ }, {
1131
+ title: "fab fa-amazon",
1132
+ searchTerms: []
1133
+ }, {
1134
+ title: "fab fa-amazon-pay",
1135
+ searchTerms: []
1136
+ }, {
1137
+ title: "fas fa-ambulance",
1138
+ searchTerms: [ "help", "machine", "support", "vehicle" ]
1139
+ }, {
1140
+ title: "fas fa-american-sign-language-interpreting",
1141
+ searchTerms: []
1142
+ }, {
1143
+ title: "fab fa-amilia",
1144
+ searchTerms: []
1145
+ }, {
1146
+ title: "fas fa-anchor",
1147
+ searchTerms: [ "link" ]
1148
+ }, {
1149
+ title: "fab fa-android",
1150
+ searchTerms: [ "robot" ]
1151
+ }, {
1152
+ title: "fab fa-angellist",
1153
+ searchTerms: []
1154
+ }, {
1155
+ title: "fas fa-angle-double-down",
1156
+ searchTerms: [ "arrows" ]
1157
+ }, {
1158
+ title: "fas fa-angle-double-left",
1159
+ searchTerms: [ "arrows", "back", "laquo", "previous", "quote" ]
1160
+ }, {
1161
+ title: "fas fa-angle-double-right",
1162
+ searchTerms: [ "arrows", "forward", "next", "quote", "raquo" ]
1163
+ }, {
1164
+ title: "fas fa-angle-double-up",
1165
+ searchTerms: [ "arrows" ]
1166
+ }, {
1167
+ title: "fas fa-angle-down",
1168
+ searchTerms: [ "arrow" ]
1169
+ }, {
1170
+ title: "fas fa-angle-left",
1171
+ searchTerms: [ "arrow", "back", "previous" ]
1172
+ }, {
1173
+ title: "fas fa-angle-right",
1174
+ searchTerms: [ "arrow", "forward", "next" ]
1175
+ }, {
1176
+ title: "fas fa-angle-up",
1177
+ searchTerms: [ "arrow" ]
1178
+ }, {
1179
+ title: "fas fa-angry",
1180
+ searchTerms: [ "disapprove", "emoticon", "face", "mad", "upset" ]
1181
+ }, {
1182
+ title: "far fa-angry",
1183
+ searchTerms: [ "disapprove", "emoticon", "face", "mad", "upset" ]
1184
+ }, {
1185
+ title: "fab fa-angrycreative",
1186
+ searchTerms: []
1187
+ }, {
1188
+ title: "fab fa-angular",
1189
+ searchTerms: []
1190
+ }, {
1191
+ title: "fas fa-ankh",
1192
+ searchTerms: [ "amulet", "copper", "coptic christianity", "copts", "crux ansata", "egyptian", "venus" ]
1193
+ }, {
1194
+ title: "fab fa-app-store",
1195
+ searchTerms: []
1196
+ }, {
1197
+ title: "fab fa-app-store-ios",
1198
+ searchTerms: []
1199
+ }, {
1200
+ title: "fab fa-apper",
1201
+ searchTerms: []
1202
+ }, {
1203
+ title: "fab fa-apple",
1204
+ searchTerms: [ "food", "fruit", "mac", "osx" ]
1205
+ }, {
1206
+ title: "fas fa-apple-alt",
1207
+ searchTerms: [ "fall", "food", "fruit", "fuji", "macintosh", "seasonal" ]
1208
+ }, {
1209
+ title: "fab fa-apple-pay",
1210
+ searchTerms: []
1211
+ }, {
1212
+ title: "fas fa-archive",
1213
+ searchTerms: [ "box", "package", "storage" ]
1214
+ }, {
1215
+ title: "fas fa-archway",
1216
+ searchTerms: [ "arc", "monument", "road", "street" ]
1217
+ }, {
1218
+ title: "fas fa-arrow-alt-circle-down",
1219
+ searchTerms: [ "arrow-circle-o-down", "download" ]
1220
+ }, {
1221
+ title: "far fa-arrow-alt-circle-down",
1222
+ searchTerms: [ "arrow-circle-o-down", "download" ]
1223
+ }, {
1224
+ title: "fas fa-arrow-alt-circle-left",
1225
+ searchTerms: [ "arrow-circle-o-left", "back", "previous" ]
1226
+ }, {
1227
+ title: "far fa-arrow-alt-circle-left",
1228
+ searchTerms: [ "arrow-circle-o-left", "back", "previous" ]
1229
+ }, {
1230
+ title: "fas fa-arrow-alt-circle-right",
1231
+ searchTerms: [ "arrow-circle-o-right", "forward", "next" ]
1232
+ }, {
1233
+ title: "far fa-arrow-alt-circle-right",
1234
+ searchTerms: [ "arrow-circle-o-right", "forward", "next" ]
1235
+ }, {
1236
+ title: "fas fa-arrow-alt-circle-up",
1237
+ searchTerms: [ "arrow-circle-o-up" ]
1238
+ }, {
1239
+ title: "far fa-arrow-alt-circle-up",
1240
+ searchTerms: [ "arrow-circle-o-up" ]
1241
+ }, {
1242
+ title: "fas fa-arrow-circle-down",
1243
+ searchTerms: [ "download" ]
1244
+ }, {
1245
+ title: "fas fa-arrow-circle-left",
1246
+ searchTerms: [ "back", "previous" ]
1247
+ }, {
1248
+ title: "fas fa-arrow-circle-right",
1249
+ searchTerms: [ "forward", "next" ]
1250
+ }, {
1251
+ title: "fas fa-arrow-circle-up",
1252
+ searchTerms: []
1253
+ }, {
1254
+ title: "fas fa-arrow-down",
1255
+ searchTerms: [ "download" ]
1256
+ }, {
1257
+ title: "fas fa-arrow-left",
1258
+ searchTerms: [ "back", "previous" ]
1259
+ }, {
1260
+ title: "fas fa-arrow-right",
1261
+ searchTerms: [ "forward", "next" ]
1262
+ }, {
1263
+ title: "fas fa-arrow-up",
1264
+ searchTerms: []
1265
+ }, {
1266
+ title: "fas fa-arrows-alt",
1267
+ searchTerms: [ "arrow", "arrows", "bigger", "enlarge", "expand", "fullscreen", "move", "position", "reorder", "resize" ]
1268
+ }, {
1269
+ title: "fas fa-arrows-alt-h",
1270
+ searchTerms: [ "arrows-h", "resize" ]
1271
+ }, {
1272
+ title: "fas fa-arrows-alt-v",
1273
+ searchTerms: [ "arrows-v", "resize" ]
1274
+ }, {
1275
+ title: "fas fa-assistive-listening-systems",
1276
+ searchTerms: []
1277
+ }, {
1278
+ title: "fas fa-asterisk",
1279
+ searchTerms: [ "details" ]
1280
+ }, {
1281
+ title: "fab fa-asymmetrik",
1282
+ searchTerms: []
1283
+ }, {
1284
+ title: "fas fa-at",
1285
+ searchTerms: [ "e-mail", "email" ]
1286
+ }, {
1287
+ title: "fas fa-atlas",
1288
+ searchTerms: [ "book", "directions", "geography", "map", "wayfinding" ]
1289
+ }, {
1290
+ title: "fas fa-atom",
1291
+ searchTerms: [ "atheism", "chemistry", "science" ]
1292
+ }, {
1293
+ title: "fab fa-audible",
1294
+ searchTerms: []
1295
+ }, {
1296
+ title: "fas fa-audio-description",
1297
+ searchTerms: []
1298
+ }, {
1299
+ title: "fab fa-autoprefixer",
1300
+ searchTerms: []
1301
+ }, {
1302
+ title: "fab fa-avianex",
1303
+ searchTerms: []
1304
+ }, {
1305
+ title: "fab fa-aviato",
1306
+ searchTerms: []
1307
+ }, {
1308
+ title: "fas fa-award",
1309
+ searchTerms: [ "honor", "praise", "prize", "recognition", "ribbon" ]
1310
+ }, {
1311
+ title: "fab fa-aws",
1312
+ searchTerms: []
1313
+ }, {
1314
+ title: "fas fa-backspace",
1315
+ searchTerms: [ "command", "delete", "keyboard", "undo" ]
1316
+ }, {
1317
+ title: "fas fa-backward",
1318
+ searchTerms: [ "previous", "rewind" ]
1319
+ }, {
1320
+ title: "fas fa-balance-scale",
1321
+ searchTerms: [ "balanced", "justice", "legal", "measure", "weight" ]
1322
+ }, {
1323
+ title: "fas fa-ban",
1324
+ searchTerms: [ "abort", "ban", "block", "cancel", "delete", "hide", "prohibit", "remove", "stop", "trash" ]
1325
+ }, {
1326
+ title: "fas fa-band-aid",
1327
+ searchTerms: [ "bandage", "boo boo", "ouch" ]
1328
+ }, {
1329
+ title: "fab fa-bandcamp",
1330
+ searchTerms: []
1331
+ }, {
1332
+ title: "fas fa-barcode",
1333
+ searchTerms: [ "scan" ]
1334
+ }, {
1335
+ title: "fas fa-bars",
1336
+ searchTerms: [ "checklist", "drag", "hamburger", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "todo", "ul" ]
1337
+ }, {
1338
+ title: "fas fa-baseball-ball",
1339
+ searchTerms: []
1340
+ }, {
1341
+ title: "fas fa-basketball-ball",
1342
+ searchTerms: []
1343
+ }, {
1344
+ title: "fas fa-bath",
1345
+ searchTerms: []
1346
+ }, {
1347
+ title: "fas fa-battery-empty",
1348
+ searchTerms: [ "power", "status" ]
1349
+ }, {
1350
+ title: "fas fa-battery-full",
1351
+ searchTerms: [ "power", "status" ]
1352
+ }, {
1353
+ title: "fas fa-battery-half",
1354
+ searchTerms: [ "power", "status" ]
1355
+ }, {
1356
+ title: "fas fa-battery-quarter",
1357
+ searchTerms: [ "power", "status" ]
1358
+ }, {
1359
+ title: "fas fa-battery-three-quarters",
1360
+ searchTerms: [ "power", "status" ]
1361
+ }, {
1362
+ title: "fas fa-bed",
1363
+ searchTerms: [ "lodging", "sleep", "travel" ]
1364
+ }, {
1365
+ title: "fas fa-beer",
1366
+ searchTerms: [ "alcohol", "bar", "beverage", "drink", "liquor", "mug", "stein" ]
1367
+ }, {
1368
+ title: "fab fa-behance",
1369
+ searchTerms: []
1370
+ }, {
1371
+ title: "fab fa-behance-square",
1372
+ searchTerms: []
1373
+ }, {
1374
+ title: "fas fa-bell",
1375
+ searchTerms: [ "alert", "notification", "reminder" ]
1376
+ }, {
1377
+ title: "far fa-bell",
1378
+ searchTerms: [ "alert", "notification", "reminder" ]
1379
+ }, {
1380
+ title: "fas fa-bell-slash",
1381
+ searchTerms: []
1382
+ }, {
1383
+ title: "far fa-bell-slash",
1384
+ searchTerms: []
1385
+ }, {
1386
+ title: "fas fa-bezier-curve",
1387
+ searchTerms: [ "curves", "illustrator", "lines", "path", "vector" ]
1388
+ }, {
1389
+ title: "fas fa-bible",
1390
+ searchTerms: [ "book", "catholicism", "christianity" ]
1391
+ }, {
1392
+ title: "fas fa-bicycle",
1393
+ searchTerms: [ "bike", "gears", "transportation", "vehicle" ]
1394
+ }, {
1395
+ title: "fab fa-bimobject",
1396
+ searchTerms: []
1397
+ }, {
1398
+ title: "fas fa-binoculars",
1399
+ searchTerms: []
1400
+ }, {
1401
+ title: "fas fa-birthday-cake",
1402
+ searchTerms: []
1403
+ }, {
1404
+ title: "fab fa-bitbucket",
1405
+ searchTerms: [ "bitbucket-square", "git" ]
1406
+ }, {
1407
+ title: "fab fa-bitcoin",
1408
+ searchTerms: []
1409
+ }, {
1410
+ title: "fab fa-bity",
1411
+ searchTerms: []
1412
+ }, {
1413
+ title: "fab fa-black-tie",
1414
+ searchTerms: []
1415
+ }, {
1416
+ title: "fab fa-blackberry",
1417
+ searchTerms: []
1418
+ }, {
1419
+ title: "fas fa-blender",
1420
+ searchTerms: []
1421
+ }, {
1422
+ title: "fas fa-blender-phone",
1423
+ searchTerms: [ "appliance", "fantasy", "silly" ]
1424
+ }, {
1425
+ title: "fas fa-blind",
1426
+ searchTerms: []
1427
+ }, {
1428
+ title: "fab fa-blogger",
1429
+ searchTerms: []
1430
+ }, {
1431
+ title: "fab fa-blogger-b",
1432
+ searchTerms: []
1433
+ }, {
1434
+ title: "fab fa-bluetooth",
1435
+ searchTerms: []
1436
+ }, {
1437
+ title: "fab fa-bluetooth-b",
1438
+ searchTerms: []
1439
+ }, {
1440
+ title: "fas fa-bold",
1441
+ searchTerms: []
1442
+ }, {
1443
+ title: "fas fa-bolt",
1444
+ searchTerms: [ "electricity", "lightning", "weather", "zap" ]
1445
+ }, {
1446
+ title: "fas fa-bomb",
1447
+ searchTerms: []
1448
+ }, {
1449
+ title: "fas fa-bone",
1450
+ searchTerms: []
1451
+ }, {
1452
+ title: "fas fa-bong",
1453
+ searchTerms: [ "aparatus", "cannabis", "marijuana", "pipe", "smoke", "smoking" ]
1454
+ }, {
1455
+ title: "fas fa-book",
1456
+ searchTerms: [ "documentation", "read" ]
1457
+ }, {
1458
+ title: "fas fa-book-dead",
1459
+ searchTerms: [ "Dungeons & Dragons", "crossbones", "d&d", "dark arts", "death", "dnd", "documentation", "evil", "fantasy", "halloween", "holiday", "read", "skull", "spell" ]
1460
+ }, {
1461
+ title: "fas fa-book-open",
1462
+ searchTerms: [ "flyer", "notebook", "open book", "pamphlet", "reading" ]
1463
+ }, {
1464
+ title: "fas fa-book-reader",
1465
+ searchTerms: [ "library" ]
1466
+ }, {
1467
+ title: "fas fa-bookmark",
1468
+ searchTerms: [ "save" ]
1469
+ }, {
1470
+ title: "far fa-bookmark",
1471
+ searchTerms: [ "save" ]
1472
+ }, {
1473
+ title: "fas fa-bowling-ball",
1474
+ searchTerms: []
1475
+ }, {
1476
+ title: "fas fa-box",
1477
+ searchTerms: [ "package" ]
1478
+ }, {
1479
+ title: "fas fa-box-open",
1480
+ searchTerms: []
1481
+ }, {
1482
+ title: "fas fa-boxes",
1483
+ searchTerms: []
1484
+ }, {
1485
+ title: "fas fa-braille",
1486
+ searchTerms: []
1487
+ }, {
1488
+ title: "fas fa-brain",
1489
+ searchTerms: [ "cerebellum", "gray matter", "intellect", "medulla oblongata", "mind", "noodle", "wit" ]
1490
+ }, {
1491
+ title: "fas fa-briefcase",
1492
+ searchTerms: [ "bag", "business", "luggage", "office", "work" ]
1493
+ }, {
1494
+ title: "fas fa-briefcase-medical",
1495
+ searchTerms: [ "health briefcase" ]
1496
+ }, {
1497
+ title: "fas fa-broadcast-tower",
1498
+ searchTerms: [ "airwaves", "radio", "waves" ]
1499
+ }, {
1500
+ title: "fas fa-broom",
1501
+ searchTerms: [ "clean", "firebolt", "fly", "halloween", "holiday", "nimbus 2000", "quidditch", "sweep", "witch" ]
1502
+ }, {
1503
+ title: "fas fa-brush",
1504
+ searchTerms: [ "bristles", "color", "handle", "painting" ]
1505
+ }, {
1506
+ title: "fab fa-btc",
1507
+ searchTerms: []
1508
+ }, {
1509
+ title: "fas fa-bug",
1510
+ searchTerms: [ "insect", "report" ]
1511
+ }, {
1512
+ title: "fas fa-building",
1513
+ searchTerms: [ "apartment", "business", "company", "office", "work" ]
1514
+ }, {
1515
+ title: "far fa-building",
1516
+ searchTerms: [ "apartment", "business", "company", "office", "work" ]
1517
+ }, {
1518
+ title: "fas fa-bullhorn",
1519
+ searchTerms: [ "announcement", "broadcast", "louder", "megaphone", "share" ]
1520
+ }, {
1521
+ title: "fas fa-bullseye",
1522
+ searchTerms: [ "target" ]
1523
+ }, {
1524
+ title: "fas fa-burn",
1525
+ searchTerms: [ "energy" ]
1526
+ }, {
1527
+ title: "fab fa-buromobelexperte",
1528
+ searchTerms: []
1529
+ }, {
1530
+ title: "fas fa-bus",
1531
+ searchTerms: [ "machine", "public transportation", "transportation", "vehicle" ]
1532
+ }, {
1533
+ title: "fas fa-bus-alt",
1534
+ searchTerms: [ "machine", "public transportation", "transportation", "vehicle" ]
1535
+ }, {
1536
+ title: "fas fa-business-time",
1537
+ searchTerms: [ "briefcase", "business socks", "clock", "flight of the conchords", "wednesday" ]
1538
+ }, {
1539
+ title: "fab fa-buysellads",
1540
+ searchTerms: []
1541
+ }, {
1542
+ title: "fas fa-calculator",
1543
+ searchTerms: []
1544
+ }, {
1545
+ title: "fas fa-calendar",
1546
+ searchTerms: [ "calendar-o", "date", "event", "schedule", "time", "when" ]
1547
+ }, {
1548
+ title: "far fa-calendar",
1549
+ searchTerms: [ "calendar-o", "date", "event", "schedule", "time", "when" ]
1550
+ }, {
1551
+ title: "fas fa-calendar-alt",
1552
+ searchTerms: [ "calendar", "date", "event", "schedule", "time", "when" ]
1553
+ }, {
1554
+ title: "far fa-calendar-alt",
1555
+ searchTerms: [ "calendar", "date", "event", "schedule", "time", "when" ]
1556
+ }, {
1557
+ title: "fas fa-calendar-check",
1558
+ searchTerms: [ "accept", "agree", "appointment", "confirm", "correct", "done", "ok", "select", "success", "todo" ]
1559
+ }, {
1560
+ title: "far fa-calendar-check",
1561
+ searchTerms: [ "accept", "agree", "appointment", "confirm", "correct", "done", "ok", "select", "success", "todo" ]
1562
+ }, {
1563
+ title: "fas fa-calendar-minus",
1564
+ searchTerms: [ "delete", "negative", "remove" ]
1565
+ }, {
1566
+ title: "far fa-calendar-minus",
1567
+ searchTerms: [ "delete", "negative", "remove" ]
1568
+ }, {
1569
+ title: "fas fa-calendar-plus",
1570
+ searchTerms: [ "add", "create", "new", "positive" ]
1571
+ }, {
1572
+ title: "far fa-calendar-plus",
1573
+ searchTerms: [ "add", "create", "new", "positive" ]
1574
+ }, {
1575
+ title: "fas fa-calendar-times",
1576
+ searchTerms: [ "archive", "delete", "remove", "x" ]
1577
+ }, {
1578
+ title: "far fa-calendar-times",
1579
+ searchTerms: [ "archive", "delete", "remove", "x" ]
1580
+ }, {
1581
+ title: "fas fa-camera",
1582
+ searchTerms: [ "photo", "picture", "record" ]
1583
+ }, {
1584
+ title: "fas fa-camera-retro",
1585
+ searchTerms: [ "photo", "picture", "record" ]
1586
+ }, {
1587
+ title: "fas fa-campground",
1588
+ searchTerms: [ "camping", "fall", "outdoors", "seasonal", "tent" ]
1589
+ }, {
1590
+ title: "fas fa-cannabis",
1591
+ searchTerms: [ "bud", "chronic", "drugs", "endica", "endo", "ganja", "marijuana", "mary jane", "pot", "reefer", "sativa", "spliff", "weed", "whacky-tabacky" ]
1592
+ }, {
1593
+ title: "fas fa-capsules",
1594
+ searchTerms: [ "drugs", "medicine" ]
1595
+ }, {
1596
+ title: "fas fa-car",
1597
+ searchTerms: [ "machine", "transportation", "vehicle" ]
1598
+ }, {
1599
+ title: "fas fa-car-alt",
1600
+ searchTerms: []
1601
+ }, {
1602
+ title: "fas fa-car-battery",
1603
+ searchTerms: []
1604
+ }, {
1605
+ title: "fas fa-car-crash",
1606
+ searchTerms: []
1607
+ }, {
1608
+ title: "fas fa-car-side",
1609
+ searchTerms: []
1610
+ }, {
1611
+ title: "fas fa-caret-down",
1612
+ searchTerms: [ "arrow", "dropdown", "menu", "more", "triangle down" ]
1613
+ }, {
1614
+ title: "fas fa-caret-left",
1615
+ searchTerms: [ "arrow", "back", "previous", "triangle left" ]
1616
+ }, {
1617
+ title: "fas fa-caret-right",
1618
+ searchTerms: [ "arrow", "forward", "next", "triangle right" ]
1619
+ }, {
1620
+ title: "fas fa-caret-square-down",
1621
+ searchTerms: [ "caret-square-o-down", "dropdown", "menu", "more" ]
1622
+ }, {
1623
+ title: "far fa-caret-square-down",
1624
+ searchTerms: [ "caret-square-o-down", "dropdown", "menu", "more" ]
1625
+ }, {
1626
+ title: "fas fa-caret-square-left",
1627
+ searchTerms: [ "back", "caret-square-o-left", "previous" ]
1628
+ }, {
1629
+ title: "far fa-caret-square-left",
1630
+ searchTerms: [ "back", "caret-square-o-left", "previous" ]
1631
+ }, {
1632
+ title: "fas fa-caret-square-right",
1633
+ searchTerms: [ "caret-square-o-right", "forward", "next" ]
1634
+ }, {
1635
+ title: "far fa-caret-square-right",
1636
+ searchTerms: [ "caret-square-o-right", "forward", "next" ]
1637
+ }, {
1638
+ title: "fas fa-caret-square-up",
1639
+ searchTerms: [ "caret-square-o-up" ]
1640
+ }, {
1641
+ title: "far fa-caret-square-up",
1642
+ searchTerms: [ "caret-square-o-up" ]
1643
+ }, {
1644
+ title: "fas fa-caret-up",
1645
+ searchTerms: [ "arrow", "triangle up" ]
1646
+ }, {
1647
+ title: "fas fa-cart-arrow-down",
1648
+ searchTerms: [ "shopping" ]
1649
+ }, {
1650
+ title: "fas fa-cart-plus",
1651
+ searchTerms: [ "add", "create", "new", "positive", "shopping" ]
1652
+ }, {
1653
+ title: "fas fa-cat",
1654
+ searchTerms: [ "feline", "halloween", "holiday", "kitten", "kitty", "meow", "pet" ]
1655
+ }, {
1656
+ title: "fab fa-cc-amazon-pay",
1657
+ searchTerms: []
1658
+ }, {
1659
+ title: "fab fa-cc-amex",
1660
+ searchTerms: [ "amex" ]
1661
+ }, {
1662
+ title: "fab fa-cc-apple-pay",
1663
+ searchTerms: []
1664
+ }, {
1665
+ title: "fab fa-cc-diners-club",
1666
+ searchTerms: []
1667
+ }, {
1668
+ title: "fab fa-cc-discover",
1669
+ searchTerms: []
1670
+ }, {
1671
+ title: "fab fa-cc-jcb",
1672
+ searchTerms: []
1673
+ }, {
1674
+ title: "fab fa-cc-mastercard",
1675
+ searchTerms: []
1676
+ }, {
1677
+ title: "fab fa-cc-paypal",
1678
+ searchTerms: []
1679
+ }, {
1680
+ title: "fab fa-cc-stripe",
1681
+ searchTerms: []
1682
+ }, {
1683
+ title: "fab fa-cc-visa",
1684
+ searchTerms: []
1685
+ }, {
1686
+ title: "fab fa-centercode",
1687
+ searchTerms: []
1688
+ }, {
1689
+ title: "fas fa-certificate",
1690
+ searchTerms: [ "badge", "star" ]
1691
+ }, {
1692
+ title: "fas fa-chair",
1693
+ searchTerms: [ "furniture", "seat" ]
1694
+ }, {
1695
+ title: "fas fa-chalkboard",
1696
+ searchTerms: [ "blackboard", "learning", "school", "teaching", "whiteboard", "writing" ]
1697
+ }, {
1698
+ title: "fas fa-chalkboard-teacher",
1699
+ searchTerms: [ "blackboard", "instructor", "learning", "professor", "school", "whiteboard", "writing" ]
1700
+ }, {
1701
+ title: "fas fa-charging-station",
1702
+ searchTerms: []
1703
+ }, {
1704
+ title: "fas fa-chart-area",
1705
+ searchTerms: [ "analytics", "area-chart", "graph" ]
1706
+ }, {
1707
+ title: "fas fa-chart-bar",
1708
+ searchTerms: [ "analytics", "bar-chart", "graph" ]
1709
+ }, {
1710
+ title: "far fa-chart-bar",
1711
+ searchTerms: [ "analytics", "bar-chart", "graph" ]
1712
+ }, {
1713
+ title: "fas fa-chart-line",
1714
+ searchTerms: [ "activity", "analytics", "dashboard", "graph", "line-chart" ]
1715
+ }, {
1716
+ title: "fas fa-chart-pie",
1717
+ searchTerms: [ "analytics", "graph", "pie-chart" ]
1718
+ }, {
1719
+ title: "fas fa-check",
1720
+ searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "notice", "notification", "notify", "ok", "select", "success", "tick", "todo", "yes" ]
1721
+ }, {
1722
+ title: "fas fa-check-circle",
1723
+ searchTerms: [ "accept", "agree", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1724
+ }, {
1725
+ title: "far fa-check-circle",
1726
+ searchTerms: [ "accept", "agree", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1727
+ }, {
1728
+ title: "fas fa-check-double",
1729
+ searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "notice", "notification", "notify", "ok", "select", "success", "tick", "todo" ]
1730
+ }, {
1731
+ title: "fas fa-check-square",
1732
+ searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1733
+ }, {
1734
+ title: "far fa-check-square",
1735
+ searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1736
+ }, {
1737
+ title: "fas fa-chess",
1738
+ searchTerms: []
1739
+ }, {
1740
+ title: "fas fa-chess-bishop",
1741
+ searchTerms: []
1742
+ }, {
1743
+ title: "fas fa-chess-board",
1744
+ searchTerms: []
1745
+ }, {
1746
+ title: "fas fa-chess-king",
1747
+ searchTerms: []
1748
+ }, {
1749
+ title: "fas fa-chess-knight",
1750
+ searchTerms: []
1751
+ }, {
1752
+ title: "fas fa-chess-pawn",
1753
+ searchTerms: []
1754
+ }, {
1755
+ title: "fas fa-chess-queen",
1756
+ searchTerms: []
1757
+ }, {
1758
+ title: "fas fa-chess-rook",
1759
+ searchTerms: []
1760
+ }, {
1761
+ title: "fas fa-chevron-circle-down",
1762
+ searchTerms: [ "arrow", "dropdown", "menu", "more" ]
1763
+ }, {
1764
+ title: "fas fa-chevron-circle-left",
1765
+ searchTerms: [ "arrow", "back", "previous" ]
1766
+ }, {
1767
+ title: "fas fa-chevron-circle-right",
1768
+ searchTerms: [ "arrow", "forward", "next" ]
1769
+ }, {
1770
+ title: "fas fa-chevron-circle-up",
1771
+ searchTerms: [ "arrow" ]
1772
+ }, {
1773
+ title: "fas fa-chevron-down",
1774
+ searchTerms: []
1775
+ }, {
1776
+ title: "fas fa-chevron-left",
1777
+ searchTerms: [ "back", "bracket", "previous" ]
1778
+ }, {
1779
+ title: "fas fa-chevron-right",
1780
+ searchTerms: [ "bracket", "forward", "next" ]
1781
+ }, {
1782
+ title: "fas fa-chevron-up",
1783
+ searchTerms: []
1784
+ }, {
1785
+ title: "fas fa-child",
1786
+ searchTerms: []
1787
+ }, {
1788
+ title: "fab fa-chrome",
1789
+ searchTerms: [ "browser" ]
1790
+ }, {
1791
+ title: "fas fa-church",
1792
+ searchTerms: [ "building", "community", "religion" ]
1793
+ }, {
1794
+ title: "fas fa-circle",
1795
+ searchTerms: [ "circle-thin", "dot", "notification" ]
1796
+ }, {
1797
+ title: "far fa-circle",
1798
+ searchTerms: [ "circle-thin", "dot", "notification" ]
1799
+ }, {
1800
+ title: "fas fa-circle-notch",
1801
+ searchTerms: [ "circle-o-notch" ]
1802
+ }, {
1803
+ title: "fas fa-city",
1804
+ searchTerms: [ "buildings", "busy", "skyscrapers", "urban", "windows" ]
1805
+ }, {
1806
+ title: "fas fa-clipboard",
1807
+ searchTerms: [ "paste" ]
1808
+ }, {
1809
+ title: "far fa-clipboard",
1810
+ searchTerms: [ "paste" ]
1811
+ }, {
1812
+ title: "fas fa-clipboard-check",
1813
+ searchTerms: [ "accept", "agree", "confirm", "done", "ok", "select", "success", "todo", "yes" ]
1814
+ }, {
1815
+ title: "fas fa-clipboard-list",
1816
+ searchTerms: [ "checklist", "completed", "done", "finished", "intinerary", "ol", "schedule", "todo", "ul" ]
1817
+ }, {
1818
+ title: "fas fa-clock",
1819
+ searchTerms: [ "date", "late", "schedule", "timer", "timestamp", "watch" ]
1820
+ }, {
1821
+ title: "far fa-clock",
1822
+ searchTerms: [ "date", "late", "schedule", "timer", "timestamp", "watch" ]
1823
+ }, {
1824
+ title: "fas fa-clone",
1825
+ searchTerms: [ "copy", "duplicate" ]
1826
+ }, {
1827
+ title: "far fa-clone",
1828
+ searchTerms: [ "copy", "duplicate" ]
1829
+ }, {
1830
+ title: "fas fa-closed-captioning",
1831
+ searchTerms: [ "cc" ]
1832
+ }, {
1833
+ title: "far fa-closed-captioning",
1834
+ searchTerms: [ "cc" ]
1835
+ }, {
1836
+ title: "fas fa-cloud",
1837
+ searchTerms: [ "save" ]
1838
+ }, {
1839
+ title: "fas fa-cloud-download-alt",
1840
+ searchTerms: [ "import" ]
1841
+ }, {
1842
+ title: "fas fa-cloud-meatball",
1843
+ searchTerms: []
1844
+ }, {
1845
+ title: "fas fa-cloud-moon",
1846
+ searchTerms: [ "crescent", "evening", "halloween", "holiday", "lunar", "night", "sky" ]
1847
+ }, {
1848
+ title: "fas fa-cloud-moon-rain",
1849
+ searchTerms: []
1850
+ }, {
1851
+ title: "fas fa-cloud-rain",
1852
+ searchTerms: [ "precipitation" ]
1853
+ }, {
1854
+ title: "fas fa-cloud-showers-heavy",
1855
+ searchTerms: [ "precipitation", "rain", "storm" ]
1856
+ }, {
1857
+ title: "fas fa-cloud-sun",
1858
+ searchTerms: [ "day", "daytime", "fall", "outdoors", "seasonal" ]
1859
+ }, {
1860
+ title: "fas fa-cloud-sun-rain",
1861
+ searchTerms: []
1862
+ }, {
1863
+ title: "fas fa-cloud-upload-alt",
1864
+ searchTerms: [ "cloud-upload" ]
1865
+ }, {
1866
+ title: "fab fa-cloudscale",
1867
+ searchTerms: []
1868
+ }, {
1869
+ title: "fab fa-cloudsmith",
1870
+ searchTerms: []
1871
+ }, {
1872
+ title: "fab fa-cloudversify",
1873
+ searchTerms: []
1874
+ }, {
1875
+ title: "fas fa-cocktail",
1876
+ searchTerms: [ "alcohol", "beverage", "drink" ]
1877
+ }, {
1878
+ title: "fas fa-code",
1879
+ searchTerms: [ "brackets", "html" ]
1880
+ }, {
1881
+ title: "fas fa-code-branch",
1882
+ searchTerms: [ "branch", "code-fork", "fork", "git", "github", "rebase", "svn", "vcs", "version" ]
1883
+ }, {
1884
+ title: "fab fa-codepen",
1885
+ searchTerms: []
1886
+ }, {
1887
+ title: "fab fa-codiepie",
1888
+ searchTerms: []
1889
+ }, {
1890
+ title: "fas fa-coffee",
1891
+ searchTerms: [ "beverage", "breakfast", "cafe", "drink", "fall", "morning", "mug", "seasonal", "tea" ]
1892
+ }, {
1893
+ title: "fas fa-cog",
1894
+ searchTerms: [ "settings" ]
1895
+ }, {
1896
+ title: "fas fa-cogs",
1897
+ searchTerms: [ "gears", "settings" ]
1898
+ }, {
1899
+ title: "fas fa-coins",
1900
+ searchTerms: []
1901
+ }, {
1902
+ title: "fas fa-columns",
1903
+ searchTerms: [ "dashboard", "panes", "split" ]
1904
+ }, {
1905
+ title: "fas fa-comment",
1906
+ searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1907
+ }, {
1908
+ title: "far fa-comment",
1909
+ searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1910
+ }, {
1911
+ title: "fas fa-comment-alt",
1912
+ searchTerms: [ "bubble", "chat", "commenting", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1913
+ }, {
1914
+ title: "far fa-comment-alt",
1915
+ searchTerms: [ "bubble", "chat", "commenting", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1916
+ }, {
1917
+ title: "fas fa-comment-dollar",
1918
+ searchTerms: []
1919
+ }, {
1920
+ title: "fas fa-comment-dots",
1921
+ searchTerms: []
1922
+ }, {
1923
+ title: "far fa-comment-dots",
1924
+ searchTerms: []
1925
+ }, {
1926
+ title: "fas fa-comment-slash",
1927
+ searchTerms: []
1928
+ }, {
1929
+ title: "fas fa-comments",
1930
+ searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1931
+ }, {
1932
+ title: "far fa-comments",
1933
+ searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1934
+ }, {
1935
+ title: "fas fa-comments-dollar",
1936
+ searchTerms: []
1937
+ }, {
1938
+ title: "fas fa-compact-disc",
1939
+ searchTerms: [ "bluray", "cd", "disc", "media" ]
1940
+ }, {
1941
+ title: "fas fa-compass",
1942
+ searchTerms: [ "directory", "location", "menu", "safari" ]
1943
+ }, {
1944
+ title: "far fa-compass",
1945
+ searchTerms: [ "directory", "location", "menu", "safari" ]
1946
+ }, {
1947
+ title: "fas fa-compress",
1948
+ searchTerms: [ "collapse", "combine", "contract", "merge", "smaller" ]
1949
+ }, {
1950
+ title: "fas fa-concierge-bell",
1951
+ searchTerms: [ "attention", "hotel", "service", "support" ]
1952
+ }, {
1953
+ title: "fab fa-connectdevelop",
1954
+ searchTerms: []
1955
+ }, {
1956
+ title: "fab fa-contao",
1957
+ searchTerms: []
1958
+ }, {
1959
+ title: "fas fa-cookie",
1960
+ searchTerms: [ "baked good", "chips", "food", "snack", "sweet", "treat" ]
1961
+ }, {
1962
+ title: "fas fa-cookie-bite",
1963
+ searchTerms: [ "baked good", "bitten", "chips", "eating", "food", "snack", "sweet", "treat" ]
1964
+ }, {
1965
+ title: "fas fa-copy",
1966
+ searchTerms: [ "clone", "duplicate", "file", "files-o" ]
1967
+ }, {
1968
+ title: "far fa-copy",
1969
+ searchTerms: [ "clone", "duplicate", "file", "files-o" ]
1970
+ }, {
1971
+ title: "fas fa-copyright",
1972
+ searchTerms: []
1973
+ }, {
1974
+ title: "far fa-copyright",
1975
+ searchTerms: []
1976
+ }, {
1977
+ title: "fas fa-couch",
1978
+ searchTerms: [ "furniture", "sofa" ]
1979
+ }, {
1980
+ title: "fab fa-cpanel",
1981
+ searchTerms: []
1982
+ }, {
1983
+ title: "fab fa-creative-commons",
1984
+ searchTerms: []
1985
+ }, {
1986
+ title: "fab fa-creative-commons-by",
1987
+ searchTerms: []
1988
+ }, {
1989
+ title: "fab fa-creative-commons-nc",
1990
+ searchTerms: []
1991
+ }, {
1992
+ title: "fab fa-creative-commons-nc-eu",
1993
+ searchTerms: []
1994
+ }, {
1995
+ title: "fab fa-creative-commons-nc-jp",
1996
+ searchTerms: []
1997
+ }, {
1998
+ title: "fab fa-creative-commons-nd",
1999
+ searchTerms: []
2000
+ }, {
2001
+ title: "fab fa-creative-commons-pd",
2002
+ searchTerms: []
2003
+ }, {
2004
+ title: "fab fa-creative-commons-pd-alt",
2005
+ searchTerms: []
2006
+ }, {
2007
+ title: "fab fa-creative-commons-remix",
2008
+ searchTerms: []
2009
+ }, {
2010
+ title: "fab fa-creative-commons-sa",
2011
+ searchTerms: []
2012
+ }, {
2013
+ title: "fab fa-creative-commons-sampling",
2014
+ searchTerms: []
2015
+ }, {
2016
+ title: "fab fa-creative-commons-sampling-plus",
2017
+ searchTerms: []
2018
+ }, {
2019
+ title: "fab fa-creative-commons-share",
2020
+ searchTerms: []
2021
+ }, {
2022
+ title: "fab fa-creative-commons-zero",
2023
+ searchTerms: []
2024
+ }, {
2025
+ title: "fas fa-credit-card",
2026
+ searchTerms: [ "buy", "checkout", "credit-card-alt", "debit", "money", "payment", "purchase" ]
2027
+ }, {
2028
+ title: "far fa-credit-card",
2029
+ searchTerms: [ "buy", "checkout", "credit-card-alt", "debit", "money", "payment", "purchase" ]
2030
+ }, {
2031
+ title: "fab fa-critical-role",
2032
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
2033
+ }, {
2034
+ title: "fas fa-crop",
2035
+ searchTerms: [ "design" ]
2036
+ }, {
2037
+ title: "fas fa-crop-alt",
2038
+ searchTerms: []
2039
+ }, {
2040
+ title: "fas fa-cross",
2041
+ searchTerms: [ "catholicism", "christianity" ]
2042
+ }, {
2043
+ title: "fas fa-crosshairs",
2044
+ searchTerms: [ "gpd", "picker", "position" ]
2045
+ }, {
2046
+ title: "fas fa-crow",
2047
+ searchTerms: [ "bird", "bullfrog", "fauna", "halloween", "holiday", "toad" ]
2048
+ }, {
2049
+ title: "fas fa-crown",
2050
+ searchTerms: []
2051
+ }, {
2052
+ title: "fab fa-css3",
2053
+ searchTerms: [ "code" ]
2054
+ }, {
2055
+ title: "fab fa-css3-alt",
2056
+ searchTerms: []
2057
+ }, {
2058
+ title: "fas fa-cube",
2059
+ searchTerms: [ "package" ]
2060
+ }, {
2061
+ title: "fas fa-cubes",
2062
+ searchTerms: [ "packages" ]
2063
+ }, {
2064
+ title: "fas fa-cut",
2065
+ searchTerms: [ "scissors" ]
2066
+ }, {
2067
+ title: "fab fa-cuttlefish",
2068
+ searchTerms: []
2069
+ }, {
2070
+ title: "fab fa-d-and-d",
2071
+ searchTerms: []
2072
+ }, {
2073
+ title: "fab fa-d-and-d-beyond",
2074
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "gaming", "tabletop" ]
2075
+ }, {
2076
+ title: "fab fa-dashcube",
2077
+ searchTerms: []
2078
+ }, {
2079
+ title: "fas fa-database",
2080
+ searchTerms: []
2081
+ }, {
2082
+ title: "fas fa-deaf",
2083
+ searchTerms: []
2084
+ }, {
2085
+ title: "fab fa-delicious",
2086
+ searchTerms: []
2087
+ }, {
2088
+ title: "fas fa-democrat",
2089
+ searchTerms: [ "american", "democratic party", "donkey", "election", "left", "left-wing", "liberal", "politics", "usa" ]
2090
+ }, {
2091
+ title: "fab fa-deploydog",
2092
+ searchTerms: []
2093
+ }, {
2094
+ title: "fab fa-deskpro",
2095
+ searchTerms: []
2096
+ }, {
2097
+ title: "fas fa-desktop",
2098
+ searchTerms: [ "computer", "cpu", "demo", "desktop", "device", "machine", "monitor", "pc", "screen" ]
2099
+ }, {
2100
+ title: "fab fa-dev",
2101
+ searchTerms: []
2102
+ }, {
2103
+ title: "fab fa-deviantart",
2104
+ searchTerms: []
2105
+ }, {
2106
+ title: "fas fa-dharmachakra",
2107
+ searchTerms: [ "buddhism", "buddhist", "wheel of dharma" ]
2108
+ }, {
2109
+ title: "fas fa-diagnoses",
2110
+ searchTerms: []
2111
+ }, {
2112
+ title: "fas fa-dice",
2113
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2114
+ }, {
2115
+ title: "fas fa-dice-d20",
2116
+ searchTerms: [ "Dungeons & Dragons", "chance", "d&d", "dnd", "fantasy", "gambling", "game", "roll" ]
2117
+ }, {
2118
+ title: "fas fa-dice-d6",
2119
+ searchTerms: [ "Dungeons & Dragons", "chance", "d&d", "dnd", "fantasy", "gambling", "game", "roll" ]
2120
+ }, {
2121
+ title: "fas fa-dice-five",
2122
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2123
+ }, {
2124
+ title: "fas fa-dice-four",
2125
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2126
+ }, {
2127
+ title: "fas fa-dice-one",
2128
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2129
+ }, {
2130
+ title: "fas fa-dice-six",
2131
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2132
+ }, {
2133
+ title: "fas fa-dice-three",
2134
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2135
+ }, {
2136
+ title: "fas fa-dice-two",
2137
+ searchTerms: [ "chance", "gambling", "game", "roll" ]
2138
+ }, {
2139
+ title: "fab fa-digg",
2140
+ searchTerms: []
2141
+ }, {
2142
+ title: "fab fa-digital-ocean",
2143
+ searchTerms: []
2144
+ }, {
2145
+ title: "fas fa-digital-tachograph",
2146
+ searchTerms: []
2147
+ }, {
2148
+ title: "fas fa-directions",
2149
+ searchTerms: []
2150
+ }, {
2151
+ title: "fab fa-discord",
2152
+ searchTerms: []
2153
+ }, {
2154
+ title: "fab fa-discourse",
2155
+ searchTerms: []
2156
+ }, {
2157
+ title: "fas fa-divide",
2158
+ searchTerms: []
2159
+ }, {
2160
+ title: "fas fa-dizzy",
2161
+ searchTerms: [ "dazed", "disapprove", "emoticon", "face" ]
2162
+ }, {
2163
+ title: "far fa-dizzy",
2164
+ searchTerms: [ "dazed", "disapprove", "emoticon", "face" ]
2165
+ }, {
2166
+ title: "fas fa-dna",
2167
+ searchTerms: [ "double helix", "helix" ]
2168
+ }, {
2169
+ title: "fab fa-dochub",
2170
+ searchTerms: []
2171
+ }, {
2172
+ title: "fab fa-docker",
2173
+ searchTerms: []
2174
+ }, {
2175
+ title: "fas fa-dog",
2176
+ searchTerms: [ "canine", "fauna", "mammmal", "pet", "pooch", "puppy", "woof" ]
2177
+ }, {
2178
+ title: "fas fa-dollar-sign",
2179
+ searchTerms: [ "$", "dollar-sign", "money", "price", "usd" ]
2180
+ }, {
2181
+ title: "fas fa-dolly",
2182
+ searchTerms: []
2183
+ }, {
2184
+ title: "fas fa-dolly-flatbed",
2185
+ searchTerms: []
2186
+ }, {
2187
+ title: "fas fa-donate",
2188
+ searchTerms: [ "generosity", "give" ]
2189
+ }, {
2190
+ title: "fas fa-door-closed",
2191
+ searchTerms: []
2192
+ }, {
2193
+ title: "fas fa-door-open",
2194
+ searchTerms: []
2195
+ }, {
2196
+ title: "fas fa-dot-circle",
2197
+ searchTerms: [ "bullseye", "notification", "target" ]
2198
+ }, {
2199
+ title: "far fa-dot-circle",
2200
+ searchTerms: [ "bullseye", "notification", "target" ]
2201
+ }, {
2202
+ title: "fas fa-dove",
2203
+ searchTerms: [ "bird", "fauna", "flying", "peace" ]
2204
+ }, {
2205
+ title: "fas fa-download",
2206
+ searchTerms: [ "import" ]
2207
+ }, {
2208
+ title: "fab fa-draft2digital",
2209
+ searchTerms: []
2210
+ }, {
2211
+ title: "fas fa-drafting-compass",
2212
+ searchTerms: [ "mechanical drawing", "plot", "plotting" ]
2213
+ }, {
2214
+ title: "fas fa-dragon",
2215
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy" ]
2216
+ }, {
2217
+ title: "fas fa-draw-polygon",
2218
+ searchTerms: []
2219
+ }, {
2220
+ title: "fab fa-dribbble",
2221
+ searchTerms: []
2222
+ }, {
2223
+ title: "fab fa-dribbble-square",
2224
+ searchTerms: []
2225
+ }, {
2226
+ title: "fab fa-dropbox",
2227
+ searchTerms: []
2228
+ }, {
2229
+ title: "fas fa-drum",
2230
+ searchTerms: [ "instrument", "music", "percussion", "snare", "sound" ]
2231
+ }, {
2232
+ title: "fas fa-drum-steelpan",
2233
+ searchTerms: [ "calypso", "instrument", "music", "percussion", "reggae", "snare", "sound", "steel", "tropical" ]
2234
+ }, {
2235
+ title: "fas fa-drumstick-bite",
2236
+ searchTerms: []
2237
+ }, {
2238
+ title: "fab fa-drupal",
2239
+ searchTerms: []
2240
+ }, {
2241
+ title: "fas fa-dumbbell",
2242
+ searchTerms: [ "exercise", "gym", "strength", "weight", "weight-lifting" ]
2243
+ }, {
2244
+ title: "fas fa-dungeon",
2245
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "door", "entrance", "fantasy", "gate" ]
2246
+ }, {
2247
+ title: "fab fa-dyalog",
2248
+ searchTerms: []
2249
+ }, {
2250
+ title: "fab fa-earlybirds",
2251
+ searchTerms: []
2252
+ }, {
2253
+ title: "fab fa-ebay",
2254
+ searchTerms: []
2255
+ }, {
2256
+ title: "fab fa-edge",
2257
+ searchTerms: [ "browser", "ie" ]
2258
+ }, {
2259
+ title: "fas fa-edit",
2260
+ searchTerms: [ "edit", "pen", "pencil", "update", "write" ]
2261
+ }, {
2262
+ title: "far fa-edit",
2263
+ searchTerms: [ "edit", "pen", "pencil", "update", "write" ]
2264
+ }, {
2265
+ title: "fas fa-eject",
2266
+ searchTerms: []
2267
+ }, {
2268
+ title: "fab fa-elementor",
2269
+ searchTerms: []
2270
+ }, {
2271
+ title: "fas fa-ellipsis-h",
2272
+ searchTerms: [ "dots", "drag", "kebab", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "ul" ]
2273
+ }, {
2274
+ title: "fas fa-ellipsis-v",
2275
+ searchTerms: [ "dots", "drag", "kebab", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "ul" ]
2276
+ }, {
2277
+ title: "fab fa-ello",
2278
+ searchTerms: []
2279
+ }, {
2280
+ title: "fab fa-ember",
2281
+ searchTerms: []
2282
+ }, {
2283
+ title: "fab fa-empire",
2284
+ searchTerms: []
2285
+ }, {
2286
+ title: "fas fa-envelope",
2287
+ searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2288
+ }, {
2289
+ title: "far fa-envelope",
2290
+ searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2291
+ }, {
2292
+ title: "fas fa-envelope-open",
2293
+ searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2294
+ }, {
2295
+ title: "far fa-envelope-open",
2296
+ searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2297
+ }, {
2298
+ title: "fas fa-envelope-open-text",
2299
+ searchTerms: []
2300
+ }, {
2301
+ title: "fas fa-envelope-square",
2302
+ searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2303
+ }, {
2304
+ title: "fab fa-envira",
2305
+ searchTerms: [ "leaf" ]
2306
+ }, {
2307
+ title: "fas fa-equals",
2308
+ searchTerms: []
2309
+ }, {
2310
+ title: "fas fa-eraser",
2311
+ searchTerms: [ "delete", "remove" ]
2312
+ }, {
2313
+ title: "fab fa-erlang",
2314
+ searchTerms: []
2315
+ }, {
2316
+ title: "fab fa-ethereum",
2317
+ searchTerms: []
2318
+ }, {
2319
+ title: "fab fa-etsy",
2320
+ searchTerms: []
2321
+ }, {
2322
+ title: "fas fa-euro-sign",
2323
+ searchTerms: [ "eur" ]
2324
+ }, {
2325
+ title: "fas fa-exchange-alt",
2326
+ searchTerms: [ "arrow", "arrows", "exchange", "reciprocate", "return", "swap", "transfer" ]
2327
+ }, {
2328
+ title: "fas fa-exclamation",
2329
+ searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2330
+ }, {
2331
+ title: "fas fa-exclamation-circle",
2332
+ searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2333
+ }, {
2334
+ title: "fas fa-exclamation-triangle",
2335
+ searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2336
+ }, {
2337
+ title: "fas fa-expand",
2338
+ searchTerms: [ "bigger", "enlarge", "resize" ]
2339
+ }, {
2340
+ title: "fas fa-expand-arrows-alt",
2341
+ searchTerms: [ "arrows-alt", "bigger", "enlarge", "move", "resize" ]
2342
+ }, {
2343
+ title: "fab fa-expeditedssl",
2344
+ searchTerms: []
2345
+ }, {
2346
+ title: "fas fa-external-link-alt",
2347
+ searchTerms: [ "external-link", "new", "open" ]
2348
+ }, {
2349
+ title: "fas fa-external-link-square-alt",
2350
+ searchTerms: [ "external-link-square", "new", "open" ]
2351
+ }, {
2352
+ title: "fas fa-eye",
2353
+ searchTerms: [ "optic", "see", "seen", "show", "sight", "views", "visible" ]
2354
+ }, {
2355
+ title: "far fa-eye",
2356
+ searchTerms: [ "optic", "see", "seen", "show", "sight", "views", "visible" ]
2357
+ }, {
2358
+ title: "fas fa-eye-dropper",
2359
+ searchTerms: [ "eyedropper" ]
2360
+ }, {
2361
+ title: "fas fa-eye-slash",
2362
+ searchTerms: [ "blind", "hide", "show", "toggle", "unseen", "views", "visible", "visiblity" ]
2363
+ }, {
2364
+ title: "far fa-eye-slash",
2365
+ searchTerms: [ "blind", "hide", "show", "toggle", "unseen", "views", "visible", "visiblity" ]
2366
+ }, {
2367
+ title: "fab fa-facebook",
2368
+ searchTerms: [ "facebook-official", "social network" ]
2369
+ }, {
2370
+ title: "fab fa-facebook-f",
2371
+ searchTerms: [ "facebook" ]
2372
+ }, {
2373
+ title: "fab fa-facebook-messenger",
2374
+ searchTerms: []
2375
+ }, {
2376
+ title: "fab fa-facebook-square",
2377
+ searchTerms: [ "social network" ]
2378
+ }, {
2379
+ title: "fab fa-fantasy-flight-games",
2380
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
2381
+ }, {
2382
+ title: "fas fa-fast-backward",
2383
+ searchTerms: [ "beginning", "first", "previous", "rewind", "start" ]
2384
+ }, {
2385
+ title: "fas fa-fast-forward",
2386
+ searchTerms: [ "end", "last", "next" ]
2387
+ }, {
2388
+ title: "fas fa-fax",
2389
+ searchTerms: []
2390
+ }, {
2391
+ title: "fas fa-feather",
2392
+ searchTerms: [ "bird", "light", "plucked", "quill" ]
2393
+ }, {
2394
+ title: "fas fa-feather-alt",
2395
+ searchTerms: [ "bird", "light", "plucked", "quill" ]
2396
+ }, {
2397
+ title: "fas fa-female",
2398
+ searchTerms: [ "human", "person", "profile", "user", "woman" ]
2399
+ }, {
2400
+ title: "fas fa-fighter-jet",
2401
+ searchTerms: [ "airplane", "fast", "fly", "goose", "maverick", "plane", "quick", "top gun", "transportation", "travel" ]
2402
+ }, {
2403
+ title: "fas fa-file",
2404
+ searchTerms: [ "document", "new", "page", "pdf", "resume" ]
2405
+ }, {
2406
+ title: "far fa-file",
2407
+ searchTerms: [ "document", "new", "page", "pdf", "resume" ]
2408
+ }, {
2409
+ title: "fas fa-file-alt",
2410
+ searchTerms: [ "document", "file-text", "invoice", "new", "page", "pdf" ]
2411
+ }, {
2412
+ title: "far fa-file-alt",
2413
+ searchTerms: [ "document", "file-text", "invoice", "new", "page", "pdf" ]
2414
+ }, {
2415
+ title: "fas fa-file-archive",
2416
+ searchTerms: [ ".zip", "bundle", "compress", "compression", "download", "zip" ]
2417
+ }, {
2418
+ title: "far fa-file-archive",
2419
+ searchTerms: [ ".zip", "bundle", "compress", "compression", "download", "zip" ]
2420
+ }, {
2421
+ title: "fas fa-file-audio",
2422
+ searchTerms: []
2423
+ }, {
2424
+ title: "far fa-file-audio",
2425
+ searchTerms: []
2426
+ }, {
2427
+ title: "fas fa-file-code",
2428
+ searchTerms: []
2429
+ }, {
2430
+ title: "far fa-file-code",
2431
+ searchTerms: []
2432
+ }, {
2433
+ title: "fas fa-file-contract",
2434
+ searchTerms: [ "agreement", "binding", "document", "legal", "signature" ]
2435
+ }, {
2436
+ title: "fas fa-file-csv",
2437
+ searchTerms: [ "spreadsheets" ]
2438
+ }, {
2439
+ title: "fas fa-file-download",
2440
+ searchTerms: []
2441
+ }, {
2442
+ title: "fas fa-file-excel",
2443
+ searchTerms: []
2444
+ }, {
2445
+ title: "far fa-file-excel",
2446
+ searchTerms: []
2447
+ }, {
2448
+ title: "fas fa-file-export",
2449
+ searchTerms: []
2450
+ }, {
2451
+ title: "fas fa-file-image",
2452
+ searchTerms: []
2453
+ }, {
2454
+ title: "far fa-file-image",
2455
+ searchTerms: []
2456
+ }, {
2457
+ title: "fas fa-file-import",
2458
+ searchTerms: []
2459
+ }, {
2460
+ title: "fas fa-file-invoice",
2461
+ searchTerms: [ "bill", "document", "receipt" ]
2462
+ }, {
2463
+ title: "fas fa-file-invoice-dollar",
2464
+ searchTerms: [ "$", "bill", "document", "dollar-sign", "money", "receipt", "usd" ]
2465
+ }, {
2466
+ title: "fas fa-file-medical",
2467
+ searchTerms: []
2468
+ }, {
2469
+ title: "fas fa-file-medical-alt",
2470
+ searchTerms: []
2471
+ }, {
2472
+ title: "fas fa-file-pdf",
2473
+ searchTerms: []
2474
+ }, {
2475
+ title: "far fa-file-pdf",
2476
+ searchTerms: []
2477
+ }, {
2478
+ title: "fas fa-file-powerpoint",
2479
+ searchTerms: []
2480
+ }, {
2481
+ title: "far fa-file-powerpoint",
2482
+ searchTerms: []
2483
+ }, {
2484
+ title: "fas fa-file-prescription",
2485
+ searchTerms: [ "drugs", "medical", "medicine", "rx" ]
2486
+ }, {
2487
+ title: "fas fa-file-signature",
2488
+ searchTerms: [ "John Hancock", "contract", "document", "name" ]
2489
+ }, {
2490
+ title: "fas fa-file-upload",
2491
+ searchTerms: []
2492
+ }, {
2493
+ title: "fas fa-file-video",
2494
+ searchTerms: []
2495
+ }, {
2496
+ title: "far fa-file-video",
2497
+ searchTerms: []
2498
+ }, {
2499
+ title: "fas fa-file-word",
2500
+ searchTerms: []
2501
+ }, {
2502
+ title: "far fa-file-word",
2503
+ searchTerms: []
2504
+ }, {
2505
+ title: "fas fa-fill",
2506
+ searchTerms: [ "bucket", "color", "paint", "paint bucket" ]
2507
+ }, {
2508
+ title: "fas fa-fill-drip",
2509
+ searchTerms: [ "bucket", "color", "drop", "paint", "paint bucket", "spill" ]
2510
+ }, {
2511
+ title: "fas fa-film",
2512
+ searchTerms: [ "movie" ]
2513
+ }, {
2514
+ title: "fas fa-filter",
2515
+ searchTerms: [ "funnel", "options" ]
2516
+ }, {
2517
+ title: "fas fa-fingerprint",
2518
+ searchTerms: [ "human", "id", "identification", "lock", "smudge", "touch", "unique", "unlock" ]
2519
+ }, {
2520
+ title: "fas fa-fire",
2521
+ searchTerms: [ "caliente", "flame", "heat", "hot", "popular" ]
2522
+ }, {
2523
+ title: "fas fa-fire-extinguisher",
2524
+ searchTerms: []
2525
+ }, {
2526
+ title: "fab fa-firefox",
2527
+ searchTerms: [ "browser" ]
2528
+ }, {
2529
+ title: "fas fa-first-aid",
2530
+ searchTerms: []
2531
+ }, {
2532
+ title: "fab fa-first-order",
2533
+ searchTerms: []
2534
+ }, {
2535
+ title: "fab fa-first-order-alt",
2536
+ searchTerms: []
2537
+ }, {
2538
+ title: "fab fa-firstdraft",
2539
+ searchTerms: []
2540
+ }, {
2541
+ title: "fas fa-fish",
2542
+ searchTerms: [ "fauna", "gold", "swimming" ]
2543
+ }, {
2544
+ title: "fas fa-fist-raised",
2545
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "hand", "ki", "monk", "resist", "strength", "unarmed combat" ]
2546
+ }, {
2547
+ title: "fas fa-flag",
2548
+ searchTerms: [ "country", "notice", "notification", "notify", "pole", "report", "symbol" ]
2549
+ }, {
2550
+ title: "far fa-flag",
2551
+ searchTerms: [ "country", "notice", "notification", "notify", "pole", "report", "symbol" ]
2552
+ }, {
2553
+ title: "fas fa-flag-checkered",
2554
+ searchTerms: [ "notice", "notification", "notify", "pole", "racing", "report", "symbol" ]
2555
+ }, {
2556
+ title: "fas fa-flag-usa",
2557
+ searchTerms: [ "betsy ross", "country", "old glory", "stars", "stripes", "symbol" ]
2558
+ }, {
2559
+ title: "fas fa-flask",
2560
+ searchTerms: [ "beaker", "experimental", "labs", "science" ]
2561
+ }, {
2562
+ title: "fab fa-flickr",
2563
+ searchTerms: []
2564
+ }, {
2565
+ title: "fab fa-flipboard",
2566
+ searchTerms: []
2567
+ }, {
2568
+ title: "fas fa-flushed",
2569
+ searchTerms: [ "embarrassed", "emoticon", "face" ]
2570
+ }, {
2571
+ title: "far fa-flushed",
2572
+ searchTerms: [ "embarrassed", "emoticon", "face" ]
2573
+ }, {
2574
+ title: "fab fa-fly",
2575
+ searchTerms: []
2576
+ }, {
2577
+ title: "fas fa-folder",
2578
+ searchTerms: []
2579
+ }, {
2580
+ title: "far fa-folder",
2581
+ searchTerms: []
2582
+ }, {
2583
+ title: "fas fa-folder-minus",
2584
+ searchTerms: [ "archive", "delete", "negative", "remove" ]
2585
+ }, {
2586
+ title: "fas fa-folder-open",
2587
+ searchTerms: []
2588
+ }, {
2589
+ title: "far fa-folder-open",
2590
+ searchTerms: []
2591
+ }, {
2592
+ title: "fas fa-folder-plus",
2593
+ searchTerms: [ "add", "create", "new", "positive" ]
2594
+ }, {
2595
+ title: "fas fa-font",
2596
+ searchTerms: [ "text" ]
2597
+ }, {
2598
+ title: "fab fa-font-awesome",
2599
+ searchTerms: [ "meanpath" ]
2600
+ }, {
2601
+ title: "fab fa-font-awesome-alt",
2602
+ searchTerms: []
2603
+ }, {
2604
+ title: "fab fa-font-awesome-flag",
2605
+ searchTerms: []
2606
+ }, {
2607
+ title: "far fa-font-awesome-logo-full",
2608
+ searchTerms: []
2609
+ }, {
2610
+ title: "fas fa-font-awesome-logo-full",
2611
+ searchTerms: []
2612
+ }, {
2613
+ title: "fab fa-font-awesome-logo-full",
2614
+ searchTerms: []
2615
+ }, {
2616
+ title: "fab fa-fonticons",
2617
+ searchTerms: []
2618
+ }, {
2619
+ title: "fab fa-fonticons-fi",
2620
+ searchTerms: []
2621
+ }, {
2622
+ title: "fas fa-football-ball",
2623
+ searchTerms: [ "fall", "pigskin", "seasonal" ]
2624
+ }, {
2625
+ title: "fab fa-fort-awesome",
2626
+ searchTerms: [ "castle" ]
2627
+ }, {
2628
+ title: "fab fa-fort-awesome-alt",
2629
+ searchTerms: [ "castle" ]
2630
+ }, {
2631
+ title: "fab fa-forumbee",
2632
+ searchTerms: []
2633
+ }, {
2634
+ title: "fas fa-forward",
2635
+ searchTerms: [ "forward", "next" ]
2636
+ }, {
2637
+ title: "fab fa-foursquare",
2638
+ searchTerms: []
2639
+ }, {
2640
+ title: "fab fa-free-code-camp",
2641
+ searchTerms: []
2642
+ }, {
2643
+ title: "fab fa-freebsd",
2644
+ searchTerms: []
2645
+ }, {
2646
+ title: "fas fa-frog",
2647
+ searchTerms: [ "amphibian", "bullfrog", "fauna", "hop", "kermit", "kiss", "prince", "ribbit", "toad", "wart" ]
2648
+ }, {
2649
+ title: "fas fa-frown",
2650
+ searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2651
+ }, {
2652
+ title: "far fa-frown",
2653
+ searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2654
+ }, {
2655
+ title: "fas fa-frown-open",
2656
+ searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2657
+ }, {
2658
+ title: "far fa-frown-open",
2659
+ searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2660
+ }, {
2661
+ title: "fab fa-fulcrum",
2662
+ searchTerms: []
2663
+ }, {
2664
+ title: "fas fa-funnel-dollar",
2665
+ searchTerms: []
2666
+ }, {
2667
+ title: "fas fa-futbol",
2668
+ searchTerms: [ "ball", "football", "soccer" ]
2669
+ }, {
2670
+ title: "far fa-futbol",
2671
+ searchTerms: [ "ball", "football", "soccer" ]
2672
+ }, {
2673
+ title: "fab fa-galactic-republic",
2674
+ searchTerms: [ "politics", "star wars" ]
2675
+ }, {
2676
+ title: "fab fa-galactic-senate",
2677
+ searchTerms: [ "star wars" ]
2678
+ }, {
2679
+ title: "fas fa-gamepad",
2680
+ searchTerms: [ "controller" ]
2681
+ }, {
2682
+ title: "fas fa-gas-pump",
2683
+ searchTerms: []
2684
+ }, {
2685
+ title: "fas fa-gavel",
2686
+ searchTerms: [ "hammer", "judge", "lawyer", "opinion" ]
2687
+ }, {
2688
+ title: "fas fa-gem",
2689
+ searchTerms: [ "diamond" ]
2690
+ }, {
2691
+ title: "far fa-gem",
2692
+ searchTerms: [ "diamond" ]
2693
+ }, {
2694
+ title: "fas fa-genderless",
2695
+ searchTerms: []
2696
+ }, {
2697
+ title: "fab fa-get-pocket",
2698
+ searchTerms: []
2699
+ }, {
2700
+ title: "fab fa-gg",
2701
+ searchTerms: []
2702
+ }, {
2703
+ title: "fab fa-gg-circle",
2704
+ searchTerms: []
2705
+ }, {
2706
+ title: "fas fa-ghost",
2707
+ searchTerms: [ "apparition", "blinky", "clyde", "floating", "halloween", "holiday", "inky", "pinky", "spirit" ]
2708
+ }, {
2709
+ title: "fas fa-gift",
2710
+ searchTerms: [ "generosity", "giving", "party", "present", "wrapped" ]
2711
+ }, {
2712
+ title: "fab fa-git",
2713
+ searchTerms: []
2714
+ }, {
2715
+ title: "fab fa-git-square",
2716
+ searchTerms: []
2717
+ }, {
2718
+ title: "fab fa-github",
2719
+ searchTerms: [ "octocat" ]
2720
+ }, {
2721
+ title: "fab fa-github-alt",
2722
+ searchTerms: [ "octocat" ]
2723
+ }, {
2724
+ title: "fab fa-github-square",
2725
+ searchTerms: [ "octocat" ]
2726
+ }, {
2727
+ title: "fab fa-gitkraken",
2728
+ searchTerms: []
2729
+ }, {
2730
+ title: "fab fa-gitlab",
2731
+ searchTerms: [ "Axosoft" ]
2732
+ }, {
2733
+ title: "fab fa-gitter",
2734
+ searchTerms: []
2735
+ }, {
2736
+ title: "fas fa-glass-martini",
2737
+ searchTerms: [ "alcohol", "bar", "beverage", "drink", "glass", "liquor", "martini" ]
2738
+ }, {
2739
+ title: "fas fa-glass-martini-alt",
2740
+ searchTerms: []
2741
+ }, {
2742
+ title: "fas fa-glasses",
2743
+ searchTerms: [ "foureyes", "hipster", "nerd", "reading", "sight", "spectacles" ]
2744
+ }, {
2745
+ title: "fab fa-glide",
2746
+ searchTerms: []
2747
+ }, {
2748
+ title: "fab fa-glide-g",
2749
+ searchTerms: []
2750
+ }, {
2751
+ title: "fas fa-globe",
2752
+ searchTerms: [ "all", "coordinates", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2753
+ }, {
2754
+ title: "fas fa-globe-africa",
2755
+ searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2756
+ }, {
2757
+ title: "fas fa-globe-americas",
2758
+ searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2759
+ }, {
2760
+ title: "fas fa-globe-asia",
2761
+ searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2762
+ }, {
2763
+ title: "fab fa-gofore",
2764
+ searchTerms: []
2765
+ }, {
2766
+ title: "fas fa-golf-ball",
2767
+ searchTerms: []
2768
+ }, {
2769
+ title: "fab fa-goodreads",
2770
+ searchTerms: []
2771
+ }, {
2772
+ title: "fab fa-goodreads-g",
2773
+ searchTerms: []
2774
+ }, {
2775
+ title: "fab fa-google",
2776
+ searchTerms: []
2777
+ }, {
2778
+ title: "fab fa-google-drive",
2779
+ searchTerms: []
2780
+ }, {
2781
+ title: "fab fa-google-play",
2782
+ searchTerms: []
2783
+ }, {
2784
+ title: "fab fa-google-plus",
2785
+ searchTerms: [ "google-plus-circle", "google-plus-official" ]
2786
+ }, {
2787
+ title: "fab fa-google-plus-g",
2788
+ searchTerms: [ "google-plus", "social network" ]
2789
+ }, {
2790
+ title: "fab fa-google-plus-square",
2791
+ searchTerms: [ "social network" ]
2792
+ }, {
2793
+ title: "fab fa-google-wallet",
2794
+ searchTerms: []
2795
+ }, {
2796
+ title: "fas fa-gopuram",
2797
+ searchTerms: [ "building", "entrance", "hinduism", "temple", "tower" ]
2798
+ }, {
2799
+ title: "fas fa-graduation-cap",
2800
+ searchTerms: [ "learning", "school", "student" ]
2801
+ }, {
2802
+ title: "fab fa-gratipay",
2803
+ searchTerms: [ "favorite", "heart", "like", "love" ]
2804
+ }, {
2805
+ title: "fab fa-grav",
2806
+ searchTerms: []
2807
+ }, {
2808
+ title: "fas fa-greater-than",
2809
+ searchTerms: []
2810
+ }, {
2811
+ title: "fas fa-greater-than-equal",
2812
+ searchTerms: []
2813
+ }, {
2814
+ title: "fas fa-grimace",
2815
+ searchTerms: [ "cringe", "emoticon", "face" ]
2816
+ }, {
2817
+ title: "far fa-grimace",
2818
+ searchTerms: [ "cringe", "emoticon", "face" ]
2819
+ }, {
2820
+ title: "fas fa-grin",
2821
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2822
+ }, {
2823
+ title: "far fa-grin",
2824
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2825
+ }, {
2826
+ title: "fas fa-grin-alt",
2827
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2828
+ }, {
2829
+ title: "far fa-grin-alt",
2830
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2831
+ }, {
2832
+ title: "fas fa-grin-beam",
2833
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2834
+ }, {
2835
+ title: "far fa-grin-beam",
2836
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2837
+ }, {
2838
+ title: "fas fa-grin-beam-sweat",
2839
+ searchTerms: [ "emoticon", "face", "smile" ]
2840
+ }, {
2841
+ title: "far fa-grin-beam-sweat",
2842
+ searchTerms: [ "emoticon", "face", "smile" ]
2843
+ }, {
2844
+ title: "fas fa-grin-hearts",
2845
+ searchTerms: [ "emoticon", "face", "love", "smile" ]
2846
+ }, {
2847
+ title: "far fa-grin-hearts",
2848
+ searchTerms: [ "emoticon", "face", "love", "smile" ]
2849
+ }, {
2850
+ title: "fas fa-grin-squint",
2851
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2852
+ }, {
2853
+ title: "far fa-grin-squint",
2854
+ searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2855
+ }, {
2856
+ title: "fas fa-grin-squint-tears",
2857
+ searchTerms: [ "emoticon", "face", "happy", "smile" ]
2858
+ }, {
2859
+ title: "far fa-grin-squint-tears",
2860
+ searchTerms: [ "emoticon", "face", "happy", "smile" ]
2861
+ }, {
2862
+ title: "fas fa-grin-stars",
2863
+ searchTerms: [ "emoticon", "face", "star-struck" ]
2864
+ }, {
2865
+ title: "far fa-grin-stars",
2866
+ searchTerms: [ "emoticon", "face", "star-struck" ]
2867
+ }, {
2868
+ title: "fas fa-grin-tears",
2869
+ searchTerms: [ "LOL", "emoticon", "face" ]
2870
+ }, {
2871
+ title: "far fa-grin-tears",
2872
+ searchTerms: [ "LOL", "emoticon", "face" ]
2873
+ }, {
2874
+ title: "fas fa-grin-tongue",
2875
+ searchTerms: [ "LOL", "emoticon", "face" ]
2876
+ }, {
2877
+ title: "far fa-grin-tongue",
2878
+ searchTerms: [ "LOL", "emoticon", "face" ]
2879
+ }, {
2880
+ title: "fas fa-grin-tongue-squint",
2881
+ searchTerms: [ "LOL", "emoticon", "face" ]
2882
+ }, {
2883
+ title: "far fa-grin-tongue-squint",
2884
+ searchTerms: [ "LOL", "emoticon", "face" ]
2885
+ }, {
2886
+ title: "fas fa-grin-tongue-wink",
2887
+ searchTerms: [ "LOL", "emoticon", "face" ]
2888
+ }, {
2889
+ title: "far fa-grin-tongue-wink",
2890
+ searchTerms: [ "LOL", "emoticon", "face" ]
2891
+ }, {
2892
+ title: "fas fa-grin-wink",
2893
+ searchTerms: [ "emoticon", "face", "flirt", "laugh", "smile" ]
2894
+ }, {
2895
+ title: "far fa-grin-wink",
2896
+ searchTerms: [ "emoticon", "face", "flirt", "laugh", "smile" ]
2897
+ }, {
2898
+ title: "fas fa-grip-horizontal",
2899
+ searchTerms: [ "affordance", "drag", "drop", "grab", "handle" ]
2900
+ }, {
2901
+ title: "fas fa-grip-vertical",
2902
+ searchTerms: [ "affordance", "drag", "drop", "grab", "handle" ]
2903
+ }, {
2904
+ title: "fab fa-gripfire",
2905
+ searchTerms: []
2906
+ }, {
2907
+ title: "fab fa-grunt",
2908
+ searchTerms: []
2909
+ }, {
2910
+ title: "fab fa-gulp",
2911
+ searchTerms: []
2912
+ }, {
2913
+ title: "fas fa-h-square",
2914
+ searchTerms: [ "hospital", "hotel" ]
2915
+ }, {
2916
+ title: "fab fa-hacker-news",
2917
+ searchTerms: []
2918
+ }, {
2919
+ title: "fab fa-hacker-news-square",
2920
+ searchTerms: []
2921
+ }, {
2922
+ title: "fab fa-hackerrank",
2923
+ searchTerms: []
2924
+ }, {
2925
+ title: "fas fa-hammer",
2926
+ searchTerms: [ "admin", "fix", "repair", "settings", "tool" ]
2927
+ }, {
2928
+ title: "fas fa-hamsa",
2929
+ searchTerms: [ "amulet", "christianity", "islam", "jewish", "judaism", "muslim", "protection" ]
2930
+ }, {
2931
+ title: "fas fa-hand-holding",
2932
+ searchTerms: []
2933
+ }, {
2934
+ title: "fas fa-hand-holding-heart",
2935
+ searchTerms: []
2936
+ }, {
2937
+ title: "fas fa-hand-holding-usd",
2938
+ searchTerms: [ "$", "dollar sign", "donation", "giving", "money", "price" ]
2939
+ }, {
2940
+ title: "fas fa-hand-lizard",
2941
+ searchTerms: []
2942
+ }, {
2943
+ title: "far fa-hand-lizard",
2944
+ searchTerms: []
2945
+ }, {
2946
+ title: "fas fa-hand-paper",
2947
+ searchTerms: [ "stop" ]
2948
+ }, {
2949
+ title: "far fa-hand-paper",
2950
+ searchTerms: [ "stop" ]
2951
+ }, {
2952
+ title: "fas fa-hand-peace",
2953
+ searchTerms: []
2954
+ }, {
2955
+ title: "far fa-hand-peace",
2956
+ searchTerms: []
2957
+ }, {
2958
+ title: "fas fa-hand-point-down",
2959
+ searchTerms: [ "finger", "hand-o-down", "point" ]
2960
+ }, {
2961
+ title: "far fa-hand-point-down",
2962
+ searchTerms: [ "finger", "hand-o-down", "point" ]
2963
+ }, {
2964
+ title: "fas fa-hand-point-left",
2965
+ searchTerms: [ "back", "finger", "hand-o-left", "left", "point", "previous" ]
2966
+ }, {
2967
+ title: "far fa-hand-point-left",
2968
+ searchTerms: [ "back", "finger", "hand-o-left", "left", "point", "previous" ]
2969
+ }, {
2970
+ title: "fas fa-hand-point-right",
2971
+ searchTerms: [ "finger", "forward", "hand-o-right", "next", "point", "right" ]
2972
+ }, {
2973
+ title: "far fa-hand-point-right",
2974
+ searchTerms: [ "finger", "forward", "hand-o-right", "next", "point", "right" ]
2975
+ }, {
2976
+ title: "fas fa-hand-point-up",
2977
+ searchTerms: [ "finger", "hand-o-up", "point" ]
2978
+ }, {
2979
+ title: "far fa-hand-point-up",
2980
+ searchTerms: [ "finger", "hand-o-up", "point" ]
2981
+ }, {
2982
+ title: "fas fa-hand-pointer",
2983
+ searchTerms: [ "select" ]
2984
+ }, {
2985
+ title: "far fa-hand-pointer",
2986
+ searchTerms: [ "select" ]
2987
+ }, {
2988
+ title: "fas fa-hand-rock",
2989
+ searchTerms: []
2990
+ }, {
2991
+ title: "far fa-hand-rock",
2992
+ searchTerms: []
2993
+ }, {
2994
+ title: "fas fa-hand-scissors",
2995
+ searchTerms: []
2996
+ }, {
2997
+ title: "far fa-hand-scissors",
2998
+ searchTerms: []
2999
+ }, {
3000
+ title: "fas fa-hand-spock",
3001
+ searchTerms: []
3002
+ }, {
3003
+ title: "far fa-hand-spock",
3004
+ searchTerms: []
3005
+ }, {
3006
+ title: "fas fa-hands",
3007
+ searchTerms: []
3008
+ }, {
3009
+ title: "fas fa-hands-helping",
3010
+ searchTerms: [ "aid", "assistance", "partnership", "volunteering" ]
3011
+ }, {
3012
+ title: "fas fa-handshake",
3013
+ searchTerms: [ "greeting", "partnership" ]
3014
+ }, {
3015
+ title: "far fa-handshake",
3016
+ searchTerms: [ "greeting", "partnership" ]
3017
+ }, {
3018
+ title: "fas fa-hanukiah",
3019
+ searchTerms: [ "candle", "hanukkah", "jewish", "judaism", "light" ]
3020
+ }, {
3021
+ title: "fas fa-hashtag",
3022
+ searchTerms: []
3023
+ }, {
3024
+ title: "fas fa-hat-wizard",
3025
+ searchTerms: [ "Dungeons & Dragons", "buckle", "cloth", "clothing", "d&d", "dnd", "fantasy", "halloween", "holiday", "mage", "magic", "pointy", "witch" ]
3026
+ }, {
3027
+ title: "fas fa-haykal",
3028
+ searchTerms: [ "bahai", "bahá'í", "star" ]
3029
+ }, {
3030
+ title: "fas fa-hdd",
3031
+ searchTerms: [ "cpu", "hard drive", "harddrive", "machine", "save", "storage" ]
3032
+ }, {
3033
+ title: "far fa-hdd",
3034
+ searchTerms: [ "cpu", "hard drive", "harddrive", "machine", "save", "storage" ]
3035
+ }, {
3036
+ title: "fas fa-heading",
3037
+ searchTerms: [ "header" ]
3038
+ }, {
3039
+ title: "fas fa-headphones",
3040
+ searchTerms: [ "audio", "listen", "music", "sound", "speaker" ]
3041
+ }, {
3042
+ title: "fas fa-headphones-alt",
3043
+ searchTerms: [ "audio", "listen", "music", "sound", "speaker" ]
3044
+ }, {
3045
+ title: "fas fa-headset",
3046
+ searchTerms: [ "audio", "gamer", "gaming", "listen", "live chat", "microphone", "shot caller", "sound", "support", "telemarketer" ]
3047
+ }, {
3048
+ title: "fas fa-heart",
3049
+ searchTerms: [ "favorite", "like", "love" ]
3050
+ }, {
3051
+ title: "far fa-heart",
3052
+ searchTerms: [ "favorite", "like", "love" ]
3053
+ }, {
3054
+ title: "fas fa-heartbeat",
3055
+ searchTerms: [ "ekg", "lifeline", "vital signs" ]
3056
+ }, {
3057
+ title: "fas fa-helicopter",
3058
+ searchTerms: [ "airwolf", "apache", "chopper", "flight", "fly" ]
3059
+ }, {
3060
+ title: "fas fa-highlighter",
3061
+ searchTerms: [ "edit", "marker", "sharpie", "update", "write" ]
3062
+ }, {
3063
+ title: "fas fa-hiking",
3064
+ searchTerms: [ "activity", "backpack", "fall", "fitness", "outdoors", "seasonal", "walking" ]
3065
+ }, {
3066
+ title: "fas fa-hippo",
3067
+ searchTerms: [ "fauna", "hungry", "mammmal" ]
3068
+ }, {
3069
+ title: "fab fa-hips",
3070
+ searchTerms: []
3071
+ }, {
3072
+ title: "fab fa-hire-a-helper",
3073
+ searchTerms: []
3074
+ }, {
3075
+ title: "fas fa-history",
3076
+ searchTerms: []
3077
+ }, {
3078
+ title: "fas fa-hockey-puck",
3079
+ searchTerms: []
3080
+ }, {
3081
+ title: "fas fa-home",
3082
+ searchTerms: [ "house", "main" ]
3083
+ }, {
3084
+ title: "fab fa-hooli",
3085
+ searchTerms: []
3086
+ }, {
3087
+ title: "fab fa-hornbill",
3088
+ searchTerms: []
3089
+ }, {
3090
+ title: "fas fa-horse",
3091
+ searchTerms: [ "equus", "fauna", "mammmal", "neigh" ]
3092
+ }, {
3093
+ title: "fas fa-hospital",
3094
+ searchTerms: [ "building", "emergency room", "medical center" ]
3095
+ }, {
3096
+ title: "far fa-hospital",
3097
+ searchTerms: [ "building", "emergency room", "medical center" ]
3098
+ }, {
3099
+ title: "fas fa-hospital-alt",
3100
+ searchTerms: [ "building", "emergency room", "medical center" ]
3101
+ }, {
3102
+ title: "fas fa-hospital-symbol",
3103
+ searchTerms: []
3104
+ }, {
3105
+ title: "fas fa-hot-tub",
3106
+ searchTerms: []
3107
+ }, {
3108
+ title: "fas fa-hotel",
3109
+ searchTerms: [ "building", "lodging" ]
3110
+ }, {
3111
+ title: "fab fa-hotjar",
3112
+ searchTerms: []
3113
+ }, {
3114
+ title: "fas fa-hourglass",
3115
+ searchTerms: []
3116
+ }, {
3117
+ title: "far fa-hourglass",
3118
+ searchTerms: []
3119
+ }, {
3120
+ title: "fas fa-hourglass-end",
3121
+ searchTerms: []
3122
+ }, {
3123
+ title: "fas fa-hourglass-half",
3124
+ searchTerms: []
3125
+ }, {
3126
+ title: "fas fa-hourglass-start",
3127
+ searchTerms: []
3128
+ }, {
3129
+ title: "fas fa-house-damage",
3130
+ searchTerms: [ "devastation", "home" ]
3131
+ }, {
3132
+ title: "fab fa-houzz",
3133
+ searchTerms: []
3134
+ }, {
3135
+ title: "fas fa-hryvnia",
3136
+ searchTerms: [ "money" ]
3137
+ }, {
3138
+ title: "fab fa-html5",
3139
+ searchTerms: []
3140
+ }, {
3141
+ title: "fab fa-hubspot",
3142
+ searchTerms: []
3143
+ }, {
3144
+ title: "fas fa-i-cursor",
3145
+ searchTerms: []
3146
+ }, {
3147
+ title: "fas fa-id-badge",
3148
+ searchTerms: []
3149
+ }, {
3150
+ title: "far fa-id-badge",
3151
+ searchTerms: []
3152
+ }, {
3153
+ title: "fas fa-id-card",
3154
+ searchTerms: [ "document", "identification", "issued" ]
3155
+ }, {
3156
+ title: "far fa-id-card",
3157
+ searchTerms: [ "document", "identification", "issued" ]
3158
+ }, {
3159
+ title: "fas fa-id-card-alt",
3160
+ searchTerms: [ "demographics" ]
3161
+ }, {
3162
+ title: "fas fa-image",
3163
+ searchTerms: [ "album", "photo", "picture" ]
3164
+ }, {
3165
+ title: "far fa-image",
3166
+ searchTerms: [ "album", "photo", "picture" ]
3167
+ }, {
3168
+ title: "fas fa-images",
3169
+ searchTerms: [ "album", "photo", "picture" ]
3170
+ }, {
3171
+ title: "far fa-images",
3172
+ searchTerms: [ "album", "photo", "picture" ]
3173
+ }, {
3174
+ title: "fab fa-imdb",
3175
+ searchTerms: []
3176
+ }, {
3177
+ title: "fas fa-inbox",
3178
+ searchTerms: []
3179
+ }, {
3180
+ title: "fas fa-indent",
3181
+ searchTerms: []
3182
+ }, {
3183
+ title: "fas fa-industry",
3184
+ searchTerms: [ "factory", "manufacturing" ]
3185
+ }, {
3186
+ title: "fas fa-infinity",
3187
+ searchTerms: []
3188
+ }, {
3189
+ title: "fas fa-info",
3190
+ searchTerms: [ "details", "help", "information", "more" ]
3191
+ }, {
3192
+ title: "fas fa-info-circle",
3193
+ searchTerms: [ "details", "help", "information", "more" ]
3194
+ }, {
3195
+ title: "fab fa-instagram",
3196
+ searchTerms: []
3197
+ }, {
3198
+ title: "fab fa-internet-explorer",
3199
+ searchTerms: [ "browser", "ie" ]
3200
+ }, {
3201
+ title: "fab fa-ioxhost",
3202
+ searchTerms: []
3203
+ }, {
3204
+ title: "fas fa-italic",
3205
+ searchTerms: [ "italics" ]
3206
+ }, {
3207
+ title: "fab fa-itunes",
3208
+ searchTerms: []
3209
+ }, {
3210
+ title: "fab fa-itunes-note",
3211
+ searchTerms: []
3212
+ }, {
3213
+ title: "fab fa-java",
3214
+ searchTerms: []
3215
+ }, {
3216
+ title: "fas fa-jedi",
3217
+ searchTerms: [ "star wars" ]
3218
+ }, {
3219
+ title: "fab fa-jedi-order",
3220
+ searchTerms: [ "star wars" ]
3221
+ }, {
3222
+ title: "fab fa-jenkins",
3223
+ searchTerms: []
3224
+ }, {
3225
+ title: "fab fa-joget",
3226
+ searchTerms: []
3227
+ }, {
3228
+ title: "fas fa-joint",
3229
+ searchTerms: [ "blunt", "cannabis", "doobie", "drugs", "marijuana", "roach", "smoke", "smoking", "spliff" ]
3230
+ }, {
3231
+ title: "fab fa-joomla",
3232
+ searchTerms: []
3233
+ }, {
3234
+ title: "fas fa-journal-whills",
3235
+ searchTerms: [ "book", "jedi", "star wars", "the force" ]
3236
+ }, {
3237
+ title: "fab fa-js",
3238
+ searchTerms: []
3239
+ }, {
3240
+ title: "fab fa-js-square",
3241
+ searchTerms: []
3242
+ }, {
3243
+ title: "fab fa-jsfiddle",
3244
+ searchTerms: []
3245
+ }, {
3246
+ title: "fas fa-kaaba",
3247
+ searchTerms: [ "building", "cube", "islam", "muslim" ]
3248
+ }, {
3249
+ title: "fab fa-kaggle",
3250
+ searchTerms: []
3251
+ }, {
3252
+ title: "fas fa-key",
3253
+ searchTerms: [ "password", "unlock" ]
3254
+ }, {
3255
+ title: "fab fa-keybase",
3256
+ searchTerms: []
3257
+ }, {
3258
+ title: "fas fa-keyboard",
3259
+ searchTerms: [ "input", "type" ]
3260
+ }, {
3261
+ title: "far fa-keyboard",
3262
+ searchTerms: [ "input", "type" ]
3263
+ }, {
3264
+ title: "fab fa-keycdn",
3265
+ searchTerms: []
3266
+ }, {
3267
+ title: "fas fa-khanda",
3268
+ searchTerms: [ "chakkar", "sikh", "sikhism", "sword" ]
3269
+ }, {
3270
+ title: "fab fa-kickstarter",
3271
+ searchTerms: []
3272
+ }, {
3273
+ title: "fab fa-kickstarter-k",
3274
+ searchTerms: []
3275
+ }, {
3276
+ title: "fas fa-kiss",
3277
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3278
+ }, {
3279
+ title: "far fa-kiss",
3280
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3281
+ }, {
3282
+ title: "fas fa-kiss-beam",
3283
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3284
+ }, {
3285
+ title: "far fa-kiss-beam",
3286
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3287
+ }, {
3288
+ title: "fas fa-kiss-wink-heart",
3289
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3290
+ }, {
3291
+ title: "far fa-kiss-wink-heart",
3292
+ searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3293
+ }, {
3294
+ title: "fas fa-kiwi-bird",
3295
+ searchTerms: [ "bird", "fauna" ]
3296
+ }, {
3297
+ title: "fab fa-korvue",
3298
+ searchTerms: []
3299
+ }, {
3300
+ title: "fas fa-landmark",
3301
+ searchTerms: [ "building", "historic", "memoroable", "politics" ]
3302
+ }, {
3303
+ title: "fas fa-language",
3304
+ searchTerms: [ "dialect", "idiom", "localize", "speech", "translate", "vernacular" ]
3305
+ }, {
3306
+ title: "fas fa-laptop",
3307
+ searchTerms: [ "computer", "cpu", "dell", "demo", "device", "dude you're getting", "mac", "macbook", "machine", "pc" ]
3308
+ }, {
3309
+ title: "fas fa-laptop-code",
3310
+ searchTerms: []
3311
+ }, {
3312
+ title: "fab fa-laravel",
3313
+ searchTerms: []
3314
+ }, {
3315
+ title: "fab fa-lastfm",
3316
+ searchTerms: []
3317
+ }, {
3318
+ title: "fab fa-lastfm-square",
3319
+ searchTerms: []
3320
+ }, {
3321
+ title: "fas fa-laugh",
3322
+ searchTerms: [ "LOL", "emoticon", "face", "laugh" ]
3323
+ }, {
3324
+ title: "far fa-laugh",
3325
+ searchTerms: [ "LOL", "emoticon", "face", "laugh" ]
3326
+ }, {
3327
+ title: "fas fa-laugh-beam",
3328
+ searchTerms: [ "LOL", "emoticon", "face" ]
3329
+ }, {
3330
+ title: "far fa-laugh-beam",
3331
+ searchTerms: [ "LOL", "emoticon", "face" ]
3332
+ }, {
3333
+ title: "fas fa-laugh-squint",
3334
+ searchTerms: [ "LOL", "emoticon", "face" ]
3335
+ }, {
3336
+ title: "far fa-laugh-squint",
3337
+ searchTerms: [ "LOL", "emoticon", "face" ]
3338
+ }, {
3339
+ title: "fas fa-laugh-wink",
3340
+ searchTerms: [ "LOL", "emoticon", "face" ]
3341
+ }, {
3342
+ title: "far fa-laugh-wink",
3343
+ searchTerms: [ "LOL", "emoticon", "face" ]
3344
+ }, {
3345
+ title: "fas fa-layer-group",
3346
+ searchTerms: [ "layers" ]
3347
+ }, {
3348
+ title: "fas fa-leaf",
3349
+ searchTerms: [ "eco", "flora", "nature", "plant" ]
3350
+ }, {
3351
+ title: "fab fa-leanpub",
3352
+ searchTerms: []
3353
+ }, {
3354
+ title: "fas fa-lemon",
3355
+ searchTerms: [ "food" ]
3356
+ }, {
3357
+ title: "far fa-lemon",
3358
+ searchTerms: [ "food" ]
3359
+ }, {
3360
+ title: "fab fa-less",
3361
+ searchTerms: []
3362
+ }, {
3363
+ title: "fas fa-less-than",
3364
+ searchTerms: []
3365
+ }, {
3366
+ title: "fas fa-less-than-equal",
3367
+ searchTerms: []
3368
+ }, {
3369
+ title: "fas fa-level-down-alt",
3370
+ searchTerms: [ "level-down" ]
3371
+ }, {
3372
+ title: "fas fa-level-up-alt",
3373
+ searchTerms: [ "level-up" ]
3374
+ }, {
3375
+ title: "fas fa-life-ring",
3376
+ searchTerms: [ "support" ]
3377
+ }, {
3378
+ title: "far fa-life-ring",
3379
+ searchTerms: [ "support" ]
3380
+ }, {
3381
+ title: "fas fa-lightbulb",
3382
+ searchTerms: [ "idea", "inspiration" ]
3383
+ }, {
3384
+ title: "far fa-lightbulb",
3385
+ searchTerms: [ "idea", "inspiration" ]
3386
+ }, {
3387
+ title: "fab fa-line",
3388
+ searchTerms: []
3389
+ }, {
3390
+ title: "fas fa-link",
3391
+ searchTerms: [ "chain" ]
3392
+ }, {
3393
+ title: "fab fa-linkedin",
3394
+ searchTerms: [ "linkedin-square" ]
3395
+ }, {
3396
+ title: "fab fa-linkedin-in",
3397
+ searchTerms: [ "linkedin" ]
3398
+ }, {
3399
+ title: "fab fa-linode",
3400
+ searchTerms: []
3401
+ }, {
3402
+ title: "fab fa-linux",
3403
+ searchTerms: [ "tux" ]
3404
+ }, {
3405
+ title: "fas fa-lira-sign",
3406
+ searchTerms: [ "try", "turkish" ]
3407
+ }, {
3408
+ title: "fas fa-list",
3409
+ searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3410
+ }, {
3411
+ title: "fas fa-list-alt",
3412
+ searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3413
+ }, {
3414
+ title: "far fa-list-alt",
3415
+ searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3416
+ }, {
3417
+ title: "fas fa-list-ol",
3418
+ searchTerms: [ "checklist", "list", "numbers", "ol", "todo", "ul" ]
3419
+ }, {
3420
+ title: "fas fa-list-ul",
3421
+ searchTerms: [ "checklist", "list", "ol", "todo", "ul" ]
3422
+ }, {
3423
+ title: "fas fa-location-arrow",
3424
+ searchTerms: [ "address", "coordinates", "gps", "location", "map", "place", "where" ]
3425
+ }, {
3426
+ title: "fas fa-lock",
3427
+ searchTerms: [ "admin", "protect", "security" ]
3428
+ }, {
3429
+ title: "fas fa-lock-open",
3430
+ searchTerms: [ "admin", "lock", "open", "password", "protect" ]
3431
+ }, {
3432
+ title: "fas fa-long-arrow-alt-down",
3433
+ searchTerms: [ "long-arrow-down" ]
3434
+ }, {
3435
+ title: "fas fa-long-arrow-alt-left",
3436
+ searchTerms: [ "back", "long-arrow-left", "previous" ]
3437
+ }, {
3438
+ title: "fas fa-long-arrow-alt-right",
3439
+ searchTerms: [ "long-arrow-right" ]
3440
+ }, {
3441
+ title: "fas fa-long-arrow-alt-up",
3442
+ searchTerms: [ "long-arrow-up" ]
3443
+ }, {
3444
+ title: "fas fa-low-vision",
3445
+ searchTerms: []
3446
+ }, {
3447
+ title: "fas fa-luggage-cart",
3448
+ searchTerms: []
3449
+ }, {
3450
+ title: "fab fa-lyft",
3451
+ searchTerms: []
3452
+ }, {
3453
+ title: "fab fa-magento",
3454
+ searchTerms: []
3455
+ }, {
3456
+ title: "fas fa-magic",
3457
+ searchTerms: [ "autocomplete", "automatic", "mage", "magic", "spell", "witch", "wizard" ]
3458
+ }, {
3459
+ title: "fas fa-magnet",
3460
+ searchTerms: []
3461
+ }, {
3462
+ title: "fas fa-mail-bulk",
3463
+ searchTerms: []
3464
+ }, {
3465
+ title: "fab fa-mailchimp",
3466
+ searchTerms: []
3467
+ }, {
3468
+ title: "fas fa-male",
3469
+ searchTerms: [ "human", "man", "person", "profile", "user" ]
3470
+ }, {
3471
+ title: "fab fa-mandalorian",
3472
+ searchTerms: []
3473
+ }, {
3474
+ title: "fas fa-map",
3475
+ searchTerms: [ "coordinates", "location", "paper", "place", "travel" ]
3476
+ }, {
3477
+ title: "far fa-map",
3478
+ searchTerms: [ "coordinates", "location", "paper", "place", "travel" ]
3479
+ }, {
3480
+ title: "fas fa-map-marked",
3481
+ searchTerms: [ "address", "coordinates", "destination", "gps", "localize", "location", "map", "paper", "pin", "place", "point of interest", "position", "route", "travel", "where" ]
3482
+ }, {
3483
+ title: "fas fa-map-marked-alt",
3484
+ searchTerms: [ "address", "coordinates", "destination", "gps", "localize", "location", "map", "paper", "pin", "place", "point of interest", "position", "route", "travel", "where" ]
3485
+ }, {
3486
+ title: "fas fa-map-marker",
3487
+ searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "pin", "place", "position", "travel", "where" ]
3488
+ }, {
3489
+ title: "fas fa-map-marker-alt",
3490
+ searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "pin", "place", "position", "travel", "where" ]
3491
+ }, {
3492
+ title: "fas fa-map-pin",
3493
+ searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "marker", "place", "position", "travel", "where" ]
3494
+ }, {
3495
+ title: "fas fa-map-signs",
3496
+ searchTerms: []
3497
+ }, {
3498
+ title: "fab fa-markdown",
3499
+ searchTerms: []
3500
+ }, {
3501
+ title: "fas fa-marker",
3502
+ searchTerms: [ "edit", "sharpie", "update", "write" ]
3503
+ }, {
3504
+ title: "fas fa-mars",
3505
+ searchTerms: [ "male" ]
3506
+ }, {
3507
+ title: "fas fa-mars-double",
3508
+ searchTerms: []
3509
+ }, {
3510
+ title: "fas fa-mars-stroke",
3511
+ searchTerms: []
3512
+ }, {
3513
+ title: "fas fa-mars-stroke-h",
3514
+ searchTerms: []
3515
+ }, {
3516
+ title: "fas fa-mars-stroke-v",
3517
+ searchTerms: []
3518
+ }, {
3519
+ title: "fas fa-mask",
3520
+ searchTerms: [ "costume", "disguise", "halloween", "holiday", "secret", "super hero" ]
3521
+ }, {
3522
+ title: "fab fa-mastodon",
3523
+ searchTerms: []
3524
+ }, {
3525
+ title: "fab fa-maxcdn",
3526
+ searchTerms: []
3527
+ }, {
3528
+ title: "fas fa-medal",
3529
+ searchTerms: []
3530
+ }, {
3531
+ title: "fab fa-medapps",
3532
+ searchTerms: []
3533
+ }, {
3534
+ title: "fab fa-medium",
3535
+ searchTerms: []
3536
+ }, {
3537
+ title: "fab fa-medium-m",
3538
+ searchTerms: []
3539
+ }, {
3540
+ title: "fas fa-medkit",
3541
+ searchTerms: [ "first aid", "firstaid", "health", "help", "support" ]
3542
+ }, {
3543
+ title: "fab fa-medrt",
3544
+ searchTerms: []
3545
+ }, {
3546
+ title: "fab fa-meetup",
3547
+ searchTerms: []
3548
+ }, {
3549
+ title: "fab fa-megaport",
3550
+ searchTerms: []
3551
+ }, {
3552
+ title: "fas fa-meh",
3553
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3554
+ }, {
3555
+ title: "far fa-meh",
3556
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3557
+ }, {
3558
+ title: "fas fa-meh-blank",
3559
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3560
+ }, {
3561
+ title: "far fa-meh-blank",
3562
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3563
+ }, {
3564
+ title: "fas fa-meh-rolling-eyes",
3565
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3566
+ }, {
3567
+ title: "far fa-meh-rolling-eyes",
3568
+ searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3569
+ }, {
3570
+ title: "fas fa-memory",
3571
+ searchTerms: [ "DIMM", "RAM" ]
3572
+ }, {
3573
+ title: "fas fa-menorah",
3574
+ searchTerms: [ "candle", "hanukkah", "jewish", "judaism", "light" ]
3575
+ }, {
3576
+ title: "fas fa-mercury",
3577
+ searchTerms: [ "transgender" ]
3578
+ }, {
3579
+ title: "fas fa-meteor",
3580
+ searchTerms: []
3581
+ }, {
3582
+ title: "fas fa-microchip",
3583
+ searchTerms: [ "cpu", "processor" ]
3584
+ }, {
3585
+ title: "fas fa-microphone",
3586
+ searchTerms: [ "record", "sound", "voice" ]
3587
+ }, {
3588
+ title: "fas fa-microphone-alt",
3589
+ searchTerms: [ "record", "sound", "voice" ]
3590
+ }, {
3591
+ title: "fas fa-microphone-alt-slash",
3592
+ searchTerms: [ "disable", "mute", "record", "sound", "voice" ]
3593
+ }, {
3594
+ title: "fas fa-microphone-slash",
3595
+ searchTerms: [ "disable", "mute", "record", "sound", "voice" ]
3596
+ }, {
3597
+ title: "fas fa-microscope",
3598
+ searchTerms: []
3599
+ }, {
3600
+ title: "fab fa-microsoft",
3601
+ searchTerms: []
3602
+ }, {
3603
+ title: "fas fa-minus",
3604
+ searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3605
+ }, {
3606
+ title: "fas fa-minus-circle",
3607
+ searchTerms: [ "delete", "hide", "negative", "remove", "trash" ]
3608
+ }, {
3609
+ title: "fas fa-minus-square",
3610
+ searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3611
+ }, {
3612
+ title: "far fa-minus-square",
3613
+ searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3614
+ }, {
3615
+ title: "fab fa-mix",
3616
+ searchTerms: []
3617
+ }, {
3618
+ title: "fab fa-mixcloud",
3619
+ searchTerms: []
3620
+ }, {
3621
+ title: "fab fa-mizuni",
3622
+ searchTerms: []
3623
+ }, {
3624
+ title: "fas fa-mobile",
3625
+ searchTerms: [ "apple", "call", "cell phone", "cellphone", "device", "iphone", "number", "screen", "telephone", "text" ]
3626
+ }, {
3627
+ title: "fas fa-mobile-alt",
3628
+ searchTerms: [ "apple", "call", "cell phone", "cellphone", "device", "iphone", "number", "screen", "telephone", "text" ]
3629
+ }, {
3630
+ title: "fab fa-modx",
3631
+ searchTerms: []
3632
+ }, {
3633
+ title: "fab fa-monero",
3634
+ searchTerms: []
3635
+ }, {
3636
+ title: "fas fa-money-bill",
3637
+ searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3638
+ }, {
3639
+ title: "fas fa-money-bill-alt",
3640
+ searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3641
+ }, {
3642
+ title: "far fa-money-bill-alt",
3643
+ searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3644
+ }, {
3645
+ title: "fas fa-money-bill-wave",
3646
+ searchTerms: []
3647
+ }, {
3648
+ title: "fas fa-money-bill-wave-alt",
3649
+ searchTerms: []
3650
+ }, {
3651
+ title: "fas fa-money-check",
3652
+ searchTerms: [ "bank check", "cheque" ]
3653
+ }, {
3654
+ title: "fas fa-money-check-alt",
3655
+ searchTerms: [ "bank check", "cheque" ]
3656
+ }, {
3657
+ title: "fas fa-monument",
3658
+ searchTerms: [ "building", "historic", "memoroable" ]
3659
+ }, {
3660
+ title: "fas fa-moon",
3661
+ searchTerms: [ "contrast", "crescent", "darker", "lunar", "night" ]
3662
+ }, {
3663
+ title: "far fa-moon",
3664
+ searchTerms: [ "contrast", "crescent", "darker", "lunar", "night" ]
3665
+ }, {
3666
+ title: "fas fa-mortar-pestle",
3667
+ searchTerms: [ "crush", "culinary", "grind", "medical", "mix", "spices" ]
3668
+ }, {
3669
+ title: "fas fa-mosque",
3670
+ searchTerms: [ "building", "islam", "muslim" ]
3671
+ }, {
3672
+ title: "fas fa-motorcycle",
3673
+ searchTerms: [ "bike", "machine", "transportation", "vehicle" ]
3674
+ }, {
3675
+ title: "fas fa-mountain",
3676
+ searchTerms: []
3677
+ }, {
3678
+ title: "fas fa-mouse-pointer",
3679
+ searchTerms: [ "select" ]
3680
+ }, {
3681
+ title: "fas fa-music",
3682
+ searchTerms: [ "note", "sound" ]
3683
+ }, {
3684
+ title: "fab fa-napster",
3685
+ searchTerms: []
3686
+ }, {
3687
+ title: "fab fa-neos",
3688
+ searchTerms: []
3689
+ }, {
3690
+ title: "fas fa-network-wired",
3691
+ searchTerms: []
3692
+ }, {
3693
+ title: "fas fa-neuter",
3694
+ searchTerms: []
3695
+ }, {
3696
+ title: "fas fa-newspaper",
3697
+ searchTerms: [ "article", "press" ]
3698
+ }, {
3699
+ title: "far fa-newspaper",
3700
+ searchTerms: [ "article", "press" ]
3701
+ }, {
3702
+ title: "fab fa-nimblr",
3703
+ searchTerms: []
3704
+ }, {
3705
+ title: "fab fa-nintendo-switch",
3706
+ searchTerms: []
3707
+ }, {
3708
+ title: "fab fa-node",
3709
+ searchTerms: []
3710
+ }, {
3711
+ title: "fab fa-node-js",
3712
+ searchTerms: []
3713
+ }, {
3714
+ title: "fas fa-not-equal",
3715
+ searchTerms: []
3716
+ }, {
3717
+ title: "fas fa-notes-medical",
3718
+ searchTerms: []
3719
+ }, {
3720
+ title: "fab fa-npm",
3721
+ searchTerms: []
3722
+ }, {
3723
+ title: "fab fa-ns8",
3724
+ searchTerms: []
3725
+ }, {
3726
+ title: "fab fa-nutritionix",
3727
+ searchTerms: []
3728
+ }, {
3729
+ title: "fas fa-object-group",
3730
+ searchTerms: [ "design" ]
3731
+ }, {
3732
+ title: "far fa-object-group",
3733
+ searchTerms: [ "design" ]
3734
+ }, {
3735
+ title: "fas fa-object-ungroup",
3736
+ searchTerms: [ "design" ]
3737
+ }, {
3738
+ title: "far fa-object-ungroup",
3739
+ searchTerms: [ "design" ]
3740
+ }, {
3741
+ title: "fab fa-odnoklassniki",
3742
+ searchTerms: []
3743
+ }, {
3744
+ title: "fab fa-odnoklassniki-square",
3745
+ searchTerms: []
3746
+ }, {
3747
+ title: "fas fa-oil-can",
3748
+ searchTerms: []
3749
+ }, {
3750
+ title: "fab fa-old-republic",
3751
+ searchTerms: [ "politics", "star wars" ]
3752
+ }, {
3753
+ title: "fas fa-om",
3754
+ searchTerms: [ "buddhism", "hinduism", "jainism", "mantra" ]
3755
+ }, {
3756
+ title: "fab fa-opencart",
3757
+ searchTerms: []
3758
+ }, {
3759
+ title: "fab fa-openid",
3760
+ searchTerms: []
3761
+ }, {
3762
+ title: "fab fa-opera",
3763
+ searchTerms: []
3764
+ }, {
3765
+ title: "fab fa-optin-monster",
3766
+ searchTerms: []
3767
+ }, {
3768
+ title: "fab fa-osi",
3769
+ searchTerms: []
3770
+ }, {
3771
+ title: "fas fa-otter",
3772
+ searchTerms: [ "fauna", "mammmal" ]
3773
+ }, {
3774
+ title: "fas fa-outdent",
3775
+ searchTerms: []
3776
+ }, {
3777
+ title: "fab fa-page4",
3778
+ searchTerms: []
3779
+ }, {
3780
+ title: "fab fa-pagelines",
3781
+ searchTerms: [ "eco", "flora", "leaf", "leaves", "nature", "plant", "tree" ]
3782
+ }, {
3783
+ title: "fas fa-paint-brush",
3784
+ searchTerms: []
3785
+ }, {
3786
+ title: "fas fa-paint-roller",
3787
+ searchTerms: [ "brush", "painting", "tool" ]
3788
+ }, {
3789
+ title: "fas fa-palette",
3790
+ searchTerms: [ "colors", "painting" ]
3791
+ }, {
3792
+ title: "fab fa-palfed",
3793
+ searchTerms: []
3794
+ }, {
3795
+ title: "fas fa-pallet",
3796
+ searchTerms: []
3797
+ }, {
3798
+ title: "fas fa-paper-plane",
3799
+ searchTerms: []
3800
+ }, {
3801
+ title: "far fa-paper-plane",
3802
+ searchTerms: []
3803
+ }, {
3804
+ title: "fas fa-paperclip",
3805
+ searchTerms: [ "attachment" ]
3806
+ }, {
3807
+ title: "fas fa-parachute-box",
3808
+ searchTerms: [ "aid", "assistance", "rescue", "supplies" ]
3809
+ }, {
3810
+ title: "fas fa-paragraph",
3811
+ searchTerms: []
3812
+ }, {
3813
+ title: "fas fa-parking",
3814
+ searchTerms: []
3815
+ }, {
3816
+ title: "fas fa-passport",
3817
+ searchTerms: [ "document", "identification", "issued" ]
3818
+ }, {
3819
+ title: "fas fa-pastafarianism",
3820
+ searchTerms: [ "agnosticism", "atheism", "flying spaghetti monster", "fsm" ]
3821
+ }, {
3822
+ title: "fas fa-paste",
3823
+ searchTerms: [ "clipboard", "copy" ]
3824
+ }, {
3825
+ title: "fab fa-patreon",
3826
+ searchTerms: []
3827
+ }, {
3828
+ title: "fas fa-pause",
3829
+ searchTerms: [ "wait" ]
3830
+ }, {
3831
+ title: "fas fa-pause-circle",
3832
+ searchTerms: []
3833
+ }, {
3834
+ title: "far fa-pause-circle",
3835
+ searchTerms: []
3836
+ }, {
3837
+ title: "fas fa-paw",
3838
+ searchTerms: [ "animal", "pet" ]
3839
+ }, {
3840
+ title: "fab fa-paypal",
3841
+ searchTerms: []
3842
+ }, {
3843
+ title: "fas fa-peace",
3844
+ searchTerms: []
3845
+ }, {
3846
+ title: "fas fa-pen",
3847
+ searchTerms: [ "design", "edit", "update", "write" ]
3848
+ }, {
3849
+ title: "fas fa-pen-alt",
3850
+ searchTerms: [ "design", "edit", "update", "write" ]
3851
+ }, {
3852
+ title: "fas fa-pen-fancy",
3853
+ searchTerms: [ "design", "edit", "fountain pen", "update", "write" ]
3854
+ }, {
3855
+ title: "fas fa-pen-nib",
3856
+ searchTerms: [ "design", "edit", "fountain pen", "update", "write" ]
3857
+ }, {
3858
+ title: "fas fa-pen-square",
3859
+ searchTerms: [ "edit", "pencil-square", "update", "write" ]
3860
+ }, {
3861
+ title: "fas fa-pencil-alt",
3862
+ searchTerms: [ "design", "edit", "pencil", "update", "write" ]
3863
+ }, {
3864
+ title: "fas fa-pencil-ruler",
3865
+ searchTerms: []
3866
+ }, {
3867
+ title: "fab fa-penny-arcade",
3868
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "pax", "tabletop" ]
3869
+ }, {
3870
+ title: "fas fa-people-carry",
3871
+ searchTerms: [ "movers" ]
3872
+ }, {
3873
+ title: "fas fa-percent",
3874
+ searchTerms: []
3875
+ }, {
3876
+ title: "fas fa-percentage",
3877
+ searchTerms: []
3878
+ }, {
3879
+ title: "fab fa-periscope",
3880
+ searchTerms: []
3881
+ }, {
3882
+ title: "fas fa-person-booth",
3883
+ searchTerms: [ "changing", "changing room", "election", "human", "person", "vote", "voting" ]
3884
+ }, {
3885
+ title: "fab fa-phabricator",
3886
+ searchTerms: []
3887
+ }, {
3888
+ title: "fab fa-phoenix-framework",
3889
+ searchTerms: []
3890
+ }, {
3891
+ title: "fab fa-phoenix-squadron",
3892
+ searchTerms: []
3893
+ }, {
3894
+ title: "fas fa-phone",
3895
+ searchTerms: [ "call", "earphone", "number", "support", "telephone", "voice" ]
3896
+ }, {
3897
+ title: "fas fa-phone-slash",
3898
+ searchTerms: []
3899
+ }, {
3900
+ title: "fas fa-phone-square",
3901
+ searchTerms: [ "call", "number", "support", "telephone", "voice" ]
3902
+ }, {
3903
+ title: "fas fa-phone-volume",
3904
+ searchTerms: [ "telephone", "volume-control-phone" ]
3905
+ }, {
3906
+ title: "fab fa-php",
3907
+ searchTerms: []
3908
+ }, {
3909
+ title: "fab fa-pied-piper",
3910
+ searchTerms: []
3911
+ }, {
3912
+ title: "fab fa-pied-piper-alt",
3913
+ searchTerms: []
3914
+ }, {
3915
+ title: "fab fa-pied-piper-hat",
3916
+ searchTerms: [ "clothing" ]
3917
+ }, {
3918
+ title: "fab fa-pied-piper-pp",
3919
+ searchTerms: []
3920
+ }, {
3921
+ title: "fas fa-piggy-bank",
3922
+ searchTerms: [ "save", "savings" ]
3923
+ }, {
3924
+ title: "fas fa-pills",
3925
+ searchTerms: [ "drugs", "medicine" ]
3926
+ }, {
3927
+ title: "fab fa-pinterest",
3928
+ searchTerms: []
3929
+ }, {
3930
+ title: "fab fa-pinterest-p",
3931
+ searchTerms: []
3932
+ }, {
3933
+ title: "fab fa-pinterest-square",
3934
+ searchTerms: []
3935
+ }, {
3936
+ title: "fas fa-place-of-worship",
3937
+ searchTerms: []
3938
+ }, {
3939
+ title: "fas fa-plane",
3940
+ searchTerms: [ "airplane", "destination", "fly", "location", "mode", "travel", "trip" ]
3941
+ }, {
3942
+ title: "fas fa-plane-arrival",
3943
+ searchTerms: [ "airplane", "arriving", "destination", "fly", "land", "landing", "location", "mode", "travel", "trip" ]
3944
+ }, {
3945
+ title: "fas fa-plane-departure",
3946
+ searchTerms: [ "airplane", "departing", "destination", "fly", "location", "mode", "take off", "taking off", "travel", "trip" ]
3947
+ }, {
3948
+ title: "fas fa-play",
3949
+ searchTerms: [ "music", "playing", "sound", "start" ]
3950
+ }, {
3951
+ title: "fas fa-play-circle",
3952
+ searchTerms: [ "playing", "start" ]
3953
+ }, {
3954
+ title: "far fa-play-circle",
3955
+ searchTerms: [ "playing", "start" ]
3956
+ }, {
3957
+ title: "fab fa-playstation",
3958
+ searchTerms: []
3959
+ }, {
3960
+ title: "fas fa-plug",
3961
+ searchTerms: [ "connect", "online", "power" ]
3962
+ }, {
3963
+ title: "fas fa-plus",
3964
+ searchTerms: [ "add", "create", "expand", "new", "positive" ]
3965
+ }, {
3966
+ title: "fas fa-plus-circle",
3967
+ searchTerms: [ "add", "create", "expand", "new", "positive" ]
3968
+ }, {
3969
+ title: "fas fa-plus-square",
3970
+ searchTerms: [ "add", "create", "expand", "new", "positive" ]
3971
+ }, {
3972
+ title: "far fa-plus-square",
3973
+ searchTerms: [ "add", "create", "expand", "new", "positive" ]
3974
+ }, {
3975
+ title: "fas fa-podcast",
3976
+ searchTerms: []
3977
+ }, {
3978
+ title: "fas fa-poll",
3979
+ searchTerms: [ "results", "survey", "vote", "voting" ]
3980
+ }, {
3981
+ title: "fas fa-poll-h",
3982
+ searchTerms: [ "results", "survey", "vote", "voting" ]
3983
+ }, {
3984
+ title: "fas fa-poo",
3985
+ searchTerms: []
3986
+ }, {
3987
+ title: "fas fa-poo-storm",
3988
+ searchTerms: [ "mess", "poop", "shit" ]
3989
+ }, {
3990
+ title: "fas fa-poop",
3991
+ searchTerms: []
3992
+ }, {
3993
+ title: "fas fa-portrait",
3994
+ searchTerms: []
3995
+ }, {
3996
+ title: "fas fa-pound-sign",
3997
+ searchTerms: [ "gbp" ]
3998
+ }, {
3999
+ title: "fas fa-power-off",
4000
+ searchTerms: [ "on", "reboot", "restart" ]
4001
+ }, {
4002
+ title: "fas fa-pray",
4003
+ searchTerms: []
4004
+ }, {
4005
+ title: "fas fa-praying-hands",
4006
+ searchTerms: []
4007
+ }, {
4008
+ title: "fas fa-prescription",
4009
+ searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4010
+ }, {
4011
+ title: "fas fa-prescription-bottle",
4012
+ searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4013
+ }, {
4014
+ title: "fas fa-prescription-bottle-alt",
4015
+ searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4016
+ }, {
4017
+ title: "fas fa-print",
4018
+ searchTerms: []
4019
+ }, {
4020
+ title: "fas fa-procedures",
4021
+ searchTerms: []
4022
+ }, {
4023
+ title: "fab fa-product-hunt",
4024
+ searchTerms: []
4025
+ }, {
4026
+ title: "fas fa-project-diagram",
4027
+ searchTerms: []
4028
+ }, {
4029
+ title: "fab fa-pushed",
4030
+ searchTerms: []
4031
+ }, {
4032
+ title: "fas fa-puzzle-piece",
4033
+ searchTerms: [ "add-on", "addon", "section" ]
4034
+ }, {
4035
+ title: "fab fa-python",
4036
+ searchTerms: []
4037
+ }, {
4038
+ title: "fab fa-qq",
4039
+ searchTerms: []
4040
+ }, {
4041
+ title: "fas fa-qrcode",
4042
+ searchTerms: [ "scan" ]
4043
+ }, {
4044
+ title: "fas fa-question",
4045
+ searchTerms: [ "help", "information", "support", "unknown" ]
4046
+ }, {
4047
+ title: "fas fa-question-circle",
4048
+ searchTerms: [ "help", "information", "support", "unknown" ]
4049
+ }, {
4050
+ title: "far fa-question-circle",
4051
+ searchTerms: [ "help", "information", "support", "unknown" ]
4052
+ }, {
4053
+ title: "fas fa-quidditch",
4054
+ searchTerms: []
4055
+ }, {
4056
+ title: "fab fa-quinscape",
4057
+ searchTerms: []
4058
+ }, {
4059
+ title: "fab fa-quora",
4060
+ searchTerms: []
4061
+ }, {
4062
+ title: "fas fa-quote-left",
4063
+ searchTerms: []
4064
+ }, {
4065
+ title: "fas fa-quote-right",
4066
+ searchTerms: []
4067
+ }, {
4068
+ title: "fas fa-quran",
4069
+ searchTerms: [ "book", "islam", "muslim" ]
4070
+ }, {
4071
+ title: "fab fa-r-project",
4072
+ searchTerms: []
4073
+ }, {
4074
+ title: "fas fa-rainbow",
4075
+ searchTerms: []
4076
+ }, {
4077
+ title: "fas fa-random",
4078
+ searchTerms: [ "shuffle", "sort" ]
4079
+ }, {
4080
+ title: "fab fa-ravelry",
4081
+ searchTerms: []
4082
+ }, {
4083
+ title: "fab fa-react",
4084
+ searchTerms: []
4085
+ }, {
4086
+ title: "fab fa-reacteurope",
4087
+ searchTerms: []
4088
+ }, {
4089
+ title: "fab fa-readme",
4090
+ searchTerms: []
4091
+ }, {
4092
+ title: "fab fa-rebel",
4093
+ searchTerms: []
4094
+ }, {
4095
+ title: "fas fa-receipt",
4096
+ searchTerms: [ "check", "invoice", "table" ]
4097
+ }, {
4098
+ title: "fas fa-recycle",
4099
+ searchTerms: []
4100
+ }, {
4101
+ title: "fab fa-red-river",
4102
+ searchTerms: []
4103
+ }, {
4104
+ title: "fab fa-reddit",
4105
+ searchTerms: []
4106
+ }, {
4107
+ title: "fab fa-reddit-alien",
4108
+ searchTerms: []
4109
+ }, {
4110
+ title: "fab fa-reddit-square",
4111
+ searchTerms: []
4112
+ }, {
4113
+ title: "fas fa-redo",
4114
+ searchTerms: [ "forward", "refresh", "reload", "repeat" ]
4115
+ }, {
4116
+ title: "fas fa-redo-alt",
4117
+ searchTerms: [ "forward", "refresh", "reload", "repeat" ]
4118
+ }, {
4119
+ title: "fas fa-registered",
4120
+ searchTerms: []
4121
+ }, {
4122
+ title: "far fa-registered",
4123
+ searchTerms: []
4124
+ }, {
4125
+ title: "fab fa-renren",
4126
+ searchTerms: []
4127
+ }, {
4128
+ title: "fas fa-reply",
4129
+ searchTerms: []
4130
+ }, {
4131
+ title: "fas fa-reply-all",
4132
+ searchTerms: []
4133
+ }, {
4134
+ title: "fab fa-replyd",
4135
+ searchTerms: []
4136
+ }, {
4137
+ title: "fas fa-republican",
4138
+ searchTerms: [ "american", "conservative", "election", "elephant", "politics", "republican party", "right", "right-wing", "usa" ]
4139
+ }, {
4140
+ title: "fab fa-researchgate",
4141
+ searchTerms: []
4142
+ }, {
4143
+ title: "fab fa-resolving",
4144
+ searchTerms: []
4145
+ }, {
4146
+ title: "fas fa-retweet",
4147
+ searchTerms: [ "refresh", "reload", "share", "swap" ]
4148
+ }, {
4149
+ title: "fab fa-rev",
4150
+ searchTerms: []
4151
+ }, {
4152
+ title: "fas fa-ribbon",
4153
+ searchTerms: [ "badge", "cause", "lapel", "pin" ]
4154
+ }, {
4155
+ title: "fas fa-ring",
4156
+ searchTerms: [ "Dungeons & Dragons", "Gollum", "band", "binding", "d&d", "dnd", "fantasy", "jewelry", "precious" ]
4157
+ }, {
4158
+ title: "fas fa-road",
4159
+ searchTerms: [ "street" ]
4160
+ }, {
4161
+ title: "fas fa-robot",
4162
+ searchTerms: []
4163
+ }, {
4164
+ title: "fas fa-rocket",
4165
+ searchTerms: [ "app" ]
4166
+ }, {
4167
+ title: "fab fa-rocketchat",
4168
+ searchTerms: []
4169
+ }, {
4170
+ title: "fab fa-rockrms",
4171
+ searchTerms: []
4172
+ }, {
4173
+ title: "fas fa-route",
4174
+ searchTerms: []
4175
+ }, {
4176
+ title: "fas fa-rss",
4177
+ searchTerms: [ "blog" ]
4178
+ }, {
4179
+ title: "fas fa-rss-square",
4180
+ searchTerms: [ "blog", "feed" ]
4181
+ }, {
4182
+ title: "fas fa-ruble-sign",
4183
+ searchTerms: [ "rub" ]
4184
+ }, {
4185
+ title: "fas fa-ruler",
4186
+ searchTerms: []
4187
+ }, {
4188
+ title: "fas fa-ruler-combined",
4189
+ searchTerms: []
4190
+ }, {
4191
+ title: "fas fa-ruler-horizontal",
4192
+ searchTerms: []
4193
+ }, {
4194
+ title: "fas fa-ruler-vertical",
4195
+ searchTerms: []
4196
+ }, {
4197
+ title: "fas fa-running",
4198
+ searchTerms: [ "jog", "sprint" ]
4199
+ }, {
4200
+ title: "fas fa-rupee-sign",
4201
+ searchTerms: [ "indian", "inr" ]
4202
+ }, {
4203
+ title: "fas fa-sad-cry",
4204
+ searchTerms: [ "emoticon", "face", "tear", "tears" ]
4205
+ }, {
4206
+ title: "far fa-sad-cry",
4207
+ searchTerms: [ "emoticon", "face", "tear", "tears" ]
4208
+ }, {
4209
+ title: "fas fa-sad-tear",
4210
+ searchTerms: [ "emoticon", "face", "tear", "tears" ]
4211
+ }, {
4212
+ title: "far fa-sad-tear",
4213
+ searchTerms: [ "emoticon", "face", "tear", "tears" ]
4214
+ }, {
4215
+ title: "fab fa-safari",
4216
+ searchTerms: [ "browser" ]
4217
+ }, {
4218
+ title: "fab fa-sass",
4219
+ searchTerms: []
4220
+ }, {
4221
+ title: "fas fa-save",
4222
+ searchTerms: [ "floppy", "floppy-o" ]
4223
+ }, {
4224
+ title: "far fa-save",
4225
+ searchTerms: [ "floppy", "floppy-o" ]
4226
+ }, {
4227
+ title: "fab fa-schlix",
4228
+ searchTerms: []
4229
+ }, {
4230
+ title: "fas fa-school",
4231
+ searchTerms: []
4232
+ }, {
4233
+ title: "fas fa-screwdriver",
4234
+ searchTerms: [ "admin", "fix", "repair", "settings", "tool" ]
4235
+ }, {
4236
+ title: "fab fa-scribd",
4237
+ searchTerms: []
4238
+ }, {
4239
+ title: "fas fa-scroll",
4240
+ searchTerms: [ "Dungeons & Dragons", "announcement", "d&d", "dnd", "fantasy", "paper" ]
4241
+ }, {
4242
+ title: "fas fa-search",
4243
+ searchTerms: [ "bigger", "enlarge", "magnify", "preview", "zoom" ]
4244
+ }, {
4245
+ title: "fas fa-search-dollar",
4246
+ searchTerms: []
4247
+ }, {
4248
+ title: "fas fa-search-location",
4249
+ searchTerms: []
4250
+ }, {
4251
+ title: "fas fa-search-minus",
4252
+ searchTerms: [ "minify", "negative", "smaller", "zoom", "zoom out" ]
4253
+ }, {
4254
+ title: "fas fa-search-plus",
4255
+ searchTerms: [ "bigger", "enlarge", "magnify", "positive", "zoom", "zoom in" ]
4256
+ }, {
4257
+ title: "fab fa-searchengin",
4258
+ searchTerms: []
4259
+ }, {
4260
+ title: "fas fa-seedling",
4261
+ searchTerms: []
4262
+ }, {
4263
+ title: "fab fa-sellcast",
4264
+ searchTerms: [ "eercast" ]
4265
+ }, {
4266
+ title: "fab fa-sellsy",
4267
+ searchTerms: []
4268
+ }, {
4269
+ title: "fas fa-server",
4270
+ searchTerms: [ "cpu" ]
4271
+ }, {
4272
+ title: "fab fa-servicestack",
4273
+ searchTerms: []
4274
+ }, {
4275
+ title: "fas fa-shapes",
4276
+ searchTerms: [ "circle", "square", "triangle" ]
4277
+ }, {
4278
+ title: "fas fa-share",
4279
+ searchTerms: []
4280
+ }, {
4281
+ title: "fas fa-share-alt",
4282
+ searchTerms: []
4283
+ }, {
4284
+ title: "fas fa-share-alt-square",
4285
+ searchTerms: []
4286
+ }, {
4287
+ title: "fas fa-share-square",
4288
+ searchTerms: [ "send", "social" ]
4289
+ }, {
4290
+ title: "far fa-share-square",
4291
+ searchTerms: [ "send", "social" ]
4292
+ }, {
4293
+ title: "fas fa-shekel-sign",
4294
+ searchTerms: [ "ils" ]
4295
+ }, {
4296
+ title: "fas fa-shield-alt",
4297
+ searchTerms: [ "achievement", "award", "block", "defend", "security", "winner" ]
4298
+ }, {
4299
+ title: "fas fa-ship",
4300
+ searchTerms: [ "boat", "sea" ]
4301
+ }, {
4302
+ title: "fas fa-shipping-fast",
4303
+ searchTerms: []
4304
+ }, {
4305
+ title: "fab fa-shirtsinbulk",
4306
+ searchTerms: []
4307
+ }, {
4308
+ title: "fas fa-shoe-prints",
4309
+ searchTerms: [ "feet", "footprints", "steps" ]
4310
+ }, {
4311
+ title: "fas fa-shopping-bag",
4312
+ searchTerms: []
4313
+ }, {
4314
+ title: "fas fa-shopping-basket",
4315
+ searchTerms: []
4316
+ }, {
4317
+ title: "fas fa-shopping-cart",
4318
+ searchTerms: [ "buy", "checkout", "payment", "purchase" ]
4319
+ }, {
4320
+ title: "fab fa-shopware",
4321
+ searchTerms: []
4322
+ }, {
4323
+ title: "fas fa-shower",
4324
+ searchTerms: []
4325
+ }, {
4326
+ title: "fas fa-shuttle-van",
4327
+ searchTerms: [ "machine", "public-transportation", "transportation", "vehicle" ]
4328
+ }, {
4329
+ title: "fas fa-sign",
4330
+ searchTerms: []
4331
+ }, {
4332
+ title: "fas fa-sign-in-alt",
4333
+ searchTerms: [ "arrow", "enter", "join", "log in", "login", "sign in", "sign up", "sign-in", "signin", "signup" ]
4334
+ }, {
4335
+ title: "fas fa-sign-language",
4336
+ searchTerms: []
4337
+ }, {
4338
+ title: "fas fa-sign-out-alt",
4339
+ searchTerms: [ "arrow", "exit", "leave", "log out", "logout", "sign-out" ]
4340
+ }, {
4341
+ title: "fas fa-signal",
4342
+ searchTerms: [ "bars", "graph", "online", "status" ]
4343
+ }, {
4344
+ title: "fas fa-signature",
4345
+ searchTerms: [ "John Hancock", "cursive", "name", "writing" ]
4346
+ }, {
4347
+ title: "fab fa-simplybuilt",
4348
+ searchTerms: []
4349
+ }, {
4350
+ title: "fab fa-sistrix",
4351
+ searchTerms: []
4352
+ }, {
4353
+ title: "fas fa-sitemap",
4354
+ searchTerms: [ "directory", "hierarchy", "ia", "information architecture", "organization" ]
4355
+ }, {
4356
+ title: "fab fa-sith",
4357
+ searchTerms: []
4358
+ }, {
4359
+ title: "fas fa-skull",
4360
+ searchTerms: [ "bones", "skeleton", "yorick" ]
4361
+ }, {
4362
+ title: "fas fa-skull-crossbones",
4363
+ searchTerms: [ "Dungeons & Dragons", "alert", "bones", "d&d", "danger", "dead", "deadly", "death", "dnd", "fantasy", "halloween", "holiday", "jolly-roger", "pirate", "poison", "skeleton", "warning" ]
4364
+ }, {
4365
+ title: "fab fa-skyatlas",
4366
+ searchTerms: []
4367
+ }, {
4368
+ title: "fab fa-skype",
4369
+ searchTerms: []
4370
+ }, {
4371
+ title: "fab fa-slack",
4372
+ searchTerms: [ "anchor", "hash", "hashtag" ]
4373
+ }, {
4374
+ title: "fab fa-slack-hash",
4375
+ searchTerms: [ "anchor", "hash", "hashtag" ]
4376
+ }, {
4377
+ title: "fas fa-slash",
4378
+ searchTerms: []
4379
+ }, {
4380
+ title: "fas fa-sliders-h",
4381
+ searchTerms: [ "settings", "sliders" ]
4382
+ }, {
4383
+ title: "fab fa-slideshare",
4384
+ searchTerms: []
4385
+ }, {
4386
+ title: "fas fa-smile",
4387
+ searchTerms: [ "approve", "emoticon", "face", "happy", "rating", "satisfied" ]
4388
+ }, {
4389
+ title: "far fa-smile",
4390
+ searchTerms: [ "approve", "emoticon", "face", "happy", "rating", "satisfied" ]
4391
+ }, {
4392
+ title: "fas fa-smile-beam",
4393
+ searchTerms: [ "emoticon", "face", "happy", "positive" ]
4394
+ }, {
4395
+ title: "far fa-smile-beam",
4396
+ searchTerms: [ "emoticon", "face", "happy", "positive" ]
4397
+ }, {
4398
+ title: "fas fa-smile-wink",
4399
+ searchTerms: [ "emoticon", "face", "happy" ]
4400
+ }, {
4401
+ title: "far fa-smile-wink",
4402
+ searchTerms: [ "emoticon", "face", "happy" ]
4403
+ }, {
4404
+ title: "fas fa-smog",
4405
+ searchTerms: [ "dragon" ]
4406
+ }, {
4407
+ title: "fas fa-smoking",
4408
+ searchTerms: [ "cigarette", "nicotine", "smoking status" ]
4409
+ }, {
4410
+ title: "fas fa-smoking-ban",
4411
+ searchTerms: [ "no smoking", "non-smoking" ]
4412
+ }, {
4413
+ title: "fab fa-snapchat",
4414
+ searchTerms: []
4415
+ }, {
4416
+ title: "fab fa-snapchat-ghost",
4417
+ searchTerms: []
4418
+ }, {
4419
+ title: "fab fa-snapchat-square",
4420
+ searchTerms: []
4421
+ }, {
4422
+ title: "fas fa-snowflake",
4423
+ searchTerms: [ "precipitation", "seasonal", "winter" ]
4424
+ }, {
4425
+ title: "far fa-snowflake",
4426
+ searchTerms: [ "precipitation", "seasonal", "winter" ]
4427
+ }, {
4428
+ title: "fas fa-socks",
4429
+ searchTerms: [ "business socks", "business time", "flight of the conchords", "wednesday" ]
4430
+ }, {
4431
+ title: "fas fa-solar-panel",
4432
+ searchTerms: [ "clean", "eco-friendly", "energy", "green", "sun" ]
4433
+ }, {
4434
+ title: "fas fa-sort",
4435
+ searchTerms: [ "order" ]
4436
+ }, {
4437
+ title: "fas fa-sort-alpha-down",
4438
+ searchTerms: [ "sort-alpha-asc" ]
4439
+ }, {
4440
+ title: "fas fa-sort-alpha-up",
4441
+ searchTerms: [ "sort-alpha-desc" ]
4442
+ }, {
4443
+ title: "fas fa-sort-amount-down",
4444
+ searchTerms: [ "sort-amount-asc" ]
4445
+ }, {
4446
+ title: "fas fa-sort-amount-up",
4447
+ searchTerms: [ "sort-amount-desc" ]
4448
+ }, {
4449
+ title: "fas fa-sort-down",
4450
+ searchTerms: [ "arrow", "descending", "sort-desc" ]
4451
+ }, {
4452
+ title: "fas fa-sort-numeric-down",
4453
+ searchTerms: [ "numbers", "sort-numeric-asc" ]
4454
+ }, {
4455
+ title: "fas fa-sort-numeric-up",
4456
+ searchTerms: [ "numbers", "sort-numeric-desc" ]
4457
+ }, {
4458
+ title: "fas fa-sort-up",
4459
+ searchTerms: [ "arrow", "ascending", "sort-asc" ]
4460
+ }, {
4461
+ title: "fab fa-soundcloud",
4462
+ searchTerms: []
4463
+ }, {
4464
+ title: "fas fa-spa",
4465
+ searchTerms: [ "flora", "mindfullness", "plant", "wellness" ]
4466
+ }, {
4467
+ title: "fas fa-space-shuttle",
4468
+ searchTerms: [ "astronaut", "machine", "nasa", "rocket", "transportation" ]
4469
+ }, {
4470
+ title: "fab fa-speakap",
4471
+ searchTerms: []
4472
+ }, {
4473
+ title: "fas fa-spider",
4474
+ searchTerms: [ "arachnid", "bug", "charlotte", "crawl", "eight", "halloween", "holiday" ]
4475
+ }, {
4476
+ title: "fas fa-spinner",
4477
+ searchTerms: [ "loading", "progress" ]
4478
+ }, {
4479
+ title: "fas fa-splotch",
4480
+ searchTerms: []
4481
+ }, {
4482
+ title: "fab fa-spotify",
4483
+ searchTerms: []
4484
+ }, {
4485
+ title: "fas fa-spray-can",
4486
+ searchTerms: []
4487
+ }, {
4488
+ title: "fas fa-square",
4489
+ searchTerms: [ "block", "box" ]
4490
+ }, {
4491
+ title: "far fa-square",
4492
+ searchTerms: [ "block", "box" ]
4493
+ }, {
4494
+ title: "fas fa-square-full",
4495
+ searchTerms: []
4496
+ }, {
4497
+ title: "fas fa-square-root-alt",
4498
+ searchTerms: []
4499
+ }, {
4500
+ title: "fab fa-squarespace",
4501
+ searchTerms: []
4502
+ }, {
4503
+ title: "fab fa-stack-exchange",
4504
+ searchTerms: []
4505
+ }, {
4506
+ title: "fab fa-stack-overflow",
4507
+ searchTerms: []
4508
+ }, {
4509
+ title: "fas fa-stamp",
4510
+ searchTerms: []
4511
+ }, {
4512
+ title: "fas fa-star",
4513
+ searchTerms: [ "achievement", "award", "favorite", "important", "night", "rating", "score" ]
4514
+ }, {
4515
+ title: "far fa-star",
4516
+ searchTerms: [ "achievement", "award", "favorite", "important", "night", "rating", "score" ]
4517
+ }, {
4518
+ title: "fas fa-star-and-crescent",
4519
+ searchTerms: [ "islam", "muslim" ]
4520
+ }, {
4521
+ title: "fas fa-star-half",
4522
+ searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4523
+ }, {
4524
+ title: "far fa-star-half",
4525
+ searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4526
+ }, {
4527
+ title: "fas fa-star-half-alt",
4528
+ searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4529
+ }, {
4530
+ title: "fas fa-star-of-david",
4531
+ searchTerms: [ "jewish", "judaism" ]
4532
+ }, {
4533
+ title: "fas fa-star-of-life",
4534
+ searchTerms: []
4535
+ }, {
4536
+ title: "fab fa-staylinked",
4537
+ searchTerms: []
4538
+ }, {
4539
+ title: "fab fa-steam",
4540
+ searchTerms: []
4541
+ }, {
4542
+ title: "fab fa-steam-square",
4543
+ searchTerms: []
4544
+ }, {
4545
+ title: "fab fa-steam-symbol",
4546
+ searchTerms: []
4547
+ }, {
4548
+ title: "fas fa-step-backward",
4549
+ searchTerms: [ "beginning", "first", "previous", "rewind", "start" ]
4550
+ }, {
4551
+ title: "fas fa-step-forward",
4552
+ searchTerms: [ "end", "last", "next" ]
4553
+ }, {
4554
+ title: "fas fa-stethoscope",
4555
+ searchTerms: []
4556
+ }, {
4557
+ title: "fab fa-sticker-mule",
4558
+ searchTerms: []
4559
+ }, {
4560
+ title: "fas fa-sticky-note",
4561
+ searchTerms: []
4562
+ }, {
4563
+ title: "far fa-sticky-note",
4564
+ searchTerms: []
4565
+ }, {
4566
+ title: "fas fa-stop",
4567
+ searchTerms: [ "block", "box", "square" ]
4568
+ }, {
4569
+ title: "fas fa-stop-circle",
4570
+ searchTerms: []
4571
+ }, {
4572
+ title: "far fa-stop-circle",
4573
+ searchTerms: []
4574
+ }, {
4575
+ title: "fas fa-stopwatch",
4576
+ searchTerms: [ "time" ]
4577
+ }, {
4578
+ title: "fas fa-store",
4579
+ searchTerms: []
4580
+ }, {
4581
+ title: "fas fa-store-alt",
4582
+ searchTerms: []
4583
+ }, {
4584
+ title: "fab fa-strava",
4585
+ searchTerms: []
4586
+ }, {
4587
+ title: "fas fa-stream",
4588
+ searchTerms: []
4589
+ }, {
4590
+ title: "fas fa-street-view",
4591
+ searchTerms: [ "map" ]
4592
+ }, {
4593
+ title: "fas fa-strikethrough",
4594
+ searchTerms: []
4595
+ }, {
4596
+ title: "fab fa-stripe",
4597
+ searchTerms: []
4598
+ }, {
4599
+ title: "fab fa-stripe-s",
4600
+ searchTerms: []
4601
+ }, {
4602
+ title: "fas fa-stroopwafel",
4603
+ searchTerms: [ "dessert", "food", "sweets", "waffle" ]
4604
+ }, {
4605
+ title: "fab fa-studiovinari",
4606
+ searchTerms: []
4607
+ }, {
4608
+ title: "fab fa-stumbleupon",
4609
+ searchTerms: []
4610
+ }, {
4611
+ title: "fab fa-stumbleupon-circle",
4612
+ searchTerms: []
4613
+ }, {
4614
+ title: "fas fa-subscript",
4615
+ searchTerms: []
4616
+ }, {
4617
+ title: "fas fa-subway",
4618
+ searchTerms: [ "machine", "railway", "train", "transportation", "vehicle" ]
4619
+ }, {
4620
+ title: "fas fa-suitcase",
4621
+ searchTerms: [ "baggage", "luggage", "move", "suitcase", "travel", "trip" ]
4622
+ }, {
4623
+ title: "fas fa-suitcase-rolling",
4624
+ searchTerms: []
4625
+ }, {
4626
+ title: "fas fa-sun",
4627
+ searchTerms: [ "brighten", "contrast", "day", "lighter", "sol", "solar", "star", "weather" ]
4628
+ }, {
4629
+ title: "far fa-sun",
4630
+ searchTerms: [ "brighten", "contrast", "day", "lighter", "sol", "solar", "star", "weather" ]
4631
+ }, {
4632
+ title: "fab fa-superpowers",
4633
+ searchTerms: []
4634
+ }, {
4635
+ title: "fas fa-superscript",
4636
+ searchTerms: [ "exponential" ]
4637
+ }, {
4638
+ title: "fab fa-supple",
4639
+ searchTerms: []
4640
+ }, {
4641
+ title: "fas fa-surprise",
4642
+ searchTerms: [ "emoticon", "face", "shocked" ]
4643
+ }, {
4644
+ title: "far fa-surprise",
4645
+ searchTerms: [ "emoticon", "face", "shocked" ]
4646
+ }, {
4647
+ title: "fas fa-swatchbook",
4648
+ searchTerms: []
4649
+ }, {
4650
+ title: "fas fa-swimmer",
4651
+ searchTerms: [ "athlete", "head", "man", "person", "water" ]
4652
+ }, {
4653
+ title: "fas fa-swimming-pool",
4654
+ searchTerms: [ "ladder", "recreation", "water" ]
4655
+ }, {
4656
+ title: "fas fa-synagogue",
4657
+ searchTerms: [ "building", "jewish", "judaism", "star of david", "temple" ]
4658
+ }, {
4659
+ title: "fas fa-sync",
4660
+ searchTerms: [ "exchange", "refresh", "reload", "rotate", "swap" ]
4661
+ }, {
4662
+ title: "fas fa-sync-alt",
4663
+ searchTerms: [ "refresh", "reload", "rotate" ]
4664
+ }, {
4665
+ title: "fas fa-syringe",
4666
+ searchTerms: [ "immunizations", "needle" ]
4667
+ }, {
4668
+ title: "fas fa-table",
4669
+ searchTerms: [ "data", "excel", "spreadsheet" ]
4670
+ }, {
4671
+ title: "fas fa-table-tennis",
4672
+ searchTerms: []
4673
+ }, {
4674
+ title: "fas fa-tablet",
4675
+ searchTerms: [ "apple", "device", "ipad", "kindle", "screen" ]
4676
+ }, {
4677
+ title: "fas fa-tablet-alt",
4678
+ searchTerms: [ "apple", "device", "ipad", "kindle", "screen" ]
4679
+ }, {
4680
+ title: "fas fa-tablets",
4681
+ searchTerms: [ "drugs", "medicine" ]
4682
+ }, {
4683
+ title: "fas fa-tachometer-alt",
4684
+ searchTerms: [ "dashboard", "tachometer" ]
4685
+ }, {
4686
+ title: "fas fa-tag",
4687
+ searchTerms: [ "label" ]
4688
+ }, {
4689
+ title: "fas fa-tags",
4690
+ searchTerms: [ "labels" ]
4691
+ }, {
4692
+ title: "fas fa-tape",
4693
+ searchTerms: []
4694
+ }, {
4695
+ title: "fas fa-tasks",
4696
+ searchTerms: [ "downloading", "downloads", "loading", "progress", "settings" ]
4697
+ }, {
4698
+ title: "fas fa-taxi",
4699
+ searchTerms: [ "cab", "cabbie", "car", "car service", "lyft", "machine", "transportation", "uber", "vehicle" ]
4700
+ }, {
4701
+ title: "fab fa-teamspeak",
4702
+ searchTerms: []
4703
+ }, {
4704
+ title: "fas fa-teeth",
4705
+ searchTerms: []
4706
+ }, {
4707
+ title: "fas fa-teeth-open",
4708
+ searchTerms: []
4709
+ }, {
4710
+ title: "fab fa-telegram",
4711
+ searchTerms: []
4712
+ }, {
4713
+ title: "fab fa-telegram-plane",
4714
+ searchTerms: []
4715
+ }, {
4716
+ title: "fas fa-temperature-high",
4717
+ searchTerms: [ "mercury", "thermometer", "warm" ]
4718
+ }, {
4719
+ title: "fas fa-temperature-low",
4720
+ searchTerms: [ "cool", "mercury", "thermometer" ]
4721
+ }, {
4722
+ title: "fab fa-tencent-weibo",
4723
+ searchTerms: []
4724
+ }, {
4725
+ title: "fas fa-terminal",
4726
+ searchTerms: [ "code", "command", "console", "prompt" ]
4727
+ }, {
4728
+ title: "fas fa-text-height",
4729
+ searchTerms: []
4730
+ }, {
4731
+ title: "fas fa-text-width",
4732
+ searchTerms: []
4733
+ }, {
4734
+ title: "fas fa-th",
4735
+ searchTerms: [ "blocks", "boxes", "grid", "squares" ]
4736
+ }, {
4737
+ title: "fas fa-th-large",
4738
+ searchTerms: [ "blocks", "boxes", "grid", "squares" ]
4739
+ }, {
4740
+ title: "fas fa-th-list",
4741
+ searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
4742
+ }, {
4743
+ title: "fab fa-the-red-yeti",
4744
+ searchTerms: []
4745
+ }, {
4746
+ title: "fas fa-theater-masks",
4747
+ searchTerms: []
4748
+ }, {
4749
+ title: "fab fa-themeco",
4750
+ searchTerms: []
4751
+ }, {
4752
+ title: "fab fa-themeisle",
4753
+ searchTerms: []
4754
+ }, {
4755
+ title: "fas fa-thermometer",
4756
+ searchTerms: [ "mercury", "status", "temperature" ]
4757
+ }, {
4758
+ title: "fas fa-thermometer-empty",
4759
+ searchTerms: [ "mercury", "status", "temperature" ]
4760
+ }, {
4761
+ title: "fas fa-thermometer-full",
4762
+ searchTerms: [ "fever", "mercury", "status", "temperature" ]
4763
+ }, {
4764
+ title: "fas fa-thermometer-half",
4765
+ searchTerms: [ "mercury", "status", "temperature" ]
4766
+ }, {
4767
+ title: "fas fa-thermometer-quarter",
4768
+ searchTerms: [ "mercury", "status", "temperature" ]
4769
+ }, {
4770
+ title: "fas fa-thermometer-three-quarters",
4771
+ searchTerms: [ "mercury", "status", "temperature" ]
4772
+ }, {
4773
+ title: "fab fa-think-peaks",
4774
+ searchTerms: []
4775
+ }, {
4776
+ title: "fas fa-thumbs-down",
4777
+ searchTerms: [ "disagree", "disapprove", "dislike", "hand", "thumbs-o-down" ]
4778
+ }, {
4779
+ title: "far fa-thumbs-down",
4780
+ searchTerms: [ "disagree", "disapprove", "dislike", "hand", "thumbs-o-down" ]
4781
+ }, {
4782
+ title: "fas fa-thumbs-up",
4783
+ searchTerms: [ "agree", "approve", "favorite", "hand", "like", "ok", "okay", "success", "thumbs-o-up", "yes", "you got it dude" ]
4784
+ }, {
4785
+ title: "far fa-thumbs-up",
4786
+ searchTerms: [ "agree", "approve", "favorite", "hand", "like", "ok", "okay", "success", "thumbs-o-up", "yes", "you got it dude" ]
4787
+ }, {
4788
+ title: "fas fa-thumbtack",
4789
+ searchTerms: [ "coordinates", "location", "marker", "pin", "thumb-tack" ]
4790
+ }, {
4791
+ title: "fas fa-ticket-alt",
4792
+ searchTerms: [ "ticket" ]
4793
+ }, {
4794
+ title: "fas fa-times",
4795
+ searchTerms: [ "close", "cross", "error", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4796
+ }, {
4797
+ title: "fas fa-times-circle",
4798
+ searchTerms: [ "close", "cross", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4799
+ }, {
4800
+ title: "far fa-times-circle",
4801
+ searchTerms: [ "close", "cross", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4802
+ }, {
4803
+ title: "fas fa-tint",
4804
+ searchTerms: [ "drop", "droplet", "raindrop", "waterdrop" ]
4805
+ }, {
4806
+ title: "fas fa-tint-slash",
4807
+ searchTerms: []
4808
+ }, {
4809
+ title: "fas fa-tired",
4810
+ searchTerms: [ "emoticon", "face", "grumpy" ]
4811
+ }, {
4812
+ title: "far fa-tired",
4813
+ searchTerms: [ "emoticon", "face", "grumpy" ]
4814
+ }, {
4815
+ title: "fas fa-toggle-off",
4816
+ searchTerms: [ "switch" ]
4817
+ }, {
4818
+ title: "fas fa-toggle-on",
4819
+ searchTerms: [ "switch" ]
4820
+ }, {
4821
+ title: "fas fa-toilet-paper",
4822
+ searchTerms: [ "bathroom", "halloween", "holiday", "lavatory", "prank", "restroom", "roll" ]
4823
+ }, {
4824
+ title: "fas fa-toolbox",
4825
+ searchTerms: [ "admin", "container", "fix", "repair", "settings", "tools" ]
4826
+ }, {
4827
+ title: "fas fa-tooth",
4828
+ searchTerms: [ "bicuspid", "dental", "molar", "mouth", "teeth" ]
4829
+ }, {
4830
+ title: "fas fa-torah",
4831
+ searchTerms: [ "book", "jewish", "judaism" ]
4832
+ }, {
4833
+ title: "fas fa-torii-gate",
4834
+ searchTerms: [ "building", "shintoism" ]
4835
+ }, {
4836
+ title: "fas fa-tractor",
4837
+ searchTerms: []
4838
+ }, {
4839
+ title: "fab fa-trade-federation",
4840
+ searchTerms: []
4841
+ }, {
4842
+ title: "fas fa-trademark",
4843
+ searchTerms: []
4844
+ }, {
4845
+ title: "fas fa-traffic-light",
4846
+ searchTerms: []
4847
+ }, {
4848
+ title: "fas fa-train",
4849
+ searchTerms: [ "bullet", "locomotive", "railway" ]
4850
+ }, {
4851
+ title: "fas fa-transgender",
4852
+ searchTerms: [ "intersex" ]
4853
+ }, {
4854
+ title: "fas fa-transgender-alt",
4855
+ searchTerms: []
4856
+ }, {
4857
+ title: "fas fa-trash",
4858
+ searchTerms: [ "delete", "garbage", "hide", "remove" ]
4859
+ }, {
4860
+ title: "fas fa-trash-alt",
4861
+ searchTerms: [ "delete", "garbage", "hide", "remove", "trash", "trash-o" ]
4862
+ }, {
4863
+ title: "far fa-trash-alt",
4864
+ searchTerms: [ "delete", "garbage", "hide", "remove", "trash", "trash-o" ]
4865
+ }, {
4866
+ title: "fas fa-tree",
4867
+ searchTerms: [ "bark", "fall", "flora", "forest", "nature", "plant", "seasonal" ]
4868
+ }, {
4869
+ title: "fab fa-trello",
4870
+ searchTerms: []
4871
+ }, {
4872
+ title: "fab fa-tripadvisor",
4873
+ searchTerms: []
4874
+ }, {
4875
+ title: "fas fa-trophy",
4876
+ searchTerms: [ "achievement", "award", "cup", "game", "winner" ]
4877
+ }, {
4878
+ title: "fas fa-truck",
4879
+ searchTerms: [ "delivery", "shipping" ]
4880
+ }, {
4881
+ title: "fas fa-truck-loading",
4882
+ searchTerms: []
4883
+ }, {
4884
+ title: "fas fa-truck-monster",
4885
+ searchTerms: []
4886
+ }, {
4887
+ title: "fas fa-truck-moving",
4888
+ searchTerms: []
4889
+ }, {
4890
+ title: "fas fa-truck-pickup",
4891
+ searchTerms: []
4892
+ }, {
4893
+ title: "fas fa-tshirt",
4894
+ searchTerms: [ "cloth", "clothing" ]
4895
+ }, {
4896
+ title: "fas fa-tty",
4897
+ searchTerms: []
4898
+ }, {
4899
+ title: "fab fa-tumblr",
4900
+ searchTerms: []
4901
+ }, {
4902
+ title: "fab fa-tumblr-square",
4903
+ searchTerms: []
4904
+ }, {
4905
+ title: "fas fa-tv",
4906
+ searchTerms: [ "computer", "display", "monitor", "television" ]
4907
+ }, {
4908
+ title: "fab fa-twitch",
4909
+ searchTerms: []
4910
+ }, {
4911
+ title: "fab fa-twitter",
4912
+ searchTerms: [ "social network", "tweet" ]
4913
+ }, {
4914
+ title: "fab fa-twitter-square",
4915
+ searchTerms: [ "social network", "tweet" ]
4916
+ }, {
4917
+ title: "fab fa-typo3",
4918
+ searchTerms: []
4919
+ }, {
4920
+ title: "fab fa-uber",
4921
+ searchTerms: []
4922
+ }, {
4923
+ title: "fab fa-uikit",
4924
+ searchTerms: []
4925
+ }, {
4926
+ title: "fas fa-umbrella",
4927
+ searchTerms: [ "protection", "rain" ]
4928
+ }, {
4929
+ title: "fas fa-umbrella-beach",
4930
+ searchTerms: [ "protection", "recreation", "sun" ]
4931
+ }, {
4932
+ title: "fas fa-underline",
4933
+ searchTerms: []
4934
+ }, {
4935
+ title: "fas fa-undo",
4936
+ searchTerms: [ "back", "control z", "exchange", "oops", "return", "rotate", "swap" ]
4937
+ }, {
4938
+ title: "fas fa-undo-alt",
4939
+ searchTerms: [ "back", "control z", "exchange", "oops", "return", "swap" ]
4940
+ }, {
4941
+ title: "fab fa-uniregistry",
4942
+ searchTerms: []
4943
+ }, {
4944
+ title: "fas fa-universal-access",
4945
+ searchTerms: []
4946
+ }, {
4947
+ title: "fas fa-university",
4948
+ searchTerms: [ "bank", "institution" ]
4949
+ }, {
4950
+ title: "fas fa-unlink",
4951
+ searchTerms: [ "chain", "chain-broken", "remove" ]
4952
+ }, {
4953
+ title: "fas fa-unlock",
4954
+ searchTerms: [ "admin", "lock", "password", "protect" ]
4955
+ }, {
4956
+ title: "fas fa-unlock-alt",
4957
+ searchTerms: [ "admin", "lock", "password", "protect" ]
4958
+ }, {
4959
+ title: "fab fa-untappd",
4960
+ searchTerms: []
4961
+ }, {
4962
+ title: "fas fa-upload",
4963
+ searchTerms: [ "export", "publish" ]
4964
+ }, {
4965
+ title: "fab fa-usb",
4966
+ searchTerms: []
4967
+ }, {
4968
+ title: "fas fa-user",
4969
+ searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4970
+ }, {
4971
+ title: "far fa-user",
4972
+ searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4973
+ }, {
4974
+ title: "fas fa-user-alt",
4975
+ searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4976
+ }, {
4977
+ title: "fas fa-user-alt-slash",
4978
+ searchTerms: []
4979
+ }, {
4980
+ title: "fas fa-user-astronaut",
4981
+ searchTerms: [ "avatar", "clothing", "cosmonaut", "space", "suit" ]
4982
+ }, {
4983
+ title: "fas fa-user-check",
4984
+ searchTerms: []
4985
+ }, {
4986
+ title: "fas fa-user-circle",
4987
+ searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4988
+ }, {
4989
+ title: "far fa-user-circle",
4990
+ searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4991
+ }, {
4992
+ title: "fas fa-user-clock",
4993
+ searchTerms: []
4994
+ }, {
4995
+ title: "fas fa-user-cog",
4996
+ searchTerms: []
4997
+ }, {
4998
+ title: "fas fa-user-edit",
4999
+ searchTerms: []
5000
+ }, {
5001
+ title: "fas fa-user-friends",
5002
+ searchTerms: []
5003
+ }, {
5004
+ title: "fas fa-user-graduate",
5005
+ searchTerms: [ "cap", "clothing", "commencement", "gown", "graduation", "student" ]
5006
+ }, {
5007
+ title: "fas fa-user-injured",
5008
+ searchTerms: [ "cast", "ouch", "sling" ]
5009
+ }, {
5010
+ title: "fas fa-user-lock",
5011
+ searchTerms: []
5012
+ }, {
5013
+ title: "fas fa-user-md",
5014
+ searchTerms: [ "doctor", "job", "medical", "nurse", "occupation", "profile" ]
5015
+ }, {
5016
+ title: "fas fa-user-minus",
5017
+ searchTerms: [ "delete", "negative", "remove" ]
5018
+ }, {
5019
+ title: "fas fa-user-ninja",
5020
+ searchTerms: [ "assassin", "avatar", "dangerous", "deadly", "sneaky" ]
5021
+ }, {
5022
+ title: "fas fa-user-plus",
5023
+ searchTerms: [ "positive", "sign up", "signup" ]
5024
+ }, {
5025
+ title: "fas fa-user-secret",
5026
+ searchTerms: [ "clothing", "coat", "hat", "incognito", "privacy", "spy", "whisper" ]
5027
+ }, {
5028
+ title: "fas fa-user-shield",
5029
+ searchTerms: []
5030
+ }, {
5031
+ title: "fas fa-user-slash",
5032
+ searchTerms: [ "ban", "remove" ]
5033
+ }, {
5034
+ title: "fas fa-user-tag",
5035
+ searchTerms: []
5036
+ }, {
5037
+ title: "fas fa-user-tie",
5038
+ searchTerms: [ "avatar", "business", "clothing", "formal" ]
5039
+ }, {
5040
+ title: "fas fa-user-times",
5041
+ searchTerms: [ "archive", "delete", "remove", "x" ]
5042
+ }, {
5043
+ title: "fas fa-users",
5044
+ searchTerms: [ "people", "persons", "profiles" ]
5045
+ }, {
5046
+ title: "fas fa-users-cog",
5047
+ searchTerms: []
5048
+ }, {
5049
+ title: "fab fa-ussunnah",
5050
+ searchTerms: []
5051
+ }, {
5052
+ title: "fas fa-utensil-spoon",
5053
+ searchTerms: [ "spoon" ]
5054
+ }, {
5055
+ title: "fas fa-utensils",
5056
+ searchTerms: [ "cutlery", "dinner", "eat", "food", "knife", "restaurant", "spoon" ]
5057
+ }, {
5058
+ title: "fab fa-vaadin",
5059
+ searchTerms: []
5060
+ }, {
5061
+ title: "fas fa-vector-square",
5062
+ searchTerms: [ "anchors", "lines", "object" ]
5063
+ }, {
5064
+ title: "fas fa-venus",
5065
+ searchTerms: [ "female" ]
5066
+ }, {
5067
+ title: "fas fa-venus-double",
5068
+ searchTerms: []
5069
+ }, {
5070
+ title: "fas fa-venus-mars",
5071
+ searchTerms: []
5072
+ }, {
5073
+ title: "fab fa-viacoin",
5074
+ searchTerms: []
5075
+ }, {
5076
+ title: "fab fa-viadeo",
5077
+ searchTerms: []
5078
+ }, {
5079
+ title: "fab fa-viadeo-square",
5080
+ searchTerms: []
5081
+ }, {
5082
+ title: "fas fa-vial",
5083
+ searchTerms: [ "test tube" ]
5084
+ }, {
5085
+ title: "fas fa-vials",
5086
+ searchTerms: [ "lab results", "test tubes" ]
5087
+ }, {
5088
+ title: "fab fa-viber",
5089
+ searchTerms: []
5090
+ }, {
5091
+ title: "fas fa-video",
5092
+ searchTerms: [ "camera", "film", "movie", "record", "video-camera" ]
5093
+ }, {
5094
+ title: "fas fa-video-slash",
5095
+ searchTerms: []
5096
+ }, {
5097
+ title: "fas fa-vihara",
5098
+ searchTerms: [ "buddhism", "buddhist", "building", "monastery" ]
5099
+ }, {
5100
+ title: "fab fa-vimeo",
5101
+ searchTerms: []
5102
+ }, {
5103
+ title: "fab fa-vimeo-square",
5104
+ searchTerms: []
5105
+ }, {
5106
+ title: "fab fa-vimeo-v",
5107
+ searchTerms: [ "vimeo" ]
5108
+ }, {
5109
+ title: "fab fa-vine",
5110
+ searchTerms: []
5111
+ }, {
5112
+ title: "fab fa-vk",
5113
+ searchTerms: []
5114
+ }, {
5115
+ title: "fab fa-vnv",
5116
+ searchTerms: []
5117
+ }, {
5118
+ title: "fas fa-volleyball-ball",
5119
+ searchTerms: []
5120
+ }, {
5121
+ title: "fas fa-volume-down",
5122
+ searchTerms: [ "audio", "lower", "music", "quieter", "sound", "speaker" ]
5123
+ }, {
5124
+ title: "fas fa-volume-mute",
5125
+ searchTerms: []
5126
+ }, {
5127
+ title: "fas fa-volume-off",
5128
+ searchTerms: [ "audio", "music", "mute", "sound" ]
5129
+ }, {
5130
+ title: "fas fa-volume-up",
5131
+ searchTerms: [ "audio", "higher", "louder", "music", "sound", "speaker" ]
5132
+ }, {
5133
+ title: "fas fa-vote-yea",
5134
+ searchTerms: [ "accept", "cast", "election", "politics", "positive", "yes" ]
5135
+ }, {
5136
+ title: "fas fa-vr-cardboard",
5137
+ searchTerms: [ "google", "reality", "virtual" ]
5138
+ }, {
5139
+ title: "fab fa-vuejs",
5140
+ searchTerms: []
5141
+ }, {
5142
+ title: "fas fa-walking",
5143
+ searchTerms: []
5144
+ }, {
5145
+ title: "fas fa-wallet",
5146
+ searchTerms: []
5147
+ }, {
5148
+ title: "fas fa-warehouse",
5149
+ searchTerms: []
5150
+ }, {
5151
+ title: "fas fa-water",
5152
+ searchTerms: []
5153
+ }, {
5154
+ title: "fab fa-weebly",
5155
+ searchTerms: []
5156
+ }, {
5157
+ title: "fab fa-weibo",
5158
+ searchTerms: []
5159
+ }, {
5160
+ title: "fas fa-weight",
5161
+ searchTerms: [ "measurement", "scale", "weight" ]
5162
+ }, {
5163
+ title: "fas fa-weight-hanging",
5164
+ searchTerms: [ "anvil", "heavy", "measurement" ]
5165
+ }, {
5166
+ title: "fab fa-weixin",
5167
+ searchTerms: []
5168
+ }, {
5169
+ title: "fab fa-whatsapp",
5170
+ searchTerms: []
5171
+ }, {
5172
+ title: "fab fa-whatsapp-square",
5173
+ searchTerms: []
5174
+ }, {
5175
+ title: "fas fa-wheelchair",
5176
+ searchTerms: [ "handicap", "person" ]
5177
+ }, {
5178
+ title: "fab fa-whmcs",
5179
+ searchTerms: []
5180
+ }, {
5181
+ title: "fas fa-wifi",
5182
+ searchTerms: []
5183
+ }, {
5184
+ title: "fab fa-wikipedia-w",
5185
+ searchTerms: []
5186
+ }, {
5187
+ title: "fas fa-wind",
5188
+ searchTerms: [ "air", "blow", "breeze", "fall", "seasonal" ]
5189
+ }, {
5190
+ title: "fas fa-window-close",
5191
+ searchTerms: []
5192
+ }, {
5193
+ title: "far fa-window-close",
5194
+ searchTerms: []
5195
+ }, {
5196
+ title: "fas fa-window-maximize",
5197
+ searchTerms: []
5198
+ }, {
5199
+ title: "far fa-window-maximize",
5200
+ searchTerms: []
5201
+ }, {
5202
+ title: "fas fa-window-minimize",
5203
+ searchTerms: []
5204
+ }, {
5205
+ title: "far fa-window-minimize",
5206
+ searchTerms: []
5207
+ }, {
5208
+ title: "fas fa-window-restore",
5209
+ searchTerms: []
5210
+ }, {
5211
+ title: "far fa-window-restore",
5212
+ searchTerms: []
5213
+ }, {
5214
+ title: "fab fa-windows",
5215
+ searchTerms: [ "microsoft" ]
5216
+ }, {
5217
+ title: "fas fa-wine-bottle",
5218
+ searchTerms: [ "alcohol", "beverage", "drink", "glass", "grapes" ]
5219
+ }, {
5220
+ title: "fas fa-wine-glass",
5221
+ searchTerms: [ "alcohol", "beverage", "drink", "grapes" ]
5222
+ }, {
5223
+ title: "fas fa-wine-glass-alt",
5224
+ searchTerms: [ "alcohol", "beverage", "drink", "grapes" ]
5225
+ }, {
5226
+ title: "fab fa-wix",
5227
+ searchTerms: []
5228
+ }, {
5229
+ title: "fab fa-wizards-of-the-coast",
5230
+ searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
5231
+ }, {
5232
+ title: "fab fa-wolf-pack-battalion",
5233
+ searchTerms: []
5234
+ }, {
5235
+ title: "fas fa-won-sign",
5236
+ searchTerms: [ "krw" ]
5237
+ }, {
5238
+ title: "fab fa-wordpress",
5239
+ searchTerms: []
5240
+ }, {
5241
+ title: "fab fa-wordpress-simple",
5242
+ searchTerms: []
5243
+ }, {
5244
+ title: "fab fa-wpbeginner",
5245
+ searchTerms: []
5246
+ }, {
5247
+ title: "fab fa-wpexplorer",
5248
+ searchTerms: []
5249
+ }, {
5250
+ title: "fab fa-wpforms",
5251
+ searchTerms: []
5252
+ }, {
5253
+ title: "fab fa-wpressr",
5254
+ searchTerms: [ "rendact" ]
5255
+ }, {
5256
+ title: "fas fa-wrench",
5257
+ searchTerms: [ "fix", "settings", "spanner", "tool", "update" ]
5258
+ }, {
5259
+ title: "fas fa-x-ray",
5260
+ searchTerms: [ "radiological images", "radiology" ]
5261
+ }, {
5262
+ title: "fab fa-xbox",
5263
+ searchTerms: []
5264
+ }, {
5265
+ title: "fab fa-xing",
5266
+ searchTerms: []
5267
+ }, {
5268
+ title: "fab fa-xing-square",
5269
+ searchTerms: []
5270
+ }, {
5271
+ title: "fab fa-y-combinator",
5272
+ searchTerms: []
5273
+ }, {
5274
+ title: "fab fa-yahoo",
5275
+ searchTerms: []
5276
+ }, {
5277
+ title: "fab fa-yandex",
5278
+ searchTerms: []
5279
+ }, {
5280
+ title: "fab fa-yandex-international",
5281
+ searchTerms: []
5282
+ }, {
5283
+ title: "fab fa-yelp",
5284
+ searchTerms: []
5285
+ }, {
5286
+ title: "fas fa-yen-sign",
5287
+ searchTerms: [ "jpy", "money" ]
5288
+ }, {
5289
+ title: "fas fa-yin-yang",
5290
+ searchTerms: [ "daoism", "opposites", "taoism" ]
5291
+ }, {
5292
+ title: "fab fa-yoast",
5293
+ searchTerms: []
5294
+ }, {
5295
+ title: "fab fa-youtube",
5296
+ searchTerms: [ "film", "video", "youtube-play", "youtube-square" ]
5297
+ }, {
5298
+ title: "fab fa-youtube-square",
5299
+ searchTerms: []
5300
+ }, {
5301
+ title: "fab fa-zhihu",
5302
+ searchTerms: []
5303
+ } ]
5304
+ });
5305
  });
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.min.js CHANGED
@@ -1,2 +1,11 @@
1
- !function(a,b){function c(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function d(b,c){return parseInt(a.css(b,c),10)||0}function e(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.pos;a.pos={scrollbarWidth:function(){if(f!==b)return f;var c,d,e=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),g=e.children()[0];return a("body").append(e),c=g.offsetWidth,e.css("overflow","scroll"),d=g.offsetWidth,c===d&&(d=e[0].clientWidth),e.remove(),f=c-d},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.pos.scrollbarWidth():0,height:e?a.pos.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d?c.width():c.outerWidth(),height:d?c.height():c.outerHeight()}}},a.fn.pos=function(b){if(!b||!b.of)return o.apply(this,arguments);b=a.extend({},b);var f,n,p,q,r,s,t=a(b.of),u=a.pos.getWithinInfo(b.within),v=a.pos.getScrollInfo(u),w=(b.collision||"flip").split(" "),x={};return s=e(t),t[0].preventDefault&&(b.at="left top"),n=s.width,p=s.height,q=s.offset,r=a.extend({},q),a.each(["my","at"],function(){var a,c,d=(b[this]||"").split(" ");1===d.length&&(d=j.test(d[0])?d.concat(["center"]):k.test(d[0])?["center"].concat(d):["center","center"]),d[0]=j.test(d[0])?d[0]:"center",d[1]=k.test(d[1])?d[1]:"center",a=l.exec(d[0]),c=l.exec(d[1]),x[this]=[a?a[0]:0,c?c[0]:0],b[this]=[m.exec(d[0])[0],m.exec(d[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===b.at[0]?r.left+=n:"center"===b.at[0]&&(r.left+=n/2),"bottom"===b.at[1]?r.top+=p:"center"===b.at[1]&&(r.top+=p/2),f=c(x.at,n,p),r.left+=f[0],r.top+=f[1],this.each(function(){var e,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=d(this,"marginLeft"),s=d(this,"marginTop"),y=l+o+d(this,"marginRight")+v.width,z=m+s+d(this,"marginBottom")+v.height,A=a.extend({},r),B=c(x.my,k.outerWidth(),k.outerHeight());"right"===b.my[0]?A.left-=l:"center"===b.my[0]&&(A.left-=l/2),"bottom"===b.my[1]?A.top-=m:"center"===b.my[1]&&(A.top-=m/2),A.left+=B[0],A.top+=B[1],a.support.offsetFractions||(A.left=i(A.left),A.top=i(A.top)),e={marginLeft:o,marginTop:s},a.each(["left","top"],function(c,d){a.ui.pos[w[c]]&&a.ui.pos[w[c]][d](A,{targetWidth:n,targetHeight:p,elemWidth:l,elemHeight:m,collisionPosition:e,collisionWidth:y,collisionHeight:z,offset:[f[0]+B[0],f[1]+B[1]],my:b.my,at:b.at,within:u,elem:k})}),b.using&&(j=function(a){var c=q.left-A.left,d=c+n-l,e=q.top-A.top,f=e+p-m,i={target:{element:t,left:q.left,top:q.top,width:n,height:p},element:{element:k,left:A.left,top:A.top,width:l,height:m},horizontal:d<0?"left":c>0?"right":"center",vertical:f<0?"top":e>0?"bottom":"middle"};n<l&&h(c+d)<n&&(i.horizontal="center"),p<m&&h(e+f)<p&&(i.vertical="middle"),g(h(c),h(d))>g(h(e),h(f))?i.important="horizontal":i.important="vertical",b.using.call(this,a,i)}),k.offset(a.extend(A,{using:j}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var d,e=c.within,f=e.isWindow?e.scrollLeft:e.offset.left,h=e.width,i=b.left-c.collisionPosition.marginLeft,j=f-i,k=i+c.collisionWidth-h-f;c.collisionWidth>h?j>0&&k<=0?(d=b.left+j+c.collisionWidth-h-f,b.left+=j-d):k>0&&j<=0?b.left=f:j>k?b.left=f+h-c.collisionWidth:b.left=f:j>0?b.left+=j:k>0?b.left-=k:b.left=g(b.left-i,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var d,e=c.within,f=e.isWindow?e.scrollTop:e.offset.top,h=c.within.height,i=b.top-c.collisionPosition.marginTop,j=f-i,k=i+c.collisionHeight-h-f;c.collisionHeight>h?j>0&&k<=0?(d=b.top+j+c.collisionHeight-h-f,b.top+=j-d):k>0&&j<=0?b.top=f:j>k?b.top=f+h-c.collisionHeight:b.top=f:j>0?b.top+=j:k>0?b.top-=k:b.top=g(b.top-i,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var d,e,f=c.within,g=f.offset.left+f.scrollLeft,i=f.width,j=f.isWindow?f.scrollLeft:f.offset.left,k=b.left-c.collisionPosition.marginLeft,l=k-j,m=k+c.collisionWidth-i-j,n="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,o="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,p=-2*c.offset[0];l<0?(d=b.left+n+o+p+c.collisionWidth-i-g,(d<0||d<h(l))&&(b.left+=n+o+p)):m>0&&(e=b.left-c.collisionPosition.marginLeft+n+o+p-j,(e>0||h(e)<m)&&(b.left+=n+o+p)),a.ui.pos._trigger(b,c,"posCollided","flipLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipTop");var d,e,f=c.within,g=f.offset.top+f.scrollTop,i=f.height,j=f.isWindow?f.scrollTop:f.offset.top,k=b.top-c.collisionPosition.marginTop,l=k-j,m=k+c.collisionHeight-i-j,n="top"===c.my[1],o=n?-c.elemHeight:"bottom"===c.my[1]?c.elemHeight:0,p="top"===c.at[1]?c.targetHeight:"bottom"===c.at[1]?-c.targetHeight:0,q=-2*c.offset[1];l<0?(e=b.top+o+p+q+c.collisionHeight-i-g,b.top+o+p+q>l&&(e<0||e<h(l))&&(b.top+=o+p+q)):m>0&&(d=b.top-c.collisionPosition.marginTop+o+p+q-j,b.top+o+p+q>m&&(d>0||h(d)<m)&&(b.top+=o+p+q)),a.ui.pos._trigger(b,c,"posCollided","flipTop")}},flipfit:{left:function(){a.ui.pos.flip.left.apply(this,arguments),a.ui.pos.fit.left.apply(this,arguments)},top:function(){a.ui.pos.flip.top.apply(this,arguments),a.ui.pos.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return a===!1||""===a||null===a||void 0===a},isEmptyObject:function(a){return this.isEmpty(a)===!0||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return a.inArray(b,c)!==-1},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate"),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!b.isElement(this.options.container)&&a(this.options.container),this.container===!1&&(this.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.templates.search=!1,this.options.templates.buttons=!1,this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),this.input===!1&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated")};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(a){return"fa "+a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="#" class="iconpicker-item"><i></i></a>'}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return this.options.animation===!0&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(c){var d=a(this);return d.is("i")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),b.options.mustAccept===!1?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&b.options.mustAccept===!1&&b.hide(),c.preventDefault(),!1};for(var d in this.options.icons)if("string"==typeof this.options.icons[d]){var e=a(this.options.templates.iconpickerItem);e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d])),e.data("iconpickerValue",this.options.icons[d]).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.options.icons[d]))}return this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(b){var c=a(b.target);return!((!c.hasClass("iconpicker-element")||c.hasClass("iconpicker-element")&&!c.is(this.element))&&0===c.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var c=this;this.getSearchInput().on("keyup.iconpicker",function(){c.filter(a(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var a=c.iconpicker.find(".iconpicker-selected").get(0);c.update(c.iconpickerValue),c._trigger("iconpickerSelected",{iconpickerItem:a,iconpickerValue:c.iconpickerValue}),c.isInline()||c.hide()}),this.getCancelButton().on("click.iconpicker",function(){c.isInline()||c.hide()}),this.element.on("focus.iconpicker",function(a){c.show(),a.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){c.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(d){b.inArray(d.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?c._updateFormGroupStatus(c.getValid(this.value)!==!1):c.update(),c.options.inputSearch===!0&&c.filter(a(this).val().toLowerCase())})},_bindWindowEvents:function(){var b=a(window.document),c=this,d=".iconpicker.inst"+this._id;return a(window).on("resize.iconpicker"+d+" orientationchange.iconpicker"+d,function(a){c.popover.hasClass("in")&&c.updatePlacement()}),c.isInline()||b.on("mouseup"+d,function(a){return c._isEventInsideIconpicker(a)||c.isInline()||c.hide(),a.stopPropagation(),a.preventDefault(),!1}),!1},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){a(window).off(".iconpicker.inst"+this._id),a(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(b,c){b=b||this.options.placement,this.options.placement=b,c=c||this.options.collision,c=c===!0?"flip":c;var d={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:c===!0?"flip":c,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof b)return this.popover.pos(a.extend({},d,b));switch(b){case"inline":d=!1;break;case"topLeftCorner":d.my="right bottom",d.at="left top";break;case"topLeft":d.my="left bottom",d.at="left top";break;case"top":d.my="center bottom",d.at="center top";break;case"topRight":d.my="right bottom",d.at="right top";break;case"topRightCorner":d.my="left bottom",d.at="right top";break;case"rightTop":d.my="left bottom",d.at="right center";break;case"right":d.my="left center",d.at="right center";break;case"rightBottom":d.my="left top",d.at="right center";break;case"bottomRightCorner":d.my="left top",d.at="right bottom";break;case"bottomRight":d.my="right top",d.at="right bottom";break;case"bottom":d.my="center top",d.at="center bottom";break;case"bottomLeft":d.my="left top",d.at="left bottom";break;case"bottomLeftCorner":d.my="right top",d.at="left bottom";break;case"leftBottom":d.my="right top",d.at="left center";break;case"left":d.my="right center",d.at="left center";break;case"leftTop":d.my="right bottom",d.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),d!==!1?this.popover.pos(d).css("maxWidth",a(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("i");a.length>0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(a){return!!this.hasInput()&&(a!==!1?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c),!(!b.inArray(c,this.options.icons)&&!d)&&c},setValue:function(a){var b=this.getValid(a);return b!==!1?(this.iconpickerValue=b,this._trigger("iconpickerSetValue",{iconpickerValue:b}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:a}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(a){return a=this.setValue(a),a!==!1&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),void 0!==b&&""!==b&&null!==b&&b!==!1||(b=a),b},hasInput:function(){return this.input!==!1},isInputSearch:function(){return this.hasInput()&&this.options.inputSearch===!0},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return this.options.templates.search!==!1&&!this.isInputSearch()},hasComponent:function(){return this.component!==!1},hasContainer:function(){return this.container!==!1},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase(),f=!1;try{f=new RegExp(c,"g")}catch(a){f=!1}f!==!1&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){return!this.popover.hasClass("in")&&(a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow"),this.updatePlacement(),this.popover.addClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown")},this),this.options.animation?300:1))},hide:function(){return!!this.popover.hasClass("in")&&(this._trigger("iconpickerHide"),this.popover.removeClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden")},this),this.options.animation?300:1))},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a?a:this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate"),b===!0?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(a!==!1)),a!==!1&&this._updateComponents(),this._trigger("iconpickerUpdated"),a},destroy:function(){this._trigger("iconpickerDestroy"),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed")},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions.icons=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"];
2
- });
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
4
+ *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
+ */
9
+
10
+
11
+ !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(j){j.ui=j.ui||{};j.ui.version="1.12.1";!function(){var r,y=Math.max,x=Math.abs,s=/left|center|right/,i=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,f=/^\w+/,l=/%$/,o=j.fn.pos;function q(e,a,t){return[parseFloat(e[0])*(l.test(e[0])?a/100:1),parseFloat(e[1])*(l.test(e[1])?t/100:1)]}function C(e,a){return parseInt(j.css(e,a),10)||0}j.pos={scrollbarWidth:function(){if(void 0!==r)return r;var e,a,t=j("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),s=t.children()[0];return j("body").append(t),e=s.offsetWidth,t.css("overflow","scroll"),e===(a=s.offsetWidth)&&(a=t[0].clientWidth),t.remove(),r=e-a},getScrollInfo:function(e){var a=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),t=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),s="scroll"===a||"auto"===a&&e.width<e.element[0].scrollWidth;return{width:"scroll"===t||"auto"===t&&e.height<e.element[0].scrollHeight?j.pos.scrollbarWidth():0,height:s?j.pos.scrollbarWidth():0}},getWithinInfo:function(e){var a=j(e||window),t=j.isWindow(a[0]),s=!!a[0]&&9===a[0].nodeType;return{element:a,isWindow:t,isDocument:s,offset:!t&&!s?j(e).offset():{left:0,top:0},scrollLeft:a.scrollLeft(),scrollTop:a.scrollTop(),width:a.outerWidth(),height:a.outerHeight()}}},j.fn.pos=function(h){if(!h||!h.of)return o.apply(this,arguments);h=j.extend({},h);var m,p,d,T,u,e,a,t,g=j(h.of),b=j.pos.getWithinInfo(h.within),k=j.pos.getScrollInfo(b),w=(h.collision||"flip").split(" "),v={};return e=9===(t=(a=g)[0]).nodeType?{width:a.width(),height:a.height(),offset:{top:0,left:0}}:j.isWindow(t)?{width:a.width(),height:a.height(),offset:{top:a.scrollTop(),left:a.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:a.outerWidth(),height:a.outerHeight(),offset:a.offset()},g[0].preventDefault&&(h.at="left top"),p=e.width,d=e.height,T=e.offset,u=j.extend({},T),j.each(["my","at"],function(){var e,a,t=(h[this]||"").split(" ");1===t.length&&(t=s.test(t[0])?t.concat(["center"]):i.test(t[0])?["center"].concat(t):["center","center"]),t[0]=s.test(t[0])?t[0]:"center",t[1]=i.test(t[1])?t[1]:"center",e=c.exec(t[0]),a=c.exec(t[1]),v[this]=[e?e[0]:0,a?a[0]:0],h[this]=[f.exec(t[0])[0],f.exec(t[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===h.at[0]?u.left+=p:"center"===h.at[0]&&(u.left+=p/2),"bottom"===h.at[1]?u.top+=d:"center"===h.at[1]&&(u.top+=d/2),m=q(v.at,p,d),u.left+=m[0],u.top+=m[1],this.each(function(){var t,e,c=j(this),f=c.outerWidth(),l=c.outerHeight(),a=C(this,"marginLeft"),s=C(this,"marginTop"),r=f+a+C(this,"marginRight")+k.width,i=l+s+C(this,"marginBottom")+k.height,o=j.extend({},u),n=q(v.my,c.outerWidth(),c.outerHeight());"right"===h.my[0]?o.left-=f:"center"===h.my[0]&&(o.left-=f/2),"bottom"===h.my[1]?o.top-=l:"center"===h.my[1]&&(o.top-=l/2),o.left+=n[0],o.top+=n[1],t={marginLeft:a,marginTop:s},j.each(["left","top"],function(e,a){j.ui.pos[w[e]]&&j.ui.pos[w[e]][a](o,{targetWidth:p,targetHeight:d,elemWidth:f,elemHeight:l,collisionPosition:t,collisionWidth:r,collisionHeight:i,offset:[m[0]+n[0],m[1]+n[1]],my:h.my,at:h.at,within:b,elem:c})}),h.using&&(e=function(e){var a=T.left-o.left,t=a+p-f,s=T.top-o.top,r=s+d-l,i={target:{element:g,left:T.left,top:T.top,width:p,height:d},element:{element:c,left:o.left,top:o.top,width:f,height:l},horizontal:t<0?"left":0<a?"right":"center",vertical:r<0?"top":0<s?"bottom":"middle"};p<f&&x(a+t)<p&&(i.horizontal="center"),d<l&&x(s+r)<d&&(i.vertical="middle"),y(x(a),x(t))>y(x(s),x(r))?i.important="horizontal":i.important="vertical",h.using.call(this,e,i)}),c.offset(j.extend(o,{using:e}))})},j.ui.pos={_trigger:function(e,a,t,s){a.elem&&a.elem.trigger({type:t,position:e,positionData:a,triggered:s})},fit:{left:function(e,a){j.ui.pos._trigger(e,a,"posCollide","fitLeft");var t,s=a.within,r=s.isWindow?s.scrollLeft:s.offset.left,i=s.width,c=e.left-a.collisionPosition.marginLeft,f=r-c,l=c+a.collisionWidth-i-r;a.collisionWidth>i?0<f&&l<=0?(t=e.left+f+a.collisionWidth-i-r,e.left+=f-t):e.left=0<l&&f<=0?r:l<f?r+i-a.collisionWidth:r:0<f?e.left+=f:0<l?e.left-=l:e.left=y(e.left-c,e.left),j.ui.pos._trigger(e,a,"posCollided","fitLeft")},top:function(e,a){j.ui.pos._trigger(e,a,"posCollide","fitTop");var t,s=a.within,r=s.isWindow?s.scrollTop:s.offset.top,i=a.within.height,c=e.top-a.collisionPosition.marginTop,f=r-c,l=c+a.collisionHeight-i-r;a.collisionHeight>i?0<f&&l<=0?(t=e.top+f+a.collisionHeight-i-r,e.top+=f-t):e.top=0<l&&f<=0?r:l<f?r+i-a.collisionHeight:r:0<f?e.top+=f:0<l?e.top-=l:e.top=y(e.top-c,e.top),j.ui.pos._trigger(e,a,"posCollided","fitTop")}},flip:{left:function(e,a){j.ui.pos._trigger(e,a,"posCollide","flipLeft");var t,s,r=a.within,i=r.offset.left+r.scrollLeft,c=r.width,f=r.isWindow?r.scrollLeft:r.offset.left,l=e.left-a.collisionPosition.marginLeft,o=l-f,n=l+a.collisionWidth-c-f,h="left"===a.my[0]?-a.elemWidth:"right"===a.my[0]?a.elemWidth:0,m="left"===a.at[0]?a.targetWidth:"right"===a.at[0]?-a.targetWidth:0,p=-2*a.offset[0];o<0?((t=e.left+h+m+p+a.collisionWidth-c-i)<0||t<x(o))&&(e.left+=h+m+p):0<n&&(0<(s=e.left-a.collisionPosition.marginLeft+h+m+p-f)||x(s)<n)&&(e.left+=h+m+p),j.ui.pos._trigger(e,a,"posCollided","flipLeft")},top:function(e,a){j.ui.pos._trigger(e,a,"posCollide","flipTop");var t,s,r=a.within,i=r.offset.top+r.scrollTop,c=r.height,f=r.isWindow?r.scrollTop:r.offset.top,l=e.top-a.collisionPosition.marginTop,o=l-f,n=l+a.collisionHeight-c-f,h="top"===a.my[1]?-a.elemHeight:"bottom"===a.my[1]?a.elemHeight:0,m="top"===a.at[1]?a.targetHeight:"bottom"===a.at[1]?-a.targetHeight:0,p=-2*a.offset[1];o<0?((s=e.top+h+m+p+a.collisionHeight-c-i)<0||s<x(o))&&(e.top+=h+m+p):0<n&&(0<(t=e.top-a.collisionPosition.marginTop+h+m+p-f)||x(t)<n)&&(e.top+=h+m+p),j.ui.pos._trigger(e,a,"posCollided","flipTop")}},flipfit:{left:function(){j.ui.pos.flip.left.apply(this,arguments),j.ui.pos.fit.left.apply(this,arguments)},top:function(){j.ui.pos.flip.top.apply(this,arguments),j.ui.pos.fit.top.apply(this,arguments)}}},function(){var e,a,t,s,r,i=document.getElementsByTagName("body")[0],c=document.createElement("div");for(r in e=document.createElement(i?"div":"body"),t={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},i&&j.extend(t,{position:"absolute",left:"-1000px",top:"-1000px"}),t)e.style[r]=t[r];e.appendChild(c),(a=i||document.documentElement).insertBefore(e,a.firstChild),c.style.cssText="position: absolute; left: 10.7432222px;",s=j(c).offset().left,j.support.offsetFractions=10<s&&s<11,e.innerHTML="",a.removeChild(e)}()}();j.ui.position}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):window.jQuery&&!window.jQuery.fn.iconpicker&&e(window.jQuery)}(function(l){"use strict";var t=function(e){return!1===e||""===e||null==e},s=function(e){return 0<l(e).length},r=function(e){return"string"==typeof e||e instanceof String},i=function(e,a){return-1!==l.inArray(e,a)},c=function(e,a){this._id=c._idCounter++,this.element=l(e).addClass("iconpicker-element"),this._trigger("iconpickerCreate",{iconpickerValue:this.iconpickerValue}),this.options=l.extend({},c.defaultOptions,this.element.data(),a),this.options.templates=l.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!s(this.options.container)&&l(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=l("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated",{iconpickerValue:this.iconpickerValue})};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(e){return e},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="javascript:;" class="iconpicker-item"><i></i></a>'}},c.batch=function(e,a){var t=Array.prototype.slice.call(arguments,2);return l(e).each(function(){var e=l(this).data("iconpicker");e&&e[a].apply(e,t)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(e,a){a=a||{},this.element.trigger(l.extend({type:e,iconpickerInstance:this},a))},_createPopover:function(){this.popover=l(this.options.templates.popover);var e=this.popover.find(".popover-title");if(this.options.title&&e.append(l('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?e.append(this.options.templates.search):this.options.title||e.remove(),this.options.showFooter&&!t(this.options.templates.footer)){var a=l(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&a.append(l(this.options.templates.search)),t(this.options.templates.buttons)||a.append(l(this.options.templates.buttons)),this.popover.append(a)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var t=this;this.iconpicker=l(this.options.templates.iconpicker);var e=function(e){var a=l(this);a.is("i")&&(a=a.parent()),t._trigger("iconpickerSelect",{iconpickerItem:a,iconpickerValue:t.iconpickerValue}),!1===t.options.mustAccept?(t.update(a.data("iconpickerValue")),t._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:t.iconpickerValue})):t.update(a.data("iconpickerValue"),!0),t.options.hideOnSelect&&!1===t.options.mustAccept&&t.hide()},a=l(this.options.templates.iconpickerItem),s=[];for(var r in this.options.icons)if("string"==typeof this.options.icons[r].title){var i=a.clone();if(i.find("i").addClass(this.options.fullClassFormatter(this.options.icons[r].title)),i.data("iconpickerValue",this.options.icons[r].title).on("click.iconpicker",e),i.attr("title","."+this.options.icons[r].title),0<this.options.icons[r].searchTerms.length){for(var c="",f=0;f<this.options.icons[r].searchTerms.length;f++)c=c+this.options.icons[r].searchTerms[f]+" ";i.attr("data-search-terms",c)}s.push(i)}return this.iconpicker.find(".iconpicker-items").append(s),this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(e){var a=l(e.target);return!((!a.hasClass("iconpicker-element")||a.hasClass("iconpicker-element")&&!a.is(this.element))&&0===a.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var a=this;this.getSearchInput().on("keyup.iconpicker",function(){a.filter(l(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var e=a.iconpicker.find(".iconpicker-selected").get(0);a.update(a.iconpickerValue),a._trigger("iconpickerSelected",{iconpickerItem:e,iconpickerValue:a.iconpickerValue}),a.isInline()||a.hide()}),this.getCancelButton().on("click.iconpicker",function(){a.isInline()||a.hide()}),this.element.on("focus.iconpicker",function(e){a.show(),e.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){a.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(e){i(e.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?a._updateFormGroupStatus(!1!==a.getValid(this.value)):a.update(),!0===a.options.inputSearch&&a.filter(l(this).val().toLowerCase())})},_bindWindowEvents:function(){var e=l(window.document),a=this,t=".iconpicker.inst"+this._id;l(window).on("resize.iconpicker"+t+" orientationchange.iconpicker"+t,function(e){a.popover.hasClass("in")&&a.updatePlacement()}),a.isInline()||e.on("mouseup"+t,function(e){a._isEventInsideIconpicker(e)||a.isInline()||a.hide()})},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){l(window).off(".iconpicker.inst"+this._id),l(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(e,a){e=e||this.options.placement,this.options.placement=e,a=!0===(a=a||this.options.collision)?"flip":a;var t={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:!0===a?"flip":a,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof e)return this.popover.pos(l.extend({},t,e));switch(e){case"inline":t=!1;break;case"topLeftCorner":t.my="right bottom",t.at="left top";break;case"topLeft":t.my="left bottom",t.at="left top";break;case"top":t.my="center bottom",t.at="center top";break;case"topRight":t.my="right bottom",t.at="right top";break;case"topRightCorner":t.my="left bottom",t.at="right top";break;case"rightTop":t.my="left bottom",t.at="right center";break;case"right":t.my="left center",t.at="right center";break;case"rightBottom":t.my="left top",t.at="right center";break;case"bottomRightCorner":t.my="left top",t.at="right bottom";break;case"bottomRight":t.my="right top",t.at="right bottom";break;case"bottom":t.my="center top",t.at="center bottom";break;case"bottomLeft":t.my="left top",t.at="left bottom";break;case"bottomLeftCorner":t.my="right top",t.at="left bottom";break;case"leftBottom":t.my="right top",t.at="left center";break;case"left":t.my="right center",t.at="left center";break;case"leftTop":t.my="right bottom",t.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),!1!==t?this.popover.pos(t).css("maxWidth",l(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var e=this.component.find("i");0<e.length?e.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(e){return!!this.hasInput()&&(!1!==e?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(e){r(e)||(e="");var a=""===e;e=l.trim(e);for(var t=!1,s=0;s<this.options.icons.length;s++)if(this.options.icons[s].title===e){t=!0;break}return!(!t&&!a)&&e},setValue:function(e){var a=this.getValid(e);return!1!==a?(this.iconpickerValue=a,this._trigger("iconpickerSetValue",{iconpickerValue:a}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:e}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(e){return!1!==(e=this.setValue(e))&&""!==e&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:e})),e},getSourceValue:function(e){var a=e=e||this.options.defaultValue;return void 0!==(a=this.hasInput()?this.input.val():this.element.data("iconpickerValue"))&&""!==a&&null!==a&&!1!==a||(a=e),a},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(s){if(t(s))return this.iconpicker.find(".iconpicker-item").show(),l(!1);var r=[];return this.iconpicker.find(".iconpicker-item").each(function(){var e=l(this),a=e.attr("title").toLowerCase();a=a+" "+(e.attr("data-search-terms")?e.attr("data-search-terms").toLowerCase():"");var t=!1;try{t=new RegExp("(^|\\W)"+s,"g")}catch(e){t=!1}!1!==t&&a.match(t)?(r.push(e),e.show()):e.hide()}),r},show:function(){if(this.popover.hasClass("in"))return!1;l.iconpicker.batch(l(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow",{iconpickerValue:this.iconpickerValue}),this.updatePlacement(),this.popover.addClass("in"),setTimeout(l.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide",{iconpickerValue:this.iconpickerValue}),this.popover.removeClass("in"),setTimeout(l.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(e,a){return e=e||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate",{iconpickerValue:this.iconpickerValue}),!0===a?e=this.setValue(e):(e=this.setSourceValue(e),this._updateFormGroupStatus(!1!==e)),!1!==e&&this._updateComponents(),this._trigger("iconpickerUpdated",{iconpickerValue:this.iconpickerValue}),e},destroy:function(){this._trigger("iconpickerDestroy",{iconpickerValue:this.iconpickerValue}),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),l(this.popover).remove(),this._trigger("iconpickerDestroyed",{iconpickerValue:this.iconpickerValue})},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},l.iconpicker=c,l.fn.iconpicker=function(a){return this.each(function(){var e=l(this);e.data("iconpicker")||e.data("iconpicker",new c(this,"object"==typeof a?a:{}))})},c.defaultOptions=l.extend(c.defaultOptions,{icons:[{title:"fab fa-500px",searchTerms:[]},{title:"fab fa-accessible-icon",searchTerms:["accessibility","handicap","person","wheelchair","wheelchair-alt"]},{title:"fab fa-accusoft",searchTerms:[]},{title:"fab fa-acquisitions-incorporated",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-ad",searchTerms:[]},{title:"fas fa-address-book",searchTerms:[]},{title:"far fa-address-book",searchTerms:[]},{title:"fas fa-address-card",searchTerms:[]},{title:"far fa-address-card",searchTerms:[]},{title:"fas fa-adjust",searchTerms:["contrast"]},{title:"fab fa-adn",searchTerms:[]},{title:"fab fa-adversal",searchTerms:[]},{title:"fab fa-affiliatetheme",searchTerms:[]},{title:"fas fa-air-freshener",searchTerms:[]},{title:"fab fa-algolia",searchTerms:[]},{title:"fas fa-align-center",searchTerms:["middle","text"]},{title:"fas fa-align-justify",searchTerms:["text"]},{title:"fas fa-align-left",searchTerms:["text"]},{title:"fas fa-align-right",searchTerms:["text"]},{title:"fab fa-alipay",searchTerms:[]},{title:"fas fa-allergies",searchTerms:["freckles","hand","intolerances","pox","spots"]},{title:"fab fa-amazon",searchTerms:[]},{title:"fab fa-amazon-pay",searchTerms:[]},{title:"fas fa-ambulance",searchTerms:["help","machine","support","vehicle"]},{title:"fas fa-american-sign-language-interpreting",searchTerms:[]},{title:"fab fa-amilia",searchTerms:[]},{title:"fas fa-anchor",searchTerms:["link"]},{title:"fab fa-android",searchTerms:["robot"]},{title:"fab fa-angellist",searchTerms:[]},{title:"fas fa-angle-double-down",searchTerms:["arrows"]},{title:"fas fa-angle-double-left",searchTerms:["arrows","back","laquo","previous","quote"]},{title:"fas fa-angle-double-right",searchTerms:["arrows","forward","next","quote","raquo"]},{title:"fas fa-angle-double-up",searchTerms:["arrows"]},{title:"fas fa-angle-down",searchTerms:["arrow"]},{title:"fas fa-angle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-angle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-angle-up",searchTerms:["arrow"]},{title:"fas fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"far fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"fab fa-angrycreative",searchTerms:[]},{title:"fab fa-angular",searchTerms:[]},{title:"fas fa-ankh",searchTerms:["amulet","copper","coptic christianity","copts","crux ansata","egyptian","venus"]},{title:"fab fa-app-store",searchTerms:[]},{title:"fab fa-app-store-ios",searchTerms:[]},{title:"fab fa-apper",searchTerms:[]},{title:"fab fa-apple",searchTerms:["food","fruit","mac","osx"]},{title:"fas fa-apple-alt",searchTerms:["fall","food","fruit","fuji","macintosh","seasonal"]},{title:"fab fa-apple-pay",searchTerms:[]},{title:"fas fa-archive",searchTerms:["box","package","storage"]},{title:"fas fa-archway",searchTerms:["arc","monument","road","street"]},{title:"fas fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"far fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"fas fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"far fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"fas fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"far fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"fas fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"far fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"fas fa-arrow-circle-down",searchTerms:["download"]},{title:"fas fa-arrow-circle-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-circle-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-circle-up",searchTerms:[]},{title:"fas fa-arrow-down",searchTerms:["download"]},{title:"fas fa-arrow-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-up",searchTerms:[]},{title:"fas fa-arrows-alt",searchTerms:["arrow","arrows","bigger","enlarge","expand","fullscreen","move","position","reorder","resize"]},{title:"fas fa-arrows-alt-h",searchTerms:["arrows-h","resize"]},{title:"fas fa-arrows-alt-v",searchTerms:["arrows-v","resize"]},{title:"fas fa-assistive-listening-systems",searchTerms:[]},{title:"fas fa-asterisk",searchTerms:["details"]},{title:"fab fa-asymmetrik",searchTerms:[]},{title:"fas fa-at",searchTerms:["e-mail","email"]},{title:"fas fa-atlas",searchTerms:["book","directions","geography","map","wayfinding"]},{title:"fas fa-atom",searchTerms:["atheism","chemistry","science"]},{title:"fab fa-audible",searchTerms:[]},{title:"fas fa-audio-description",searchTerms:[]},{title:"fab fa-autoprefixer",searchTerms:[]},{title:"fab fa-avianex",searchTerms:[]},{title:"fab fa-aviato",searchTerms:[]},{title:"fas fa-award",searchTerms:["honor","praise","prize","recognition","ribbon"]},{title:"fab fa-aws",searchTerms:[]},{title:"fas fa-backspace",searchTerms:["command","delete","keyboard","undo"]},{title:"fas fa-backward",searchTerms:["previous","rewind"]},{title:"fas fa-balance-scale",searchTerms:["balanced","justice","legal","measure","weight"]},{title:"fas fa-ban",searchTerms:["abort","ban","block","cancel","delete","hide","prohibit","remove","stop","trash"]},{title:"fas fa-band-aid",searchTerms:["bandage","boo boo","ouch"]},{title:"fab fa-bandcamp",searchTerms:[]},{title:"fas fa-barcode",searchTerms:["scan"]},{title:"fas fa-bars",searchTerms:["checklist","drag","hamburger","list","menu","nav","navigation","ol","reorder","settings","todo","ul"]},{title:"fas fa-baseball-ball",searchTerms:[]},{title:"fas fa-basketball-ball",searchTerms:[]},{title:"fas fa-bath",searchTerms:[]},{title:"fas fa-battery-empty",searchTerms:["power","status"]},{title:"fas fa-battery-full",searchTerms:["power","status"]},{title:"fas fa-battery-half",searchTerms:["power","status"]},{title:"fas fa-battery-quarter",searchTerms:["power","status"]},{title:"fas fa-battery-three-quarters",searchTerms:["power","status"]},{title:"fas fa-bed",searchTerms:["lodging","sleep","travel"]},{title:"fas fa-beer",searchTerms:["alcohol","bar","beverage","drink","liquor","mug","stein"]},{title:"fab fa-behance",searchTerms:[]},{title:"fab fa-behance-square",searchTerms:[]},{title:"fas fa-bell",searchTerms:["alert","notification","reminder"]},{title:"far fa-bell",searchTerms:["alert","notification","reminder"]},{title:"fas fa-bell-slash",searchTerms:[]},{title:"far fa-bell-slash",searchTerms:[]},{title:"fas fa-bezier-curve",searchTerms:["curves","illustrator","lines","path","vector"]},{title:"fas fa-bible",searchTerms:["book","catholicism","christianity"]},{title:"fas fa-bicycle",searchTerms:["bike","gears","transportation","vehicle"]},{title:"fab fa-bimobject",searchTerms:[]},{title:"fas fa-binoculars",searchTerms:[]},{title:"fas fa-birthday-cake",searchTerms:[]},{title:"fab fa-bitbucket",searchTerms:["bitbucket-square","git"]},{title:"fab fa-bitcoin",searchTerms:[]},{title:"fab fa-bity",searchTerms:[]},{title:"fab fa-black-tie",searchTerms:[]},{title:"fab fa-blackberry",searchTerms:[]},{title:"fas fa-blender",searchTerms:[]},{title:"fas fa-blender-phone",searchTerms:["appliance","fantasy","silly"]},{title:"fas fa-blind",searchTerms:[]},{title:"fab fa-blogger",searchTerms:[]},{title:"fab fa-blogger-b",searchTerms:[]},{title:"fab fa-bluetooth",searchTerms:[]},{title:"fab fa-bluetooth-b",searchTerms:[]},{title:"fas fa-bold",searchTerms:[]},{title:"fas fa-bolt",searchTerms:["electricity","lightning","weather","zap"]},{title:"fas fa-bomb",searchTerms:[]},{title:"fas fa-bone",searchTerms:[]},{title:"fas fa-bong",searchTerms:["aparatus","cannabis","marijuana","pipe","smoke","smoking"]},{title:"fas fa-book",searchTerms:["documentation","read"]},{title:"fas fa-book-dead",searchTerms:["Dungeons & Dragons","crossbones","d&d","dark arts","death","dnd","documentation","evil","fantasy","halloween","holiday","read","skull","spell"]},{title:"fas fa-book-open",searchTerms:["flyer","notebook","open book","pamphlet","reading"]},{title:"fas fa-book-reader",searchTerms:["library"]},{title:"fas fa-bookmark",searchTerms:["save"]},{title:"far fa-bookmark",searchTerms:["save"]},{title:"fas fa-bowling-ball",searchTerms:[]},{title:"fas fa-box",searchTerms:["package"]},{title:"fas fa-box-open",searchTerms:[]},{title:"fas fa-boxes",searchTerms:[]},{title:"fas fa-braille",searchTerms:[]},{title:"fas fa-brain",searchTerms:["cerebellum","gray matter","intellect","medulla oblongata","mind","noodle","wit"]},{title:"fas fa-briefcase",searchTerms:["bag","business","luggage","office","work"]},{title:"fas fa-briefcase-medical",searchTerms:["health briefcase"]},{title:"fas fa-broadcast-tower",searchTerms:["airwaves","radio","waves"]},{title:"fas fa-broom",searchTerms:["clean","firebolt","fly","halloween","holiday","nimbus 2000","quidditch","sweep","witch"]},{title:"fas fa-brush",searchTerms:["bristles","color","handle","painting"]},{title:"fab fa-btc",searchTerms:[]},{title:"fas fa-bug",searchTerms:["insect","report"]},{title:"fas fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"far fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"fas fa-bullhorn",searchTerms:["announcement","broadcast","louder","megaphone","share"]},{title:"fas fa-bullseye",searchTerms:["target"]},{title:"fas fa-burn",searchTerms:["energy"]},{title:"fab fa-buromobelexperte",searchTerms:[]},{title:"fas fa-bus",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-bus-alt",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-business-time",searchTerms:["briefcase","business socks","clock","flight of the conchords","wednesday"]},{title:"fab fa-buysellads",searchTerms:[]},{title:"fas fa-calculator",searchTerms:[]},{title:"fas fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"far fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"fas fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"far fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"fas fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"far fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"fas fa-calendar-minus",searchTerms:["delete","negative","remove"]},{title:"far fa-calendar-minus",searchTerms:["delete","negative","remove"]},{title:"fas fa-calendar-plus",searchTerms:["add","create","new","positive"]},{title:"far fa-calendar-plus",searchTerms:["add","create","new","positive"]},{title:"fas fa-calendar-times",searchTerms:["archive","delete","remove","x"]},{title:"far fa-calendar-times",searchTerms:["archive","delete","remove","x"]},{title:"fas fa-camera",searchTerms:["photo","picture","record"]},{title:"fas fa-camera-retro",searchTerms:["photo","picture","record"]},{title:"fas fa-campground",searchTerms:["camping","fall","outdoors","seasonal","tent"]},{title:"fas fa-cannabis",searchTerms:["bud","chronic","drugs","endica","endo","ganja","marijuana","mary jane","pot","reefer","sativa","spliff","weed","whacky-tabacky"]},{title:"fas fa-capsules",searchTerms:["drugs","medicine"]},{title:"fas fa-car",searchTerms:["machine","transportation","vehicle"]},{title:"fas fa-car-alt",searchTerms:[]},{title:"fas fa-car-battery",searchTerms:[]},{title:"fas fa-car-crash",searchTerms:[]},{title:"fas fa-car-side",searchTerms:[]},{title:"fas fa-caret-down",searchTerms:["arrow","dropdown","menu","more","triangle down"]},{title:"fas fa-caret-left",searchTerms:["arrow","back","previous","triangle left"]},{title:"fas fa-caret-right",searchTerms:["arrow","forward","next","triangle right"]},{title:"fas fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"far fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"fas fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"far fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"fas fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"far fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"fas fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"far fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"fas fa-caret-up",searchTerms:["arrow","triangle up"]},{title:"fas fa-cart-arrow-down",searchTerms:["shopping"]},{title:"fas fa-cart-plus",searchTerms:["add","create","new","positive","shopping"]},{title:"fas fa-cat",searchTerms:["feline","halloween","holiday","kitten","kitty","meow","pet"]},{title:"fab fa-cc-amazon-pay",searchTerms:[]},{title:"fab fa-cc-amex",searchTerms:["amex"]},{title:"fab fa-cc-apple-pay",searchTerms:[]},{title:"fab fa-cc-diners-club",searchTerms:[]},{title:"fab fa-cc-discover",searchTerms:[]},{title:"fab fa-cc-jcb",searchTerms:[]},{title:"fab fa-cc-mastercard",searchTerms:[]},{title:"fab fa-cc-paypal",searchTerms:[]},{title:"fab fa-cc-stripe",searchTerms:[]},{title:"fab fa-cc-visa",searchTerms:[]},{title:"fab fa-centercode",searchTerms:[]},{title:"fas fa-certificate",searchTerms:["badge","star"]},{title:"fas fa-chair",searchTerms:["furniture","seat"]},{title:"fas fa-chalkboard",searchTerms:["blackboard","learning","school","teaching","whiteboard","writing"]},{title:"fas fa-chalkboard-teacher",searchTerms:["blackboard","instructor","learning","professor","school","whiteboard","writing"]},{title:"fas fa-charging-station",searchTerms:[]},{title:"fas fa-chart-area",searchTerms:["analytics","area-chart","graph"]},{title:"fas fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"far fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"fas fa-chart-line",searchTerms:["activity","analytics","dashboard","graph","line-chart"]},{title:"fas fa-chart-pie",searchTerms:["analytics","graph","pie-chart"]},{title:"fas fa-check",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo","yes"]},{title:"fas fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-check-double",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo"]},{title:"fas fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-chess",searchTerms:[]},{title:"fas fa-chess-bishop",searchTerms:[]},{title:"fas fa-chess-board",searchTerms:[]},{title:"fas fa-chess-king",searchTerms:[]},{title:"fas fa-chess-knight",searchTerms:[]},{title:"fas fa-chess-pawn",searchTerms:[]},{title:"fas fa-chess-queen",searchTerms:[]},{title:"fas fa-chess-rook",searchTerms:[]},{title:"fas fa-chevron-circle-down",searchTerms:["arrow","dropdown","menu","more"]},{title:"fas fa-chevron-circle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-chevron-circle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-chevron-circle-up",searchTerms:["arrow"]},{title:"fas fa-chevron-down",searchTerms:[]},{title:"fas fa-chevron-left",searchTerms:["back","bracket","previous"]},{title:"fas fa-chevron-right",searchTerms:["bracket","forward","next"]},{title:"fas fa-chevron-up",searchTerms:[]},{title:"fas fa-child",searchTerms:[]},{title:"fab fa-chrome",searchTerms:["browser"]},{title:"fas fa-church",searchTerms:["building","community","religion"]},{title:"fas fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"far fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"fas fa-circle-notch",searchTerms:["circle-o-notch"]},{title:"fas fa-city",searchTerms:["buildings","busy","skyscrapers","urban","windows"]},{title:"fas fa-clipboard",searchTerms:["paste"]},{title:"far fa-clipboard",searchTerms:["paste"]},{title:"fas fa-clipboard-check",searchTerms:["accept","agree","confirm","done","ok","select","success","todo","yes"]},{title:"fas fa-clipboard-list",searchTerms:["checklist","completed","done","finished","intinerary","ol","schedule","todo","ul"]},{title:"fas fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"far fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"fas fa-clone",searchTerms:["copy","duplicate"]},{title:"far fa-clone",searchTerms:["copy","duplicate"]},{title:"fas fa-closed-captioning",searchTerms:["cc"]},{title:"far fa-closed-captioning",searchTerms:["cc"]},{title:"fas fa-cloud",searchTerms:["save"]},{title:"fas fa-cloud-download-alt",searchTerms:["import"]},{title:"fas fa-cloud-meatball",searchTerms:[]},{title:"fas fa-cloud-moon",searchTerms:["crescent","evening","halloween","holiday","lunar","night","sky"]},{title:"fas fa-cloud-moon-rain",searchTerms:[]},{title:"fas fa-cloud-rain",searchTerms:["precipitation"]},{title:"fas fa-cloud-showers-heavy",searchTerms:["precipitation","rain","storm"]},{title:"fas fa-cloud-sun",searchTerms:["day","daytime","fall","outdoors","seasonal"]},{title:"fas fa-cloud-sun-rain",searchTerms:[]},{title:"fas fa-cloud-upload-alt",searchTerms:["cloud-upload"]},{title:"fab fa-cloudscale",searchTerms:[]},{title:"fab fa-cloudsmith",searchTerms:[]},{title:"fab fa-cloudversify",searchTerms:[]},{title:"fas fa-cocktail",searchTerms:["alcohol","beverage","drink"]},{title:"fas fa-code",searchTerms:["brackets","html"]},{title:"fas fa-code-branch",searchTerms:["branch","code-fork","fork","git","github","rebase","svn","vcs","version"]},{title:"fab fa-codepen",searchTerms:[]},{title:"fab fa-codiepie",searchTerms:[]},{title:"fas fa-coffee",searchTerms:["beverage","breakfast","cafe","drink","fall","morning","mug","seasonal","tea"]},{title:"fas fa-cog",searchTerms:["settings"]},{title:"fas fa-cogs",searchTerms:["gears","settings"]},{title:"fas fa-coins",searchTerms:[]},{title:"fas fa-columns",searchTerms:["dashboard","panes","split"]},{title:"fas fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-alt",searchTerms:["bubble","chat","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment-alt",searchTerms:["bubble","chat","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-dollar",searchTerms:[]},{title:"fas fa-comment-dots",searchTerms:[]},{title:"far fa-comment-dots",searchTerms:[]},{title:"fas fa-comment-slash",searchTerms:[]},{title:"fas fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comments-dollar",searchTerms:[]},{title:"fas fa-compact-disc",searchTerms:["bluray","cd","disc","media"]},{title:"fas fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"far fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"fas fa-compress",searchTerms:["collapse","combine","contract","merge","smaller"]},{title:"fas fa-concierge-bell",searchTerms:["attention","hotel","service","support"]},{title:"fab fa-connectdevelop",searchTerms:[]},{title:"fab fa-contao",searchTerms:[]},{title:"fas fa-cookie",searchTerms:["baked good","chips","food","snack","sweet","treat"]},{title:"fas fa-cookie-bite",searchTerms:["baked good","bitten","chips","eating","food","snack","sweet","treat"]},{title:"fas fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"far fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"fas fa-copyright",searchTerms:[]},{title:"far fa-copyright",searchTerms:[]},{title:"fas fa-couch",searchTerms:["furniture","sofa"]},{title:"fab fa-cpanel",searchTerms:[]},{title:"fab fa-creative-commons",searchTerms:[]},{title:"fab fa-creative-commons-by",searchTerms:[]},{title:"fab fa-creative-commons-nc",searchTerms:[]},{title:"fab fa-creative-commons-nc-eu",searchTerms:[]},{title:"fab fa-creative-commons-nc-jp",searchTerms:[]},{title:"fab fa-creative-commons-nd",searchTerms:[]},{title:"fab fa-creative-commons-pd",searchTerms:[]},{title:"fab fa-creative-commons-pd-alt",searchTerms:[]},{title:"fab fa-creative-commons-remix",searchTerms:[]},{title:"fab fa-creative-commons-sa",searchTerms:[]},{title:"fab fa-creative-commons-sampling",searchTerms:[]},{title:"fab fa-creative-commons-sampling-plus",searchTerms:[]},{title:"fab fa-creative-commons-share",searchTerms:[]},{title:"fab fa-creative-commons-zero",searchTerms:[]},{title:"fas fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"far fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"fab fa-critical-role",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-crop",searchTerms:["design"]},{title:"fas fa-crop-alt",searchTerms:[]},{title:"fas fa-cross",searchTerms:["catholicism","christianity"]},{title:"fas fa-crosshairs",searchTerms:["gpd","picker","position"]},{title:"fas fa-crow",searchTerms:["bird","bullfrog","fauna","halloween","holiday","toad"]},{title:"fas fa-crown",searchTerms:[]},{title:"fab fa-css3",searchTerms:["code"]},{title:"fab fa-css3-alt",searchTerms:[]},{title:"fas fa-cube",searchTerms:["package"]},{title:"fas fa-cubes",searchTerms:["packages"]},{title:"fas fa-cut",searchTerms:["scissors"]},{title:"fab fa-cuttlefish",searchTerms:[]},{title:"fab fa-d-and-d",searchTerms:[]},{title:"fab fa-d-and-d-beyond",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","gaming","tabletop"]},{title:"fab fa-dashcube",searchTerms:[]},{title:"fas fa-database",searchTerms:[]},{title:"fas fa-deaf",searchTerms:[]},{title:"fab fa-delicious",searchTerms:[]},{title:"fas fa-democrat",searchTerms:["american","democratic party","donkey","election","left","left-wing","liberal","politics","usa"]},{title:"fab fa-deploydog",searchTerms:[]},{title:"fab fa-deskpro",searchTerms:[]},{title:"fas fa-desktop",searchTerms:["computer","cpu","demo","desktop","device","machine","monitor","pc","screen"]},{title:"fab fa-dev",searchTerms:[]},{title:"fab fa-deviantart",searchTerms:[]},{title:"fas fa-dharmachakra",searchTerms:["buddhism","buddhist","wheel of dharma"]},{title:"fas fa-diagnoses",searchTerms:[]},{title:"fas fa-dice",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-d20",searchTerms:["Dungeons & Dragons","chance","d&d","dnd","fantasy","gambling","game","roll"]},{title:"fas fa-dice-d6",searchTerms:["Dungeons & Dragons","chance","d&d","dnd","fantasy","gambling","game","roll"]},{title:"fas fa-dice-five",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-four",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-one",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-six",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-three",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-two",searchTerms:["chance","gambling","game","roll"]},{title:"fab fa-digg",searchTerms:[]},{title:"fab fa-digital-ocean",searchTerms:[]},{title:"fas fa-digital-tachograph",searchTerms:[]},{title:"fas fa-directions",searchTerms:[]},{title:"fab fa-discord",searchTerms:[]},{title:"fab fa-discourse",searchTerms:[]},{title:"fas fa-divide",searchTerms:[]},{title:"fas fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"far fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"fas fa-dna",searchTerms:["double helix","helix"]},{title:"fab fa-dochub",searchTerms:[]},{title:"fab fa-docker",searchTerms:[]},{title:"fas fa-dog",searchTerms:["canine","fauna","mammmal","pet","pooch","puppy","woof"]},{title:"fas fa-dollar-sign",searchTerms:["$","dollar-sign","money","price","usd"]},{title:"fas fa-dolly",searchTerms:[]},{title:"fas fa-dolly-flatbed",searchTerms:[]},{title:"fas fa-donate",searchTerms:["generosity","give"]},{title:"fas fa-door-closed",searchTerms:[]},{title:"fas fa-door-open",searchTerms:[]},{title:"fas fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"far fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"fas fa-dove",searchTerms:["bird","fauna","flying","peace"]},{title:"fas fa-download",searchTerms:["import"]},{title:"fab fa-draft2digital",searchTerms:[]},{title:"fas fa-drafting-compass",searchTerms:["mechanical drawing","plot","plotting"]},{title:"fas fa-dragon",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy"]},{title:"fas fa-draw-polygon",searchTerms:[]},{title:"fab fa-dribbble",searchTerms:[]},{title:"fab fa-dribbble-square",searchTerms:[]},{title:"fab fa-dropbox",searchTerms:[]},{title:"fas fa-drum",searchTerms:["instrument","music","percussion","snare","sound"]},{title:"fas fa-drum-steelpan",searchTerms:["calypso","instrument","music","percussion","reggae","snare","sound","steel","tropical"]},{title:"fas fa-drumstick-bite",searchTerms:[]},{title:"fab fa-drupal",searchTerms:[]},{title:"fas fa-dumbbell",searchTerms:["exercise","gym","strength","weight","weight-lifting"]},{title:"fas fa-dungeon",searchTerms:["Dungeons & Dragons","d&d","dnd","door","entrance","fantasy","gate"]},{title:"fab fa-dyalog",searchTerms:[]},{title:"fab fa-earlybirds",searchTerms:[]},{title:"fab fa-ebay",searchTerms:[]},{title:"fab fa-edge",searchTerms:["browser","ie"]},{title:"fas fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"far fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"fas fa-eject",searchTerms:[]},{title:"fab fa-elementor",searchTerms:[]},{title:"fas fa-ellipsis-h",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fas fa-ellipsis-v",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fab fa-ello",searchTerms:[]},{title:"fab fa-ember",searchTerms:[]},{title:"fab fa-empire",searchTerms:[]},{title:"fas fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open-text",searchTerms:[]},{title:"fas fa-envelope-square",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fab fa-envira",searchTerms:["leaf"]},{title:"fas fa-equals",searchTerms:[]},{title:"fas fa-eraser",searchTerms:["delete","remove"]},{title:"fab fa-erlang",searchTerms:[]},{title:"fab fa-ethereum",searchTerms:[]},{title:"fab fa-etsy",searchTerms:[]},{title:"fas fa-euro-sign",searchTerms:["eur"]},{title:"fas fa-exchange-alt",searchTerms:["arrow","arrows","exchange","reciprocate","return","swap","transfer"]},{title:"fas fa-exclamation",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-circle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-triangle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-expand",searchTerms:["bigger","enlarge","resize"]},{title:"fas fa-expand-arrows-alt",searchTerms:["arrows-alt","bigger","enlarge","move","resize"]},{title:"fab fa-expeditedssl",searchTerms:[]},{title:"fas fa-external-link-alt",searchTerms:["external-link","new","open"]},{title:"fas fa-external-link-square-alt",searchTerms:["external-link-square","new","open"]},{title:"fas fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"far fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"fas fa-eye-dropper",searchTerms:["eyedropper"]},{title:"fas fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"far fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"fab fa-facebook",searchTerms:["facebook-official","social network"]},{title:"fab fa-facebook-f",searchTerms:["facebook"]},{title:"fab fa-facebook-messenger",searchTerms:[]},{title:"fab fa-facebook-square",searchTerms:["social network"]},{title:"fab fa-fantasy-flight-games",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-fast-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-fast-forward",searchTerms:["end","last","next"]},{title:"fas fa-fax",searchTerms:[]},{title:"fas fa-feather",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-feather-alt",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-female",searchTerms:["human","person","profile","user","woman"]},{title:"fas fa-fighter-jet",searchTerms:["airplane","fast","fly","goose","maverick","plane","quick","top gun","transportation","travel"]},{title:"fas fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"far fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"fas fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"far fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"fas fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"far fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"fas fa-file-audio",searchTerms:[]},{title:"far fa-file-audio",searchTerms:[]},{title:"fas fa-file-code",searchTerms:[]},{title:"far fa-file-code",searchTerms:[]},{title:"fas fa-file-contract",searchTerms:["agreement","binding","document","legal","signature"]},{title:"fas fa-file-csv",searchTerms:["spreadsheets"]},{title:"fas fa-file-download",searchTerms:[]},{title:"fas fa-file-excel",searchTerms:[]},{title:"far fa-file-excel",searchTerms:[]},{title:"fas fa-file-export",searchTerms:[]},{title:"fas fa-file-image",searchTerms:[]},{title:"far fa-file-image",searchTerms:[]},{title:"fas fa-file-import",searchTerms:[]},{title:"fas fa-file-invoice",searchTerms:["bill","document","receipt"]},{title:"fas fa-file-invoice-dollar",searchTerms:["$","bill","document","dollar-sign","money","receipt","usd"]},{title:"fas fa-file-medical",searchTerms:[]},{title:"fas fa-file-medical-alt",searchTerms:[]},{title:"fas fa-file-pdf",searchTerms:[]},{title:"far fa-file-pdf",searchTerms:[]},{title:"fas fa-file-powerpoint",searchTerms:[]},{title:"far fa-file-powerpoint",searchTerms:[]},{title:"fas fa-file-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-file-signature",searchTerms:["John Hancock","contract","document","name"]},{title:"fas fa-file-upload",searchTerms:[]},{title:"fas fa-file-video",searchTerms:[]},{title:"far fa-file-video",searchTerms:[]},{title:"fas fa-file-word",searchTerms:[]},{title:"far fa-file-word",searchTerms:[]},{title:"fas fa-fill",searchTerms:["bucket","color","paint","paint bucket"]},{title:"fas fa-fill-drip",searchTerms:["bucket","color","drop","paint","paint bucket","spill"]},{title:"fas fa-film",searchTerms:["movie"]},{title:"fas fa-filter",searchTerms:["funnel","options"]},{title:"fas fa-fingerprint",searchTerms:["human","id","identification","lock","smudge","touch","unique","unlock"]},{title:"fas fa-fire",searchTerms:["caliente","flame","heat","hot","popular"]},{title:"fas fa-fire-extinguisher",searchTerms:[]},{title:"fab fa-firefox",searchTerms:["browser"]},{title:"fas fa-first-aid",searchTerms:[]},{title:"fab fa-first-order",searchTerms:[]},{title:"fab fa-first-order-alt",searchTerms:[]},{title:"fab fa-firstdraft",searchTerms:[]},{title:"fas fa-fish",searchTerms:["fauna","gold","swimming"]},{title:"fas fa-fist-raised",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","hand","ki","monk","resist","strength","unarmed combat"]},{title:"fas fa-flag",searchTerms:["country","notice","notification","notify","pole","report","symbol"]},{title:"far fa-flag",searchTerms:["country","notice","notification","notify","pole","report","symbol"]},{title:"fas fa-flag-checkered",searchTerms:["notice","notification","notify","pole","racing","report","symbol"]},{title:"fas fa-flag-usa",searchTerms:["betsy ross","country","old glory","stars","stripes","symbol"]},{title:"fas fa-flask",searchTerms:["beaker","experimental","labs","science"]},{title:"fab fa-flickr",searchTerms:[]},{title:"fab fa-flipboard",searchTerms:[]},{title:"fas fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"far fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"fab fa-fly",searchTerms:[]},{title:"fas fa-folder",searchTerms:[]},{title:"far fa-folder",searchTerms:[]},{title:"fas fa-folder-minus",searchTerms:["archive","delete","negative","remove"]},{title:"fas fa-folder-open",searchTerms:[]},{title:"far fa-folder-open",searchTerms:[]},{title:"fas fa-folder-plus",searchTerms:["add","create","new","positive"]},{title:"fas fa-font",searchTerms:["text"]},{title:"fab fa-font-awesome",searchTerms:["meanpath"]},{title:"fab fa-font-awesome-alt",searchTerms:[]},{title:"fab fa-font-awesome-flag",searchTerms:[]},{title:"far fa-font-awesome-logo-full",searchTerms:[]},{title:"fas fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-fonticons",searchTerms:[]},{title:"fab fa-fonticons-fi",searchTerms:[]},{title:"fas fa-football-ball",searchTerms:["fall","pigskin","seasonal"]},{title:"fab fa-fort-awesome",searchTerms:["castle"]},{title:"fab fa-fort-awesome-alt",searchTerms:["castle"]},{title:"fab fa-forumbee",searchTerms:[]},{title:"fas fa-forward",searchTerms:["forward","next"]},{title:"fab fa-foursquare",searchTerms:[]},{title:"fab fa-free-code-camp",searchTerms:[]},{title:"fab fa-freebsd",searchTerms:[]},{title:"fas fa-frog",searchTerms:["amphibian","bullfrog","fauna","hop","kermit","kiss","prince","ribbit","toad","wart"]},{title:"fas fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fas fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fab fa-fulcrum",searchTerms:[]},{title:"fas fa-funnel-dollar",searchTerms:[]},{title:"fas fa-futbol",searchTerms:["ball","football","soccer"]},{title:"far fa-futbol",searchTerms:["ball","football","soccer"]},{title:"fab fa-galactic-republic",searchTerms:["politics","star wars"]},{title:"fab fa-galactic-senate",searchTerms:["star wars"]},{title:"fas fa-gamepad",searchTerms:["controller"]},{title:"fas fa-gas-pump",searchTerms:[]},{title:"fas fa-gavel",searchTerms:["hammer","judge","lawyer","opinion"]},{title:"fas fa-gem",searchTerms:["diamond"]},{title:"far fa-gem",searchTerms:["diamond"]},{title:"fas fa-genderless",searchTerms:[]},{title:"fab fa-get-pocket",searchTerms:[]},{title:"fab fa-gg",searchTerms:[]},{title:"fab fa-gg-circle",searchTerms:[]},{title:"fas fa-ghost",searchTerms:["apparition","blinky","clyde","floating","halloween","holiday","inky","pinky","spirit"]},{title:"fas fa-gift",searchTerms:["generosity","giving","party","present","wrapped"]},{title:"fab fa-git",searchTerms:[]},{title:"fab fa-git-square",searchTerms:[]},{title:"fab fa-github",searchTerms:["octocat"]},{title:"fab fa-github-alt",searchTerms:["octocat"]},{title:"fab fa-github-square",searchTerms:["octocat"]},{title:"fab fa-gitkraken",searchTerms:[]},{title:"fab fa-gitlab",searchTerms:["Axosoft"]},{title:"fab fa-gitter",searchTerms:[]},{title:"fas fa-glass-martini",searchTerms:["alcohol","bar","beverage","drink","glass","liquor","martini"]},{title:"fas fa-glass-martini-alt",searchTerms:[]},{title:"fas fa-glasses",searchTerms:["foureyes","hipster","nerd","reading","sight","spectacles"]},{title:"fab fa-glide",searchTerms:[]},{title:"fab fa-glide-g",searchTerms:[]},{title:"fas fa-globe",searchTerms:["all","coordinates","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-africa",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-americas",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-asia",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fab fa-gofore",searchTerms:[]},{title:"fas fa-golf-ball",searchTerms:[]},{title:"fab fa-goodreads",searchTerms:[]},{title:"fab fa-goodreads-g",searchTerms:[]},{title:"fab fa-google",searchTerms:[]},{title:"fab fa-google-drive",searchTerms:[]},{title:"fab fa-google-play",searchTerms:[]},{title:"fab fa-google-plus",searchTerms:["google-plus-circle","google-plus-official"]},{title:"fab fa-google-plus-g",searchTerms:["google-plus","social network"]},{title:"fab fa-google-plus-square",searchTerms:["social network"]},{title:"fab fa-google-wallet",searchTerms:[]},{title:"fas fa-gopuram",searchTerms:["building","entrance","hinduism","temple","tower"]},{title:"fas fa-graduation-cap",searchTerms:["learning","school","student"]},{title:"fab fa-gratipay",searchTerms:["favorite","heart","like","love"]},{title:"fab fa-grav",searchTerms:[]},{title:"fas fa-greater-than",searchTerms:[]},{title:"fas fa-greater-than-equal",searchTerms:[]},{title:"fas fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"far fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"fas fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"far fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"fas fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"far fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"fas fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"far fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"fas fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"far fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"fas fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"far fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"fas fa-grip-horizontal",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fas fa-grip-vertical",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fab fa-gripfire",searchTerms:[]},{title:"fab fa-grunt",searchTerms:[]},{title:"fab fa-gulp",searchTerms:[]},{title:"fas fa-h-square",searchTerms:["hospital","hotel"]},{title:"fab fa-hacker-news",searchTerms:[]},{title:"fab fa-hacker-news-square",searchTerms:[]},{title:"fab fa-hackerrank",searchTerms:[]},{title:"fas fa-hammer",searchTerms:["admin","fix","repair","settings","tool"]},{title:"fas fa-hamsa",searchTerms:["amulet","christianity","islam","jewish","judaism","muslim","protection"]},{title:"fas fa-hand-holding",searchTerms:[]},{title:"fas fa-hand-holding-heart",searchTerms:[]},{title:"fas fa-hand-holding-usd",searchTerms:["$","dollar sign","donation","giving","money","price"]},{title:"fas fa-hand-lizard",searchTerms:[]},{title:"far fa-hand-lizard",searchTerms:[]},{title:"fas fa-hand-paper",searchTerms:["stop"]},{title:"far fa-hand-paper",searchTerms:["stop"]},{title:"fas fa-hand-peace",searchTerms:[]},{title:"far fa-hand-peace",searchTerms:[]},{title:"fas fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"far fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"fas fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"far fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"fas fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"far fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"fas fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"far fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"fas fa-hand-pointer",searchTerms:["select"]},{title:"far fa-hand-pointer",searchTerms:["select"]},{title:"fas fa-hand-rock",searchTerms:[]},{title:"far fa-hand-rock",searchTerms:[]},{title:"fas fa-hand-scissors",searchTerms:[]},{title:"far fa-hand-scissors",searchTerms:[]},{title:"fas fa-hand-spock",searchTerms:[]},{title:"far fa-hand-spock",searchTerms:[]},{title:"fas fa-hands",searchTerms:[]},{title:"fas fa-hands-helping",searchTerms:["aid","assistance","partnership","volunteering"]},{title:"fas fa-handshake",searchTerms:["greeting","partnership"]},{title:"far fa-handshake",searchTerms:["greeting","partnership"]},{title:"fas fa-hanukiah",searchTerms:["candle","hanukkah","jewish","judaism","light"]},{title:"fas fa-hashtag",searchTerms:[]},{title:"fas fa-hat-wizard",searchTerms:["Dungeons & Dragons","buckle","cloth","clothing","d&d","dnd","fantasy","halloween","holiday","mage","magic","pointy","witch"]},{title:"fas fa-haykal",searchTerms:["bahai","bahá'í","star"]},{title:"fas fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"far fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"fas fa-heading",searchTerms:["header"]},{title:"fas fa-headphones",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headphones-alt",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headset",searchTerms:["audio","gamer","gaming","listen","live chat","microphone","shot caller","sound","support","telemarketer"]},{title:"fas fa-heart",searchTerms:["favorite","like","love"]},{title:"far fa-heart",searchTerms:["favorite","like","love"]},{title:"fas fa-heartbeat",searchTerms:["ekg","lifeline","vital signs"]},{title:"fas fa-helicopter",searchTerms:["airwolf","apache","chopper","flight","fly"]},{title:"fas fa-highlighter",searchTerms:["edit","marker","sharpie","update","write"]},{title:"fas fa-hiking",searchTerms:["activity","backpack","fall","fitness","outdoors","seasonal","walking"]},{title:"fas fa-hippo",searchTerms:["fauna","hungry","mammmal"]},{title:"fab fa-hips",searchTerms:[]},{title:"fab fa-hire-a-helper",searchTerms:[]},{title:"fas fa-history",searchTerms:[]},{title:"fas fa-hockey-puck",searchTerms:[]},{title:"fas fa-home",searchTerms:["house","main"]},{title:"fab fa-hooli",searchTerms:[]},{title:"fab fa-hornbill",searchTerms:[]},{title:"fas fa-horse",searchTerms:["equus","fauna","mammmal","neigh"]},{title:"fas fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"far fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-alt",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-symbol",searchTerms:[]},{title:"fas fa-hot-tub",searchTerms:[]},{title:"fas fa-hotel",searchTerms:["building","lodging"]},{title:"fab fa-hotjar",searchTerms:[]},{title:"fas fa-hourglass",searchTerms:[]},{title:"far fa-hourglass",searchTerms:[]},{title:"fas fa-hourglass-end",searchTerms:[]},{title:"fas fa-hourglass-half",searchTerms:[]},{title:"fas fa-hourglass-start",searchTerms:[]},{title:"fas fa-house-damage",searchTerms:["devastation","home"]},{title:"fab fa-houzz",searchTerms:[]},{title:"fas fa-hryvnia",searchTerms:["money"]},{title:"fab fa-html5",searchTerms:[]},{title:"fab fa-hubspot",searchTerms:[]},{title:"fas fa-i-cursor",searchTerms:[]},{title:"fas fa-id-badge",searchTerms:[]},{title:"far fa-id-badge",searchTerms:[]},{title:"fas fa-id-card",searchTerms:["document","identification","issued"]},{title:"far fa-id-card",searchTerms:["document","identification","issued"]},{title:"fas fa-id-card-alt",searchTerms:["demographics"]},{title:"fas fa-image",searchTerms:["album","photo","picture"]},{title:"far fa-image",searchTerms:["album","photo","picture"]},{title:"fas fa-images",searchTerms:["album","photo","picture"]},{title:"far fa-images",searchTerms:["album","photo","picture"]},{title:"fab fa-imdb",searchTerms:[]},{title:"fas fa-inbox",searchTerms:[]},{title:"fas fa-indent",searchTerms:[]},{title:"fas fa-industry",searchTerms:["factory","manufacturing"]},{title:"fas fa-infinity",searchTerms:[]},{title:"fas fa-info",searchTerms:["details","help","information","more"]},{title:"fas fa-info-circle",searchTerms:["details","help","information","more"]},{title:"fab fa-instagram",searchTerms:[]},{title:"fab fa-internet-explorer",searchTerms:["browser","ie"]},{title:"fab fa-ioxhost",searchTerms:[]},{title:"fas fa-italic",searchTerms:["italics"]},{title:"fab fa-itunes",searchTerms:[]},{title:"fab fa-itunes-note",searchTerms:[]},{title:"fab fa-java",searchTerms:[]},{title:"fas fa-jedi",searchTerms:["star wars"]},{title:"fab fa-jedi-order",searchTerms:["star wars"]},{title:"fab fa-jenkins",searchTerms:[]},{title:"fab fa-joget",searchTerms:[]},{title:"fas fa-joint",searchTerms:["blunt","cannabis","doobie","drugs","marijuana","roach","smoke","smoking","spliff"]},{title:"fab fa-joomla",searchTerms:[]},{title:"fas fa-journal-whills",searchTerms:["book","jedi","star wars","the force"]},{title:"fab fa-js",searchTerms:[]},{title:"fab fa-js-square",searchTerms:[]},{title:"fab fa-jsfiddle",searchTerms:[]},{title:"fas fa-kaaba",searchTerms:["building","cube","islam","muslim"]},{title:"fab fa-kaggle",searchTerms:[]},{title:"fas fa-key",searchTerms:["password","unlock"]},{title:"fab fa-keybase",searchTerms:[]},{title:"fas fa-keyboard",searchTerms:["input","type"]},{title:"far fa-keyboard",searchTerms:["input","type"]},{title:"fab fa-keycdn",searchTerms:[]},{title:"fas fa-khanda",searchTerms:["chakkar","sikh","sikhism","sword"]},{title:"fab fa-kickstarter",searchTerms:[]},{title:"fab fa-kickstarter-k",searchTerms:[]},{title:"fas fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiwi-bird",searchTerms:["bird","fauna"]},{title:"fab fa-korvue",searchTerms:[]},{title:"fas fa-landmark",searchTerms:["building","historic","memoroable","politics"]},{title:"fas fa-language",searchTerms:["dialect","idiom","localize","speech","translate","vernacular"]},{title:"fas fa-laptop",searchTerms:["computer","cpu","dell","demo","device","dude you're getting","mac","macbook","machine","pc"]},{title:"fas fa-laptop-code",searchTerms:[]},{title:"fab fa-laravel",searchTerms:[]},{title:"fab fa-lastfm",searchTerms:[]},{title:"fab fa-lastfm-square",searchTerms:[]},{title:"fas fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"far fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"fas fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-layer-group",searchTerms:["layers"]},{title:"fas fa-leaf",searchTerms:["eco","flora","nature","plant"]},{title:"fab fa-leanpub",searchTerms:[]},{title:"fas fa-lemon",searchTerms:["food"]},{title:"far fa-lemon",searchTerms:["food"]},{title:"fab fa-less",searchTerms:[]},{title:"fas fa-less-than",searchTerms:[]},{title:"fas fa-less-than-equal",searchTerms:[]},{title:"fas fa-level-down-alt",searchTerms:["level-down"]},{title:"fas fa-level-up-alt",searchTerms:["level-up"]},{title:"fas fa-life-ring",searchTerms:["support"]},{title:"far fa-life-ring",searchTerms:["support"]},{title:"fas fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"far fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"fab fa-line",searchTerms:[]},{title:"fas fa-link",searchTerms:["chain"]},{title:"fab fa-linkedin",searchTerms:["linkedin-square"]},{title:"fab fa-linkedin-in",searchTerms:["linkedin"]},{title:"fab fa-linode",searchTerms:[]},{title:"fab fa-linux",searchTerms:["tux"]},{title:"fas fa-lira-sign",searchTerms:["try","turkish"]},{title:"fas fa-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"far fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-ol",searchTerms:["checklist","list","numbers","ol","todo","ul"]},{title:"fas fa-list-ul",searchTerms:["checklist","list","ol","todo","ul"]},{title:"fas fa-location-arrow",searchTerms:["address","coordinates","gps","location","map","place","where"]},{title:"fas fa-lock",searchTerms:["admin","protect","security"]},{title:"fas fa-lock-open",searchTerms:["admin","lock","open","password","protect"]},{title:"fas fa-long-arrow-alt-down",searchTerms:["long-arrow-down"]},{title:"fas fa-long-arrow-alt-left",searchTerms:["back","long-arrow-left","previous"]},{title:"fas fa-long-arrow-alt-right",searchTerms:["long-arrow-right"]},{title:"fas fa-long-arrow-alt-up",searchTerms:["long-arrow-up"]},{title:"fas fa-low-vision",searchTerms:[]},{title:"fas fa-luggage-cart",searchTerms:[]},{title:"fab fa-lyft",searchTerms:[]},{title:"fab fa-magento",searchTerms:[]},{title:"fas fa-magic",searchTerms:["autocomplete","automatic","mage","magic","spell","witch","wizard"]},{title:"fas fa-magnet",searchTerms:[]},{title:"fas fa-mail-bulk",searchTerms:[]},{title:"fab fa-mailchimp",searchTerms:[]},{title:"fas fa-male",searchTerms:["human","man","person","profile","user"]},{title:"fab fa-mandalorian",searchTerms:[]},{title:"fas fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"far fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"fas fa-map-marked",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marked-alt",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marker",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-marker-alt",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-pin",searchTerms:["address","coordinates","gps","localize","location","map","marker","place","position","travel","where"]},{title:"fas fa-map-signs",searchTerms:[]},{title:"fab fa-markdown",searchTerms:[]},{title:"fas fa-marker",searchTerms:["edit","sharpie","update","write"]},{title:"fas fa-mars",searchTerms:["male"]},{title:"fas fa-mars-double",searchTerms:[]},{title:"fas fa-mars-stroke",searchTerms:[]},{title:"fas fa-mars-stroke-h",searchTerms:[]},{title:"fas fa-mars-stroke-v",searchTerms:[]},{title:"fas fa-mask",searchTerms:["costume","disguise","halloween","holiday","secret","super hero"]},{title:"fab fa-mastodon",searchTerms:[]},{title:"fab fa-maxcdn",searchTerms:[]},{title:"fas fa-medal",searchTerms:[]},{title:"fab fa-medapps",searchTerms:[]},{title:"fab fa-medium",searchTerms:[]},{title:"fab fa-medium-m",searchTerms:[]},{title:"fas fa-medkit",searchTerms:["first aid","firstaid","health","help","support"]},{title:"fab fa-medrt",searchTerms:[]},{title:"fab fa-meetup",searchTerms:[]},{title:"fab fa-megaport",searchTerms:[]},{title:"fas fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-memory",searchTerms:["DIMM","RAM"]},{title:"fas fa-menorah",searchTerms:["candle","hanukkah","jewish","judaism","light"]},{title:"fas fa-mercury",searchTerms:["transgender"]},{title:"fas fa-meteor",searchTerms:[]},{title:"fas fa-microchip",searchTerms:["cpu","processor"]},{title:"fas fa-microphone",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microphone-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microscope",searchTerms:[]},{title:"fab fa-microsoft",searchTerms:[]},{title:"fas fa-minus",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"fas fa-minus-circle",searchTerms:["delete","hide","negative","remove","trash"]},{title:"fas fa-minus-square",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"far fa-minus-square",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"fab fa-mix",searchTerms:[]},{title:"fab fa-mixcloud",searchTerms:[]},{title:"fab fa-mizuni",searchTerms:[]},{title:"fas fa-mobile",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fas fa-mobile-alt",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fab fa-modx",searchTerms:[]},{title:"fab fa-monero",searchTerms:[]},{title:"fas fa-money-bill",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"far fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-wave",searchTerms:[]},{title:"fas fa-money-bill-wave-alt",searchTerms:[]},{title:"fas fa-money-check",searchTerms:["bank check","cheque"]},{title:"fas fa-money-check-alt",searchTerms:["bank check","cheque"]},{title:"fas fa-monument",searchTerms:["building","historic","memoroable"]},{title:"fas fa-moon",searchTerms:["contrast","crescent","darker","lunar","night"]},{title:"far fa-moon",searchTerms:["contrast","crescent","darker","lunar","night"]},{title:"fas fa-mortar-pestle",searchTerms:["crush","culinary","grind","medical","mix","spices"]},{title:"fas fa-mosque",searchTerms:["building","islam","muslim"]},{title:"fas fa-motorcycle",searchTerms:["bike","machine","transportation","vehicle"]},{title:"fas fa-mountain",searchTerms:[]},{title:"fas fa-mouse-pointer",searchTerms:["select"]},{title:"fas fa-music",searchTerms:["note","sound"]},{title:"fab fa-napster",searchTerms:[]},{title:"fab fa-neos",searchTerms:[]},{title:"fas fa-network-wired",searchTerms:[]},{title:"fas fa-neuter",searchTerms:[]},{title:"fas fa-newspaper",searchTerms:["article","press"]},{title:"far fa-newspaper",searchTerms:["article","press"]},{title:"fab fa-nimblr",searchTerms:[]},{title:"fab fa-nintendo-switch",searchTerms:[]},{title:"fab fa-node",searchTerms:[]},{title:"fab fa-node-js",searchTerms:[]},{title:"fas fa-not-equal",searchTerms:[]},{title:"fas fa-notes-medical",searchTerms:[]},{title:"fab fa-npm",searchTerms:[]},{title:"fab fa-ns8",searchTerms:[]},{title:"fab fa-nutritionix",searchTerms:[]},{title:"fas fa-object-group",searchTerms:["design"]},{title:"far fa-object-group",searchTerms:["design"]},{title:"fas fa-object-ungroup",searchTerms:["design"]},{title:"far fa-object-ungroup",searchTerms:["design"]},{title:"fab fa-odnoklassniki",searchTerms:[]},{title:"fab fa-odnoklassniki-square",searchTerms:[]},{title:"fas fa-oil-can",searchTerms:[]},{title:"fab fa-old-republic",searchTerms:["politics","star wars"]},{title:"fas fa-om",searchTerms:["buddhism","hinduism","jainism","mantra"]},{title:"fab fa-opencart",searchTerms:[]},{title:"fab fa-openid",searchTerms:[]},{title:"fab fa-opera",searchTerms:[]},{title:"fab fa-optin-monster",searchTerms:[]},{title:"fab fa-osi",searchTerms:[]},{title:"fas fa-otter",searchTerms:["fauna","mammmal"]},{title:"fas fa-outdent",searchTerms:[]},{title:"fab fa-page4",searchTerms:[]},{title:"fab fa-pagelines",searchTerms:["eco","flora","leaf","leaves","nature","plant","tree"]},{title:"fas fa-paint-brush",searchTerms:[]},{title:"fas fa-paint-roller",searchTerms:["brush","painting","tool"]},{title:"fas fa-palette",searchTerms:["colors","painting"]},{title:"fab fa-palfed",searchTerms:[]},{title:"fas fa-pallet",searchTerms:[]},{title:"fas fa-paper-plane",searchTerms:[]},{title:"far fa-paper-plane",searchTerms:[]},{title:"fas fa-paperclip",searchTerms:["attachment"]},{title:"fas fa-parachute-box",searchTerms:["aid","assistance","rescue","supplies"]},{title:"fas fa-paragraph",searchTerms:[]},{title:"fas fa-parking",searchTerms:[]},{title:"fas fa-passport",searchTerms:["document","identification","issued"]},{title:"fas fa-pastafarianism",searchTerms:["agnosticism","atheism","flying spaghetti monster","fsm"]},{title:"fas fa-paste",searchTerms:["clipboard","copy"]},{title:"fab fa-patreon",searchTerms:[]},{title:"fas fa-pause",searchTerms:["wait"]},{title:"fas fa-pause-circle",searchTerms:[]},{title:"far fa-pause-circle",searchTerms:[]},{title:"fas fa-paw",searchTerms:["animal","pet"]},{title:"fab fa-paypal",searchTerms:[]},{title:"fas fa-peace",searchTerms:[]},{title:"fas fa-pen",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-alt",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-fancy",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-nib",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-square",searchTerms:["edit","pencil-square","update","write"]},{title:"fas fa-pencil-alt",searchTerms:["design","edit","pencil","update","write"]},{title:"fas fa-pencil-ruler",searchTerms:[]},{title:"fab fa-penny-arcade",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","pax","tabletop"]},{title:"fas fa-people-carry",searchTerms:["movers"]},{title:"fas fa-percent",searchTerms:[]},{title:"fas fa-percentage",searchTerms:[]},{title:"fab fa-periscope",searchTerms:[]},{title:"fas fa-person-booth",searchTerms:["changing","changing room","election","human","person","vote","voting"]},{title:"fab fa-phabricator",searchTerms:[]},{title:"fab fa-phoenix-framework",searchTerms:[]},{title:"fab fa-phoenix-squadron",searchTerms:[]},{title:"fas fa-phone",searchTerms:["call","earphone","number","support","telephone","voice"]},{title:"fas fa-phone-slash",searchTerms:[]},{title:"fas fa-phone-square",searchTerms:["call","number","support","telephone","voice"]},{title:"fas fa-phone-volume",searchTerms:["telephone","volume-control-phone"]},{title:"fab fa-php",searchTerms:[]},{title:"fab fa-pied-piper",searchTerms:[]},{title:"fab fa-pied-piper-alt",searchTerms:[]},{title:"fab fa-pied-piper-hat",searchTerms:["clothing"]},{title:"fab fa-pied-piper-pp",searchTerms:[]},{title:"fas fa-piggy-bank",searchTerms:["save","savings"]},{title:"fas fa-pills",searchTerms:["drugs","medicine"]},{title:"fab fa-pinterest",searchTerms:[]},{title:"fab fa-pinterest-p",searchTerms:[]},{title:"fab fa-pinterest-square",searchTerms:[]},{title:"fas fa-place-of-worship",searchTerms:[]},{title:"fas fa-plane",searchTerms:["airplane","destination","fly","location","mode","travel","trip"]},{title:"fas fa-plane-arrival",searchTerms:["airplane","arriving","destination","fly","land","landing","location","mode","travel","trip"]},{title:"fas fa-plane-departure",searchTerms:["airplane","departing","destination","fly","location","mode","take off","taking off","travel","trip"]},{title:"fas fa-play",searchTerms:["music","playing","sound","start"]},{title:"fas fa-play-circle",searchTerms:["playing","start"]},{title:"far fa-play-circle",searchTerms:["playing","start"]},{title:"fab fa-playstation",searchTerms:[]},{title:"fas fa-plug",searchTerms:["connect","online","power"]},{title:"fas fa-plus",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-plus-circle",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-plus-square",searchTerms:["add","create","expand","new","positive"]},{title:"far fa-plus-square",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-podcast",searchTerms:[]},{title:"fas fa-poll",searchTerms:["results","survey","vote","voting"]},{title:"fas fa-poll-h",searchTerms:["results","survey","vote","voting"]},{title:"fas fa-poo",searchTerms:[]},{title:"fas fa-poo-storm",searchTerms:["mess","poop","shit"]},{title:"fas fa-poop",searchTerms:[]},{title:"fas fa-portrait",searchTerms:[]},{title:"fas fa-pound-sign",searchTerms:["gbp"]},{title:"fas fa-power-off",searchTerms:["on","reboot","restart"]},{title:"fas fa-pray",searchTerms:[]},{title:"fas fa-praying-hands",searchTerms:[]},{title:"fas fa-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle-alt",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-print",searchTerms:[]},{title:"fas fa-procedures",searchTerms:[]},{title:"fab fa-product-hunt",searchTerms:[]},{title:"fas fa-project-diagram",searchTerms:[]},{title:"fab fa-pushed",searchTerms:[]},{title:"fas fa-puzzle-piece",searchTerms:["add-on","addon","section"]},{title:"fab fa-python",searchTerms:[]},{title:"fab fa-qq",searchTerms:[]},{title:"fas fa-qrcode",searchTerms:["scan"]},{title:"fas fa-question",searchTerms:["help","information","support","unknown"]},{title:"fas fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"far fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"fas fa-quidditch",searchTerms:[]},{title:"fab fa-quinscape",searchTerms:[]},{title:"fab fa-quora",searchTerms:[]},{title:"fas fa-quote-left",searchTerms:[]},{title:"fas fa-quote-right",searchTerms:[]},{title:"fas fa-quran",searchTerms:["book","islam","muslim"]},{title:"fab fa-r-project",searchTerms:[]},{title:"fas fa-rainbow",searchTerms:[]},{title:"fas fa-random",searchTerms:["shuffle","sort"]},{title:"fab fa-ravelry",searchTerms:[]},{title:"fab fa-react",searchTerms:[]},{title:"fab fa-reacteurope",searchTerms:[]},{title:"fab fa-readme",searchTerms:[]},{title:"fab fa-rebel",searchTerms:[]},{title:"fas fa-receipt",searchTerms:["check","invoice","table"]},{title:"fas fa-recycle",searchTerms:[]},{title:"fab fa-red-river",searchTerms:[]},{title:"fab fa-reddit",searchTerms:[]},{title:"fab fa-reddit-alien",searchTerms:[]},{title:"fab fa-reddit-square",searchTerms:[]},{title:"fas fa-redo",searchTerms:["forward","refresh","reload","repeat"]},{title:"fas fa-redo-alt",searchTerms:["forward","refresh","reload","repeat"]},{title:"fas fa-registered",searchTerms:[]},{title:"far fa-registered",searchTerms:[]},{title:"fab fa-renren",searchTerms:[]},{title:"fas fa-reply",searchTerms:[]},{title:"fas fa-reply-all",searchTerms:[]},{title:"fab fa-replyd",searchTerms:[]},{title:"fas fa-republican",searchTerms:["american","conservative","election","elephant","politics","republican party","right","right-wing","usa"]},{title:"fab fa-researchgate",searchTerms:[]},{title:"fab fa-resolving",searchTerms:[]},{title:"fas fa-retweet",searchTerms:["refresh","reload","share","swap"]},{title:"fab fa-rev",searchTerms:[]},{title:"fas fa-ribbon",searchTerms:["badge","cause","lapel","pin"]},{title:"fas fa-ring",searchTerms:["Dungeons & Dragons","Gollum","band","binding","d&d","dnd","fantasy","jewelry","precious"]},{title:"fas fa-road",searchTerms:["street"]},{title:"fas fa-robot",searchTerms:[]},{title:"fas fa-rocket",searchTerms:["app"]},{title:"fab fa-rocketchat",searchTerms:[]},{title:"fab fa-rockrms",searchTerms:[]},{title:"fas fa-route",searchTerms:[]},{title:"fas fa-rss",searchTerms:["blog"]},{title:"fas fa-rss-square",searchTerms:["blog","feed"]},{title:"fas fa-ruble-sign",searchTerms:["rub"]},{title:"fas fa-ruler",searchTerms:[]},{title:"fas fa-ruler-combined",searchTerms:[]},{title:"fas fa-ruler-horizontal",searchTerms:[]},{title:"fas fa-ruler-vertical",searchTerms:[]},{title:"fas fa-running",searchTerms:["jog","sprint"]},{title:"fas fa-rupee-sign",searchTerms:["indian","inr"]},{title:"fas fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"fas fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"fab fa-safari",searchTerms:["browser"]},{title:"fab fa-sass",searchTerms:[]},{title:"fas fa-save",searchTerms:["floppy","floppy-o"]},{title:"far fa-save",searchTerms:["floppy","floppy-o"]},{title:"fab fa-schlix",searchTerms:[]},{title:"fas fa-school",searchTerms:[]},{title:"fas fa-screwdriver",searchTerms:["admin","fix","repair","settings","tool"]},{title:"fab fa-scribd",searchTerms:[]},{title:"fas fa-scroll",searchTerms:["Dungeons & Dragons","announcement","d&d","dnd","fantasy","paper"]},{title:"fas fa-search",searchTerms:["bigger","enlarge","magnify","preview","zoom"]},{title:"fas fa-search-dollar",searchTerms:[]},{title:"fas fa-search-location",searchTerms:[]},{title:"fas fa-search-minus",searchTerms:["minify","negative","smaller","zoom","zoom out"]},{title:"fas fa-search-plus",searchTerms:["bigger","enlarge","magnify","positive","zoom","zoom in"]},{title:"fab fa-searchengin",searchTerms:[]},{title:"fas fa-seedling",searchTerms:[]},{title:"fab fa-sellcast",searchTerms:["eercast"]},{title:"fab fa-sellsy",searchTerms:[]},{title:"fas fa-server",searchTerms:["cpu"]},{title:"fab fa-servicestack",searchTerms:[]},{title:"fas fa-shapes",searchTerms:["circle","square","triangle"]},{title:"fas fa-share",searchTerms:[]},{title:"fas fa-share-alt",searchTerms:[]},{title:"fas fa-share-alt-square",searchTerms:[]},{title:"fas fa-share-square",searchTerms:["send","social"]},{title:"far fa-share-square",searchTerms:["send","social"]},{title:"fas fa-shekel-sign",searchTerms:["ils"]},{title:"fas fa-shield-alt",searchTerms:["achievement","award","block","defend","security","winner"]},{title:"fas fa-ship",searchTerms:["boat","sea"]},{title:"fas fa-shipping-fast",searchTerms:[]},{title:"fab fa-shirtsinbulk",searchTerms:[]},{title:"fas fa-shoe-prints",searchTerms:["feet","footprints","steps"]},{title:"fas fa-shopping-bag",searchTerms:[]},{title:"fas fa-shopping-basket",searchTerms:[]},{title:"fas fa-shopping-cart",searchTerms:["buy","checkout","payment","purchase"]},{title:"fab fa-shopware",searchTerms:[]},{title:"fas fa-shower",searchTerms:[]},{title:"fas fa-shuttle-van",searchTerms:["machine","public-transportation","transportation","vehicle"]},{title:"fas fa-sign",searchTerms:[]},{title:"fas fa-sign-in-alt",searchTerms:["arrow","enter","join","log in","login","sign in","sign up","sign-in","signin","signup"]},{title:"fas fa-sign-language",searchTerms:[]},{title:"fas fa-sign-out-alt",searchTerms:["arrow","exit","leave","log out","logout","sign-out"]},{title:"fas fa-signal",searchTerms:["bars","graph","online","status"]},{title:"fas fa-signature",searchTerms:["John Hancock","cursive","name","writing"]},{title:"fab fa-simplybuilt",searchTerms:[]},{title:"fab fa-sistrix",searchTerms:[]},{title:"fas fa-sitemap",searchTerms:["directory","hierarchy","ia","information architecture","organization"]},{title:"fab fa-sith",searchTerms:[]},{title:"fas fa-skull",searchTerms:["bones","skeleton","yorick"]},{title:"fas fa-skull-crossbones",searchTerms:["Dungeons & Dragons","alert","bones","d&d","danger","dead","deadly","death","dnd","fantasy","halloween","holiday","jolly-roger","pirate","poison","skeleton","warning"]},{title:"fab fa-skyatlas",searchTerms:[]},{title:"fab fa-skype",searchTerms:[]},{title:"fab fa-slack",searchTerms:["anchor","hash","hashtag"]},{title:"fab fa-slack-hash",searchTerms:["anchor","hash","hashtag"]},{title:"fas fa-slash",searchTerms:[]},{title:"fas fa-sliders-h",searchTerms:["settings","sliders"]},{title:"fab fa-slideshare",searchTerms:[]},{title:"fas fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"far fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"fas fa-smile-beam",searchTerms:["emoticon","face","happy","positive"]},{title:"far fa-smile-beam",searchTerms:["emoticon","face","happy","positive"]},{title:"fas fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smog",searchTerms:["dragon"]},{title:"fas fa-smoking",searchTerms:["cigarette","nicotine","smoking status"]},{title:"fas fa-smoking-ban",searchTerms:["no smoking","non-smoking"]},{title:"fab fa-snapchat",searchTerms:[]},{title:"fab fa-snapchat-ghost",searchTerms:[]},{title:"fab fa-snapchat-square",searchTerms:[]},{title:"fas fa-snowflake",searchTerms:["precipitation","seasonal","winter"]},{title:"far fa-snowflake",searchTerms:["precipitation","seasonal","winter"]},{title:"fas fa-socks",searchTerms:["business socks","business time","flight of the conchords","wednesday"]},{title:"fas fa-solar-panel",searchTerms:["clean","eco-friendly","energy","green","sun"]},{title:"fas fa-sort",searchTerms:["order"]},{title:"fas fa-sort-alpha-down",searchTerms:["sort-alpha-asc"]},{title:"fas fa-sort-alpha-up",searchTerms:["sort-alpha-desc"]},{title:"fas fa-sort-amount-down",searchTerms:["sort-amount-asc"]},{title:"fas fa-sort-amount-up",searchTerms:["sort-amount-desc"]},{title:"fas fa-sort-down",searchTerms:["arrow","descending","sort-desc"]},{title:"fas fa-sort-numeric-down",searchTerms:["numbers","sort-numeric-asc"]},{title:"fas fa-sort-numeric-up",searchTerms:["numbers","sort-numeric-desc"]},{title:"fas fa-sort-up",searchTerms:["arrow","ascending","sort-asc"]},{title:"fab fa-soundcloud",searchTerms:[]},{title:"fas fa-spa",searchTerms:["flora","mindfullness","plant","wellness"]},{title:"fas fa-space-shuttle",searchTerms:["astronaut","machine","nasa","rocket","transportation"]},{title:"fab fa-speakap",searchTerms:[]},{title:"fas fa-spider",searchTerms:["arachnid","bug","charlotte","crawl","eight","halloween","holiday"]},{title:"fas fa-spinner",searchTerms:["loading","progress"]},{title:"fas fa-splotch",searchTerms:[]},{title:"fab fa-spotify",searchTerms:[]},{title:"fas fa-spray-can",searchTerms:[]},{title:"fas fa-square",searchTerms:["block","box"]},{title:"far fa-square",searchTerms:["block","box"]},{title:"fas fa-square-full",searchTerms:[]},{title:"fas fa-square-root-alt",searchTerms:[]},{title:"fab fa-squarespace",searchTerms:[]},{title:"fab fa-stack-exchange",searchTerms:[]},{title:"fab fa-stack-overflow",searchTerms:[]},{title:"fas fa-stamp",searchTerms:[]},{title:"fas fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"far fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"fas fa-star-and-crescent",searchTerms:["islam","muslim"]},{title:"fas fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"far fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-half-alt",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-of-david",searchTerms:["jewish","judaism"]},{title:"fas fa-star-of-life",searchTerms:[]},{title:"fab fa-staylinked",searchTerms:[]},{title:"fab fa-steam",searchTerms:[]},{title:"fab fa-steam-square",searchTerms:[]},{title:"fab fa-steam-symbol",searchTerms:[]},{title:"fas fa-step-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-step-forward",searchTerms:["end","last","next"]},{title:"fas fa-stethoscope",searchTerms:[]},{title:"fab fa-sticker-mule",searchTerms:[]},{title:"fas fa-sticky-note",searchTerms:[]},{title:"far fa-sticky-note",searchTerms:[]},{title:"fas fa-stop",searchTerms:["block","box","square"]},{title:"fas fa-stop-circle",searchTerms:[]},{title:"far fa-stop-circle",searchTerms:[]},{title:"fas fa-stopwatch",searchTerms:["time"]},{title:"fas fa-store",searchTerms:[]},{title:"fas fa-store-alt",searchTerms:[]},{title:"fab fa-strava",searchTerms:[]},{title:"fas fa-stream",searchTerms:[]},{title:"fas fa-street-view",searchTerms:["map"]},{title:"fas fa-strikethrough",searchTerms:[]},{title:"fab fa-stripe",searchTerms:[]},{title:"fab fa-stripe-s",searchTerms:[]},{title:"fas fa-stroopwafel",searchTerms:["dessert","food","sweets","waffle"]},{title:"fab fa-studiovinari",searchTerms:[]},{title:"fab fa-stumbleupon",searchTerms:[]},{title:"fab fa-stumbleupon-circle",searchTerms:[]},{title:"fas fa-subscript",searchTerms:[]},{title:"fas fa-subway",searchTerms:["machine","railway","train","transportation","vehicle"]},{title:"fas fa-suitcase",searchTerms:["baggage","luggage","move","suitcase","travel","trip"]},{title:"fas fa-suitcase-rolling",searchTerms:[]},{title:"fas fa-sun",searchTerms:["brighten","contrast","day","lighter","sol","solar","star","weather"]},{title:"far fa-sun",searchTerms:["brighten","contrast","day","lighter","sol","solar","star","weather"]},{title:"fab fa-superpowers",searchTerms:[]},{title:"fas fa-superscript",searchTerms:["exponential"]},{title:"fab fa-supple",searchTerms:[]},{title:"fas fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"far fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"fas fa-swatchbook",searchTerms:[]},{title:"fas fa-swimmer",searchTerms:["athlete","head","man","person","water"]},{title:"fas fa-swimming-pool",searchTerms:["ladder","recreation","water"]},{title:"fas fa-synagogue",searchTerms:["building","jewish","judaism","star of david","temple"]},{title:"fas fa-sync",searchTerms:["exchange","refresh","reload","rotate","swap"]},{title:"fas fa-sync-alt",searchTerms:["refresh","reload","rotate"]},{title:"fas fa-syringe",searchTerms:["immunizations","needle"]},{title:"fas fa-table",searchTerms:["data","excel","spreadsheet"]},{title:"fas fa-table-tennis",searchTerms:[]},{title:"fas fa-tablet",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablet-alt",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablets",searchTerms:["drugs","medicine"]},{title:"fas fa-tachometer-alt",searchTerms:["dashboard","tachometer"]},{title:"fas fa-tag",searchTerms:["label"]},{title:"fas fa-tags",searchTerms:["labels"]},{title:"fas fa-tape",searchTerms:[]},{title:"fas fa-tasks",searchTerms:["downloading","downloads","loading","progress","settings"]},{title:"fas fa-taxi",searchTerms:["cab","cabbie","car","car service","lyft","machine","transportation","uber","vehicle"]},{title:"fab fa-teamspeak",searchTerms:[]},{title:"fas fa-teeth",searchTerms:[]},{title:"fas fa-teeth-open",searchTerms:[]},{title:"fab fa-telegram",searchTerms:[]},{title:"fab fa-telegram-plane",searchTerms:[]},{title:"fas fa-temperature-high",searchTerms:["mercury","thermometer","warm"]},{title:"fas fa-temperature-low",searchTerms:["cool","mercury","thermometer"]},{title:"fab fa-tencent-weibo",searchTerms:[]},{title:"fas fa-terminal",searchTerms:["code","command","console","prompt"]},{title:"fas fa-text-height",searchTerms:[]},{title:"fas fa-text-width",searchTerms:[]},{title:"fas fa-th",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-large",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fab fa-the-red-yeti",searchTerms:[]},{title:"fas fa-theater-masks",searchTerms:[]},{title:"fab fa-themeco",searchTerms:[]},{title:"fab fa-themeisle",searchTerms:[]},{title:"fas fa-thermometer",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-empty",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-full",searchTerms:["fever","mercury","status","temperature"]},{title:"fas fa-thermometer-half",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-quarter",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-three-quarters",searchTerms:["mercury","status","temperature"]},{title:"fab fa-think-peaks",searchTerms:[]},{title:"fas fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"far fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"fas fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"far fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"fas fa-thumbtack",searchTerms:["coordinates","location","marker","pin","thumb-tack"]},{title:"fas fa-ticket-alt",searchTerms:["ticket"]},{title:"fas fa-times",searchTerms:["close","cross","error","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"far fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-tint",searchTerms:["drop","droplet","raindrop","waterdrop"]},{title:"fas fa-tint-slash",searchTerms:[]},{title:"fas fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"far fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"fas fa-toggle-off",searchTerms:["switch"]},{title:"fas fa-toggle-on",searchTerms:["switch"]},{title:"fas fa-toilet-paper",searchTerms:["bathroom","halloween","holiday","lavatory","prank","restroom","roll"]},{title:"fas fa-toolbox",searchTerms:["admin","container","fix","repair","settings","tools"]},{title:"fas fa-tooth",searchTerms:["bicuspid","dental","molar","mouth","teeth"]},{title:"fas fa-torah",searchTerms:["book","jewish","judaism"]},{title:"fas fa-torii-gate",searchTerms:["building","shintoism"]},{title:"fas fa-tractor",searchTerms:[]},{title:"fab fa-trade-federation",searchTerms:[]},{title:"fas fa-trademark",searchTerms:[]},{title:"fas fa-traffic-light",searchTerms:[]},{title:"fas fa-train",searchTerms:["bullet","locomotive","railway"]},{title:"fas fa-transgender",searchTerms:["intersex"]},{title:"fas fa-transgender-alt",searchTerms:[]},{title:"fas fa-trash",searchTerms:["delete","garbage","hide","remove"]},{title:"fas fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"far fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"fas fa-tree",searchTerms:["bark","fall","flora","forest","nature","plant","seasonal"]},{title:"fab fa-trello",searchTerms:[]},{title:"fab fa-tripadvisor",searchTerms:[]},{title:"fas fa-trophy",searchTerms:["achievement","award","cup","game","winner"]},{title:"fas fa-truck",searchTerms:["delivery","shipping"]},{title:"fas fa-truck-loading",searchTerms:[]},{title:"fas fa-truck-monster",searchTerms:[]},{title:"fas fa-truck-moving",searchTerms:[]},{title:"fas fa-truck-pickup",searchTerms:[]},{title:"fas fa-tshirt",searchTerms:["cloth","clothing"]},{title:"fas fa-tty",searchTerms:[]},{title:"fab fa-tumblr",searchTerms:[]},{title:"fab fa-tumblr-square",searchTerms:[]},{title:"fas fa-tv",searchTerms:["computer","display","monitor","television"]},{title:"fab fa-twitch",searchTerms:[]},{title:"fab fa-twitter",searchTerms:["social network","tweet"]},{title:"fab fa-twitter-square",searchTerms:["social network","tweet"]},{title:"fab fa-typo3",searchTerms:[]},{title:"fab fa-uber",searchTerms:[]},{title:"fab fa-uikit",searchTerms:[]},{title:"fas fa-umbrella",searchTerms:["protection","rain"]},{title:"fas fa-umbrella-beach",searchTerms:["protection","recreation","sun"]},{title:"fas fa-underline",searchTerms:[]},{title:"fas fa-undo",searchTerms:["back","control z","exchange","oops","return","rotate","swap"]},{title:"fas fa-undo-alt",searchTerms:["back","control z","exchange","oops","return","swap"]},{title:"fab fa-uniregistry",searchTerms:[]},{title:"fas fa-universal-access",searchTerms:[]},{title:"fas fa-university",searchTerms:["bank","institution"]},{title:"fas fa-unlink",searchTerms:["chain","chain-broken","remove"]},{title:"fas fa-unlock",searchTerms:["admin","lock","password","protect"]},{title:"fas fa-unlock-alt",searchTerms:["admin","lock","password","protect"]},{title:"fab fa-untappd",searchTerms:[]},{title:"fas fa-upload",searchTerms:["export","publish"]},{title:"fab fa-usb",searchTerms:[]},{title:"fas fa-user",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"far fa-user",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-alt",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-alt-slash",searchTerms:[]},{title:"fas fa-user-astronaut",searchTerms:["avatar","clothing","cosmonaut","space","suit"]},{title:"fas fa-user-check",searchTerms:[]},{title:"fas fa-user-circle",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"far fa-user-circle",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-clock",searchTerms:[]},{title:"fas fa-user-cog",searchTerms:[]},{title:"fas fa-user-edit",searchTerms:[]},{title:"fas fa-user-friends",searchTerms:[]},{title:"fas fa-user-graduate",searchTerms:["cap","clothing","commencement","gown","graduation","student"]},{title:"fas fa-user-injured",searchTerms:["cast","ouch","sling"]},{title:"fas fa-user-lock",searchTerms:[]},{title:"fas fa-user-md",searchTerms:["doctor","job","medical","nurse","occupation","profile"]},{title:"fas fa-user-minus",searchTerms:["delete","negative","remove"]},{title:"fas fa-user-ninja",searchTerms:["assassin","avatar","dangerous","deadly","sneaky"]},{title:"fas fa-user-plus",searchTerms:["positive","sign up","signup"]},{title:"fas fa-user-secret",searchTerms:["clothing","coat","hat","incognito","privacy","spy","whisper"]},{title:"fas fa-user-shield",searchTerms:[]},{title:"fas fa-user-slash",searchTerms:["ban","remove"]},{title:"fas fa-user-tag",searchTerms:[]},{title:"fas fa-user-tie",searchTerms:["avatar","business","clothing","formal"]},{title:"fas fa-user-times",searchTerms:["archive","delete","remove","x"]},{title:"fas fa-users",searchTerms:["people","persons","profiles"]},{title:"fas fa-users-cog",searchTerms:[]},{title:"fab fa-ussunnah",searchTerms:[]},{title:"fas fa-utensil-spoon",searchTerms:["spoon"]},{title:"fas fa-utensils",searchTerms:["cutlery","dinner","eat","food","knife","restaurant","spoon"]},{title:"fab fa-vaadin",searchTerms:[]},{title:"fas fa-vector-square",searchTerms:["anchors","lines","object"]},{title:"fas fa-venus",searchTerms:["female"]},{title:"fas fa-venus-double",searchTerms:[]},{title:"fas fa-venus-mars",searchTerms:[]},{title:"fab fa-viacoin",searchTerms:[]},{title:"fab fa-viadeo",searchTerms:[]},{title:"fab fa-viadeo-square",searchTerms:[]},{title:"fas fa-vial",searchTerms:["test tube"]},{title:"fas fa-vials",searchTerms:["lab results","test tubes"]},{title:"fab fa-viber",searchTerms:[]},{title:"fas fa-video",searchTerms:["camera","film","movie","record","video-camera"]},{title:"fas fa-video-slash",searchTerms:[]},{title:"fas fa-vihara",searchTerms:["buddhism","buddhist","building","monastery"]},{title:"fab fa-vimeo",searchTerms:[]},{title:"fab fa-vimeo-square",searchTerms:[]},{title:"fab fa-vimeo-v",searchTerms:["vimeo"]},{title:"fab fa-vine",searchTerms:[]},{title:"fab fa-vk",searchTerms:[]},{title:"fab fa-vnv",searchTerms:[]},{title:"fas fa-volleyball-ball",searchTerms:[]},{title:"fas fa-volume-down",searchTerms:["audio","lower","music","quieter","sound","speaker"]},{title:"fas fa-volume-mute",searchTerms:[]},{title:"fas fa-volume-off",searchTerms:["audio","music","mute","sound"]},{title:"fas fa-volume-up",searchTerms:["audio","higher","louder","music","sound","speaker"]},{title:"fas fa-vote-yea",searchTerms:["accept","cast","election","politics","positive","yes"]},{title:"fas fa-vr-cardboard",searchTerms:["google","reality","virtual"]},{title:"fab fa-vuejs",searchTerms:[]},{title:"fas fa-walking",searchTerms:[]},{title:"fas fa-wallet",searchTerms:[]},{title:"fas fa-warehouse",searchTerms:[]},{title:"fas fa-water",searchTerms:[]},{title:"fab fa-weebly",searchTerms:[]},{title:"fab fa-weibo",searchTerms:[]},{title:"fas fa-weight",searchTerms:["measurement","scale","weight"]},{title:"fas fa-weight-hanging",searchTerms:["anvil","heavy","measurement"]},{title:"fab fa-weixin",searchTerms:[]},{title:"fab fa-whatsapp",searchTerms:[]},{title:"fab fa-whatsapp-square",searchTerms:[]},{title:"fas fa-wheelchair",searchTerms:["handicap","person"]},{title:"fab fa-whmcs",searchTerms:[]},{title:"fas fa-wifi",searchTerms:[]},{title:"fab fa-wikipedia-w",searchTerms:[]},{title:"fas fa-wind",searchTerms:["air","blow","breeze","fall","seasonal"]},{title:"fas fa-window-close",searchTerms:[]},{title:"far fa-window-close",searchTerms:[]},{title:"fas fa-window-maximize",searchTerms:[]},{title:"far fa-window-maximize",searchTerms:[]},{title:"fas fa-window-minimize",searchTerms:[]},{title:"far fa-window-minimize",searchTerms:[]},{title:"fas fa-window-restore",searchTerms:[]},{title:"far fa-window-restore",searchTerms:[]},{title:"fab fa-windows",searchTerms:["microsoft"]},{title:"fas fa-wine-bottle",searchTerms:["alcohol","beverage","drink","glass","grapes"]},{title:"fas fa-wine-glass",searchTerms:["alcohol","beverage","drink","grapes"]},{title:"fas fa-wine-glass-alt",searchTerms:["alcohol","beverage","drink","grapes"]},{title:"fab fa-wix",searchTerms:[]},{title:"fab fa-wizards-of-the-coast",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fab fa-wolf-pack-battalion",searchTerms:[]},{title:"fas fa-won-sign",searchTerms:["krw"]},{title:"fab fa-wordpress",searchTerms:[]},{title:"fab fa-wordpress-simple",searchTerms:[]},{title:"fab fa-wpbeginner",searchTerms:[]},{title:"fab fa-wpexplorer",searchTerms:[]},{title:"fab fa-wpforms",searchTerms:[]},{title:"fab fa-wpressr",searchTerms:["rendact"]},{title:"fas fa-wrench",searchTerms:["fix","settings","spanner","tool","update"]},{title:"fas fa-x-ray",searchTerms:["radiological images","radiology"]},{title:"fab fa-xbox",searchTerms:[]},{title:"fab fa-xing",searchTerms:[]},{title:"fab fa-xing-square",searchTerms:[]},{title:"fab fa-y-combinator",searchTerms:[]},{title:"fab fa-yahoo",searchTerms:[]},{title:"fab fa-yandex",searchTerms:[]},{title:"fab fa-yandex-international",searchTerms:[]},{title:"fab fa-yelp",searchTerms:[]},{title:"fas fa-yen-sign",searchTerms:["jpy","money"]},{title:"fas fa-yin-yang",searchTerms:["daoism","opposites","taoism"]},{title:"fab fa-yoast",searchTerms:[]},{title:"fab fa-youtube",searchTerms:["film","video","youtube-play","youtube-square"]},{title:"fab fa-youtube-square",searchTerms:[]},{title:"fab fa-zhihu",searchTerms:[]}]})});
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/index.html CHANGED
@@ -1,272 +1,312 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Font Awesome Icon Picker plugin for Bootstrap</title>
6
- <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7
- <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
8
- <link href="dist/css/fontawesome-iconpicker.min.css" rel="stylesheet">
9
- <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
10
- <!--[if lt IE 9]>
11
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
12
- <![endif]-->
13
- <style>
14
- footer{
15
- font-style: italic;
16
- background:#f7f7f7;
17
- padding:60px;
18
- text-align: center;
19
- margin-top: 60px;
20
- }
21
- pre{
22
- text-align: left;
23
- }
24
- .form-control, .form-group{
25
- position: relative;
26
- }
27
- p.lead{
28
- max-width: 600px;
29
- margin:0 auto 20px auto;
30
- }
31
- div.lead{
32
- margin:30px 0;
33
- }
34
- a.action-placement{
35
- margin:0 4px 4px 4px;
36
- display:inline-block;
37
- /*border-bottom: 1px dotted #428BCA;*/
38
- text-decoration: none;
39
- }
40
- a.action-placement.active{
41
- color:#5CB85C;
42
- }
43
- .form-group{
44
- text-align: left;
45
- margin-bottom: 30px;
46
- }
47
- .form-group label{
48
- display:block;
49
- margin-bottom: 15px;
50
- }
51
- .lead iframe{
52
- display:inline-block;
53
- vertical-align: middle;
54
- }
55
- </style>
56
- </head>
57
 
58
- <body>
59
- <div class="container" style="text-align: center">
60
- <h1 class="page-header">Font Awesome Icon Picker</h1>
61
-
62
- <p class="lead">
63
- Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
64
- with a powerful base API,<br> based on
65
- <a href="https://itsjavi.com/bootstrap-popover-picker" target="_blank">Bootstrap Popover Picker</a>
66
- </p>
67
- <div class="lead">
68
 
69
- <a class="btn btn-warning" href="https://github.com/itsjavi/fontawesome-iconpicker">
70
- <i class="fa-github-alt fa"></i> Source Code
71
- </a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
- <a class="btn btn-primary" href="https://github.com/itsjavi/fontawesome-iconpicker/releases">
74
- <i class="fa-download fa"></i> Download
75
- </a>
76
 
77
- <a class="btn btn-primary" target="_blank" href="https://chrome.google.com/webstore/detail/font-awesome-icon-picker/mcepmpclbgahgbpcgbmnpplcfmlaiopm">
78
- <i class="fa-puzzle-piece fa"></i> Google Chrome extension
79
- </a>
80
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  <p class="lead">
82
- You can use Font Awesome or another font icon set of your choice (icon options and items are customizable).
83
  </p>
84
- <div class="panel panel-default">
85
- <div class="panel-heading">
86
- <h2 class="panel-title">Demos</h2>
87
- </div>
88
- <div class="panel-body">
89
- <p class="lead">
90
- <i class="fa fa-graduation-cap fa-3x picker-target"></i>
91
- </p>
92
- <div class="row">
93
- <div class="col-md-5">
94
- <div class="form-group">
95
- <label>Default</label>
96
- <input class="form-control icp icp-auto" value="fa-anchor" type="text" />
97
- </div>
98
- <div class="form-group">
99
- <label>As a component</label>
100
 
101
- <div class="input-group">
102
- <input data-placement="bottomRight" class="form-control icp icp-auto" value="fa-archive" type="text" />
103
- <span class="input-group-addon"></span>
104
- </div>
105
- </div>
106
- <div class="form-group">
107
- <label>With the input as a search box</label>
108
- <input class="form-control icp icp-auto" data-input-search="true" value="fa-plane" type="text" />
109
- </div>
110
- <div class="form-group">
111
- <label>Inside dropdowns</label>
112
- <div class="btn-group">
113
- <button data-selected="graduation-cap" type="button" class="icp icp-dd btn btn-default dropdown-toggle iconpicker-component" data-toggle="dropdown">
114
- Dropdown <i class="fa fa-fw"></i>
115
- <span class="caret"></span>
116
- </button>
117
- <div class="dropdown-menu"></div>
118
- </div>
119
- <div class="btn-group">
120
- <button type="button" class="btn btn-primary iconpicker-component"><i class="fa fa-fw fa-heart"></i></button>
121
- <button type="button" class="icp icp-dd btn btn-primary dropdown-toggle" data-selected="fa-car" data-toggle="dropdown">
122
- <span class="caret"></span>
123
- <span class="sr-only">Toggle Dropdown</span>
124
- </button>
125
- <div class="dropdown-menu"></div>
126
- </div>
127
- <p class="help-block"><br>
128
- Note: In dropdowns the placement is controlled by the Bootstrap dropdown plugin
129
- </p>
130
- </div>
131
- <div class="form-group">
132
- <label data-title="Inline picker" data-placement="inline" class="icp icp-auto" data-selected="fa-align-justify">
133
- Inline mode, without input:
134
- </label>
135
- </div>
136
  </div>
137
- <div class="col-md-7">
138
- <div class="form-group">
139
- <label>With custom options</label>
140
- <input class="form-control icp icp-opts" value="fa-github" type="text" /><br>
141
- <pre class="well">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  {
143
  //...
144
  title: 'With custom options',
145
- icons: ['fa-github', 'fa-heart', 'fa-html5', 'fa-css3'],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  selectedCustomClass: 'label label-success',
147
  mustAccept:true,
148
  placement:'bottomRight',
149
  showFooter:true,
150
  //... (see the source code of this page)
151
  }</pre>
152
- </div>
153
- <div class="form-group">
154
- <label>Mixing a custom font with the default Font Awesome icons</label>
155
- <input class="form-control icp icp-glyphs" value="glyphicon-star" type="text" /><br>
156
- <pre class="well">
157
- {
158
- //...
159
- title: 'Prepending glypghicons',
160
- icons: $.merge([
161
- 'glyphicon-home',
162
- 'glyphicon-repeat',
163
- 'glyphicon-search',
164
- 'glyphicon-arrow-left',
165
- 'glyphicon-arrow-right',
166
- 'glyphicon-star'],
167
- $.iconpicker.defaultOptions.icons),
168
- fullClassFormatter: function(val){
169
- if(val.match(/^fa-/)){
170
- return 'fa '+val;
171
- }else{
172
- return 'glyphicon '+val;
173
- }
174
- }
175
- //...
176
- }</pre>
177
- </div>
178
- </div>
179
  </div>
180
  </div>
181
- <div class="panel-footer">
182
- <button class="btn btn-danger action-destroy">Destroy instances</button>
183
- <button class="btn btn-default action-create">Create instances</button>
184
- </div>
185
  </div>
186
  </div>
187
- <footer>
188
- created by <a href="https://itsjavi.com" target="_blank">Javi Aguilar</a>
189
- </footer>
190
- <script src="//code.jquery.com/jquery-2.2.1.min.js"></script>
191
- <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
192
- <script src="dist/js/fontawesome-iconpicker.js"></script>
193
- <script>
194
- $(function() {
195
- $('.action-destroy').on('click', function() {
196
- $.iconpicker.batch('.icp.iconpicker-element', 'destroy');
197
- });
198
- // Live binding of buttons
199
- $(document).on('click', '.action-placement', function(e) {
200
- $('.action-placement').removeClass('active');
201
- $(this).addClass('active');
202
- $('.icp-opts').data('iconpicker').updatePlacement($(this).text());
203
- e.preventDefault();
204
- return false;
205
- });
206
- $('.action-create').on('click', function() {
207
- $('.icp-auto').iconpicker();
208
-
209
- $('.icp-dd').iconpicker({
210
- //title: 'Dropdown with picker',
211
- //component:'.btn > i'
212
- });
213
-
214
- $('.icp-glyphs').iconpicker({
215
- title: 'Prepending glypghicons',
216
- icons: $.merge(['glyphicon-home', 'glyphicon-repeat', 'glyphicon-search',
217
- 'glyphicon-arrow-left', 'glyphicon-arrow-right', 'glyphicon-star'], $.iconpicker.defaultOptions.icons),
218
- fullClassFormatter: function(val){
219
- if(val.match(/^fa-/)){
220
- return 'fa '+val;
221
- }else{
222
- return 'glyphicon '+val;
223
- }
224
- }
225
- });
226
- $('.icp-opts').iconpicker({
227
- title: 'With custom options',
228
- icons: ['fa-github', 'fa-heart', 'fa-html5', 'fa-css3'],
229
- selectedCustomClass: 'label label-success',
230
- mustAccept: true,
231
- placement: 'bottomRight',
232
- showFooter: true,
233
- // note that this is ignored cause we have an accept button:
234
- hideOnSelect: true,
235
- templates: {
236
- footer: '<div class="popover-footer">' +
237
- '<div style="text-align:left; font-size:12px;">Placements: \n\
238
- <a href="#" class=" action-placement">inline</a>\n\
239
- <a href="#" class=" action-placement">topLeftCorner</a>\n\
240
- <a href="#" class=" action-placement">topLeft</a>\n\
241
- <a href="#" class=" action-placement">top</a>\n\
242
- <a href="#" class=" action-placement">topRight</a>\n\
243
- <a href="#" class=" action-placement">topRightCorner</a>\n\
244
- <a href="#" class=" action-placement">rightTop</a>\n\
245
- <a href="#" class=" action-placement">right</a>\n\
246
- <a href="#" class=" action-placement">rightBottom</a>\n\
247
- <a href="#" class=" action-placement">bottomRightCorner</a>\n\
248
- <a href="#" class=" active action-placement">bottomRight</a>\n\
249
- <a href="#" class=" action-placement">bottom</a>\n\
250
- <a href="#" class=" action-placement">bottomLeft</a>\n\
251
- <a href="#" class=" action-placement">bottomLeftCorner</a>\n\
252
- <a href="#" class=" action-placement">leftBottom</a>\n\
253
- <a href="#" class=" action-placement">left</a>\n\
254
- <a href="#" class=" action-placement">leftTop</a>\n\
255
- </div><hr></div>'}
256
- }).data('iconpicker').show();
257
- }).trigger('click');
 
 
 
 
 
 
 
 
 
 
 
 
258
 
259
 
260
- // Events sample:
261
- // This event is only triggered when the actual input value is changed
262
- // by user interaction
263
- $('.icp').on('iconpickerSelected', function(e) {
264
- $('.lead .picker-target').get(0).className = 'picker-target fa-3x ' +
265
- e.iconpickerInstance.options.iconBaseClass + ' ' +
266
- e.iconpickerInstance.options.fullClassFormatter(e.iconpickerValue);
267
- });
268
- });
269
- </script>
270
- </body>
271
 
272
  </html>
1
  <!DOCTYPE html>
2
  <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Font Awesome Icon Picker plugin for Bootstrap</title>
6
+ <script async src="https://www.googletagmanager.com/gtag/js?id=UA-85082661-5"></script>
7
+ <script>
8
+ window.dataLayer = window.dataLayer || [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
+ function gtag() {
11
+ dataLayer.push(arguments);
12
+ }
 
 
 
 
 
 
 
13
 
14
+ gtag('js', new Date());
15
+ gtag('config', 'UA-85082661-5');
16
+ </script>
17
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
18
+ <!-- <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> -->
19
+ <link href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" rel="stylesheet">
20
+ <link href="dist/css/fontawesome-iconpicker.min.css" rel="stylesheet">
21
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
22
+ <!--[if lt IE 9]>
23
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
24
+ <![endif]-->
25
+ <style>
26
+ footer {
27
+ font-style: italic;
28
+ background: #f7f7f7;
29
+ padding: 60px;
30
+ text-align: center;
31
+ margin-top: 60px;
32
+ }
33
 
34
+ pre {
35
+ text-align: left;
36
+ }
37
 
38
+ .form-control, .form-group {
39
+ position: relative;
40
+ }
41
+
42
+ p.lead {
43
+ max-width: 800px;
44
+ margin: 0 auto 20px auto;
45
+ }
46
+
47
+ div.lead {
48
+ margin: 30px 0;
49
+ }
50
+
51
+ a.action-placement {
52
+ margin: 0 4px 4px 4px;
53
+ display: inline-block;
54
+ /*border-bottom: 1px dotted #428BCA;*/
55
+ text-decoration: none;
56
+ }
57
+
58
+ a.action-placement.active {
59
+ color: #5CB85C;
60
+ }
61
+
62
+ .form-group {
63
+ text-align: left;
64
+ margin-bottom: 30px;
65
+ }
66
+
67
+ .form-group label {
68
+ display: block;
69
+ margin-bottom: 15px;
70
+ }
71
+
72
+ .lead iframe {
73
+ display: inline-block;
74
+ vertical-align: middle;
75
+ }
76
+ </style>
77
+ </head>
78
+
79
+ <body>
80
+ <div class="container" style="text-align: center">
81
+ <h1 class="page-header">Font Awesome Icon Picker</h1>
82
+
83
+ <p class="lead">
84
+ Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
85
+ with a powerful base API, based on
86
+ <a href="https://itsjavi.com/bootstrap-popover-picker" target="_blank">Bootstrap Popover Picker</a>
87
+ </p>
88
+ <div class="lead">
89
+
90
+ <a class="btn btn-warning" href="https://github.com/itsjavi/fontawesome-iconpicker">
91
+ <i class="fab fa-github"></i> Source Code
92
+ </a>
93
+
94
+ <a class="btn btn-primary" href="https://github.com/itsjavi/fontawesome-iconpicker/releases">
95
+ <i class="fas fa-download"></i> Download
96
+ </a>
97
+
98
+ <a class="btn btn-primary" target="_blank"
99
+ href="https://chrome.google.com/webstore/detail/font-awesome-icon-picker/mcepmpclbgahgbpcgbmnpplcfmlaiopm">
100
+ <i class="fas fa-puzzle-piece"></i> Chrome extension
101
+ </a>
102
+
103
+ <a class="btn btn-success" href="https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers">
104
+ <i class="far fa-heart"></i> Donate
105
+ </a>
106
+
107
+ <a class="btn btn-default"
108
+ href="https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors">
109
+ <i class="fas fa-star"></i> Supporters
110
+ </a>
111
+ </div>
112
+ <p class="lead">
113
+ You can use Font Awesome or another font icon set of your choice (icon options and items are customizable).
114
+ </p>
115
+ <div class="panel panel-default">
116
+ <div class="panel-heading">
117
+ <h2 class="panel-title">Demos</h2>
118
+ </div>
119
+ <div class="panel-body">
120
  <p class="lead">
121
+ <i class="fa fa-graduation-cap fa-3x picker-target"></i>
122
  </p>
123
+ <div class="row">
124
+ <div class="col-md-5">
125
+ <div class="form-group">
126
+ <label>Default</label>
127
+ <input class="form-control icp icp-auto" value="fas fa-anchor" type="text"/>
128
+ </div>
129
+ <div class="form-group">
130
+ <label>As a component</label>
 
 
 
 
 
 
 
 
131
 
132
+ <div class="input-group">
133
+ <input data-placement="bottomRight" class="form-control icp icp-auto" value="fas fa-archive"
134
+ type="text"/>
135
+ <span class="input-group-addon"></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  </div>
137
+ </div>
138
+ <div class="form-group">
139
+ <label>With the input as a search box</label>
140
+ <input class="form-control icp icp-auto" data-input-search="true" value="fas fa-plane"
141
+ type="text"/>
142
+ </div>
143
+ <div class="form-group">
144
+ <label>Inside dropdowns</label>
145
+ <div class="btn-group">
146
+ <button data-selected="graduation-cap" type="button"
147
+ class="icp icp-dd btn btn-default dropdown-toggle iconpicker-component"
148
+ data-toggle="dropdown">
149
+ Dropdown <i class="fa fa-fw"></i>
150
+ <span class="caret"></span>
151
+ </button>
152
+ <div class="dropdown-menu"></div>
153
+ </div>
154
+ <div class="btn-group">
155
+ <button type="button" class="btn btn-primary iconpicker-component"><i
156
+ class="fa fa-fw fa-heart"></i></button>
157
+ <button type="button" class="icp icp-dd btn btn-primary dropdown-toggle"
158
+ data-selected="fa-car" data-toggle="dropdown">
159
+ <span class="caret"></span>
160
+ <span class="sr-only">Toggle Dropdown</span>
161
+ </button>
162
+ <div class="dropdown-menu"></div>
163
+ </div>
164
+ <p class="help-block"><br>
165
+ Note: In dropdowns the placement is controlled by the Bootstrap dropdown plugin
166
+ </p>
167
+ </div>
168
+ <div class="form-group">
169
+ <label data-title="Inline picker" data-placement="inline" class="icp icp-auto"
170
+ data-selected="fa-align-justify">
171
+ Inline mode, without input:
172
+ </label>
173
+ </div>
174
+ </div>
175
+ <div class="col-md-7">
176
+ <div class="form-group">
177
+ <label>With custom options, e.g. a subset of icons</label>
178
+ <input class="form-control icp icp-opts" value="fab fa-github" type="text"/><br>
179
+ <pre class="well">
180
  {
181
  //...
182
  title: 'With custom options',
183
+ icons: [
184
+ {
185
+ title: "fab fa-github",
186
+ searchTerms: ['repository', 'code']
187
+ },
188
+ {
189
+ title: "fas fa-heart",
190
+ searchTerms: ['love']
191
+ },
192
+ {
193
+ title: "fab fa-html5",
194
+ searchTerms: ['web']
195
+ },
196
+ {
197
+ title: "fab fa-css3",
198
+ searchTerms: ['style']
199
+ }
200
+ ],
201
  selectedCustomClass: 'label label-success',
202
  mustAccept:true,
203
  placement:'bottomRight',
204
  showFooter:true,
205
  //... (see the source code of this page)
206
  }</pre>
207
+ <p class="help-block"><br>
208
+ Tip: You can use any font library of your choice and add the icons this way,
209
+ mix them up with Font Awesome icons, etc.
210
+ </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  </div>
212
  </div>
 
 
 
 
213
  </div>
214
  </div>
215
+ <div class="panel-footer">
216
+ <button class="btn btn-danger action-destroy">Destroy instances</button>
217
+ <button class="btn btn-default action-create">Create instances</button>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ <footer>
222
+ created by <a href="https://itsjavi.com" target="_blank">Javi Aguilar</a>
223
+ </footer>
224
+ <script src="//code.jquery.com/jquery-2.2.1.min.js"></script>
225
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
226
+ <script src="dist/js/fontawesome-iconpicker.js"></script>
227
+ <script>
228
+ $(function () {
229
+ $('.action-destroy').on('click', function () {
230
+ $.iconpicker.batch('.icp.iconpicker-element', 'destroy');
231
+ });
232
+ // Live binding of buttons
233
+ $(document).on('click', '.action-placement', function (e) {
234
+ $('.action-placement').removeClass('active');
235
+ $(this).addClass('active');
236
+ $('.icp-opts').data('iconpicker').updatePlacement($(this).text());
237
+ e.preventDefault();
238
+ return false;
239
+ });
240
+ $('.action-create').on('click', function () {
241
+ $('.icp-auto').iconpicker();
242
+
243
+ $('.icp-dd').iconpicker({
244
+ //title: 'Dropdown with picker',
245
+ //component:'.btn > i'
246
+ });
247
+ $('.icp-opts').iconpicker({
248
+ title: 'With custom options',
249
+ icons: [
250
+ {
251
+ title: "fab fa-github",
252
+ searchTerms: ['repository', 'code']
253
+ },
254
+ {
255
+ title: "fas fa-heart",
256
+ searchTerms: ['love']
257
+ },
258
+ {
259
+ title: "fab fa-html5",
260
+ searchTerms: ['web']
261
+ },
262
+ {
263
+ title: "fab fa-css3",
264
+ searchTerms: ['style']
265
+ }
266
+ ],
267
+ selectedCustomClass: 'label label-success',
268
+ mustAccept: true,
269
+ placement: 'bottomRight',
270
+ showFooter: true,
271
+ // note that this is ignored cause we have an accept button:
272
+ hideOnSelect: true,
273
+ // fontAwesome5: true,
274
+ templates: {
275
+ footer: '<div class="popover-footer">' +
276
+ '<div style="text-align:left; font-size:12px;">Placements: \n\
277
+ <a href="#" class=" action-placement">inline</a>\n\
278
+ <a href="#" class=" action-placement">topLeftCorner</a>\n\
279
+ <a href="#" class=" action-placement">topLeft</a>\n\
280
+ <a href="#" class=" action-placement">top</a>\n\
281
+ <a href="#" class=" action-placement">topRight</a>\n\
282
+ <a href="#" class=" action-placement">topRightCorner</a>\n\
283
+ <a href="#" class=" action-placement">rightTop</a>\n\
284
+ <a href="#" class=" action-placement">right</a>\n\
285
+ <a href="#" class=" action-placement">rightBottom</a>\n\
286
+ <a href="#" class=" action-placement">bottomRightCorner</a>\n\
287
+ <a href="#" class=" active action-placement">bottomRight</a>\n\
288
+ <a href="#" class=" action-placement">bottom</a>\n\
289
+ <a href="#" class=" action-placement">bottomLeft</a>\n\
290
+ <a href="#" class=" action-placement">bottomLeftCorner</a>\n\
291
+ <a href="#" class=" action-placement">leftBottom</a>\n\
292
+ <a href="#" class=" action-placement">left</a>\n\
293
+ <a href="#" class=" action-placement">leftTop</a>\n\
294
+ </div><hr></div>'
295
+ }
296
+ }).data('iconpicker').show();
297
+ }).trigger('click');
298
 
299
 
300
+ // Events sample:
301
+ // This event is only triggered when the actual input value is changed
302
+ // by user interaction
303
+ $('.icp').on('iconpickerSelected', function (e) {
304
+ $('.lead .picker-target').get(0).className = 'picker-target fa-3x ' +
305
+ e.iconpickerInstance.options.iconBaseClass + ' ' +
306
+ e.iconpickerInstance.options.fullClassFormatter(e.iconpickerValue);
307
+ });
308
+ });
309
+ </script>
310
+ </body>
311
 
312
  </html>
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/package.json CHANGED
@@ -1,16 +1,51 @@
1
  {
2
- "name": "fontawesome-iconpicker",
3
- "version": "1.3.0",
4
- "description": "Font Awesome Icon Picker plugin for Twitter Bootstrap",
5
- "homepage": "https://itsjavi.com/fontawesome-iconpicker/",
6
- "repository": {
7
- "type": "git",
8
- "url": "git@github.com:itsjavi/fontawesome-iconpicker.git"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  },
10
- "main": "dist/js/fontawesome-iconpicker.js",
11
  "bugs": {
12
- "url": "https://github.com/itsjavi/fontawesome-iconpicker/issues"
13
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  "keywords": [
15
  "bootstrap",
16
  "fontawesome",
@@ -18,21 +53,12 @@
18
  "popover",
19
  "picker"
20
  ],
21
- "author": "Javi Aguilar",
22
- "licenses": [
23
- {
24
- "type": "MIT",
25
- "url": "https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE"
26
- }
27
- ],
28
- "devDependencies": {
29
- "grunt": "~0.4.5",
30
- "grunt-contrib-clean": "~0.5.0",
31
- "grunt-contrib-jshint": "~0.10.0",
32
- "grunt-contrib-less": "~0.11.2",
33
- "grunt-contrib-uglify": "~0.5.0",
34
- "grunt-contrib-concat": "~0.4.0",
35
- "grunt-jsbeautifier": "~0.2.7",
36
- "grunt-contrib-watch": "~0.6.1"
37
- }
38
  }
1
  {
2
+ "_from": "fontawesome-iconpicker@latest",
3
+ "_id": "fontawesome-iconpicker@3.2.0",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-faI7fhGmO61u1WnYpFoHZ1OiL1xQo8KfX3ranq50KkDz5Jh/klaVjf8vhedQIJquVV28GJ61e/MChRTpQ6POTw==",
6
+ "_location": "/fontawesome-iconpicker",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "tag",
10
+ "registry": true,
11
+ "raw": "fontawesome-iconpicker@latest",
12
+ "name": "fontawesome-iconpicker",
13
+ "escapedName": "fontawesome-iconpicker",
14
+ "rawSpec": "latest",
15
+ "saveSpec": null,
16
+ "fetchSpec": "latest"
17
+ },
18
+ "_requiredBy": [
19
+ "#DEV:/",
20
+ "#USER"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/fontawesome-iconpicker/-/fontawesome-iconpicker-3.2.0.tgz",
23
+ "_shasum": "48b535ec1cc077f00b8d63b659eb03da7d72d972",
24
+ "_spec": "fontawesome-iconpicker@latest",
25
+ "_where": "/Users/mickey/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/better-font-awesome/vendor/mickey-kay/better-font-awesome-library",
26
+ "author": {
27
+ "name": "Javi Aguilar"
28
  },
 
29
  "bugs": {
30
+ "url": "https://github.com/farbelous/fontawesome-iconpicker/issues"
31
  },
32
+ "bundleDependencies": false,
33
+ "deprecated": false,
34
+ "description": "Font Awesome Icon Picker plugin for Twitter Bootstrap",
35
+ "devDependencies": {
36
+ "grunt": "^1.0.3",
37
+ "grunt-contrib-clean": "^0.5",
38
+ "grunt-contrib-concat": "^0.4",
39
+ "grunt-contrib-jshint": "^2.0.0",
40
+ "grunt-contrib-less": "^2.0.0",
41
+ "grunt-contrib-uglify": "^4.0.0",
42
+ "grunt-contrib-watch": "^1.1.0",
43
+ "grunt-http-download": "^0.1",
44
+ "grunt-jsbeautifier": "^0.2",
45
+ "grunt-string-replace": "^1.3",
46
+ "grunt-yaml": "^0.4"
47
+ },
48
+ "homepage": "https://farbelous.github.io/fontawesome-iconpicker/",
49
  "keywords": [
50
  "bootstrap",
51
  "fontawesome",
53
  "popover",
54
  "picker"
55
  ],
56
+ "license": "MIT",
57
+ "main": "dist/js/fontawesome-iconpicker.js",
58
+ "name": "fontawesome-iconpicker",
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "git+ssh://git@github.com/farbelous/fontawesome-iconpicker.git"
62
+ },
63
+ "version": "3.2.0"
 
 
 
 
 
 
 
 
 
64
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/iconpicker.js CHANGED
@@ -1,11 +1,10 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
- *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
  *
 
 
 
9
  */
10
 
11
  (function(factory) {
@@ -46,11 +45,12 @@
46
  var Iconpicker = function(element, options) {
47
  this._id = Iconpicker._idCounter++;
48
  this.element = $(element).addClass('iconpicker-element');
49
- this._trigger('iconpickerCreate');
 
 
50
  this.options = $.extend({}, Iconpicker.defaultOptions, this.element.data(), options);
51
  this.options.templates = $.extend({}, Iconpicker.defaultOptions.templates, this.options.templates);
52
  this.options.originalPlacement = this.options.placement;
53
-
54
  // Iconpicker container element
55
  this.container = (_helpers.isElement(this.options.container) ? $(this.options.container) : false);
56
  if (this.container === false) {
@@ -63,14 +63,10 @@
63
  this.container.addClass('iconpicker-container');
64
 
65
  if (this.isDropdownMenu()) {
66
- // if you try to click the dropdown, it is closed, because of that
67
- // we'll hide some picker controls
68
- this.options.templates.search = false;
69
- this.options.templates.buttons = false;
70
  this.options.placement = 'inline';
71
  }
72
 
73
- // Is the element an input? Should we search inside for any input?
74
  this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false);
75
  if (this.input === false) {
76
  this.input = (this.container.find(this.options.input));
@@ -114,7 +110,9 @@
114
  this.show();
115
  }
116
 
117
- this._trigger('iconpickerCreated');
 
 
118
  };
119
 
120
  // Instance identifier counter
@@ -135,7 +133,7 @@
135
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
136
  icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
137
  fullClassFormatter: function(val) {
138
- return 'fa ' + val;
139
  },
140
  input: 'input,.iconpicker-input', // children input selector
141
  inputSearch: false, // use the input as a search box too?
@@ -150,7 +148,7 @@
150
  ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
151
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
152
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
153
- iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>',
154
  }
155
  };
156
 
@@ -238,29 +236,37 @@
238
  // only hide when the accept button is not present
239
  _self.hide();
240
  }
241
- e.preventDefault();
242
- return false;
243
  };
244
 
 
 
245
  for (var i in this.options.icons) {
246
- if (typeof this.options.icons[i] === 'string') {
247
- var itemElement = $(this.options.templates.iconpickerItem);
248
  itemElement.find('i')
249
- .addClass(this.options.fullClassFormatter(this.options.icons[i]));
250
- itemElement.data('iconpickerValue', this.options.icons[i])
251
  .on('click.iconpicker', itemClickFn);
252
- this.iconpicker.find('.iconpicker-items').append(itemElement
253
- .attr('title', '.' + this.options.icons[i]));
 
 
 
 
 
 
 
 
254
  }
255
  }
256
-
257
  this.popover.find('.popover-content').append(this.iconpicker);
258
 
259
  return this.iconpicker;
260
  },
261
  _isEventInsideIconpicker: function(e) {
262
  var _t = $(e.target);
263
- if ((!_t.hasClass('iconpicker-element')  ||
264
  (_t.hasClass('iconpicker-element') && !_t.is(this.element))) &&
265
  (_t.parents('.iconpicker-popover').length === 0)) {
266
  return false;
@@ -340,13 +346,8 @@
340
  if (!_self._isEventInsideIconpicker(e) && !_self.isInline()) {
341
  _self.hide();
342
  }
343
- e.stopPropagation();
344
- e.preventDefault();
345
- return false;
346
  });
347
  }
348
-
349
- return false;
350
  },
351
  _unbindElementEvents: function() {
352
  this.popover.off('.iconpicker');
@@ -384,7 +385,7 @@
384
  my: "right top",
385
  // of: Which element to position against.
386
  of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container,
387
- // collision: When the positioned element overflows the window (or within element)
388
  // in some direction, move it to an alternative position.
389
  collision: (collision === true ? 'flip' : collision),
390
  // within: Element to position within, affecting collision detection.
@@ -590,8 +591,15 @@
590
 
591
  // trim string
592
  val = $.trim(val);
 
 
 
 
 
 
 
593
 
594
- if (_helpers.inArray(val, this.options.icons) || isEmpty) {
595
  return val;
596
  }
597
  return false;
@@ -697,9 +705,11 @@
697
  this.iconpicker.find('.iconpicker-item').each(function() {
698
  var $this = $(this);
699
  var text = $this.attr('title').toLowerCase();
 
 
700
  var regex = false;
701
  try {
702
- regex = new RegExp(filterText, 'g');
703
  } catch (e) {
704
  regex = false;
705
  }
@@ -720,25 +730,33 @@
720
  // hide other non-inline pickers
721
  $.iconpicker.batch($('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');
722
 
723
- this._trigger('iconpickerShow');
 
 
724
  this.updatePlacement();
725
  this.popover.addClass('in');
726
  setTimeout($.proxy(function() {
727
  this.popover.css('display', this.isInline() ? '' : 'block');
728
- this._trigger('iconpickerShown');
 
 
729
  }, this), this.options.animation ? 300 : 1); // animation duration
730
  },
731
  hide: function() {
732
  if (!this.popover.hasClass('in')) {
733
  return false;
734
  }
735
- this._trigger('iconpickerHide');
 
 
736
  this.popover.removeClass('in');
737
  setTimeout($.proxy(function() {
738
  this.popover.css('display', 'none');
739
  this.getSearchInput().val('');
740
  this.filter(''); // clear filter
741
- this._trigger('iconpickerHidden');
 
 
742
  }, this), this.options.animation ? 300 : 1);
743
  },
744
  toggle: function() {
@@ -749,10 +767,12 @@
749
  }
750
  },
751
  update: function(val, updateOnlyInternal) {
752
- val = (val ? val :  this.getSourceValue(this.iconpickerValue));
753
  // reads the input or element value again and tries to update the plugin
754
  // fallback to the current selected item value
755
- this._trigger('iconpickerUpdate');
 
 
756
 
757
  if (updateOnlyInternal === true) {
758
  val = this.setValue(val);
@@ -765,11 +785,15 @@
765
  this._updateComponents();
766
  }
767
 
768
- this._trigger('iconpickerUpdated');
 
 
769
  return val;
770
  },
771
  destroy: function() {
772
- this._trigger('iconpickerDestroy');
 
 
773
 
774
  // unbinds events and resets everything to the initial state,
775
  // including component mode
@@ -780,7 +804,9 @@
780
 
781
  $(this.popover).remove();
782
 
783
- this._trigger('iconpickerDestroyed');
 
 
784
  },
785
  disable: function() {
786
  if (this.hasInput()) {
@@ -821,114 +847,8 @@
821
  };
822
 
823
  // List of all Font Awesome icons without class prefix
824
- Iconpicker.defaultOptions.icons = [
825
- 'fa-500px', 'fa-address-book', 'fa-address-book-o', 'fa-address-card', 'fa-address-card-o', 'fa-adjust', 'fa-adn',
826
- 'fa-align-center', 'fa-align-justify', 'fa-align-left', 'fa-align-right', 'fa-amazon', 'fa-ambulance',
827
- 'fa-american-sign-language-interpreting', 'fa-anchor', 'fa-android', 'fa-angellist', 'fa-angle-double-down',
828
- 'fa-angle-double-left', 'fa-angle-double-right', 'fa-angle-double-up', 'fa-angle-down', 'fa-angle-left', 'fa-angle-right',
829
- 'fa-angle-up', 'fa-apple', 'fa-archive', 'fa-area-chart', 'fa-arrow-circle-down', 'fa-arrow-circle-left',
830
- 'fa-arrow-circle-o-down', 'fa-arrow-circle-o-left', 'fa-arrow-circle-o-right', 'fa-arrow-circle-o-up',
831
- 'fa-arrow-circle-right', 'fa-arrow-circle-up', 'fa-arrow-down', 'fa-arrow-left', 'fa-arrow-right', 'fa-arrow-up', 'fa-arrows',
832
- 'fa-arrows-alt', 'fa-arrows-h', 'fa-arrows-v', 'fa-asl-interpreting', 'fa-assistive-listening-systems', 'fa-asterisk',
833
- 'fa-at', 'fa-audio-description', 'fa-automobile', 'fa-backward', 'fa-balance-scale', 'fa-ban', 'fa-bandcamp', 'fa-bank',
834
- 'fa-bar-chart', 'fa-bar-chart-o', 'fa-barcode', 'fa-bars', 'fa-bath', 'fa-bathtub', 'fa-battery', 'fa-battery-0',
835
- 'fa-battery-1', 'fa-battery-2', 'fa-battery-3', 'fa-battery-4', 'fa-battery-empty', 'fa-battery-full', 'fa-battery-half',
836
- 'fa-battery-quarter', 'fa-battery-three-quarters', 'fa-bed', 'fa-beer', 'fa-behance', 'fa-behance-square', 'fa-bell',
837
- 'fa-bell-o', 'fa-bell-slash', 'fa-bell-slash-o', 'fa-bicycle', 'fa-binoculars', 'fa-birthday-cake', 'fa-bitbucket',
838
- 'fa-bitbucket-square', 'fa-bitcoin', 'fa-black-tie', 'fa-blind', 'fa-bluetooth', 'fa-bluetooth-b', 'fa-bold', 'fa-bolt',
839
- 'fa-bomb', 'fa-book', 'fa-bookmark', 'fa-bookmark-o', 'fa-braille', 'fa-briefcase', 'fa-btc', 'fa-bug', 'fa-building',
840
- 'fa-building-o', 'fa-bullhorn', 'fa-bullseye', 'fa-bus', 'fa-buysellads', 'fa-cab', 'fa-calculator', 'fa-calendar',
841
- 'fa-calendar-check-o', 'fa-calendar-minus-o', 'fa-calendar-o', 'fa-calendar-plus-o', 'fa-calendar-times-o', 'fa-camera',
842
- 'fa-camera-retro', 'fa-car', 'fa-caret-down', 'fa-caret-left', 'fa-caret-right', 'fa-caret-square-o-down',
843
- 'fa-caret-square-o-left', 'fa-caret-square-o-right', 'fa-caret-square-o-up', 'fa-caret-up', 'fa-cart-arrow-down',
844
- 'fa-cart-plus', 'fa-cc', 'fa-cc-amex', 'fa-cc-diners-club', 'fa-cc-discover', 'fa-cc-jcb', 'fa-cc-mastercard', 'fa-cc-paypal',
845
- 'fa-cc-stripe', 'fa-cc-visa', 'fa-certificate', 'fa-chain', 'fa-chain-broken', 'fa-check', 'fa-check-circle',
846
- 'fa-check-circle-o', 'fa-check-square', 'fa-check-square-o', 'fa-chevron-circle-down', 'fa-chevron-circle-left',
847
- 'fa-chevron-circle-right', 'fa-chevron-circle-up', 'fa-chevron-down', 'fa-chevron-left', 'fa-chevron-right', 'fa-chevron-up',
848
- 'fa-child', 'fa-chrome', 'fa-circle', 'fa-circle-o', 'fa-circle-o-notch', 'fa-circle-thin', 'fa-clipboard', 'fa-clock-o',
849
- 'fa-clone', 'fa-close', 'fa-cloud', 'fa-cloud-download', 'fa-cloud-upload', 'fa-cny', 'fa-code', 'fa-code-fork', 'fa-codepen',
850
- 'fa-codiepie', 'fa-coffee', 'fa-cog', 'fa-cogs', 'fa-columns', 'fa-comment', 'fa-comment-o', 'fa-commenting',
851
- 'fa-commenting-o', 'fa-comments', 'fa-comments-o', 'fa-compass', 'fa-compress', 'fa-connectdevelop', 'fa-contao', 'fa-copy',
852
- 'fa-copyright', 'fa-creative-commons', 'fa-credit-card', 'fa-credit-card-alt', 'fa-crop', 'fa-crosshairs', 'fa-css3',
853
- 'fa-cube', 'fa-cubes', 'fa-cut', 'fa-cutlery', 'fa-dashboard', 'fa-dashcube', 'fa-database', 'fa-deaf', 'fa-deafness',
854
- 'fa-dedent', 'fa-delicious', 'fa-desktop', 'fa-deviantart', 'fa-diamond', 'fa-digg', 'fa-dollar', 'fa-dot-circle-o',
855
- 'fa-download', 'fa-dribbble', 'fa-drivers-license', 'fa-drivers-license-o', 'fa-dropbox', 'fa-drupal', 'fa-edge', 'fa-edit',
856
- 'fa-eercast', 'fa-eject', 'fa-ellipsis-h', 'fa-ellipsis-v', 'fa-empire', 'fa-envelope', 'fa-envelope-o', 'fa-envelope-open',
857
- 'fa-envelope-open-o', 'fa-envelope-square', 'fa-envira', 'fa-eraser', 'fa-etsy', 'fa-eur', 'fa-euro', 'fa-exchange',
858
- 'fa-exclamation', 'fa-exclamation-circle', 'fa-exclamation-triangle', 'fa-expand', 'fa-expeditedssl', 'fa-external-link',
859
- 'fa-external-link-square', 'fa-eye', 'fa-eye-slash', 'fa-eyedropper', 'fa-fa', 'fa-facebook', 'fa-facebook-f',
860
- 'fa-facebook-official', 'fa-facebook-square', 'fa-fast-backward', 'fa-fast-forward', 'fa-fax', 'fa-feed', 'fa-female',
861
- 'fa-fighter-jet', 'fa-file', 'fa-file-archive-o', 'fa-file-audio-o', 'fa-file-code-o', 'fa-file-excel-o', 'fa-file-image-o',
862
- 'fa-file-movie-o', 'fa-file-o', 'fa-file-pdf-o', 'fa-file-photo-o', 'fa-file-picture-o', 'fa-file-powerpoint-o',
863
- 'fa-file-sound-o', 'fa-file-text', 'fa-file-text-o', 'fa-file-video-o', 'fa-file-word-o', 'fa-file-zip-o', 'fa-files-o',
864
- 'fa-film', 'fa-filter', 'fa-fire', 'fa-fire-extinguisher', 'fa-firefox', 'fa-first-order', 'fa-flag', 'fa-flag-checkered',
865
- 'fa-flag-o', 'fa-flash', 'fa-flask', 'fa-flickr', 'fa-floppy-o', 'fa-folder', 'fa-folder-o', 'fa-folder-open',
866
- 'fa-folder-open-o', 'fa-font', 'fa-font-awesome', 'fa-fonticons', 'fa-fort-awesome', 'fa-forumbee', 'fa-forward',
867
- 'fa-foursquare', 'fa-free-code-camp', 'fa-frown-o', 'fa-futbol-o', 'fa-gamepad', 'fa-gavel', 'fa-gbp', 'fa-ge', 'fa-gear',
868
- 'fa-gears', 'fa-genderless', 'fa-get-pocket', 'fa-gg', 'fa-gg-circle', 'fa-gift', 'fa-git', 'fa-git-square', 'fa-github',
869
- 'fa-github-alt', 'fa-github-square', 'fa-gitlab', 'fa-gittip', 'fa-glass', 'fa-glide', 'fa-glide-g', 'fa-globe', 'fa-google',
870
- 'fa-google-plus', 'fa-google-plus-circle', 'fa-google-plus-official', 'fa-google-plus-square', 'fa-google-wallet',
871
- 'fa-graduation-cap', 'fa-gratipay', 'fa-grav', 'fa-group', 'fa-h-square', 'fa-hacker-news', 'fa-hand-grab-o',
872
- 'fa-hand-lizard-o', 'fa-hand-o-down', 'fa-hand-o-left', 'fa-hand-o-right', 'fa-hand-o-up', 'fa-hand-paper-o',
873
- 'fa-hand-peace-o', 'fa-hand-pointer-o', 'fa-hand-rock-o', 'fa-hand-scissors-o', 'fa-hand-spock-o', 'fa-hand-stop-o',
874
- 'fa-handshake-o', 'fa-hard-of-hearing', 'fa-hashtag', 'fa-hdd-o', 'fa-header', 'fa-headphones', 'fa-heart', 'fa-heart-o',
875
- 'fa-heartbeat', 'fa-history', 'fa-home', 'fa-hospital-o', 'fa-hotel', 'fa-hourglass', 'fa-hourglass-1', 'fa-hourglass-2',
876
- 'fa-hourglass-3', 'fa-hourglass-end', 'fa-hourglass-half', 'fa-hourglass-o', 'fa-hourglass-start', 'fa-houzz', 'fa-html5',
877
- 'fa-i-cursor', 'fa-id-badge', 'fa-id-card', 'fa-id-card-o', 'fa-ils', 'fa-image', 'fa-imdb', 'fa-inbox', 'fa-indent',
878
- 'fa-industry', 'fa-info', 'fa-info-circle', 'fa-inr', 'fa-instagram', 'fa-institution', 'fa-internet-explorer', 'fa-intersex',
879
- 'fa-ioxhost', 'fa-italic', 'fa-joomla', 'fa-jpy', 'fa-jsfiddle', 'fa-key', 'fa-keyboard-o', 'fa-krw', 'fa-language',
880
- 'fa-laptop', 'fa-lastfm', 'fa-lastfm-square', 'fa-leaf', 'fa-leanpub', 'fa-legal', 'fa-lemon-o', 'fa-level-down',
881
- 'fa-level-up', 'fa-life-bouy', 'fa-life-buoy', 'fa-life-ring', 'fa-life-saver', 'fa-lightbulb-o', 'fa-line-chart', 'fa-link',
882
- 'fa-linkedin', 'fa-linkedin-square', 'fa-linode', 'fa-linux', 'fa-list', 'fa-list-alt', 'fa-list-ol', 'fa-list-ul',
883
- 'fa-location-arrow', 'fa-lock', 'fa-long-arrow-down', 'fa-long-arrow-left', 'fa-long-arrow-right', 'fa-long-arrow-up',
884
- 'fa-low-vision', 'fa-magic', 'fa-magnet', 'fa-mail-forward', 'fa-mail-reply', 'fa-mail-reply-all', 'fa-male', 'fa-map',
885
- 'fa-map-marker', 'fa-map-o', 'fa-map-pin', 'fa-map-signs', 'fa-mars', 'fa-mars-double', 'fa-mars-stroke', 'fa-mars-stroke-h',
886
- 'fa-mars-stroke-v', 'fa-maxcdn', 'fa-meanpath', 'fa-medium', 'fa-medkit', 'fa-meetup', 'fa-meh-o', 'fa-mercury',
887
- 'fa-microchip', 'fa-microphone', 'fa-microphone-slash', 'fa-minus', 'fa-minus-circle', 'fa-minus-square', 'fa-minus-square-o',
888
- 'fa-mixcloud', 'fa-mobile', 'fa-mobile-phone', 'fa-modx', 'fa-money', 'fa-moon-o', 'fa-mortar-board', 'fa-motorcycle',
889
- 'fa-mouse-pointer', 'fa-music', 'fa-navicon', 'fa-neuter', 'fa-newspaper-o', 'fa-object-group', 'fa-object-ungroup',
890
- 'fa-odnoklassniki', 'fa-odnoklassniki-square', 'fa-opencart', 'fa-openid', 'fa-opera', 'fa-optin-monster', 'fa-outdent',
891
- 'fa-pagelines', 'fa-paint-brush', 'fa-paper-plane', 'fa-paper-plane-o', 'fa-paperclip', 'fa-paragraph', 'fa-paste',
892
- 'fa-pause', 'fa-pause-circle', 'fa-pause-circle-o', 'fa-paw', 'fa-paypal', 'fa-pencil', 'fa-pencil-square',
893
- 'fa-pencil-square-o', 'fa-percent', 'fa-phone', 'fa-phone-square', 'fa-photo', 'fa-picture-o', 'fa-pie-chart',
894
- 'fa-pied-piper', 'fa-pied-piper-alt', 'fa-pied-piper-pp', 'fa-pinterest', 'fa-pinterest-p', 'fa-pinterest-square', 'fa-plane',
895
- 'fa-play', 'fa-play-circle', 'fa-play-circle-o', 'fa-plug', 'fa-plus', 'fa-plus-circle', 'fa-plus-square', 'fa-plus-square-o',
896
- 'fa-podcast', 'fa-power-off', 'fa-print', 'fa-product-hunt', 'fa-puzzle-piece', 'fa-qq', 'fa-qrcode', 'fa-question',
897
- 'fa-question-circle', 'fa-question-circle-o', 'fa-quora', 'fa-quote-left', 'fa-quote-right', 'fa-ra', 'fa-random',
898
- 'fa-ravelry', 'fa-rebel', 'fa-recycle', 'fa-reddit', 'fa-reddit-alien', 'fa-reddit-square', 'fa-refresh', 'fa-registered',
899
- 'fa-remove', 'fa-renren', 'fa-reorder', 'fa-repeat', 'fa-reply', 'fa-reply-all', 'fa-resistance', 'fa-retweet', 'fa-rmb',
900
- 'fa-road', 'fa-rocket', 'fa-rotate-left', 'fa-rotate-right', 'fa-rouble', 'fa-rss', 'fa-rss-square', 'fa-rub', 'fa-ruble',
901
- 'fa-rupee', 'fa-s15', 'fa-safari', 'fa-save', 'fa-scissors', 'fa-scribd', 'fa-search', 'fa-search-minus', 'fa-search-plus',
902
- 'fa-sellsy', 'fa-send', 'fa-send-o', 'fa-server', 'fa-share', 'fa-share-alt', 'fa-share-alt-square', 'fa-share-square',
903
- 'fa-share-square-o', 'fa-shekel', 'fa-sheqel', 'fa-shield', 'fa-ship', 'fa-shirtsinbulk', 'fa-shopping-bag',
904
- 'fa-shopping-basket', 'fa-shopping-cart', 'fa-shower', 'fa-sign-in', 'fa-sign-language', 'fa-sign-out', 'fa-signal',
905
- 'fa-signing', 'fa-simplybuilt', 'fa-sitemap', 'fa-skyatlas', 'fa-skype', 'fa-slack', 'fa-sliders', 'fa-slideshare',
906
- 'fa-smile-o', 'fa-snapchat', 'fa-snapchat-ghost', 'fa-snapchat-square', 'fa-snowflake-o', 'fa-soccer-ball-o', 'fa-sort',
907
- 'fa-sort-alpha-asc', 'fa-sort-alpha-desc', 'fa-sort-amount-asc', 'fa-sort-amount-desc', 'fa-sort-asc', 'fa-sort-desc',
908
- 'fa-sort-down', 'fa-sort-numeric-asc', 'fa-sort-numeric-desc', 'fa-sort-up', 'fa-soundcloud', 'fa-space-shuttle',
909
- 'fa-spinner', 'fa-spoon', 'fa-spotify', 'fa-square', 'fa-square-o', 'fa-stack-exchange', 'fa-stack-overflow', 'fa-star',
910
- 'fa-star-half', 'fa-star-half-empty', 'fa-star-half-full', 'fa-star-half-o', 'fa-star-o', 'fa-steam', 'fa-steam-square',
911
- 'fa-step-backward', 'fa-step-forward', 'fa-stethoscope', 'fa-sticky-note', 'fa-sticky-note-o', 'fa-stop', 'fa-stop-circle',
912
- 'fa-stop-circle-o', 'fa-street-view', 'fa-strikethrough', 'fa-stumbleupon', 'fa-stumbleupon-circle', 'fa-subscript',
913
- 'fa-subway', 'fa-suitcase', 'fa-sun-o', 'fa-superpowers', 'fa-superscript', 'fa-support', 'fa-table', 'fa-tablet',
914
- 'fa-tachometer', 'fa-tag', 'fa-tags', 'fa-tasks', 'fa-taxi', 'fa-telegram', 'fa-television', 'fa-tencent-weibo',
915
- 'fa-terminal', 'fa-text-height', 'fa-text-width', 'fa-th', 'fa-th-large', 'fa-th-list', 'fa-themeisle', 'fa-thermometer',
916
- 'fa-thermometer-0', 'fa-thermometer-1', 'fa-thermometer-2', 'fa-thermometer-3', 'fa-thermometer-4', 'fa-thermometer-empty',
917
- 'fa-thermometer-full', 'fa-thermometer-half', 'fa-thermometer-quarter', 'fa-thermometer-three-quarters', 'fa-thumb-tack',
918
- 'fa-thumbs-down', 'fa-thumbs-o-down', 'fa-thumbs-o-up', 'fa-thumbs-up', 'fa-ticket', 'fa-times', 'fa-times-circle',
919
- 'fa-times-circle-o', 'fa-times-rectangle', 'fa-times-rectangle-o', 'fa-tint', 'fa-toggle-down', 'fa-toggle-left',
920
- 'fa-toggle-off', 'fa-toggle-on', 'fa-toggle-right', 'fa-toggle-up', 'fa-trademark', 'fa-train', 'fa-transgender',
921
- 'fa-transgender-alt', 'fa-trash', 'fa-trash-o', 'fa-tree', 'fa-trello', 'fa-tripadvisor', 'fa-trophy', 'fa-truck', 'fa-try',
922
- 'fa-tty', 'fa-tumblr', 'fa-tumblr-square', 'fa-turkish-lira', 'fa-tv', 'fa-twitch', 'fa-twitter', 'fa-twitter-square',
923
- 'fa-umbrella', 'fa-underline', 'fa-undo', 'fa-universal-access', 'fa-university', 'fa-unlink', 'fa-unlock', 'fa-unlock-alt',
924
- 'fa-unsorted', 'fa-upload', 'fa-usb', 'fa-usd', 'fa-user', 'fa-user-circle', 'fa-user-circle-o', 'fa-user-md', 'fa-user-o',
925
- 'fa-user-plus', 'fa-user-secret', 'fa-user-times', 'fa-users', 'fa-vcard', 'fa-vcard-o', 'fa-venus', 'fa-venus-double',
926
- 'fa-venus-mars', 'fa-viacoin', 'fa-viadeo', 'fa-viadeo-square', 'fa-video-camera', 'fa-vimeo', 'fa-vimeo-square', 'fa-vine',
927
- 'fa-vk', 'fa-volume-control-phone', 'fa-volume-down', 'fa-volume-off', 'fa-volume-up', 'fa-warning', 'fa-wechat', 'fa-weibo',
928
- 'fa-weixin', 'fa-whatsapp', 'fa-wheelchair', 'fa-wheelchair-alt', 'fa-wifi', 'fa-wikipedia-w', 'fa-window-close',
929
- 'fa-window-close-o', 'fa-window-maximize', 'fa-window-minimize', 'fa-window-restore', 'fa-windows', 'fa-won', 'fa-wordpress',
930
- 'fa-wpbeginner', 'fa-wpexplorer', 'fa-wpforms', 'fa-wrench', 'fa-xing', 'fa-xing-square', 'fa-y-combinator',
931
- 'fa-y-combinator-square', 'fa-yahoo', 'fa-yc', 'fa-yc-square', 'fa-yelp', 'fa-yen', 'fa-yoast', 'fa-youtube',
932
- 'fa-youtube-play', 'fa-youtube-square'
933
- ];
934
  }));
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
4
  *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
 
10
  (function(factory) {
45
  var Iconpicker = function(element, options) {
46
  this._id = Iconpicker._idCounter++;
47
  this.element = $(element).addClass('iconpicker-element');
48
+ this._trigger('iconpickerCreate', {
49
+ iconpickerValue: this.iconpickerValue
50
+ });
51
  this.options = $.extend({}, Iconpicker.defaultOptions, this.element.data(), options);
52
  this.options.templates = $.extend({}, Iconpicker.defaultOptions.templates, this.options.templates);
53
  this.options.originalPlacement = this.options.placement;
 
54
  // Iconpicker container element
55
  this.container = (_helpers.isElement(this.options.container) ? $(this.options.container) : false);
56
  if (this.container === false) {
63
  this.container.addClass('iconpicker-container');
64
 
65
  if (this.isDropdownMenu()) {
 
 
 
 
66
  this.options.placement = 'inline';
67
  }
68
 
69
+ // Is the element an input? Should we search inside for any input?
70
  this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false);
71
  if (this.input === false) {
72
  this.input = (this.container.find(this.options.input));
110
  this.show();
111
  }
112
 
113
+ this._trigger('iconpickerCreated', {
114
+ iconpickerValue: this.iconpickerValue
115
+ });
116
  };
117
 
118
  // Instance identifier counter
133
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
134
  icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
135
  fullClassFormatter: function(val) {
136
+ return val;
137
  },
138
  input: 'input,.iconpicker-input', // children input selector
139
  inputSearch: false, // use the input as a search box too?
148
  ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
149
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
150
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
151
+ iconpickerItem: '<a role="button" href="javascript:;" class="iconpicker-item"><i></i></a>',
152
  }
153
  };
154
 
236
  // only hide when the accept button is not present
237
  _self.hide();
238
  }
 
 
239
  };
240
 
241
+ var $itemElementTemplate = $(this.options.templates.iconpickerItem);
242
+ var $elementsToAppend = [];
243
  for (var i in this.options.icons) {
244
+ if (typeof this.options.icons[i].title === 'string') {
245
+ var itemElement = $itemElementTemplate.clone();
246
  itemElement.find('i')
247
+ .addClass(this.options.fullClassFormatter(this.options.icons[i].title));
248
+ itemElement.data('iconpickerValue', this.options.icons[i].title)
249
  .on('click.iconpicker', itemClickFn);
250
+
251
+ itemElement.attr('title', '.' + this.options.icons[i].title);
252
+ if (this.options.icons[i].searchTerms.length > 0) {
253
+ var searchTerms = '';
254
+ for (var j = 0; j < this.options.icons[i].searchTerms.length; j++) {
255
+ searchTerms = searchTerms + this.options.icons[i].searchTerms[j] + ' ';
256
+ }
257
+ itemElement.attr('data-search-terms', searchTerms);
258
+ }
259
+ $elementsToAppend.push(itemElement);
260
  }
261
  }
262
+ this.iconpicker.find('.iconpicker-items').append($elementsToAppend);
263
  this.popover.find('.popover-content').append(this.iconpicker);
264
 
265
  return this.iconpicker;
266
  },
267
  _isEventInsideIconpicker: function(e) {
268
  var _t = $(e.target);
269
+ if ((!_t.hasClass('iconpicker-element') ||
270
  (_t.hasClass('iconpicker-element') && !_t.is(this.element))) &&
271
  (_t.parents('.iconpicker-popover').length === 0)) {
272
  return false;
346
  if (!_self._isEventInsideIconpicker(e) && !_self.isInline()) {
347
  _self.hide();
348
  }
 
 
 
349
  });
350
  }
 
 
351
  },
352
  _unbindElementEvents: function() {
353
  this.popover.off('.iconpicker');
385
  my: "right top",
386
  // of: Which element to position against.
387
  of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container,
388
+ // collision: When the positioned element overflows the window (or within element)
389
  // in some direction, move it to an alternative position.
390
  collision: (collision === true ? 'flip' : collision),
391
  // within: Element to position within, affecting collision detection.
591
 
592
  // trim string
593
  val = $.trim(val);
594
+ var e = false;
595
+ for (var i = 0; i < this.options.icons.length; i++) {
596
+ if (this.options.icons[i].title === val) {
597
+ e = true;
598
+ break;
599
+ };
600
+ }
601
 
602
+ if (e || isEmpty) {
603
  return val;
604
  }
605
  return false;
705
  this.iconpicker.find('.iconpicker-item').each(function() {
706
  var $this = $(this);
707
  var text = $this.attr('title').toLowerCase();
708
+ var searchTerms = $this.attr('data-search-terms') ? $this.attr('data-search-terms').toLowerCase() : '';
709
+ text = text + ' ' + searchTerms;
710
  var regex = false;
711
  try {
712
+ regex = new RegExp('(^|\\W)' + filterText, 'g');
713
  } catch (e) {
714
  regex = false;
715
  }
730
  // hide other non-inline pickers
731
  $.iconpicker.batch($('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');
732
 
733
+ this._trigger('iconpickerShow', {
734
+ iconpickerValue: this.iconpickerValue
735
+ });
736
  this.updatePlacement();
737
  this.popover.addClass('in');
738
  setTimeout($.proxy(function() {
739
  this.popover.css('display', this.isInline() ? '' : 'block');
740
+ this._trigger('iconpickerShown', {
741
+ iconpickerValue: this.iconpickerValue
742
+ });
743
  }, this), this.options.animation ? 300 : 1); // animation duration
744
  },
745
  hide: function() {
746
  if (!this.popover.hasClass('in')) {
747
  return false;
748
  }
749
+ this._trigger('iconpickerHide', {
750
+ iconpickerValue: this.iconpickerValue
751
+ });
752
  this.popover.removeClass('in');
753
  setTimeout($.proxy(function() {
754
  this.popover.css('display', 'none');
755
  this.getSearchInput().val('');
756
  this.filter(''); // clear filter
757
+ this._trigger('iconpickerHidden', {
758
+ iconpickerValue: this.iconpickerValue
759
+ });
760
  }, this), this.options.animation ? 300 : 1);
761
  },
762
  toggle: function() {
767
  }
768
  },
769
  update: function(val, updateOnlyInternal) {
770
+ val = (val ? val : this.getSourceValue(this.iconpickerValue));
771
  // reads the input or element value again and tries to update the plugin
772
  // fallback to the current selected item value
773
+ this._trigger('iconpickerUpdate', {
774
+ iconpickerValue: this.iconpickerValue
775
+ });
776
 
777
  if (updateOnlyInternal === true) {
778
  val = this.setValue(val);
785
  this._updateComponents();
786
  }
787
 
788
+ this._trigger('iconpickerUpdated', {
789
+ iconpickerValue: this.iconpickerValue
790
+ });
791
  return val;
792
  },
793
  destroy: function() {
794
+ this._trigger('iconpickerDestroy', {
795
+ iconpickerValue: this.iconpickerValue
796
+ });
797
 
798
  // unbinds events and resets everything to the initial state,
799
  // including component mode
804
 
805
  $(this.popover).remove();
806
 
807
+ this._trigger('iconpickerDestroyed', {
808
+ iconpickerValue: this.iconpickerValue
809
+ });
810
  },
811
  disable: function() {
812
  if (this.hasInput()) {
847
  };
848
 
849
  // List of all Font Awesome icons without class prefix
850
+ Iconpicker.defaultOptions = $.extend(
851
+ Iconpicker.defaultOptions,
852
+ //###REPLACE-WITH-FONT-AWESOME-5-FONTS###
853
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
854
  }));
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/jquery.ui.pos.js CHANGED
@@ -1,532 +1,576 @@
1
- /*!
2
- * .pos() plugin based on jQuery UI Position 1.10.4, renamed to avoid
3
- * problems with jQuery native .position(), and added some triggers when position
4
- * collapses
5
- *
6
- * http://jqueryui.com
7
- *
8
- * Copyright 2014 jQuery Foundation and other contributors
9
- * Released under the MIT license.
10
- * http://jquery.org/license
11
- *
12
- * http://api.jqueryui.com/position/
13
- */
14
- (function($, undefined) {
15
 
16
- $.ui = $.ui || {};
 
 
17
 
18
- var cachedScrollbarWidth,
19
- max = Math.max,
20
- abs = Math.abs,
21
- round = Math.round,
22
- rhorizontal = /left|center|right/,
23
- rvertical = /top|center|bottom/,
24
- roffset = /[\+\-]\d+(\.[\d]+)?%?/,
25
- rposition = /^\w+/,
26
- rpercent = /%$/,
27
- _position = $.fn.pos;
28
-
29
- function getOffsets(offsets, width, height) {
30
- return [
31
- parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1),
32
- parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)
33
- ];
34
  }
 
35
 
36
- function parseCss(element, property) {
37
- return parseInt($.css(element, property), 10) || 0;
38
- }
39
 
40
- function getDimensions(elem) {
41
- var raw = elem[0];
42
- if (raw.nodeType === 9) {
43
- return {
44
- width: elem.width(),
45
- height: elem.height(),
46
- offset: {
47
- top: 0,
48
- left: 0
49
- }
50
- };
51
- }
52
- if ($.isWindow(raw)) {
53
- return {
54
- width: elem.width(),
55
- height: elem.height(),
56
- offset: {
57
- top: elem.scrollTop(),
58
- left: elem.scrollLeft()
59
- }
60
- };
61
- }
62
- if (raw.preventDefault) {
63
- return {
64
- width: 0,
65
- height: 0,
66
- offset: {
67
- top: raw.pageY,
68
- left: raw.pageX
69
- }
70
- };
71
- }
72
- return {
73
- width: elem.outerWidth(),
74
- height: elem.outerHeight(),
75
- offset: elem.offset()
76
- };
77
- }
78
 
79
- $.pos = {
80
- scrollbarWidth: function() {
81
- if (cachedScrollbarWidth !== undefined) {
82
- return cachedScrollbarWidth;
83
- }
84
- var w1, w2,
85
- div = $("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),
86
- innerDiv = div.children()[0];
87
 
88
- $("body").append(div);
89
- w1 = innerDiv.offsetWidth;
90
- div.css("overflow", "scroll");
 
 
 
 
 
 
 
91
 
92
- w2 = innerDiv.offsetWidth;
 
 
 
 
93
 
94
- if (w1 === w2) {
95
- w2 = div[0].clientWidth;
96
- }
97
 
98
- div.remove();
99
-
100
- return (cachedScrollbarWidth = w1 - w2);
101
- },
102
- getScrollInfo: function(within) {
103
- var overflowX = within.isWindow || within.isDocument ? "" :
104
- within.element.css("overflow-x"),
105
- overflowY = within.isWindow || within.isDocument ? "" :
106
- within.element.css("overflow-y"),
107
- hasOverflowX = overflowX === "scroll" ||
108
- (overflowX === "auto" && within.width < within.element[0].scrollWidth),
109
- hasOverflowY = overflowY === "scroll" ||
110
- (overflowY === "auto" && within.height < within.element[0].scrollHeight);
111
- return {
112
- width: hasOverflowY ? $.pos.scrollbarWidth() : 0,
113
- height: hasOverflowX ? $.pos.scrollbarWidth() : 0
114
- };
115
- },
116
- getWithinInfo: function(element) {
117
- var withinElement = $(element || window),
118
- isWindow = $.isWindow(withinElement[0]),
119
- isDocument = !!withinElement[0] && withinElement[0].nodeType === 9;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  return {
121
- element: withinElement,
122
- isWindow: isWindow,
123
- isDocument: isDocument,
124
- offset: withinElement.offset() || {
125
- left: 0,
126
- top: 0
127
- },
128
- scrollLeft: withinElement.scrollLeft(),
129
- scrollTop: withinElement.scrollTop(),
130
- width: isWindow ? withinElement.width() : withinElement.outerWidth(),
131
- height: isWindow ? withinElement.height() : withinElement.outerHeight()
132
  };
133
  }
134
- };
135
 
136
- $.fn.pos = function(options) {
137
- if (!options || !options.of) {
138
- return _position.apply(this, arguments);
139
- }
 
 
 
 
 
 
140
 
141
- // make a copy, we don't want to modify arguments
142
- options = $.extend({}, options);
 
143
 
144
- var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
145
- target = $(options.of),
146
- within = $.pos.getWithinInfo(options.within),
147
- scrollInfo = $.pos.getScrollInfo(within),
148
- collision = (options.collision || "flip").split(" "),
149
- offsets = {};
150
 
151
- dimensions = getDimensions(target);
152
- if (target[0].preventDefault) {
153
- // force left top to allow flipping
154
- options.at = "left top";
155
- }
156
- targetWidth = dimensions.width;
157
- targetHeight = dimensions.height;
158
- targetOffset = dimensions.offset;
159
- // clone to reuse original targetOffset later
160
- basePosition = $.extend({}, targetOffset);
161
-
162
- // force my and at to have valid horizontal and vertical positions
163
- // if a value is missing or invalid, it will be converted to center
164
- $.each(["my", "at"], function() {
165
- var pos = (options[this] || "").split(" "),
166
- horizontalOffset,
167
- verticalOffset;
168
-
169
- if (pos.length === 1) {
170
- pos = rhorizontal.test(pos[0]) ?
171
- pos.concat(["center"]) :
172
- rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  }
174
- pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
175
- pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
176
-
177
- // calculate offsets
178
- horizontalOffset = roffset.exec(pos[0]);
179
- verticalOffset = roffset.exec(pos[1]);
180
- offsets[this] = [
181
- horizontalOffset ? horizontalOffset[0] : 0,
182
- verticalOffset ? verticalOffset[0] : 0
183
- ];
184
 
185
- // reduce to just the positions without the offsets
186
- options[this] = [
187
- rposition.exec(pos[0])[0],
188
- rposition.exec(pos[1])[0]
189
- ];
190
- });
191
 
192
- // normalize collision option
193
- if (collision.length === 1) {
194
- collision[1] = collision[0];
195
- }
196
 
197
- if (options.at[0] === "right") {
198
- basePosition.left += targetWidth;
199
- } else if (options.at[0] === "center") {
200
- basePosition.left += targetWidth / 2;
201
- }
 
202
 
203
- if (options.at[1] === "bottom") {
204
- basePosition.top += targetHeight;
205
- } else if (options.at[1] === "center") {
206
- basePosition.top += targetHeight / 2;
207
- }
208
 
209
- atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
210
- basePosition.left += atOffset[0];
211
- basePosition.top += atOffset[1];
212
-
213
- return this.each(function() {
214
- var collisionPosition, using,
215
- elem = $(this),
216
- elemWidth = elem.outerWidth(),
217
- elemHeight = elem.outerHeight(),
218
- marginLeft = parseCss(this, "marginLeft"),
219
- marginTop = parseCss(this, "marginTop"),
220
- collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width,
221
- collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height,
222
- position = $.extend({}, basePosition),
223
- myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
224
-
225
- if (options.my[0] === "right") {
226
- position.left -= elemWidth;
227
- } else if (options.my[0] === "center") {
228
- position.left -= elemWidth / 2;
229
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
 
231
- if (options.my[1] === "bottom") {
232
- position.top -= elemHeight;
233
- } else if (options.my[1] === "center") {
234
- position.top -= elemHeight / 2;
235
  }
236
 
237
- position.left += myOffset[0];
238
- position.top += myOffset[1];
 
 
 
239
 
240
- // if the browser doesn't support fractions, then round for consistent results
241
- if (!$.support.offsetFractions) {
242
- position.left = round(position.left);
243
- position.top = round(position.top);
244
  }
245
 
246
- collisionPosition = {
247
- marginLeft: marginLeft,
248
- marginTop: marginTop
249
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
 
251
- $.each(["left", "top"], function(i, dir) {
252
- if ($.ui.pos[collision[i]]) {
253
- $.ui.pos[collision[i]][dir](position, {
254
- targetWidth: targetWidth,
255
- targetHeight: targetHeight,
256
- elemWidth: elemWidth,
257
- elemHeight: elemHeight,
258
- collisionPosition: collisionPosition,
259
- collisionWidth: collisionWidth,
260
- collisionHeight: collisionHeight,
261
- offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
262
- my: options.my,
263
- at: options.at,
264
- within: within,
265
- elem: elem
266
- });
267
  }
268
- });
269
 
270
- if (options.using) {
271
- // adds feedback as second argument to using callback, if present
272
- using = function(props) {
273
- var left = targetOffset.left - position.left,
274
- right = left + targetWidth - elemWidth,
275
- top = targetOffset.top - position.top,
276
- bottom = top + targetHeight - elemHeight,
277
- feedback = {
278
- target: {
279
- element: target,
280
- left: targetOffset.left,
281
- top: targetOffset.top,
282
- width: targetWidth,
283
- height: targetHeight
284
- },
285
- element: {
286
- element: elem,
287
- left: position.left,
288
- top: position.top,
289
- width: elemWidth,
290
- height: elemHeight
291
- },
292
- horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
293
- vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
294
- };
295
- if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
296
- feedback.horizontal = "center";
297
- }
298
- if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
299
- feedback.vertical = "middle";
300
- }
301
- if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
302
- feedback.important = "horizontal";
303
- } else {
304
- feedback.important = "vertical";
305
- }
306
- options.using.call(this, props, feedback);
307
  };
308
- }
309
 
310
- elem.offset($.extend(position, {
311
- using: using
312
- }));
313
- });
314
- };
315
-
316
- $.ui.pos = {
317
- _trigger: function(position, data, name, triggered) {
318
- if (data.elem) {
319
- data.elem.trigger({
320
- 'type': name,
321
- 'position': position,
322
- 'positionData': data,
323
- 'triggered': triggered
 
 
 
324
  });
325
- }
326
- },
327
- fit: {
328
- left: function(position, data) {
329
- $.ui.pos._trigger(position, data, 'posCollide', 'fitLeft');
330
- var within = data.within,
331
- withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
332
- outerWidth = within.width,
333
- collisionPosLeft = position.left - data.collisionPosition.marginLeft,
334
- overLeft = withinOffset - collisionPosLeft,
335
- overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
336
- newOverRight;
337
-
338
- // element is wider than within
339
- if (data.collisionWidth > outerWidth) {
340
- // element is initially over the left side of within
341
- if (overLeft > 0 && overRight <= 0) {
342
- newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
343
- position.left += overLeft - newOverRight;
344
- // element is initially over right side of within
345
- } else if (overRight > 0 && overLeft <= 0) {
346
- position.left = withinOffset;
347
- // element is initially over both left and right sides of within
348
- } else {
349
- if (overLeft > overRight) {
350
- position.left = withinOffset + outerWidth - data.collisionWidth;
 
 
 
 
 
 
 
 
 
351
  } else {
352
- position.left = withinOffset;
353
  }
354
- }
355
- // too far left -> align with left edge
356
- } else if (overLeft > 0) {
357
- position.left += overLeft;
358
- // too far right -> align with right edge
359
- } else if (overRight > 0) {
360
- position.left -= overRight;
361
- // adjust based on position and margin
362
- } else {
363
- position.left = max(position.left - collisionPosLeft, position.left);
 
 
 
 
 
 
 
 
 
364
  }
365
- $.ui.pos._trigger(position, data, 'posCollided', 'fitLeft');
366
  },
367
- top: function(position, data) {
368
- $.ui.pos._trigger(position, data, 'posCollide', 'fitTop');
369
- var within = data.within,
370
- withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
371
- outerHeight = data.within.height,
372
- collisionPosTop = position.top - data.collisionPosition.marginTop,
373
- overTop = withinOffset - collisionPosTop,
374
- overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
375
- newOverBottom;
376
-
377
- // element is taller than within
378
- if (data.collisionHeight > outerHeight) {
379
- // element is initially over the top of within
380
- if (overTop > 0 && overBottom <= 0) {
381
- newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
382
- position.top += overTop - newOverBottom;
383
- // element is initially over bottom of within
384
- } else if (overBottom > 0 && overTop <= 0) {
385
- position.top = withinOffset;
386
- // element is initially over both top and bottom of within
387
- } else {
388
- if (overTop > overBottom) {
389
- position.top = withinOffset + outerHeight - data.collisionHeight;
 
 
390
  } else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
391
  position.top = withinOffset;
 
 
 
 
 
 
 
 
392
  }
 
 
 
 
 
 
 
 
 
 
 
 
393
  }
394
- // too far up -> align with top
395
- } else if (overTop > 0) {
396
- position.top += overTop;
397
- // too far down -> align with bottom edge
398
- } else if (overBottom > 0) {
399
- position.top -= overBottom;
400
- // adjust based on position and margin
401
- } else {
402
- position.top = max(position.top - collisionPosTop, position.top);
403
  }
404
- $.ui.pos._trigger(position, data, 'posCollided', 'fitTop');
405
- }
406
- },
407
- flip: {
408
- left: function(position, data) {
409
- $.ui.pos._trigger(position, data, 'posCollide', 'flipLeft');
410
- var within = data.within,
411
- withinOffset = within.offset.left + within.scrollLeft,
412
- outerWidth = within.width,
413
- offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
414
- collisionPosLeft = position.left - data.collisionPosition.marginLeft,
415
- overLeft = collisionPosLeft - offsetLeft,
416
- overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
417
- myOffset = data.my[0] === "left" ?
418
- -data.elemWidth :
419
- data.my[0] === "right" ?
420
- data.elemWidth :
421
- 0,
422
- atOffset = data.at[0] === "left" ?
423
- data.targetWidth :
424
- data.at[0] === "right" ?
425
- -data.targetWidth :
426
- 0,
427
- offset = -2 * data.offset[0],
428
- newOverRight,
429
- newOverLeft;
430
-
431
- if (overLeft < 0) {
432
- newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
433
- if (newOverRight < 0 || newOverRight < abs(overLeft)) {
434
- position.left += myOffset + atOffset + offset;
 
 
 
 
 
 
435
  }
436
- } else if (overRight > 0) {
437
- newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
438
- if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
439
- position.left += myOffset + atOffset + offset;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  }
 
441
  }
442
- $.ui.pos._trigger(position, data, 'posCollided', 'flipLeft');
443
  },
444
- top: function(position, data) {
445
- $.ui.pos._trigger(position, data, 'posCollide', 'flipTop');
446
- var within = data.within,
447
- withinOffset = within.offset.top + within.scrollTop,
448
- outerHeight = within.height,
449
- offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
450
- collisionPosTop = position.top - data.collisionPosition.marginTop,
451
- overTop = collisionPosTop - offsetTop,
452
- overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
453
- top = data.my[1] === "top",
454
- myOffset = top ?
455
- -data.elemHeight :
456
- data.my[1] === "bottom" ?
457
- data.elemHeight :
458
- 0,
459
- atOffset = data.at[1] === "top" ?
460
- data.targetHeight :
461
- data.at[1] === "bottom" ?
462
- -data.targetHeight :
463
- 0,
464
- offset = -2 * data.offset[1],
465
- newOverTop,
466
- newOverBottom;
467
- if (overTop < 0) {
468
- newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
469
- if ((position.top + myOffset + atOffset + offset) > overTop && (newOverBottom < 0 || newOverBottom < abs(overTop))) {
470
- position.top += myOffset + atOffset + offset;
471
- }
472
- } else if (overBottom > 0) {
473
- newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
474
- if ((position.top + myOffset + atOffset + offset) > overBottom && (newOverTop > 0 || abs(newOverTop) < overBottom)) {
475
- position.top += myOffset + atOffset + offset;
476
- }
477
  }
478
- $.ui.pos._trigger(position, data, 'posCollided', 'flipTop');
479
  }
480
- },
481
- flipfit: {
482
- left: function() {
483
- $.ui.pos.flip.left.apply(this, arguments);
484
- $.ui.pos.fit.left.apply(this, arguments);
485
- },
486
- top: function() {
487
- $.ui.pos.flip.top.apply(this, arguments);
488
- $.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
489
  }
490
- }
491
- };
 
 
 
 
492
 
493
- // fraction support test
494
- (function() {
495
- var testElement, testElementParent, testElementStyle, offsetLeft, i,
496
- body = document.getElementsByTagName("body")[0],
497
- div = document.createElement("div");
498
-
499
- //Create a "fake body" for testing based on method used in jQuery.support
500
- testElement = document.createElement(body ? "div" : "body");
501
- testElementStyle = {
502
- visibility: "hidden",
503
- width: 0,
504
- height: 0,
505
- border: 0,
506
- margin: 0,
507
- background: "none"
508
- };
509
- if (body) {
510
- $.extend(testElementStyle, {
511
- position: "absolute",
512
- left: "-1000px",
513
- top: "-1000px"
514
- });
515
- }
516
- for (i in testElementStyle) {
517
- testElement.style[i] = testElementStyle[i];
518
- }
519
- testElement.appendChild(div);
520
- testElementParent = body || document.documentElement;
521
- testElementParent.insertBefore(testElement, testElementParent.firstChild);
522
 
523
- div.style.cssText = "position: absolute; left: 10.7432222px;";
 
524
 
525
- offsetLeft = $(div).offset().left;
526
- $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
 
527
 
528
- testElement.innerHTML = "";
529
- testElementParent.removeChild(testElement);
530
  })();
531
 
532
- }(jQuery));
 
 
 
 
 
1
+ (function(factory) {
2
+ if (typeof define === "function" && define.amd) {
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
+ // AMD. Register as an anonymous module.
5
+ define(["jquery"], factory);
6
+ } else {
7
 
8
+ // Browser globals
9
+ factory(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  }
11
+ }(function($) {
12
 
13
+ $.ui = $.ui || {};
 
 
14
 
15
+ var version = $.ui.version = "1.12.1";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
 
 
 
 
 
 
 
 
17
 
18
+ /*!
19
+ * jQuery UI Position 1.12.1
20
+ * http://jqueryui.com
21
+ *
22
+ * Copyright jQuery Foundation and other contributors
23
+ * Released under the MIT license.
24
+ * http://jquery.org/license
25
+ *
26
+ * http://api.jqueryui.com/position/
27
+ */
28
 
29
+ //>>label: Position
30
+ //>>group: Core
31
+ //>>description: Positions elements relative to other elements.
32
+ //>>docs: http://api.jqueryui.com/position/
33
+ //>>demos: http://jqueryui.com/position/
34
 
 
 
 
35
 
36
+ (function() {
37
+ var cachedScrollbarWidth,
38
+ max = Math.max,
39
+ abs = Math.abs,
40
+ rhorizontal = /left|center|right/,
41
+ rvertical = /top|center|bottom/,
42
+ roffset = /[\+\-]\d+(\.[\d]+)?%?/,
43
+ rposition = /^\w+/,
44
+ rpercent = /%$/,
45
+ _position = $.fn.pos;
46
+
47
+ function getOffsets(offsets, width, height) {
48
+ return [
49
+ parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1),
50
+ parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)
51
+ ];
52
+ }
53
+
54
+ function parseCss(element, property) {
55
+ return parseInt($.css(element, property), 10) || 0;
56
+ }
57
+
58
+ function getDimensions(elem) {
59
+ var raw = elem[0];
60
+ if (raw.nodeType === 9) {
61
+ return {
62
+ width: elem.width(),
63
+ height: elem.height(),
64
+ offset: {
65
+ top: 0,
66
+ left: 0
67
+ }
68
+ };
69
+ }
70
+ if ($.isWindow(raw)) {
71
+ return {
72
+ width: elem.width(),
73
+ height: elem.height(),
74
+ offset: {
75
+ top: elem.scrollTop(),
76
+ left: elem.scrollLeft()
77
+ }
78
+ };
79
+ }
80
+ if (raw.preventDefault) {
81
+ return {
82
+ width: 0,
83
+ height: 0,
84
+ offset: {
85
+ top: raw.pageY,
86
+ left: raw.pageX
87
+ }
88
+ };
89
+ }
90
  return {
91
+ width: elem.outerWidth(),
92
+ height: elem.outerHeight(),
93
+ offset: elem.offset()
 
 
 
 
 
 
 
 
94
  };
95
  }
 
96
 
97
+ $.pos = {
98
+ scrollbarWidth: function() {
99
+ if (cachedScrollbarWidth !== undefined) {
100
+ return cachedScrollbarWidth;
101
+ }
102
+ var w1, w2,
103
+ div = $("<div " +
104
+ "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" +
105
+ "<div style='height:100px;width:auto;'></div></div>"),
106
+ innerDiv = div.children()[0];
107
 
108
+ $("body").append(div);
109
+ w1 = innerDiv.offsetWidth;
110
+ div.css("overflow", "scroll");
111
 
112
+ w2 = innerDiv.offsetWidth;
 
 
 
 
 
113
 
114
+ if (w1 === w2) {
115
+ w2 = div[0].clientWidth;
116
+ }
117
+
118
+ div.remove();
119
+
120
+ return (cachedScrollbarWidth = w1 - w2);
121
+ },
122
+ getScrollInfo: function(within) {
123
+ var overflowX = within.isWindow || within.isDocument ? "" :
124
+ within.element.css("overflow-x"),
125
+ overflowY = within.isWindow || within.isDocument ? "" :
126
+ within.element.css("overflow-y"),
127
+ hasOverflowX = overflowX === "scroll" ||
128
+ (overflowX === "auto" && within.width < within.element[0].scrollWidth),
129
+ hasOverflowY = overflowY === "scroll" ||
130
+ (overflowY === "auto" && within.height < within.element[0].scrollHeight);
131
+ return {
132
+ width: hasOverflowY ? $.pos.scrollbarWidth() : 0,
133
+ height: hasOverflowX ? $.pos.scrollbarWidth() : 0
134
+ };
135
+ },
136
+ getWithinInfo: function(element) {
137
+ var withinElement = $(element || window),
138
+ isWindow = $.isWindow(withinElement[0]),
139
+ isDocument = !!withinElement[0] && withinElement[0].nodeType === 9,
140
+ hasOffset = !isWindow && !isDocument;
141
+ return {
142
+ element: withinElement,
143
+ isWindow: isWindow,
144
+ isDocument: isDocument,
145
+ offset: hasOffset ? $(element).offset() : {
146
+ left: 0,
147
+ top: 0
148
+ },
149
+ scrollLeft: withinElement.scrollLeft(),
150
+ scrollTop: withinElement.scrollTop(),
151
+ width: withinElement.outerWidth(),
152
+ height: withinElement.outerHeight()
153
+ };
154
  }
155
+ };
 
 
 
 
 
 
 
 
 
156
 
157
+ $.fn.pos = function(options) {
158
+ if (!options || !options.of) {
159
+ return _position.apply(this, arguments);
160
+ }
 
 
161
 
162
+ // Make a copy, we don't want to modify arguments
163
+ options = $.extend({}, options);
 
 
164
 
165
+ var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
166
+ target = $(options.of),
167
+ within = $.pos.getWithinInfo(options.within),
168
+ scrollInfo = $.pos.getScrollInfo(within),
169
+ collision = (options.collision || "flip").split(" "),
170
+ offsets = {};
171
 
172
+ dimensions = getDimensions(target);
173
+ if (target[0].preventDefault) {
 
 
 
174
 
175
+ // Force left top to allow flipping
176
+ options.at = "left top";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  }
178
+ targetWidth = dimensions.width;
179
+ targetHeight = dimensions.height;
180
+ targetOffset = dimensions.offset;
181
+
182
+ // Clone to reuse original targetOffset later
183
+ basePosition = $.extend({}, targetOffset);
184
+
185
+ // Force my and at to have valid horizontal and vertical positions
186
+ // if a value is missing or invalid, it will be converted to center
187
+ $.each(["my", "at"], function() {
188
+ var pos = (options[this] || "").split(" "),
189
+ horizontalOffset,
190
+ verticalOffset;
191
+
192
+ if (pos.length === 1) {
193
+ pos = rhorizontal.test(pos[0]) ?
194
+ pos.concat(["center"]) :
195
+ rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
196
+ }
197
+ pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
198
+ pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
199
+
200
+ // Calculate offsets
201
+ horizontalOffset = roffset.exec(pos[0]);
202
+ verticalOffset = roffset.exec(pos[1]);
203
+ offsets[this] = [
204
+ horizontalOffset ? horizontalOffset[0] : 0,
205
+ verticalOffset ? verticalOffset[0] : 0
206
+ ];
207
+
208
+ // Reduce to just the positions without the offsets
209
+ options[this] = [
210
+ rposition.exec(pos[0])[0],
211
+ rposition.exec(pos[1])[0]
212
+ ];
213
+ });
214
 
215
+ // Normalize collision option
216
+ if (collision.length === 1) {
217
+ collision[1] = collision[0];
 
218
  }
219
 
220
+ if (options.at[0] === "right") {
221
+ basePosition.left += targetWidth;
222
+ } else if (options.at[0] === "center") {
223
+ basePosition.left += targetWidth / 2;
224
+ }
225
 
226
+ if (options.at[1] === "bottom") {
227
+ basePosition.top += targetHeight;
228
+ } else if (options.at[1] === "center") {
229
+ basePosition.top += targetHeight / 2;
230
  }
231
 
232
+ atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
233
+ basePosition.left += atOffset[0];
234
+ basePosition.top += atOffset[1];
235
+
236
+ return this.each(function() {
237
+ var collisionPosition, using,
238
+ elem = $(this),
239
+ elemWidth = elem.outerWidth(),
240
+ elemHeight = elem.outerHeight(),
241
+ marginLeft = parseCss(this, "marginLeft"),
242
+ marginTop = parseCss(this, "marginTop"),
243
+ collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") +
244
+ scrollInfo.width,
245
+ collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") +
246
+ scrollInfo.height,
247
+ position = $.extend({}, basePosition),
248
+ myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
249
+
250
+ if (options.my[0] === "right") {
251
+ position.left -= elemWidth;
252
+ } else if (options.my[0] === "center") {
253
+ position.left -= elemWidth / 2;
254
+ }
255
 
256
+ if (options.my[1] === "bottom") {
257
+ position.top -= elemHeight;
258
+ } else if (options.my[1] === "center") {
259
+ position.top -= elemHeight / 2;
 
 
 
 
 
 
 
 
 
 
 
 
260
  }
 
261
 
262
+ position.left += myOffset[0];
263
+ position.top += myOffset[1];
264
+
265
+ collisionPosition = {
266
+ marginLeft: marginLeft,
267
+ marginTop: marginTop
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  };
 
269
 
270
+ $.each(["left", "top"], function(i, dir) {
271
+ if ($.ui.pos[collision[i]]) {
272
+ $.ui.pos[collision[i]][dir](position, {
273
+ targetWidth: targetWidth,
274
+ targetHeight: targetHeight,
275
+ elemWidth: elemWidth,
276
+ elemHeight: elemHeight,
277
+ collisionPosition: collisionPosition,
278
+ collisionWidth: collisionWidth,
279
+ collisionHeight: collisionHeight,
280
+ offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
281
+ my: options.my,
282
+ at: options.at,
283
+ within: within,
284
+ elem: elem
285
+ });
286
+ }
287
  });
288
+
289
+ if (options.using) {
290
+
291
+ // Adds feedback as second argument to using callback, if present
292
+ using = function(props) {
293
+ var left = targetOffset.left - position.left,
294
+ right = left + targetWidth - elemWidth,
295
+ top = targetOffset.top - position.top,
296
+ bottom = top + targetHeight - elemHeight,
297
+ feedback = {
298
+ target: {
299
+ element: target,
300
+ left: targetOffset.left,
301
+ top: targetOffset.top,
302
+ width: targetWidth,
303
+ height: targetHeight
304
+ },
305
+ element: {
306
+ element: elem,
307
+ left: position.left,
308
+ top: position.top,
309
+ width: elemWidth,
310
+ height: elemHeight
311
+ },
312
+ horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
313
+ vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
314
+ };
315
+ if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
316
+ feedback.horizontal = "center";
317
+ }
318
+ if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
319
+ feedback.vertical = "middle";
320
+ }
321
+ if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
322
+ feedback.important = "horizontal";
323
  } else {
324
+ feedback.important = "vertical";
325
  }
326
+ options.using.call(this, props, feedback);
327
+ };
328
+ }
329
+
330
+ elem.offset($.extend(position, {
331
+ using: using
332
+ }));
333
+ });
334
+ };
335
+
336
+ $.ui.pos = {
337
+ _trigger: function(position, data, name, triggered) {
338
+ if (data.elem) {
339
+ data.elem.trigger({
340
+ 'type': name,
341
+ 'position': position,
342
+ 'positionData': data,
343
+ 'triggered': triggered
344
+ });
345
  }
 
346
  },
347
+ fit: {
348
+ left: function(position, data) {
349
+ $.ui.pos._trigger(position, data, 'posCollide', 'fitLeft');
350
+ var within = data.within,
351
+ withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
352
+ outerWidth = within.width,
353
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
354
+ overLeft = withinOffset - collisionPosLeft,
355
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
356
+ newOverRight;
357
+
358
+ // Element is wider than within
359
+ if (data.collisionWidth > outerWidth) {
360
+
361
+ // Element is initially over the left side of within
362
+ if (overLeft > 0 && overRight <= 0) {
363
+ newOverRight = position.left + overLeft + data.collisionWidth - outerWidth -
364
+ withinOffset;
365
+ position.left += overLeft - newOverRight;
366
+
367
+ // Element is initially over right side of within
368
+ } else if (overRight > 0 && overLeft <= 0) {
369
+ position.left = withinOffset;
370
+
371
+ // Element is initially over both left and right sides of within
372
  } else {
373
+ if (overLeft > overRight) {
374
+ position.left = withinOffset + outerWidth - data.collisionWidth;
375
+ } else {
376
+ position.left = withinOffset;
377
+ }
378
+ }
379
+
380
+ // Too far left -> align with left edge
381
+ } else if (overLeft > 0) {
382
+ position.left += overLeft;
383
+
384
+ // Too far right -> align with right edge
385
+ } else if (overRight > 0) {
386
+ position.left -= overRight;
387
+
388
+ // Adjust based on position and margin
389
+ } else {
390
+ position.left = max(position.left - collisionPosLeft, position.left);
391
+ }
392
+ $.ui.pos._trigger(position, data, 'posCollided', 'fitLeft');
393
+ },
394
+ top: function(position, data) {
395
+ $.ui.pos._trigger(position, data, 'posCollide', 'fitTop');
396
+ var within = data.within,
397
+ withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
398
+ outerHeight = data.within.height,
399
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
400
+ overTop = withinOffset - collisionPosTop,
401
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
402
+ newOverBottom;
403
+
404
+ // Element is taller than within
405
+ if (data.collisionHeight > outerHeight) {
406
+
407
+ // Element is initially over the top of within
408
+ if (overTop > 0 && overBottom <= 0) {
409
+ newOverBottom = position.top + overTop + data.collisionHeight - outerHeight -
410
+ withinOffset;
411
+ position.top += overTop - newOverBottom;
412
+
413
+ // Element is initially over bottom of within
414
+ } else if (overBottom > 0 && overTop <= 0) {
415
  position.top = withinOffset;
416
+
417
+ // Element is initially over both top and bottom of within
418
+ } else {
419
+ if (overTop > overBottom) {
420
+ position.top = withinOffset + outerHeight - data.collisionHeight;
421
+ } else {
422
+ position.top = withinOffset;
423
+ }
424
  }
425
+
426
+ // Too far up -> align with top
427
+ } else if (overTop > 0) {
428
+ position.top += overTop;
429
+
430
+ // Too far down -> align with bottom edge
431
+ } else if (overBottom > 0) {
432
+ position.top -= overBottom;
433
+
434
+ // Adjust based on position and margin
435
+ } else {
436
+ position.top = max(position.top - collisionPosTop, position.top);
437
  }
438
+ $.ui.pos._trigger(position, data, 'posCollided', 'fitTop');
 
 
 
 
 
 
 
 
439
  }
440
+ },
441
+ flip: {
442
+ left: function(position, data) {
443
+ $.ui.pos._trigger(position, data, 'posCollide', 'flipLeft');
444
+ var within = data.within,
445
+ withinOffset = within.offset.left + within.scrollLeft,
446
+ outerWidth = within.width,
447
+ offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
448
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
449
+ overLeft = collisionPosLeft - offsetLeft,
450
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
451
+ myOffset = data.my[0] === "left" ?
452
+ -data.elemWidth :
453
+ data.my[0] === "right" ?
454
+ data.elemWidth :
455
+ 0,
456
+ atOffset = data.at[0] === "left" ?
457
+ data.targetWidth :
458
+ data.at[0] === "right" ?
459
+ -data.targetWidth :
460
+ 0,
461
+ offset = -2 * data.offset[0],
462
+ newOverRight,
463
+ newOverLeft;
464
+
465
+ if (overLeft < 0) {
466
+ newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -
467
+ outerWidth - withinOffset;
468
+ if (newOverRight < 0 || newOverRight < abs(overLeft)) {
469
+ position.left += myOffset + atOffset + offset;
470
+ }
471
+ } else if (overRight > 0) {
472
+ newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +
473
+ atOffset + offset - offsetLeft;
474
+ if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
475
+ position.left += myOffset + atOffset + offset;
476
+ }
477
  }
478
+ $.ui.pos._trigger(position, data, 'posCollided', 'flipLeft');
479
+ },
480
+ top: function(position, data) {
481
+ $.ui.pos._trigger(position, data, 'posCollide', 'flipTop');
482
+ var within = data.within,
483
+ withinOffset = within.offset.top + within.scrollTop,
484
+ outerHeight = within.height,
485
+ offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
486
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
487
+ overTop = collisionPosTop - offsetTop,
488
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
489
+ top = data.my[1] === "top",
490
+ myOffset = top ?
491
+ -data.elemHeight :
492
+ data.my[1] === "bottom" ?
493
+ data.elemHeight :
494
+ 0,
495
+ atOffset = data.at[1] === "top" ?
496
+ data.targetHeight :
497
+ data.at[1] === "bottom" ?
498
+ -data.targetHeight :
499
+ 0,
500
+ offset = -2 * data.offset[1],
501
+ newOverTop,
502
+ newOverBottom;
503
+ if (overTop < 0) {
504
+ newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -
505
+ outerHeight - withinOffset;
506
+ if (newOverBottom < 0 || newOverBottom < abs(overTop)) {
507
+ position.top += myOffset + atOffset + offset;
508
+ }
509
+ } else if (overBottom > 0) {
510
+ newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +
511
+ offset - offsetTop;
512
+ if (newOverTop > 0 || abs(newOverTop) < overBottom) {
513
+ position.top += myOffset + atOffset + offset;
514
+ }
515
  }
516
+ $.ui.pos._trigger(position, data, 'posCollided', 'flipTop');
517
  }
 
518
  },
519
+ flipfit: {
520
+ left: function() {
521
+ $.ui.pos.flip.left.apply(this, arguments);
522
+ $.ui.pos.fit.left.apply(this, arguments);
523
+ },
524
+ top: function() {
525
+ $.ui.pos.flip.top.apply(this, arguments);
526
+ $.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  }
 
528
  }
529
+ };
530
+ // fraction support test
531
+ (function() {
532
+ var testElement, testElementParent, testElementStyle, offsetLeft, i,
533
+ body = document.getElementsByTagName("body")[0],
534
+ div = document.createElement("div");
535
+
536
+ //Create a "fake body" for testing based on method used in jQuery.support
537
+ testElement = document.createElement(body ? "div" : "body");
538
+ testElementStyle = {
539
+ visibility: "hidden",
540
+ width: 0,
541
+ height: 0,
542
+ border: 0,
543
+ margin: 0,
544
+ background: "none"
545
+ };
546
+ if (body) {
547
+ $.extend(testElementStyle, {
548
+ position: "absolute",
549
+ left: "-1000px",
550
+ top: "-1000px"
551
+ });
552
  }
553
+ for (i in testElementStyle) {
554
+ testElement.style[i] = testElementStyle[i];
555
+ }
556
+ testElement.appendChild(div);
557
+ testElementParent = body || document.documentElement;
558
+ testElementParent.insertBefore(testElement, testElementParent.firstChild);
559
 
560
+ div.style.cssText = "position: absolute; left: 10.7432222px;";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561
 
562
+ offsetLeft = $(div).offset().left;
563
+ $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
564
 
565
+ testElement.innerHTML = "";
566
+ testElementParent.removeChild(testElement);
567
+ })();
568
 
 
 
569
  })();
570
 
571
+ var position = $.ui.position;
572
+
573
+
574
+
575
+
576
+ }));
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/iconpicker.less CHANGED
@@ -1,77 +1,77 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
- *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
  *
 
 
 
9
  */
10
  @import 'variables.less';
11
  @import 'popovers.less';
12
 
13
- .iconpicker{
14
- *{
15
- -webkit-box-sizing: content-box;
16
- -moz-box-sizing: content-box;
17
- box-sizing: content-box;
18
- position: relative;
19
- }
 
 
 
 
 
 
 
 
 
 
20
  position: relative;
21
  .clearfix();
22
- text-align:left;
23
- text-shadow:none;
24
- line-height:0;
25
- display:block;
26
- margin:0;
27
- overflow:hidden;
 
 
 
 
 
28
 
29
- .iconpicker-items{
30
- position: relative;
31
- .clearfix();
32
- clear:both;
33
- float:none;
34
- padding:@base_spacing 0 0 @base_spacing;
35
- background:#fff;
36
- //margin:0 -@base_spacing -@base_spacing 0;
37
- //width:@picker_width - (@base_spacing*2);
38
- margin:0;
39
- overflow:hidden;
40
- overflow-y: auto;
41
- min-height: @row_outer_height;
42
- max-height: (@row_outer_height * @num_rows) + 1;
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  }
45
-
46
- .iconpicker-item{
47
- float:left;
48
- width:@item_size;
49
- height:@item_size;
50
- padding: @base_spacing;
51
- margin:0 @base_spacing @base_spacing 0;
52
- text-align:center;
53
- cursor:pointer;
54
- border-radius:3px;
55
- font-size:@item_size;
56
- .outer-border();
57
- color:inherit;
58
- &:hover:not(.iconpicker-selected){
59
- background-color:@hover_bg;
60
- }
61
- &.iconpicker-selected{
62
- box-shadow: none;
63
- color:#fff;
64
- }
65
- /*&:nth-child(4n+4) {
66
- margin-right: 0;
67
- }
68
- &:nth-last-child(-n+4) {
69
- margin-bottom: 0;
70
- }*/
71
- //box-shadow:0;
72
  }
 
 
 
 
 
73
  }
74
 
75
- .iconpicker-component{
76
- cursor:pointer;
77
- }
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
4
  *
5
+ * @author Javi Aguilar, itsjavi.com
6
+ * @license MIT License
7
+ * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
  @import 'variables.less';
10
  @import 'popovers.less';
11
 
12
+ .iconpicker {
13
+ * {
14
+ -webkit-box-sizing: content-box;
15
+ -moz-box-sizing: content-box;
16
+ box-sizing: content-box;
17
+ position: relative;
18
+ }
19
+ position: relative;
20
+ .clearfix();
21
+ text-align: left;
22
+ text-shadow: none;
23
+ line-height: 0;
24
+ display: block;
25
+ margin: 0;
26
+ overflow: hidden;
27
+
28
+ .iconpicker-items {
29
  position: relative;
30
  .clearfix();
31
+ clear: both;
32
+ float: none;
33
+ padding: @base_spacing 0 0 @base_spacing;
34
+ background: #fff;
35
+ //margin:0 -@base_spacing -@base_spacing 0;
36
+ //width:@picker_width - (@base_spacing*2);
37
+ margin: 0;
38
+ overflow: hidden;
39
+ overflow-y: auto;
40
+ min-height: @row_outer_height;
41
+ max-height: (@row_outer_height * @num_rows) + 1;
42
 
43
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
+ .iconpicker-item {
46
+ float: left;
47
+ width: @item_size;
48
+ height: @item_size;
49
+ padding: @base_spacing;
50
+ margin: 0 @base_spacing @base_spacing 0;
51
+ text-align: center;
52
+ cursor: pointer;
53
+ border-radius: 3px;
54
+ font-size: @item_size;
55
+ .outer-border();
56
+ color: inherit;
57
+ &:hover:not(.iconpicker-selected) {
58
+ background-color: @hover_bg;
59
  }
60
+ &.iconpicker-selected {
61
+ box-shadow: none;
62
+ color: #fff;
63
+ background: #000;
64
+ }
65
+ /*&:nth-child(4n+4) {
66
+ margin-right: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
+ &:nth-last-child(-n+4) {
69
+ margin-bottom: 0;
70
+ }*/
71
+ //box-shadow:0;
72
+ }
73
  }
74
 
75
+ .iconpicker-component {
76
+ cursor: pointer;
77
+ }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/popovers.less CHANGED
@@ -1,104 +1,103 @@
1
- /*
2
- * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
- *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
- *
9
- */
10
-
11
  //
12
  // Popovers
13
  // --------------------------------------------------
14
 
15
-
16
  .iconpicker-popover.popover {
17
- position: absolute;
18
- top: 0;
19
- left: 0;
20
- display: none;
21
- max-width: none;
22
- padding: 1px;
23
- text-align: left;
24
- width: @picker_width + @num_cols;
25
- background:@popover-title-bg;
26
-
27
- // Offset the popover to account for the popover arrow
28
- &.top, &.topLeftCorner, &.topLeft, &.topRight, &.topRightCorner { margin-top: -@popover-arrow-width; }
29
- &.right, &.rightTop, &.rightBottom { margin-left: @popover-arrow-width; }
30
- &.bottom, &.bottomRightCorner, &.bottomRight, &.bottomLeft, &.bottomLeftCorner { margin-top: @popover-arrow-width; }
31
- &.left, &.leftBottom, &.leftTop { margin-left: -@popover-arrow-width; }
32
-
33
- &.inline{
34
- > .arrow{
35
- display:none;
36
- }
37
- margin: 0 0 @base_spacing 0;
38
- position: relative;
39
- display:inline-block;
40
- opacity:1;
41
- top:auto;
42
- left:auto;
43
- bottom:auto;
44
- right:auto;
45
- max-width: 100%;
46
- box-shadow: none;
47
- z-index:auto;
48
- vertical-align: top;
49
- }
 
 
 
 
 
 
 
 
 
50
  }
51
 
52
- .dropdown-menu .iconpicker-popover.inline{
53
- margin:0;
54
- border:none;
55
  }
56
 
57
- .dropdown-menu.iconpicker-container{
58
- padding:0;
59
  }
60
 
61
  .iconpicker-popover.popover .popover-title {
62
- //padding: 8px 14px;
63
- //border-radius: 5px 5px 0 0;
64
- padding:@base_spacing;
65
- font-size:@title_size;
66
- line-height:@title_size + 2px;
67
- border-bottom:1px solid darken(@popover-title-bg, 5%);
68
- background-color: @popover-title-bg;
69
-
70
- input[type=search].iconpicker-search{
71
- margin: 0 0 2px 0;
72
- }
73
  }
74
- .iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search{
75
- margin-top: @base_spacing;
 
76
  }
77
 
78
  .iconpicker-popover.popover .popover-content {
79
- //padding: 9px 14px;
80
- padding:0px;
81
- text-align: center;
82
- //overflow:hidden;
83
  }
84
 
85
- .iconpicker-popover .popover-footer{
86
- .clearfix();
87
- float:none;
88
- clear:both;
89
- padding:@base_spacing;
90
- text-align:right;
91
- margin:0;
92
- border-top:1px solid darken(@popover-title-bg, 5%);
93
- background-color: @popover-title-bg;
94
- .iconpicker-btn{
95
- margin-left: 10px;
96
- }
97
- input[type=search].iconpicker-search{
98
- /*width:auto;
99
- float:left;*/
100
- margin-bottom: @base_spacing;
101
- }
102
  }
103
 
104
  // Arrows
@@ -106,131 +105,133 @@
106
  // .arrow is outer, .arrow:after is inner
107
 
108
  .iconpicker-popover.popover > .arrow {
109
- &,
110
- &:after {
111
- position: absolute;
112
- display: block;
113
- width: 0;
114
- height: 0;
115
- border-color: transparent;
116
- border-style: solid;
117
- }
118
  }
 
119
  .iconpicker-popover.popover > .arrow {
120
- border-width: @popover-arrow-outer-width;
121
  }
 
122
  .iconpicker-popover.popover > .arrow:after {
123
- border-width: @popover-arrow-width;
124
- content: "";
125
  }
126
 
127
  .iconpicker-popover.popover {
128
- &.top, &.topLeft, &.topRight{
129
- > .arrow {
130
- left: 50%;
131
- margin-left: -@popover-arrow-outer-width;
132
- border-bottom-width: 0;
133
- border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
134
- border-top-color: @popover-arrow-outer-color;
135
- bottom: -@popover-arrow-outer-width;
136
- &:after {
137
- content: " ";
138
- bottom: 1px;
139
- margin-left: -@popover-arrow-width;
140
- border-bottom-width: 0;
141
- border-top-color: @popover-arrow-color;
142
- }
143
- }
144
- }
145
- &.topLeft > .arrow{
146
- left:@arrow_position;
147
- margin-left:0;
148
- }
149
- &.topRight > .arrow{
150
- left:auto;
151
- right:@arrow_position;
152
- margin-left:0;
153
- }
154
- &.right, &.rightTop, &.rightBottom{
155
- > .arrow {
156
- top: 50%;
157
- left: -@popover-arrow-outer-width;
158
- margin-top: -@popover-arrow-outer-width;
159
- border-left-width: 0;
160
- border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
161
- border-right-color: @popover-arrow-outer-color;
162
- &:after {
163
- content: " ";
164
- left: 1px;
165
- bottom: -@popover-arrow-width;
166
- border-left-width: 0;
167
- border-right-color: @popover-arrow-color;
168
- }
169
- }
170
- }
171
-
172
- &.rightTop > .arrow{
173
- top:auto;
174
- bottom:@arrow_position;
175
- margin-top:0;
176
- }
177
- &.rightBottom > .arrow{
178
- top:@arrow_position;
179
- margin-top:0;
180
- }
181
-
182
- &.bottom, &.bottomRight, &.bottomLeft{
183
- > .arrow {
184
- left: 50%;
185
- margin-left: -@popover-arrow-outer-width;
186
- border-top-width: 0;
187
- border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
188
- border-bottom-color: @popover-arrow-outer-color;
189
- top: -@popover-arrow-outer-width;
190
- &:after {
191
- content: " ";
192
- top: 1px;
193
- margin-left: -@popover-arrow-width;
194
- border-top-width: 0;
195
- border-bottom-color: @popover-arrow-color;
196
- }
197
- }
198
- }
199
- &.bottomLeft > .arrow{
200
- left:@arrow_position;
201
- margin-left:0;
202
- }
203
- &.bottomRight > .arrow{
204
- left:auto;
205
- right:@arrow_position;
206
- margin-left:0;
207
- }
208
-
209
- &.left, &.leftBottom, &.leftTop{
210
- > .arrow {
211
- top: 50%;
212
- right: -@popover-arrow-outer-width;
213
- margin-top: -@popover-arrow-outer-width;
214
- border-right-width: 0;
215
- border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
216
- border-left-color: @popover-arrow-outer-color;
217
- &:after {
218
- content: " ";
219
- right: 1px;
220
- border-right-width: 0;
221
- border-left-color: @popover-arrow-color;
222
- bottom: -@popover-arrow-width;
223
- }
224
- }
225
- }
226
-
227
- &.leftBottom > .arrow{
228
- top:@arrow_position;
229
- margin-top:0;
230
- }
231
- &.leftTop > .arrow{
232
- top:auto;
233
- bottom:@arrow_position;
234
- margin-top:0;
235
- }
236
  }
 
 
 
 
 
 
 
 
 
 
1
  //
2
  // Popovers
3
  // --------------------------------------------------
4
 
 
5
  .iconpicker-popover.popover {
6
+ position: absolute;
7
+ top: 0;
8
+ left: 0;
9
+ display: none;
10
+ max-width: none;
11
+ padding: 1px;
12
+ text-align: left;
13
+ width: @picker_width + @num_cols;
14
+ background: @popover-title-bg;
15
+ z-index: 9;
16
+
17
+ // Offset the popover to account for the popover arrow
18
+ &.top, &.topLeftCorner, &.topLeft, &.topRight, &.topRightCorner {
19
+ margin-top: -@popover-arrow-width;
20
+ }
21
+ &.right, &.rightTop, &.rightBottom {
22
+ margin-left: @popover-arrow-width;
23
+ }
24
+ &.bottom, &.bottomRightCorner, &.bottomRight, &.bottomLeft, &.bottomLeftCorner {
25
+ margin-top: @popover-arrow-width;
26
+ }
27
+ &.left, &.leftBottom, &.leftTop {
28
+ margin-left: -@popover-arrow-width;
29
+ }
30
+
31
+ &.inline {
32
+ > .arrow {
33
+ display: none;
34
+ }
35
+ margin: 0 0 @base_spacing 0;
36
+ position: relative;
37
+ display: inline-block;
38
+ opacity: 1;
39
+ top: auto;
40
+ left: auto;
41
+ bottom: auto;
42
+ right: auto;
43
+ max-width: 100%;
44
+ box-shadow: none;
45
+ z-index: auto;
46
+ vertical-align: top;
47
+ }
48
  }
49
 
50
+ .dropdown-menu .iconpicker-popover.inline {
51
+ margin: 0;
52
+ border: none;
53
  }
54
 
55
+ .dropdown-menu.iconpicker-container {
56
+ padding: 0;
57
  }
58
 
59
  .iconpicker-popover.popover .popover-title {
60
+ //padding: 8px 14px;
61
+ //border-radius: 5px 5px 0 0;
62
+ padding: @base_spacing;
63
+ font-size: @title_size;
64
+ line-height: @title_size + 2px;
65
+ border-bottom: 1px solid darken(@popover-title-bg, 5%);
66
+ background-color: @popover-title-bg;
67
+
68
+ input[type=search].iconpicker-search {
69
+ margin: 0 0 2px 0;
70
+ }
71
  }
72
+
73
+ .iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {
74
+ margin-top: @base_spacing;
75
  }
76
 
77
  .iconpicker-popover.popover .popover-content {
78
+ //padding: 9px 14px;
79
+ padding: 0px;
80
+ text-align: center;
81
+ //overflow:hidden;
82
  }
83
 
84
+ .iconpicker-popover .popover-footer {
85
+ .clearfix();
86
+ float: none;
87
+ clear: both;
88
+ padding: @base_spacing;
89
+ text-align: right;
90
+ margin: 0;
91
+ border-top: 1px solid darken(@popover-title-bg, 5%);
92
+ background-color: @popover-title-bg;
93
+ .iconpicker-btn {
94
+ margin-left: 10px;
95
+ }
96
+ input[type=search].iconpicker-search {
97
+ /*width:auto;
98
+ float:left;*/
99
+ margin-bottom: @base_spacing;
100
+ }
101
  }
102
 
103
  // Arrows
105
  // .arrow is outer, .arrow:after is inner
106
 
107
  .iconpicker-popover.popover > .arrow {
108
+ &,
109
+ &:after {
110
+ position: absolute;
111
+ display: block;
112
+ width: 0;
113
+ height: 0;
114
+ border-color: transparent;
115
+ border-style: solid;
116
+ }
117
  }
118
+
119
  .iconpicker-popover.popover > .arrow {
120
+ border-width: @popover-arrow-outer-width;
121
  }
122
+
123
  .iconpicker-popover.popover > .arrow:after {
124
+ border-width: @popover-arrow-width;
125
+ content: "";
126
  }
127
 
128
  .iconpicker-popover.popover {
129
+ &.top, &.topLeft, &.topRight {
130
+ > .arrow {
131
+ left: 50%;
132
+ margin-left: -@popover-arrow-outer-width;
133
+ border-bottom-width: 0;
134
+ border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
135
+ border-top-color: @popover-arrow-outer-color;
136
+ bottom: -@popover-arrow-outer-width;
137
+ &:after {
138
+ content: " ";
139
+ bottom: 1px;
140
+ margin-left: -@popover-arrow-width;
141
+ border-bottom-width: 0;
142
+ border-top-color: @popover-arrow-color;
143
+ }
144
+ }
145
+ }
146
+ &.topLeft > .arrow {
147
+ left: @arrow_position;
148
+ margin-left: 0;
149
+ }
150
+ &.topRight > .arrow {
151
+ left: auto;
152
+ right: @arrow_position;
153
+ margin-left: 0;
154
+ }
155
+ &.right, &.rightTop, &.rightBottom {
156
+ > .arrow {
157
+ top: 50%;
158
+ left: -@popover-arrow-outer-width;
159
+ margin-top: -@popover-arrow-outer-width;
160
+ border-left-width: 0;
161
+ border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
162
+ border-right-color: @popover-arrow-outer-color;
163
+ &:after {
164
+ content: " ";
165
+ left: 1px;
166
+ bottom: -@popover-arrow-width;
167
+ border-left-width: 0;
168
+ border-right-color: @popover-arrow-color;
169
+ }
170
+ }
171
+ }
172
+
173
+ &.rightTop > .arrow {
174
+ top: auto;
175
+ bottom: @arrow_position;
176
+ margin-top: 0;
177
+ }
178
+ &.rightBottom > .arrow {
179
+ top: @arrow_position;
180
+ margin-top: 0;
181
+ }
182
+
183
+ &.bottom, &.bottomRight, &.bottomLeft {
184
+ > .arrow {
185
+ left: 50%;
186
+ margin-left: -@popover-arrow-outer-width;
187
+ border-top-width: 0;
188
+ border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
189
+ border-bottom-color: @popover-arrow-outer-color;
190
+ top: -@popover-arrow-outer-width;
191
+ &:after {
192
+ content: " ";
193
+ top: 1px;
194
+ margin-left: -@popover-arrow-width;
195
+ border-top-width: 0;
196
+ border-bottom-color: @popover-arrow-color;
197
+ }
198
+ }
199
+ }
200
+ &.bottomLeft > .arrow {
201
+ left: @arrow_position;
202
+ margin-left: 0;
203
+ }
204
+ &.bottomRight > .arrow {
205
+ left: auto;
206
+ right: @arrow_position;
207
+ margin-left: 0;
208
+ }
209
+
210
+ &.left, &.leftBottom, &.leftTop {
211
+ > .arrow {
212
+ top: 50%;
213
+ right: -@popover-arrow-outer-width;
214
+ margin-top: -@popover-arrow-outer-width;
215
+ border-right-width: 0;
216
+ border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
217
+ border-left-color: @popover-arrow-outer-color;
218
+ &:after {
219
+ content: " ";
220
+ right: 1px;
221
+ border-right-width: 0;
222
+ border-left-color: @popover-arrow-color;
223
+ bottom: -@popover-arrow-width;
224
+ }
225
+ }
226
+ }
227
+
228
+ &.leftBottom > .arrow {
229
+ top: @arrow_position;
230
+ margin-top: 0;
231
+ }
232
+ &.leftTop > .arrow {
233
+ top: auto;
234
+ bottom: @arrow_position;
235
+ margin-top: 0;
236
+ }
237
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/variables.less CHANGED
@@ -1,20 +1,11 @@
1
- /*
2
- * Font Awesome Icon Picker
3
- * https://itsjavi.com/fontawesome-iconpicker/
4
- *
5
- * Originally written by (c) 2016 Javi Aguilar
6
- * Licensed under the MIT License
7
- * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
- *
9
- */
10
-
11
  // Iconpicker variables:
12
- @item_size:14px;
13
- @hover_bg:#eee;
14
  @num_cols: 4;
15
  @num_rows: 5;
16
  @base_spacing: 12px;
17
- @picker_width: (@item_size * @num_cols) + (@num_cols * @base_spacing * (@num_cols - 1)) + @base_spacing;
 
18
  @row_outer_height: (@item_size + (@base_spacing * 3)) - 1px;
19
  @title_size: (@base_spacing + @item_size) / 2;
20
  @border_color: #ddd;
@@ -25,29 +16,28 @@
25
  //##
26
 
27
  //** Popover body background color
28
- @popover-bg: #fff;
29
  //** Popover maximum width
30
- @popover-max-width: 276px;
31
  //** Popover border color
32
- @popover-border-color: rgba(0,0,0,.2);
33
  //** Popover fallback border color
34
- @popover-fallback-border-color: #ccc;
35
 
36
  //** Popover title background color
37
- @popover-title-bg: darken(@popover-bg, 3%);
38
 
39
  //** Popover arrow width
40
- @popover-arrow-width: 10px;
41
  //** Popover arrow color
42
- @popover-arrow-color: #fff;
43
 
44
  //** Popover outer arrow width
45
- @popover-arrow-outer-width: (@popover-arrow-width + 1);
46
  //** Popover outer arrow color
47
- @popover-arrow-outer-color: fadein(@popover-border-color, 5%);
48
  //** Popover outer arrow fallback color
49
- @popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
50
-
51
 
52
  // Clearfix
53
  //
@@ -62,53 +52,50 @@
62
  // Source: http://nicolasgallagher.com/micro-clearfix-hack/
63
 
64
  .clearfix() {
65
- &:before,
66
- &:after {
67
- content: " "; // 1
68
- display: table; // 2
69
- }
70
- &:after {
71
- clear: both;
72
- }
73
  }
74
 
75
- .outer-border(){
76
- box-shadow: 0 0 0 1px @border_color;
77
  }
78
 
79
-
80
  //
81
  // Other Bootstrap Variables:
82
  // --------------------------------------------------
83
 
84
-
85
  //== Colors
86
  //
87
  //## Gray and brand colors for use across Bootstrap.
88
 
89
- @gray-darker: lighten(#000, 13.5%); // #222
90
- @gray-dark: lighten(#000, 20%); // #333
91
- @gray: lighten(#000, 33.5%); // #555
92
- @gray-light: lighten(#000, 60%); // #999
93
- @gray-lighter: lighten(#000, 93.5%); // #eee
94
-
95
- @brand-primary: #428bca;
96
- @brand-success: #5cb85c;
97
- @brand-info: #5bc0de;
98
- @brand-warning: #f0ad4e;
99
- @brand-danger: #d9534f;
100
 
 
 
 
 
 
101
 
102
  //== Scaffolding
103
  //
104
  // ## Settings for some of the most global styles.
105
 
106
  //** Background color for `<body>`.
107
- @body-bg: #fff;
108
  //** Global text color on `<body>`.
109
- @text-color: @gray-dark;
110
 
111
  //** Global textual link color.
112
- @link-color: @brand-primary;
113
  //** Link hover color set via `darken()` function.
114
- @link-hover-color: darken(@link-color, 15%);
 
 
 
 
 
 
 
 
 
 
1
  // Iconpicker variables:
2
+ @item_size: 14px;
3
+ @hover_bg: #eee;
4
  @num_cols: 4;
5
  @num_rows: 5;
6
  @base_spacing: 12px;
7
+ @scrollbar_compensation: @base_spacing + 6px;
8
+ @picker_width: (@item_size * @num_cols) + (@num_cols * @base_spacing * (@num_cols - 1)) + @base_spacing + @scrollbar_compensation;
9
  @row_outer_height: (@item_size + (@base_spacing * 3)) - 1px;
10
  @title_size: (@base_spacing + @item_size) / 2;
11
  @border_color: #ddd;
16
  //##
17
 
18
  //** Popover body background color
19
+ @popover-bg: #fff;
20
  //** Popover maximum width
21
+ @popover-max-width: 276px;
22
  //** Popover border color
23
+ @popover-border-color: rgba(0, 0, 0, .2);
24
  //** Popover fallback border color
25
+ @popover-fallback-border-color: #ccc;
26
 
27
  //** Popover title background color
28
+ @popover-title-bg: darken(@popover-bg, 3%);
29
 
30
  //** Popover arrow width
31
+ @popover-arrow-width: 10px;
32
  //** Popover arrow color
33
+ @popover-arrow-color: #fff;
34
 
35
  //** Popover outer arrow width
36
+ @popover-arrow-outer-width: (@popover-arrow-width + 1);
37
  //** Popover outer arrow color
38
+ @popover-arrow-outer-color: fadein(@popover-border-color, 5%);
39
  //** Popover outer arrow fallback color
40
+ @popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
 
41
 
42
  // Clearfix
43
  //
52
  // Source: http://nicolasgallagher.com/micro-clearfix-hack/
53
 
54
  .clearfix() {
55
+ &:before,
56
+ &:after {
57
+ content: " "; // 1
58
+ display: table; // 2
59
+ }
60
+ &:after {
61
+ clear: both;
62
+ }
63
  }
64
 
65
+ .outer-border() {
66
+ box-shadow: 0 0 0 1px @border_color;
67
  }
68
 
 
69
  //
70
  // Other Bootstrap Variables:
71
  // --------------------------------------------------
72
 
 
73
  //== Colors
74
  //
75
  //## Gray and brand colors for use across Bootstrap.
76
 
77
+ @gray-darker: lighten(#000, 13.5%); // #222
78
+ @gray-dark: lighten(#000, 20%); // #333
79
+ @gray: lighten(#000, 33.5%); // #555
80
+ @gray-light: lighten(#000, 60%); // #999
81
+ @gray-lighter: lighten(#000, 93.5%); // #eee
 
 
 
 
 
 
82
 
83
+ @brand-primary: #428bca;
84
+ @brand-success: #5cb85c;
85
+ @brand-info: #5bc0de;
86
+ @brand-warning: #f0ad4e;
87
+ @brand-danger: #d9534f;
88
 
89
  //== Scaffolding
90
  //
91
  // ## Settings for some of the most global styles.
92
 
93
  //** Background color for `<body>`.
94
+ @body-bg: #fff;
95
  //** Global text color on `<body>`.
96
+ @text-color: @gray-dark;
97
 
98
  //** Global textual link color.
99
+ @link-color: @brand-primary;
100
  //** Link hover color set via `darken()` function.
101
+ @link-hover-color: darken(@link-color, 15%);
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/autoload.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit01bcb95e8f7d9208dc67547140375b55::getLoader();
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/ClassLoader.php ADDED
@@ -0,0 +1,445 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
+
13
+ namespace Composer\Autoload;
14
+
15
+ /**
16
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
17
+ *
18
+ * $loader = new \Composer\Autoload\ClassLoader();
19
+ *
20
+ * // register classes with namespaces
21
+ * $loader->add('Symfony\Component', __DIR__.'/component');
22
+ * $loader->add('Symfony', __DIR__.'/framework');
23
+ *
24
+ * // activate the autoloader
25
+ * $loader->register();
26
+ *
27
+ * // to enable searching the include path (eg. for PEAR packages)
28
+ * $loader->setUseIncludePath(true);
29
+ *
30
+ * In this example, if you try to use a class in the Symfony\Component
31
+ * namespace or one of its children (Symfony\Component\Console for instance),
32
+ * the autoloader will first look for the class under the component/
33
+ * directory, and it will then fallback to the framework/ directory if not
34
+ * found before giving up.
35
+ *
36
+ * This class is loosely based on the Symfony UniversalClassLoader.
37
+ *
38
+ * @author Fabien Potencier <fabien@symfony.com>
39
+ * @author Jordi Boggiano <j.boggiano@seld.be>
40
+ * @see http://www.php-fig.org/psr/psr-0/
41
+ * @see http://www.php-fig.org/psr/psr-4/
42
+ */
43
+ class ClassLoader
44
+ {
45
+ // PSR-4
46
+ private $prefixLengthsPsr4 = array();
47
+ private $prefixDirsPsr4 = array();
48
+ private $fallbackDirsPsr4 = array();
49
+
50
+ // PSR-0
51
+ private $prefixesPsr0 = array();
52
+ private $fallbackDirsPsr0 = array();
53
+
54
+ private $useIncludePath = false;
55
+ private $classMap = array();
56
+ private $classMapAuthoritative = false;
57
+ private $missingClasses = array();
58
+ private $apcuPrefix;
59
+
60
+ public function getPrefixes()
61
+ {
62
+ if (!empty($this->prefixesPsr0)) {
63
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
64
+ }
65
+
66
+ return array();
67
+ }
68
+
69
+ public function getPrefixesPsr4()
70
+ {
71
+ return $this->prefixDirsPsr4;
72
+ }
73
+
74
+ public function getFallbackDirs()
75
+ {
76
+ return $this->fallbackDirsPsr0;
77
+ }
78
+
79
+ public function getFallbackDirsPsr4()
80
+ {
81
+ return $this->fallbackDirsPsr4;
82
+ }
83
+
84
+ public function getClassMap()
85
+ {
86
+ return $this->classMap;
87
+ }
88
+
89
+ /**
90
+ * @param array $classMap Class to filename map
91
+ */
92
+ public function addClassMap(array $classMap)
93
+ {
94
+ if ($this->classMap) {
95
+ $this->classMap = array_merge($this->classMap, $classMap);
96
+ } else {
97
+ $this->classMap = $classMap;
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Registers a set of PSR-0 directories for a given prefix, either
103
+ * appending or prepending to the ones previously set for this prefix.
104
+ *
105
+ * @param string $prefix The prefix
106
+ * @param array|string $paths The PSR-0 root directories
107
+ * @param bool $prepend Whether to prepend the directories
108
+ */
109
+ public function add($prefix, $paths, $prepend = false)
110
+ {
111
+ if (!$prefix) {
112
+ if ($prepend) {
113
+ $this->fallbackDirsPsr0 = array_merge(
114
+ (array) $paths,
115
+ $this->fallbackDirsPsr0
116
+ );
117
+ } else {
118
+ $this->fallbackDirsPsr0 = array_merge(
119
+ $this->fallbackDirsPsr0,
120
+ (array) $paths
121
+ );
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ $first = $prefix[0];
128
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
129
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
130
+
131
+ return;
132
+ }
133
+ if ($prepend) {
134
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
135
+ (array) $paths,
136
+ $this->prefixesPsr0[$first][$prefix]
137
+ );
138
+ } else {
139
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
140
+ $this->prefixesPsr0[$first][$prefix],
141
+ (array) $paths
142
+ );
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Registers a set of PSR-4 directories for a given namespace, either
148
+ * appending or prepending to the ones previously set for this namespace.
149
+ *
150
+ * @param string $prefix The prefix/namespace, with trailing '\\'
151
+ * @param array|string $paths The PSR-4 base directories
152
+ * @param bool $prepend Whether to prepend the directories
153
+ *
154
+ * @throws \InvalidArgumentException
155
+ */
156
+ public function addPsr4($prefix, $paths, $prepend = false)
157
+ {
158
+ if (!$prefix) {
159
+ // Register directories for the root namespace.
160
+ if ($prepend) {
161
+ $this->fallbackDirsPsr4 = array_merge(
162
+ (array) $paths,
163
+ $this->fallbackDirsPsr4
164
+ );
165
+ } else {
166
+ $this->fallbackDirsPsr4 = array_merge(
167
+ $this->fallbackDirsPsr4,
168
+ (array) $paths
169
+ );
170
+ }
171
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
172
+ // Register directories for a new namespace.
173
+ $length = strlen($prefix);
174
+ if ('\\' !== $prefix[$length - 1]) {
175
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
176
+ }
177
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
178
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
179
+ } elseif ($prepend) {
180
+ // Prepend directories for an already registered namespace.
181
+ $this->prefixDirsPsr4[$prefix] = array_merge(
182
+ (array) $paths,
183
+ $this->prefixDirsPsr4[$prefix]
184
+ );
185
+ } else {
186
+ // Append directories for an already registered namespace.
187
+ $this->prefixDirsPsr4[$prefix] = array_merge(
188
+ $this->prefixDirsPsr4[$prefix],
189
+ (array) $paths
190
+ );
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Registers a set of PSR-0 directories for a given prefix,
196
+ * replacing any others previously set for this prefix.
197
+ *
198
+ * @param string $prefix The prefix
199
+ * @param array|string $paths The PSR-0 base directories
200
+ */
201
+ public function set($prefix, $paths)
202
+ {
203
+ if (!$prefix) {
204
+ $this->fallbackDirsPsr0 = (array) $paths;
205
+ } else {
206
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Registers a set of PSR-4 directories for a given namespace,
212
+ * replacing any others previously set for this namespace.
213
+ *
214
+ * @param string $prefix The prefix/namespace, with trailing '\\'
215
+ * @param array|string $paths The PSR-4 base directories
216
+ *
217
+ * @throws \InvalidArgumentException
218
+ */
219
+ public function setPsr4($prefix, $paths)
220
+ {
221
+ if (!$prefix) {
222
+ $this->fallbackDirsPsr4 = (array) $paths;
223
+ } else {
224
+ $length = strlen($prefix);
225
+ if ('\\' !== $prefix[$length - 1]) {
226
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
227
+ }
228
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
229
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
230
+ }
231
+ }
232
+
233
+ /**
234
+ * Turns on searching the include path for class files.
235
+ *
236
+ * @param bool $useIncludePath
237
+ */
238
+ public function setUseIncludePath($useIncludePath)
239
+ {
240
+ $this->useIncludePath = $useIncludePath;
241
+ }
242
+
243
+ /**
244
+ * Can be used to check if the autoloader uses the include path to check
245
+ * for classes.
246
+ *
247
+ * @return bool
248
+ */
249
+ public function getUseIncludePath()
250
+ {
251
+ return $this->useIncludePath;
252
+ }
253
+
254
+ /**
255
+ * Turns off searching the prefix and fallback directories for classes
256
+ * that have not been registered with the class map.
257
+ *
258
+ * @param bool $classMapAuthoritative
259
+ */
260
+ public function setClassMapAuthoritative($classMapAuthoritative)
261
+ {
262
+ $this->classMapAuthoritative = $classMapAuthoritative;
263
+ }
264
+
265
+ /**
266
+ * Should class lookup fail if not found in the current class map?
267
+ *
268
+ * @return bool
269
+ */
270
+ public function isClassMapAuthoritative()
271
+ {
272
+ return $this->classMapAuthoritative;
273
+ }
274
+
275
+ /**
276
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
277
+ *
278
+ * @param string|null $apcuPrefix
279
+ */
280
+ public function setApcuPrefix($apcuPrefix)
281
+ {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
283
+ }
284
+
285
+ /**
286
+ * The APCu prefix in use, or null if APCu caching is not enabled.
287
+ *
288
+ * @return string|null
289
+ */
290
+ public function getApcuPrefix()
291
+ {
292
+ return $this->apcuPrefix;
293
+ }
294
+
295
+ /**
296
+ * Registers this instance as an autoloader.
297
+ *
298
+ * @param bool $prepend Whether to prepend the autoloader or not
299
+ */
300
+ public function register($prepend = false)
301
+ {
302
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
303
+ }
304
+
305
+ /**
306
+ * Unregisters this instance as an autoloader.
307
+ */
308
+ public function unregister()
309
+ {
310
+ spl_autoload_unregister(array($this, 'loadClass'));
311
+ }
312
+
313
+ /**
314
+ * Loads the given class or interface.
315
+ *
316
+ * @param string $class The name of the class
317
+ * @return bool|null True if loaded, null otherwise
318
+ */
319
+ public function loadClass($class)
320
+ {
321
+ if ($file = $this->findFile($class)) {
322
+ includeFile($file);
323
+
324
+ return true;
325
+ }
326
+ }
327
+
328
+ /**
329
+ * Finds the path to the file where the class is defined.
330
+ *
331
+ * @param string $class The name of the class
332
+ *
333
+ * @return string|false The path if found, false otherwise
334
+ */
335
+ public function findFile($class)
336
+ {
337
+ // class map lookup
338
+ if (isset($this->classMap[$class])) {
339
+ return $this->classMap[$class];
340
+ }
341
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
342
+ return false;
343
+ }
344
+ if (null !== $this->apcuPrefix) {
345
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
346
+ if ($hit) {
347
+ return $file;
348
+ }
349
+ }
350
+
351
+ $file = $this->findFileWithExtension($class, '.php');
352
+
353
+ // Search for Hack files if we are running on HHVM
354
+ if (false === $file && defined('HHVM_VERSION')) {
355
+ $file = $this->findFileWithExtension($class, '.hh');
356
+ }
357
+
358
+ if (null !== $this->apcuPrefix) {
359
+ apcu_add($this->apcuPrefix.$class, $file);
360
+ }
361
+
362
+ if (false === $file) {
363
+ // Remember that this class does not exist.
364
+ $this->missingClasses[$class] = true;
365
+ }
366
+
367
+ return $file;
368
+ }
369
+
370
+ private function findFileWithExtension($class, $ext)
371
+ {
372
+ // PSR-4 lookup
373
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
374
+
375
+ $first = $class[0];
376
+ if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath . '\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
385
+ return $file;
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ // PSR-4 fallback dirs
393
+ foreach ($this->fallbackDirsPsr4 as $dir) {
394
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
395
+ return $file;
396
+ }
397
+ }
398
+
399
+ // PSR-0 lookup
400
+ if (false !== $pos = strrpos($class, '\\')) {
401
+ // namespaced class name
402
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
403
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
404
+ } else {
405
+ // PEAR-like class name
406
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
407
+ }
408
+
409
+ if (isset($this->prefixesPsr0[$first])) {
410
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
411
+ if (0 === strpos($class, $prefix)) {
412
+ foreach ($dirs as $dir) {
413
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
414
+ return $file;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ // PSR-0 fallback dirs
422
+ foreach ($this->fallbackDirsPsr0 as $dir) {
423
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
424
+ return $file;
425
+ }
426
+ }
427
+
428
+ // PSR-0 include paths.
429
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
430
+ return $file;
431
+ }
432
+
433
+ return false;
434
+ }
435
+ }
436
+
437
+ /**
438
+ * Scope isolated include.
439
+ *
440
+ * Prevents access to $this/self from included files.
441
+ */
442
+ function includeFile($file)
443
+ {
444
+ include $file;
445
+ }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Copyright (c) Nils Adermann, Jordi Boggiano
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is furnished
9
+ to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ THE SOFTWARE.
21
+
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_classmap.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_classmap.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_namespaces.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_namespaces.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_psr4.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_psr4.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_real.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_real.php @generated by Composer
4
+
5
+ class ComposerAutoloaderInit01bcb95e8f7d9208dc67547140375b55
6
+ {
7
+ private static $loader;
8
+
9
+ public static function loadClassLoader($class)
10
+ {
11
+ if ('Composer\Autoload\ClassLoader' === $class) {
12
+ require __DIR__ . '/ClassLoader.php';
13
+ }
14
+ }
15
+
16
+ public static function getLoader()
17
+ {
18
+ if (null !== self::$loader) {
19
+ return self::$loader;
20
+ }
21
+
22
+ spl_autoload_register(array('ComposerAutoloaderInit01bcb95e8f7d9208dc67547140375b55', 'loadClassLoader'), true, true);
23
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit01bcb95e8f7d9208dc67547140375b55', 'loadClassLoader'));
25
+
26
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
+ if ($useStaticLoader) {
28
+ require_once __DIR__ . '/autoload_static.php';
29
+
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit01bcb95e8f7d9208dc67547140375b55::getInitializer($loader));
31
+ } else {
32
+ $map = require __DIR__ . '/autoload_namespaces.php';
33
+ foreach ($map as $namespace => $path) {
34
+ $loader->set($namespace, $path);
35
+ }
36
+
37
+ $map = require __DIR__ . '/autoload_psr4.php';
38
+ foreach ($map as $namespace => $path) {
39
+ $loader->setPsr4($namespace, $path);
40
+ }
41
+
42
+ $classMap = require __DIR__ . '/autoload_classmap.php';
43
+ if ($classMap) {
44
+ $loader->addClassMap($classMap);
45
+ }
46
+ }
47
+
48
+ $loader->register(true);
49
+
50
+ return $loader;
51
+ }
52
+ }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/autoload_static.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit01bcb95e8f7d9208dc67547140375b55
8
+ {
9
+ public static function getInitializer(ClassLoader $loader)
10
+ {
11
+ return \Closure::bind(function () use ($loader) {
12
+
13
+ }, null, ClassLoader::class);
14
+ }
15
+ }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/vendor/composer/installed.json ADDED
@@ -0,0 +1 @@
 
1
+ []
vendor/mickey-kay/better-font-awesome-library/package-lock.json ADDED
@@ -0,0 +1,1993 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "better-font-awesome-library",
3
+ "version": "2.0.0-beta",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "abbrev": {
8
+ "version": "1.1.1",
9
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
10
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
11
+ "dev": true
12
+ },
13
+ "ansi-regex": {
14
+ "version": "2.1.1",
15
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
16
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
17
+ "dev": true
18
+ },
19
+ "ansi-styles": {
20
+ "version": "4.3.0",
21
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
22
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
23
+ "dev": true,
24
+ "requires": {
25
+ "color-convert": "^2.0.1"
26
+ }
27
+ },
28
+ "argparse": {
29
+ "version": "1.0.10",
30
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
31
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
32
+ "dev": true,
33
+ "requires": {
34
+ "sprintf-js": "~1.0.2"
35
+ },
36
+ "dependencies": {
37
+ "sprintf-js": {
38
+ "version": "1.0.3",
39
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
40
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
41
+ "dev": true
42
+ }
43
+ }
44
+ },
45
+ "arr-diff": {
46
+ "version": "4.0.0",
47
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
48
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
49
+ "dev": true
50
+ },
51
+ "arr-flatten": {
52
+ "version": "1.1.0",
53
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
54
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
55
+ "dev": true
56
+ },
57
+ "arr-union": {
58
+ "version": "3.1.0",
59
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
60
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
61
+ "dev": true
62
+ },
63
+ "array-differ": {
64
+ "version": "1.0.0",
65
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
66
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
67
+ "dev": true
68
+ },
69
+ "array-each": {
70
+ "version": "1.0.1",
71
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
72
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
73
+ "dev": true
74
+ },
75
+ "array-slice": {
76
+ "version": "1.1.0",
77
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
78
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
79
+ "dev": true
80
+ },
81
+ "array-union": {
82
+ "version": "1.0.2",
83
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
84
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
85
+ "dev": true,
86
+ "requires": {
87
+ "array-uniq": "^1.0.1"
88
+ }
89
+ },
90
+ "array-uniq": {
91
+ "version": "1.0.3",
92
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
93
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
94
+ "dev": true
95
+ },
96
+ "array-unique": {
97
+ "version": "0.3.2",
98
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
99
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
100
+ "dev": true
101
+ },
102
+ "arrify": {
103
+ "version": "1.0.1",
104
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
105
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
106
+ "dev": true
107
+ },
108
+ "assign-symbols": {
109
+ "version": "1.0.0",
110
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
111
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
112
+ "dev": true
113
+ },
114
+ "async": {
115
+ "version": "1.5.2",
116
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
117
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
118
+ "dev": true
119
+ },
120
+ "atob": {
121
+ "version": "2.1.2",
122
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
123
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
124
+ "dev": true
125
+ },
126
+ "balanced-match": {
127
+ "version": "1.0.0",
128
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
129
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
130
+ "dev": true
131
+ },
132
+ "base": {
133
+ "version": "0.11.2",
134
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
135
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
136
+ "dev": true,
137
+ "requires": {
138
+ "cache-base": "^1.0.1",
139
+ "class-utils": "^0.3.5",
140
+ "component-emitter": "^1.2.1",
141
+ "define-property": "^1.0.0",
142
+ "isobject": "^3.0.1",
143
+ "mixin-deep": "^1.2.0",
144
+ "pascalcase": "^0.1.1"
145
+ },
146
+ "dependencies": {
147
+ "define-property": {
148
+ "version": "1.0.0",
149
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
150
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
151
+ "dev": true,
152
+ "requires": {
153
+ "is-descriptor": "^1.0.0"
154
+ }
155
+ },
156
+ "is-accessor-descriptor": {
157
+ "version": "1.0.0",
158
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
159
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
160
+ "dev": true,
161
+ "requires": {
162
+ "kind-of": "^6.0.0"
163
+ }
164
+ },
165
+ "is-data-descriptor": {
166
+ "version": "1.0.0",
167
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
168
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
169
+ "dev": true,
170
+ "requires": {
171
+ "kind-of": "^6.0.0"
172
+ }
173
+ },
174
+ "is-descriptor": {
175
+ "version": "1.0.2",
176
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
177
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
178
+ "dev": true,
179
+ "requires": {
180
+ "is-accessor-descriptor": "^1.0.0",
181
+ "is-data-descriptor": "^1.0.0",
182
+ "kind-of": "^6.0.2"
183
+ }
184
+ }
185
+ }
186
+ },
187
+ "brace-expansion": {
188
+ "version": "1.1.11",
189
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
190
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
191
+ "dev": true,
192
+ "requires": {
193
+ "balanced-match": "^1.0.0",
194
+ "concat-map": "0.0.1"
195
+ }
196
+ },
197
+ "braces": {
198
+ "version": "2.3.2",
199
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
200
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
201
+ "dev": true,
202
+ "requires": {
203
+ "arr-flatten": "^1.1.0",
204
+ "array-unique": "^0.3.2",
205
+ "extend-shallow": "^2.0.1",
206
+ "fill-range": "^4.0.0",
207
+ "isobject": "^3.0.1",
208
+ "repeat-element": "^1.1.2",
209
+ "snapdragon": "^0.8.1",
210
+ "snapdragon-node": "^2.0.1",
211
+ "split-string": "^3.0.2",
212
+ "to-regex": "^3.0.1"
213
+ },
214
+ "dependencies": {
215
+ "extend-shallow": {
216
+ "version": "2.0.1",
217
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
218
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
219
+ "dev": true,
220
+ "requires": {
221
+ "is-extendable": "^0.1.0"
222
+ }
223
+ }
224
+ }
225
+ },
226
+ "cache-base": {
227
+ "version": "1.0.1",
228
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
229
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
230
+ "dev": true,
231
+ "requires": {
232
+ "collection-visit": "^1.0.0",
233
+ "component-emitter": "^1.2.1",
234
+ "get-value": "^2.0.6",
235
+ "has-value": "^1.0.0",
236
+ "isobject": "^3.0.1",
237
+ "set-value": "^2.0.0",
238
+ "to-object-path": "^0.3.0",
239
+ "union-value": "^1.0.0",
240
+ "unset-value": "^1.0.0"
241
+ }
242
+ },
243
+ "chalk": {
244
+ "version": "4.1.0",
245
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
246
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
247
+ "dev": true,
248
+ "requires": {
249
+ "ansi-styles": "^4.1.0",
250
+ "supports-color": "^7.1.0"
251
+ }
252
+ },
253
+ "class-utils": {
254
+ "version": "0.3.6",
255
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
256
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
257
+ "dev": true,
258
+ "requires": {
259
+ "arr-union": "^3.1.0",
260
+ "define-property": "^0.2.5",
261
+ "isobject": "^3.0.0",
262
+ "static-extend": "^0.1.1"
263
+ },
264
+ "dependencies": {
265
+ "define-property": {
266
+ "version": "0.2.5",
267
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
268
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
269
+ "dev": true,
270
+ "requires": {
271
+ "is-descriptor": "^0.1.0"
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "collection-visit": {
277
+ "version": "1.0.0",
278
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
279
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
280
+ "dev": true,
281
+ "requires": {
282
+ "map-visit": "^1.0.0",
283
+ "object-visit": "^1.0.0"
284
+ }
285
+ },
286
+ "color-convert": {
287
+ "version": "2.0.1",
288
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
289
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
290
+ "dev": true,
291
+ "requires": {
292
+ "color-name": "~1.1.4"
293
+ }
294
+ },
295
+ "color-name": {
296
+ "version": "1.1.4",
297
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
298
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
299
+ "dev": true
300
+ },
301
+ "colors": {
302
+ "version": "1.1.2",
303
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
304
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
305
+ "dev": true
306
+ },
307
+ "component-emitter": {
308
+ "version": "1.3.0",
309
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
310
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
311
+ "dev": true
312
+ },
313
+ "concat-map": {
314
+ "version": "0.0.1",
315
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
316
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
317
+ "dev": true
318
+ },
319
+ "copy-descriptor": {
320
+ "version": "0.1.1",
321
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
322
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
323
+ "dev": true
324
+ },
325
+ "dateformat": {
326
+ "version": "3.0.3",
327
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
328
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
329
+ "dev": true
330
+ },
331
+ "debug": {
332
+ "version": "2.6.9",
333
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
334
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
335
+ "dev": true,
336
+ "requires": {
337
+ "ms": "2.0.0"
338
+ }
339
+ },
340
+ "decode-uri-component": {
341
+ "version": "0.2.0",
342
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
343
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
344
+ "dev": true
345
+ },
346
+ "define-property": {
347
+ "version": "2.0.2",
348
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
349
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
350
+ "dev": true,
351
+ "requires": {
352
+ "is-descriptor": "^1.0.2",
353
+ "isobject": "^3.0.1"
354
+ },
355
+ "dependencies": {
356
+ "is-accessor-descriptor": {
357
+ "version": "1.0.0",
358
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
359
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
360
+ "dev": true,
361
+ "requires": {
362
+ "kind-of": "^6.0.0"
363
+ }
364
+ },
365
+ "is-data-descriptor": {
366
+ "version": "1.0.0",
367
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
368
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
369
+ "dev": true,
370
+ "requires": {
371
+ "kind-of": "^6.0.0"
372
+ }
373
+ },
374
+ "is-descriptor": {
375
+ "version": "1.0.2",
376
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
377
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
378
+ "dev": true,
379
+ "requires": {
380
+ "is-accessor-descriptor": "^1.0.0",
381
+ "is-data-descriptor": "^1.0.0",
382
+ "kind-of": "^6.0.2"
383
+ }
384
+ }
385
+ }
386
+ },
387
+ "detect-file": {
388
+ "version": "1.0.0",
389
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
390
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
391
+ "dev": true
392
+ },
393
+ "escape-string-regexp": {
394
+ "version": "1.0.5",
395
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
396
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
397
+ "dev": true
398
+ },
399
+ "esprima": {
400
+ "version": "4.0.1",
401
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
402
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
403
+ "dev": true
404
+ },
405
+ "eventemitter2": {
406
+ "version": "0.4.14",
407
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
408
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
409
+ "dev": true
410
+ },
411
+ "exit": {
412
+ "version": "0.1.2",
413
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
414
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
415
+ "dev": true
416
+ },
417
+ "expand-brackets": {
418
+ "version": "2.1.4",
419
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
420
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
421
+ "dev": true,
422
+ "requires": {
423
+ "debug": "^2.3.3",
424
+ "define-property": "^0.2.5",
425
+ "extend-shallow": "^2.0.1",
426
+ "posix-character-classes": "^0.1.0",
427
+ "regex-not": "^1.0.0",
428
+ "snapdragon": "^0.8.1",
429
+ "to-regex": "^3.0.1"
430
+ },
431
+ "dependencies": {
432
+ "define-property": {
433
+ "version": "0.2.5",
434
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
435
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
436
+ "dev": true,
437
+ "requires": {
438
+ "is-descriptor": "^0.1.0"
439
+ }
440
+ },
441
+ "extend-shallow": {
442
+ "version": "2.0.1",
443
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
444
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
445
+ "dev": true,
446
+ "requires": {
447
+ "is-extendable": "^0.1.0"
448
+ }
449
+ }
450
+ }
451
+ },
452
+ "expand-tilde": {
453
+ "version": "2.0.2",
454
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
455
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
456
+ "dev": true,
457
+ "requires": {
458
+ "homedir-polyfill": "^1.0.1"
459
+ }
460
+ },
461
+ "extend": {
462
+ "version": "3.0.2",
463
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
464
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
465
+ "dev": true
466
+ },
467
+ "extend-shallow": {
468
+ "version": "3.0.2",
469
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
470
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
471
+ "dev": true,
472
+ "requires": {
473
+ "assign-symbols": "^1.0.0",
474
+ "is-extendable": "^1.0.1"
475
+ },
476
+ "dependencies": {
477
+ "is-extendable": {
478
+ "version": "1.0.1",
479
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
480
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
481
+ "dev": true,
482
+ "requires": {
483
+ "is-plain-object": "^2.0.4"
484
+ }
485
+ }
486
+ }
487
+ },
488
+ "extglob": {
489
+ "version": "2.0.4",
490
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
491
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
492
+ "dev": true,
493
+ "requires": {
494
+ "array-unique": "^0.3.2",
495
+ "define-property": "^1.0.0",
496
+ "expand-brackets": "^2.1.4",
497
+ "extend-shallow": "^2.0.1",
498
+ "fragment-cache": "^0.2.1",
499
+ "regex-not": "^1.0.0",
500
+ "snapdragon": "^0.8.1",
501
+ "to-regex": "^3.0.1"
502
+ },
503
+ "dependencies": {
504
+ "define-property": {
505
+ "version": "1.0.0",
506
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
507
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
508
+ "dev": true,
509
+ "requires": {
510
+ "is-descriptor": "^1.0.0"
511
+ }
512
+ },
513
+ "extend-shallow": {
514
+ "version": "2.0.1",
515
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
516
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
517
+ "dev": true,
518
+ "requires": {
519
+ "is-extendable": "^0.1.0"
520
+ }
521
+ },
522
+ "is-accessor-descriptor": {
523
+ "version": "1.0.0",
524
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
525
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
526
+ "dev": true,
527
+ "requires": {
528
+ "kind-of": "^6.0.0"
529
+ }
530
+ },
531
+ "is-data-descriptor": {
532
+ "version": "1.0.0",
533
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
534
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
535
+ "dev": true,
536
+ "requires": {
537
+ "kind-of": "^6.0.0"
538
+ }
539
+ },
540
+ "is-descriptor": {
541
+ "version": "1.0.2",
542
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
543
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
544
+ "dev": true,
545
+ "requires": {
546
+ "is-accessor-descriptor": "^1.0.0",
547
+ "is-data-descriptor": "^1.0.0",
548
+ "kind-of": "^6.0.2"
549
+ }
550
+ }
551
+ }
552
+ },
553
+ "file-sync-cmp": {
554
+ "version": "0.1.1",
555
+ "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",
556
+ "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=",
557
+ "dev": true
558
+ },
559
+ "fill-range": {
560
+ "version": "4.0.0",
561
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
562
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
563
+ "dev": true,
564
+ "requires": {
565
+ "extend-shallow": "^2.0.1",
566
+ "is-number": "^3.0.0",
567
+ "repeat-string": "^1.6.1",
568
+ "to-regex-range": "^2.1.0"
569
+ },
570
+ "dependencies": {
571
+ "extend-shallow": {
572
+ "version": "2.0.1",
573
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
574
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
575
+ "dev": true,
576
+ "requires": {
577
+ "is-extendable": "^0.1.0"
578
+ }
579
+ }
580
+ }
581
+ },
582
+ "find-up": {
583
+ "version": "1.1.2",
584
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
585
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
586
+ "dev": true,
587
+ "requires": {
588
+ "path-exists": "^2.0.0",
589
+ "pinkie-promise": "^2.0.0"
590
+ }
591
+ },
592
+ "findup-sync": {
593
+ "version": "0.3.0",
594
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
595
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
596
+ "dev": true,
597
+ "requires": {
598
+ "glob": "~5.0.0"
599
+ },
600
+ "dependencies": {
601
+ "glob": {
602
+ "version": "5.0.15",
603
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
604
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
605
+ "dev": true,
606
+ "requires": {
607
+ "inflight": "^1.0.4",
608
+ "inherits": "2",
609
+ "minimatch": "2 || 3",
610
+ "once": "^1.3.0",
611
+ "path-is-absolute": "^1.0.0"
612
+ }
613
+ }
614
+ }
615
+ },
616
+ "fined": {
617
+ "version": "1.2.0",
618
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
619
+ "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
620
+ "dev": true,
621
+ "requires": {
622
+ "expand-tilde": "^2.0.2",
623
+ "is-plain-object": "^2.0.3",
624
+ "object.defaults": "^1.1.0",
625
+ "object.pick": "^1.2.0",
626
+ "parse-filepath": "^1.0.1"
627
+ }
628
+ },
629
+ "flagged-respawn": {
630
+ "version": "1.0.1",
631
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
632
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
633
+ "dev": true
634
+ },
635
+ "font-awesome": {
636
+ "version": "4.7.0",
637
+ "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
638
+ "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=",
639
+ "dev": true
640
+ },
641
+ "fontawesome-iconpicker": {
642
+ "version": "3.2.0",
643
+ "resolved": "https://registry.npmjs.org/fontawesome-iconpicker/-/fontawesome-iconpicker-3.2.0.tgz",
644
+ "integrity": "sha512-faI7fhGmO61u1WnYpFoHZ1OiL1xQo8KfX3ranq50KkDz5Jh/klaVjf8vhedQIJquVV28GJ61e/MChRTpQ6POTw==",
645
+ "dev": true
646
+ },
647
+ "for-in": {
648
+ "version": "1.0.2",
649
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
650
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
651
+ "dev": true
652
+ },
653
+ "for-own": {
654
+ "version": "1.0.0",
655
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
656
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
657
+ "dev": true,
658
+ "requires": {
659
+ "for-in": "^1.0.1"
660
+ }
661
+ },
662
+ "fragment-cache": {
663
+ "version": "0.2.1",
664
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
665
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
666
+ "dev": true,
667
+ "requires": {
668
+ "map-cache": "^0.2.2"
669
+ }
670
+ },
671
+ "fs.realpath": {
672
+ "version": "1.0.0",
673
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
674
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
675
+ "dev": true
676
+ },
677
+ "function-bind": {
678
+ "version": "1.1.1",
679
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
680
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
681
+ "dev": true
682
+ },
683
+ "get-value": {
684
+ "version": "2.0.6",
685
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
686
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
687
+ "dev": true
688
+ },
689
+ "getobject": {
690
+ "version": "0.1.0",
691
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
692
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
693
+ "dev": true
694
+ },
695
+ "glob": {
696
+ "version": "7.1.6",
697
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
698
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
699
+ "dev": true,
700
+ "requires": {
701
+ "fs.realpath": "^1.0.0",
702
+ "inflight": "^1.0.4",
703
+ "inherits": "2",
704
+ "minimatch": "^3.0.4",
705
+ "once": "^1.3.0",
706
+ "path-is-absolute": "^1.0.0"
707
+ }
708
+ },
709
+ "global-modules": {
710
+ "version": "1.0.0",
711
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
712
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
713
+ "dev": true,
714
+ "requires": {
715
+ "global-prefix": "^1.0.1",
716
+ "is-windows": "^1.0.1",
717
+ "resolve-dir": "^1.0.0"
718
+ }
719
+ },
720
+ "global-prefix": {
721
+ "version": "1.0.2",
722
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
723
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
724
+ "dev": true,
725
+ "requires": {
726
+ "expand-tilde": "^2.0.2",
727
+ "homedir-polyfill": "^1.0.1",
728
+ "ini": "^1.3.4",
729
+ "is-windows": "^1.0.1",
730
+ "which": "^1.2.14"
731
+ }
732
+ },
733
+ "grunt": {
734
+ "version": "1.3.0",
735
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz",
736
+ "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==",
737
+ "dev": true,
738
+ "requires": {
739
+ "dateformat": "~3.0.3",
740
+ "eventemitter2": "~0.4.13",
741
+ "exit": "~0.1.2",
742
+ "findup-sync": "~0.3.0",
743
+ "glob": "~7.1.6",
744
+ "grunt-cli": "~1.3.2",
745
+ "grunt-known-options": "~1.1.0",
746
+ "grunt-legacy-log": "~3.0.0",
747
+ "grunt-legacy-util": "~2.0.0",
748
+ "iconv-lite": "~0.4.13",
749
+ "js-yaml": "~3.14.0",
750
+ "minimatch": "~3.0.4",
751
+ "mkdirp": "~1.0.4",
752
+ "nopt": "~3.0.6",
753
+ "rimraf": "~3.0.2"
754
+ },
755
+ "dependencies": {
756
+ "grunt-cli": {
757
+ "version": "1.3.2",
758
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
759
+ "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
760
+ "dev": true,
761
+ "requires": {
762
+ "grunt-known-options": "~1.1.0",
763
+ "interpret": "~1.1.0",
764
+ "liftoff": "~2.5.0",
765
+ "nopt": "~4.0.1",
766
+ "v8flags": "~3.1.1"
767
+ },
768
+ "dependencies": {
769
+ "nopt": {
770
+ "version": "4.0.3",
771
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
772
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
773
+ "dev": true,
774
+ "requires": {
775
+ "abbrev": "1",
776
+ "osenv": "^0.1.4"
777
+ }
778
+ }
779
+ }
780
+ }
781
+ }
782
+ },
783
+ "grunt-contrib-copy": {
784
+ "version": "1.0.0",
785
+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
786
+ "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=",
787
+ "dev": true,
788
+ "requires": {
789
+ "chalk": "^1.1.1",
790
+ "file-sync-cmp": "^0.1.0"
791
+ },
792
+ "dependencies": {
793
+ "ansi-styles": {
794
+ "version": "2.2.1",
795
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
796
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
797
+ "dev": true
798
+ },
799
+ "chalk": {
800
+ "version": "1.1.3",
801
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
802
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
803
+ "dev": true,
804
+ "requires": {
805
+ "ansi-styles": "^2.2.1",
806
+ "escape-string-regexp": "^1.0.2",
807
+ "has-ansi": "^2.0.0",
808
+ "strip-ansi": "^3.0.0",
809
+ "supports-color": "^2.0.0"
810
+ }
811
+ },
812
+ "supports-color": {
813
+ "version": "2.0.0",
814
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
815
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
816
+ "dev": true
817
+ }
818
+ }
819
+ },
820
+ "grunt-known-options": {
821
+ "version": "1.1.1",
822
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
823
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
824
+ "dev": true
825
+ },
826
+ "grunt-legacy-log": {
827
+ "version": "3.0.0",
828
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz",
829
+ "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==",
830
+ "dev": true,
831
+ "requires": {
832
+ "colors": "~1.1.2",
833
+ "grunt-legacy-log-utils": "~2.1.0",
834
+ "hooker": "~0.2.3",
835
+ "lodash": "~4.17.19"
836
+ }
837
+ },
838
+ "grunt-legacy-log-utils": {
839
+ "version": "2.1.0",
840
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz",
841
+ "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==",
842
+ "dev": true,
843
+ "requires": {
844
+ "chalk": "~4.1.0",
845
+ "lodash": "~4.17.19"
846
+ }
847
+ },
848
+ "grunt-legacy-util": {
849
+ "version": "2.0.0",
850
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz",
851
+ "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==",
852
+ "dev": true,
853
+ "requires": {
854
+ "async": "~1.5.2",
855
+ "exit": "~0.1.1",
856
+ "getobject": "~0.1.0",
857
+ "hooker": "~0.2.3",
858
+ "lodash": "~4.17.20",
859
+ "underscore.string": "~3.3.5",
860
+ "which": "~1.3.0"
861
+ }
862
+ },
863
+ "has": {
864
+ "version": "1.0.3",
865
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
866
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
867
+ "dev": true,
868
+ "requires": {
869
+ "function-bind": "^1.1.1"
870
+ }
871
+ },
872
+ "has-ansi": {
873
+ "version": "2.0.0",
874
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
875
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
876
+ "dev": true,
877
+ "requires": {
878
+ "ansi-regex": "^2.0.0"
879
+ }
880
+ },
881
+ "has-flag": {
882
+ "version": "4.0.0",
883
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
884
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
885
+ "dev": true
886
+ },
887
+ "has-value": {
888
+ "version": "1.0.0",
889
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
890
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
891
+ "dev": true,
892
+ "requires": {
893
+ "get-value": "^2.0.6",
894
+ "has-values": "^1.0.0",
895
+ "isobject": "^3.0.0"
896
+ }
897
+ },
898
+ "has-values": {
899
+ "version": "1.0.0",
900
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
901
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
902
+ "dev": true,
903
+ "requires": {
904
+ "is-number": "^3.0.0",
905
+ "kind-of": "^4.0.0"
906
+ },
907
+ "dependencies": {
908
+ "kind-of": {
909
+ "version": "4.0.0",
910
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
911
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
912
+ "dev": true,
913
+ "requires": {
914
+ "is-buffer": "^1.1.5"
915
+ }
916
+ }
917
+ }
918
+ },
919
+ "homedir-polyfill": {
920
+ "version": "1.0.3",
921
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
922
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
923
+ "dev": true,
924
+ "requires": {
925
+ "parse-passwd": "^1.0.0"
926
+ }
927
+ },
928
+ "hooker": {
929
+ "version": "0.2.3",
930
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
931
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
932
+ "dev": true
933
+ },
934
+ "iconv-lite": {
935
+ "version": "0.4.24",
936
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
937
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
938
+ "dev": true,
939
+ "requires": {
940
+ "safer-buffer": ">= 2.1.2 < 3"
941
+ }
942
+ },
943
+ "inflight": {
944
+ "version": "1.0.6",
945
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
946
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
947
+ "dev": true,
948
+ "requires": {
949
+ "once": "^1.3.0",
950
+ "wrappy": "1"
951
+ }
952
+ },
953
+ "inherits": {
954
+ "version": "2.0.4",
955
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
956
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
957
+ "dev": true
958
+ },
959
+ "ini": {
960
+ "version": "1.3.8",
961
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
962
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
963
+ "dev": true
964
+ },
965
+ "interpret": {
966
+ "version": "1.1.0",
967
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
968
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
969
+ "dev": true
970
+ },
971
+ "is-absolute": {
972
+ "version": "1.0.0",
973
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
974
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
975
+ "dev": true,
976
+ "requires": {
977
+ "is-relative": "^1.0.0",
978
+ "is-windows": "^1.0.1"
979
+ }
980
+ },
981
+ "is-accessor-descriptor": {
982
+ "version": "0.1.6",
983
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
984
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
985
+ "dev": true,
986
+ "requires": {
987
+ "kind-of": "^3.0.2"
988
+ },
989
+ "dependencies": {
990
+ "kind-of": {
991
+ "version": "3.2.2",
992
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
993
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
994
+ "dev": true,
995
+ "requires": {
996
+ "is-buffer": "^1.1.5"
997
+ }
998
+ }
999
+ }
1000
+ },
1001
+ "is-buffer": {
1002
+ "version": "1.1.6",
1003
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1004
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1005
+ "dev": true
1006
+ },
1007
+ "is-core-module": {
1008
+ "version": "2.2.0",
1009
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
1010
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
1011
+ "dev": true,
1012
+ "requires": {
1013
+ "has": "^1.0.3"
1014
+ }
1015
+ },
1016
+ "is-data-descriptor": {
1017
+ "version": "0.1.4",
1018
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1019
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1020
+ "dev": true,
1021
+ "requires": {
1022
+ "kind-of": "^3.0.2"
1023
+ },
1024
+ "dependencies": {
1025
+ "kind-of": {
1026
+ "version": "3.2.2",
1027
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1028
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1029
+ "dev": true,
1030
+ "requires": {
1031
+ "is-buffer": "^1.1.5"
1032
+ }
1033
+ }
1034
+ }
1035
+ },
1036
+ "is-descriptor": {
1037
+ "version": "0.1.6",
1038
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
1039
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
1040
+ "dev": true,
1041
+ "requires": {
1042
+ "is-accessor-descriptor": "^0.1.6",
1043
+ "is-data-descriptor": "^0.1.4",
1044
+ "kind-of": "^5.0.0"
1045
+ },
1046
+ "dependencies": {
1047
+ "kind-of": {
1048
+ "version": "5.1.0",
1049
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1050
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1051
+ "dev": true
1052
+ }
1053
+ }
1054
+ },
1055
+ "is-extendable": {
1056
+ "version": "0.1.1",
1057
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1058
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1059
+ "dev": true
1060
+ },
1061
+ "is-extglob": {
1062
+ "version": "2.1.1",
1063
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1064
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1065
+ "dev": true
1066
+ },
1067
+ "is-glob": {
1068
+ "version": "3.1.0",
1069
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
1070
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
1071
+ "dev": true,
1072
+ "requires": {
1073
+ "is-extglob": "^2.1.0"
1074
+ }
1075
+ },
1076
+ "is-number": {
1077
+ "version": "3.0.0",
1078
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1079
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1080
+ "dev": true,
1081
+ "requires": {
1082
+ "kind-of": "^3.0.2"
1083
+ },
1084
+ "dependencies": {
1085
+ "kind-of": {
1086
+ "version": "3.2.2",
1087
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1088
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1089
+ "dev": true,
1090
+ "requires": {
1091
+ "is-buffer": "^1.1.5"
1092
+ }
1093
+ }
1094
+ }
1095
+ },
1096
+ "is-plain-object": {
1097
+ "version": "2.0.4",
1098
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1099
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1100
+ "dev": true,
1101
+ "requires": {
1102
+ "isobject": "^3.0.1"
1103
+ }
1104
+ },
1105
+ "is-relative": {
1106
+ "version": "1.0.0",
1107
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1108
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1109
+ "dev": true,
1110
+ "requires": {
1111
+ "is-unc-path": "^1.0.0"
1112
+ }
1113
+ },
1114
+ "is-unc-path": {
1115
+ "version": "1.0.0",
1116
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1117
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1118
+ "dev": true,
1119
+ "requires": {
1120
+ "unc-path-regex": "^0.1.2"
1121
+ }
1122
+ },
1123
+ "is-windows": {
1124
+ "version": "1.0.2",
1125
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1126
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1127
+ "dev": true
1128
+ },
1129
+ "isarray": {
1130
+ "version": "1.0.0",
1131
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1132
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1133
+ "dev": true
1134
+ },
1135
+ "isexe": {
1136
+ "version": "2.0.0",
1137
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1138
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1139
+ "dev": true
1140
+ },
1141
+ "isobject": {
1142
+ "version": "3.0.1",
1143
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1144
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1145
+ "dev": true
1146
+ },
1147
+ "js-yaml": {
1148
+ "version": "3.14.1",
1149
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
1150
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
1151
+ "dev": true,
1152
+ "requires": {
1153
+ "argparse": "^1.0.7",
1154
+ "esprima": "^4.0.0"
1155
+ }
1156
+ },
1157
+ "kind-of": {
1158
+ "version": "6.0.3",
1159
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1160
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1161
+ "dev": true
1162
+ },
1163
+ "liftoff": {
1164
+ "version": "2.5.0",
1165
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
1166
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
1167
+ "dev": true,
1168
+ "requires": {
1169
+ "extend": "^3.0.0",
1170
+ "findup-sync": "^2.0.0",
1171
+ "fined": "^1.0.1",
1172
+ "flagged-respawn": "^1.0.0",
1173
+ "is-plain-object": "^2.0.4",
1174
+ "object.map": "^1.0.0",
1175
+ "rechoir": "^0.6.2",
1176
+ "resolve": "^1.1.7"
1177
+ },
1178
+ "dependencies": {
1179
+ "findup-sync": {
1180
+ "version": "2.0.0",
1181
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
1182
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
1183
+ "dev": true,
1184
+ "requires": {
1185
+ "detect-file": "^1.0.0",
1186
+ "is-glob": "^3.1.0",
1187
+ "micromatch": "^3.0.4",
1188
+ "resolve-dir": "^1.0.1"
1189
+ }
1190
+ }
1191
+ }
1192
+ },
1193
+ "load-grunt-tasks": {
1194
+ "version": "3.5.2",
1195
+ "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz",
1196
+ "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=",
1197
+ "dev": true,
1198
+ "requires": {
1199
+ "arrify": "^1.0.0",
1200
+ "multimatch": "^2.0.0",
1201
+ "pkg-up": "^1.0.0",
1202
+ "resolve-pkg": "^0.1.0"
1203
+ }
1204
+ },
1205
+ "lodash": {
1206
+ "version": "4.17.20",
1207
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
1208
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
1209
+ "dev": true
1210
+ },
1211
+ "make-iterator": {
1212
+ "version": "1.0.1",
1213
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1214
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1215
+ "dev": true,
1216
+ "requires": {
1217
+ "kind-of": "^6.0.2"
1218
+ }
1219
+ },
1220
+ "map-cache": {
1221
+ "version": "0.2.2",
1222
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1223
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
1224
+ "dev": true
1225
+ },
1226
+ "map-visit": {
1227
+ "version": "1.0.0",
1228
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1229
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1230
+ "dev": true,
1231
+ "requires": {
1232
+ "object-visit": "^1.0.0"
1233
+ }
1234
+ },
1235
+ "micromatch": {
1236
+ "version": "3.1.10",
1237
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1238
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1239
+ "dev": true,
1240
+ "requires": {
1241
+ "arr-diff": "^4.0.0",
1242
+ "array-unique": "^0.3.2",
1243
+ "braces": "^2.3.1",
1244
+ "define-property": "^2.0.2",
1245
+ "extend-shallow": "^3.0.2",
1246
+ "extglob": "^2.0.4",
1247
+ "fragment-cache": "^0.2.1",
1248
+ "kind-of": "^6.0.2",
1249
+ "nanomatch": "^1.2.9",
1250
+ "object.pick": "^1.3.0",
1251
+ "regex-not": "^1.0.0",
1252
+ "snapdragon": "^0.8.1",
1253
+ "to-regex": "^3.0.2"
1254
+ }
1255
+ },
1256
+ "minimatch": {
1257
+ "version": "3.0.4",
1258
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1259
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1260
+ "dev": true,
1261
+ "requires": {
1262
+ "brace-expansion": "^1.1.7"
1263
+ }
1264
+ },
1265
+ "mixin-deep": {
1266
+ "version": "1.3.2",
1267
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1268
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1269
+ "dev": true,
1270
+ "requires": {
1271
+ "for-in": "^1.0.2",
1272
+ "is-extendable": "^1.0.1"
1273
+ },
1274
+ "dependencies": {
1275
+ "is-extendable": {
1276
+ "version": "1.0.1",
1277
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1278
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1279
+ "dev": true,
1280
+ "requires": {
1281
+ "is-plain-object": "^2.0.4"
1282
+ }
1283
+ }
1284
+ }
1285
+ },
1286
+ "mkdirp": {
1287
+ "version": "1.0.4",
1288
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1289
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1290
+ "dev": true
1291
+ },
1292
+ "ms": {
1293
+ "version": "2.0.0",
1294
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1295
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1296
+ "dev": true
1297
+ },
1298
+ "multimatch": {
1299
+ "version": "2.1.0",
1300
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
1301
+ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
1302
+ "dev": true,
1303
+ "requires": {
1304
+ "array-differ": "^1.0.0",
1305
+ "array-union": "^1.0.1",
1306
+ "arrify": "^1.0.0",
1307
+ "minimatch": "^3.0.0"
1308
+ }
1309
+ },
1310
+ "nanomatch": {
1311
+ "version": "1.2.13",
1312
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1313
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1314
+ "dev": true,
1315
+ "requires": {
1316
+ "arr-diff": "^4.0.0",
1317
+ "array-unique": "^0.3.2",
1318
+ "define-property": "^2.0.2",
1319
+ "extend-shallow": "^3.0.2",
1320
+ "fragment-cache": "^0.2.1",
1321
+ "is-windows": "^1.0.2",
1322
+ "kind-of": "^6.0.2",
1323
+ "object.pick": "^1.3.0",
1324
+ "regex-not": "^1.0.0",
1325
+ "snapdragon": "^0.8.1",
1326
+ "to-regex": "^3.0.1"
1327
+ }
1328
+ },
1329
+ "nopt": {
1330
+ "version": "3.0.6",
1331
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
1332
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
1333
+ "dev": true,
1334
+ "requires": {
1335
+ "abbrev": "1"
1336
+ }
1337
+ },
1338
+ "object-copy": {
1339
+ "version": "0.1.0",
1340
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1341
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1342
+ "dev": true,
1343
+ "requires": {
1344
+ "copy-descriptor": "^0.1.0",
1345
+ "define-property": "^0.2.5",
1346
+ "kind-of": "^3.0.3"
1347
+ },
1348
+ "dependencies": {
1349
+ "define-property": {
1350
+ "version": "0.2.5",
1351
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1352
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1353
+ "dev": true,
1354
+ "requires": {
1355
+ "is-descriptor": "^0.1.0"
1356
+ }
1357
+ },
1358
+ "kind-of": {
1359
+ "version": "3.2.2",
1360
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1361
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1362
+ "dev": true,
1363
+ "requires": {
1364
+ "is-buffer": "^1.1.5"
1365
+ }
1366
+ }
1367
+ }
1368
+ },
1369
+ "object-visit": {
1370
+ "version": "1.0.1",
1371
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1372
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1373
+ "dev": true,
1374
+ "requires": {
1375
+ "isobject": "^3.0.0"
1376
+ }
1377
+ },
1378
+ "object.defaults": {
1379
+ "version": "1.1.0",
1380
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
1381
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
1382
+ "dev": true,
1383
+ "requires": {
1384
+ "array-each": "^1.0.1",
1385
+ "array-slice": "^1.0.0",
1386
+ "for-own": "^1.0.0",
1387
+ "isobject": "^3.0.0"
1388
+ }
1389
+ },
1390
+ "object.map": {
1391
+ "version": "1.0.1",
1392
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
1393
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
1394
+ "dev": true,
1395
+ "requires": {
1396
+ "for-own": "^1.0.0",
1397
+ "make-iterator": "^1.0.0"
1398
+ }
1399
+ },
1400
+ "object.pick": {
1401
+ "version": "1.3.0",
1402
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1403
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1404
+ "dev": true,
1405
+ "requires": {
1406
+ "isobject": "^3.0.1"
1407
+ }
1408
+ },
1409
+ "once": {
1410
+ "version": "1.4.0",
1411
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1412
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1413
+ "dev": true,
1414
+ "requires": {
1415
+ "wrappy": "1"
1416
+ }
1417
+ },
1418
+ "os-homedir": {
1419
+ "version": "1.0.2",
1420
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1421
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
1422
+ "dev": true
1423
+ },
1424
+ "os-tmpdir": {
1425
+ "version": "1.0.2",
1426
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1427
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1428
+ "dev": true
1429
+ },
1430
+ "osenv": {
1431
+ "version": "0.1.5",
1432
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
1433
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
1434
+ "dev": true,
1435
+ "requires": {
1436
+ "os-homedir": "^1.0.0",
1437
+ "os-tmpdir": "^1.0.0"
1438
+ }
1439
+ },
1440
+ "parse-filepath": {
1441
+ "version": "1.0.2",
1442
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
1443
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
1444
+ "dev": true,
1445
+ "requires": {
1446
+ "is-absolute": "^1.0.0",
1447
+ "map-cache": "^0.2.0",
1448
+ "path-root": "^0.1.1"
1449
+ }
1450
+ },
1451
+ "parse-passwd": {
1452
+ "version": "1.0.0",
1453
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1454
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
1455
+ "dev": true
1456
+ },
1457
+ "pascalcase": {
1458
+ "version": "0.1.1",
1459
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1460
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
1461
+ "dev": true
1462
+ },
1463
+ "path-exists": {
1464
+ "version": "2.1.0",
1465
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
1466
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
1467
+ "dev": true,
1468
+ "requires": {
1469
+ "pinkie-promise": "^2.0.0"
1470
+ }
1471
+ },
1472
+ "path-is-absolute": {
1473
+ "version": "1.0.1",
1474
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1475
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1476
+ "dev": true
1477
+ },
1478
+ "path-parse": {
1479
+ "version": "1.0.6",
1480
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1481
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1482
+ "dev": true
1483
+ },
1484
+ "path-root": {
1485
+ "version": "0.1.1",
1486
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
1487
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
1488
+ "dev": true,
1489
+ "requires": {
1490
+ "path-root-regex": "^0.1.0"
1491
+ }
1492
+ },
1493
+ "path-root-regex": {
1494
+ "version": "0.1.2",
1495
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
1496
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
1497
+ "dev": true
1498
+ },
1499
+ "pinkie": {
1500
+ "version": "2.0.4",
1501
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
1502
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
1503
+ "dev": true
1504
+ },
1505
+ "pinkie-promise": {
1506
+ "version": "2.0.1",
1507
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
1508
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
1509
+ "dev": true,
1510
+ "requires": {
1511
+ "pinkie": "^2.0.0"
1512
+ }
1513
+ },
1514
+ "pkg-up": {
1515
+ "version": "1.0.0",
1516
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
1517
+ "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
1518
+ "dev": true,
1519
+ "requires": {
1520
+ "find-up": "^1.0.0"
1521
+ }
1522
+ },
1523
+ "posix-character-classes": {
1524
+ "version": "0.1.1",
1525
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1526
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
1527
+ "dev": true
1528
+ },
1529
+ "rechoir": {
1530
+ "version": "0.6.2",
1531
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
1532
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
1533
+ "dev": true,
1534
+ "requires": {
1535
+ "resolve": "^1.1.6"
1536
+ }
1537
+ },
1538
+ "regex-not": {
1539
+ "version": "1.0.2",
1540
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1541
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1542
+ "dev": true,
1543
+ "requires": {
1544
+ "extend-shallow": "^3.0.2",
1545
+ "safe-regex": "^1.1.0"
1546
+ }
1547
+ },
1548
+ "repeat-element": {
1549
+ "version": "1.1.3",
1550
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1551
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
1552
+ "dev": true
1553
+ },
1554
+ "repeat-string": {
1555
+ "version": "1.6.1",
1556
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1557
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
1558
+ "dev": true
1559
+ },
1560
+ "resolve": {
1561
+ "version": "1.19.0",
1562
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
1563
+ "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
1564
+ "dev": true,
1565
+ "requires": {
1566
+ "is-core-module": "^2.1.0",
1567
+ "path-parse": "^1.0.6"
1568
+ }
1569
+ },
1570
+ "resolve-dir": {
1571
+ "version": "1.0.1",
1572
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
1573
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
1574
+ "dev": true,
1575
+ "requires": {
1576
+ "expand-tilde": "^2.0.0",
1577
+ "global-modules": "^1.0.0"
1578
+ }
1579
+ },
1580
+ "resolve-from": {
1581
+ "version": "2.0.0",
1582
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
1583
+ "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
1584
+ "dev": true
1585
+ },
1586
+ "resolve-pkg": {
1587
+ "version": "0.1.0",
1588
+ "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz",
1589
+ "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=",
1590
+ "dev": true,
1591
+ "requires": {
1592
+ "resolve-from": "^2.0.0"
1593
+ }
1594
+ },
1595
+ "resolve-url": {
1596
+ "version": "0.2.1",
1597
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1598
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
1599
+ "dev": true
1600
+ },
1601
+ "ret": {
1602
+ "version": "0.1.15",
1603
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1604
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
1605
+ "dev": true
1606
+ },
1607
+ "rimraf": {
1608
+ "version": "3.0.2",
1609
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1610
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1611
+ "dev": true,
1612
+ "requires": {
1613
+ "glob": "^7.1.3"
1614
+ }
1615
+ },
1616
+ "safe-regex": {
1617
+ "version": "1.1.0",
1618
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1619
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1620
+ "dev": true,
1621
+ "requires": {
1622
+ "ret": "~0.1.10"
1623
+ }
1624
+ },
1625
+ "safer-buffer": {
1626
+ "version": "2.1.2",
1627
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1628
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1629
+ "dev": true
1630
+ },
1631
+ "set-value": {
1632
+ "version": "2.0.1",
1633
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
1634
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
1635
+ "dev": true,
1636
+ "requires": {
1637
+ "extend-shallow": "^2.0.1",
1638
+ "is-extendable": "^0.1.1",
1639
+ "is-plain-object": "^2.0.3",
1640
+ "split-string": "^3.0.1"
1641
+ },
1642
+ "dependencies": {
1643
+ "extend-shallow": {
1644
+ "version": "2.0.1",
1645
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1646
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1647
+ "dev": true,
1648
+ "requires": {
1649
+ "is-extendable": "^0.1.0"
1650
+ }
1651
+ }
1652
+ }
1653
+ },
1654
+ "snapdragon": {
1655
+ "version": "0.8.2",
1656
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1657
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1658
+ "dev": true,
1659
+ "requires": {
1660
+ "base": "^0.11.1",
1661
+ "debug": "^2.2.0",
1662
+ "define-property": "^0.2.5",
1663
+ "extend-shallow": "^2.0.1",
1664
+ "map-cache": "^0.2.2",
1665
+ "source-map": "^0.5.6",
1666
+ "source-map-resolve": "^0.5.0",
1667
+ "use": "^3.1.0"
1668
+ },
1669
+ "dependencies": {
1670
+ "define-property": {
1671
+ "version": "0.2.5",
1672
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1673
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1674
+ "dev": true,
1675
+ "requires": {
1676
+ "is-descriptor": "^0.1.0"
1677
+ }
1678
+ },
1679
+ "extend-shallow": {
1680
+ "version": "2.0.1",
1681
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1682
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1683
+ "dev": true,
1684
+ "requires": {
1685
+ "is-extendable": "^0.1.0"
1686
+ }
1687
+ }
1688
+ }
1689
+ },
1690
+ "snapdragon-node": {
1691
+ "version": "2.1.1",
1692
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1693
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1694
+ "dev": true,
1695
+ "requires": {
1696
+ "define-property": "^1.0.0",
1697
+ "isobject": "^3.0.0",
1698
+ "snapdragon-util": "^3.0.1"
1699
+ },
1700
+ "dependencies": {
1701
+ "define-property": {
1702
+ "version": "1.0.0",
1703
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1704
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1705
+ "dev": true,
1706
+ "requires": {
1707
+ "is-descriptor": "^1.0.0"
1708
+ }
1709
+ },
1710
+ "is-accessor-descriptor": {
1711
+ "version": "1.0.0",
1712
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1713
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1714
+ "dev": true,
1715
+ "requires": {
1716
+ "kind-of": "^6.0.0"
1717
+ }
1718
+ },
1719
+ "is-data-descriptor": {
1720
+ "version": "1.0.0",
1721
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1722
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1723
+ "dev": true,
1724
+ "requires": {
1725
+ "kind-of": "^6.0.0"
1726
+ }
1727
+ },
1728
+ "is-descriptor": {
1729
+ "version": "1.0.2",
1730
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1731
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1732
+ "dev": true,
1733
+ "requires": {
1734
+ "is-accessor-descriptor": "^1.0.0",
1735
+ "is-data-descriptor": "^1.0.0",
1736
+ "kind-of": "^6.0.2"
1737
+ }
1738
+ }
1739
+ }
1740
+ },
1741
+ "snapdragon-util": {
1742
+ "version": "3.0.1",
1743
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
1744
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
1745
+ "dev": true,
1746
+ "requires": {
1747
+ "kind-of": "^3.2.0"
1748
+ },
1749
+ "dependencies": {
1750
+ "kind-of": {
1751
+ "version": "3.2.2",
1752
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1753
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1754
+ "dev": true,
1755
+ "requires": {
1756
+ "is-buffer": "^1.1.5"
1757
+ }
1758
+ }
1759
+ }
1760
+ },
1761
+ "source-map": {
1762
+ "version": "0.5.7",
1763
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1764
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1765
+ "dev": true
1766
+ },
1767
+ "source-map-resolve": {
1768
+ "version": "0.5.3",
1769
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
1770
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
1771
+ "dev": true,
1772
+ "requires": {
1773
+ "atob": "^2.1.2",
1774
+ "decode-uri-component": "^0.2.0",
1775
+ "resolve-url": "^0.2.1",
1776
+ "source-map-url": "^0.4.0",
1777
+ "urix": "^0.1.0"
1778
+ }
1779
+ },
1780
+ "source-map-url": {
1781
+ "version": "0.4.1",
1782
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
1783
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
1784
+ "dev": true
1785
+ },
1786
+ "split-string": {
1787
+ "version": "3.1.0",
1788
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
1789
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
1790
+ "dev": true,
1791
+ "requires": {
1792
+ "extend-shallow": "^3.0.0"
1793
+ }
1794
+ },
1795
+ "sprintf-js": {
1796
+ "version": "1.1.2",
1797
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
1798
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
1799
+ "dev": true
1800
+ },
1801
+ "static-extend": {
1802
+ "version": "0.1.2",
1803
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
1804
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
1805
+ "dev": true,
1806
+ "requires": {
1807
+ "define-property": "^0.2.5",
1808
+ "object-copy": "^0.1.0"
1809
+ },
1810
+ "dependencies": {
1811
+ "define-property": {
1812
+ "version": "0.2.5",
1813
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1814
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1815
+ "dev": true,
1816
+ "requires": {
1817
+ "is-descriptor": "^0.1.0"
1818
+ }
1819
+ }
1820
+ }
1821
+ },
1822
+ "strip-ansi": {
1823
+ "version": "3.0.1",
1824
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1825
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1826
+ "dev": true,
1827
+ "requires": {
1828
+ "ansi-regex": "^2.0.0"
1829
+ }
1830
+ },
1831
+ "supports-color": {
1832
+ "version": "7.2.0",
1833
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1834
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1835
+ "dev": true,
1836
+ "requires": {
1837
+ "has-flag": "^4.0.0"
1838
+ }
1839
+ },
1840
+ "to-object-path": {
1841
+ "version": "0.3.0",
1842
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
1843
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
1844
+ "dev": true,
1845
+ "requires": {
1846
+ "kind-of": "^3.0.2"
1847
+ },
1848
+ "dependencies": {
1849
+ "kind-of": {
1850
+ "version": "3.2.2",
1851
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1852
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1853
+ "dev": true,
1854
+ "requires": {
1855
+ "is-buffer": "^1.1.5"
1856
+ }
1857
+ }
1858
+ }
1859
+ },
1860
+ "to-regex": {
1861
+ "version": "3.0.2",
1862
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
1863
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
1864
+ "dev": true,
1865
+ "requires": {
1866
+ "define-property": "^2.0.2",
1867
+ "extend-shallow": "^3.0.2",
1868
+ "regex-not": "^1.0.2",
1869
+ "safe-regex": "^1.1.0"
1870
+ }
1871
+ },
1872
+ "to-regex-range": {
1873
+ "version": "2.1.1",
1874
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
1875
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
1876
+ "dev": true,
1877
+ "requires": {
1878
+ "is-number": "^3.0.0",
1879
+ "repeat-string": "^1.6.1"
1880
+ }
1881
+ },
1882
+ "unc-path-regex": {
1883
+ "version": "0.1.2",
1884
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
1885
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
1886
+ "dev": true
1887
+ },
1888
+ "underscore.string": {
1889
+ "version": "3.3.5",
1890
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
1891
+ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
1892
+ "dev": true,
1893
+ "requires": {
1894
+ "sprintf-js": "^1.0.3",
1895
+ "util-deprecate": "^1.0.2"
1896
+ }
1897
+ },
1898
+ "union-value": {
1899
+ "version": "1.0.1",
1900
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
1901
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
1902
+ "dev": true,
1903
+ "requires": {
1904
+ "arr-union": "^3.1.0",
1905
+ "get-value": "^2.0.6",
1906
+ "is-extendable": "^0.1.1",
1907
+ "set-value": "^2.0.1"
1908
+ }
1909
+ },
1910
+ "unset-value": {
1911
+ "version": "1.0.0",
1912
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
1913
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
1914
+ "dev": true,
1915
+ "requires": {
1916
+ "has-value": "^0.3.1",
1917
+ "isobject": "^3.0.0"
1918
+ },
1919
+ "dependencies": {
1920
+ "has-value": {
1921
+ "version": "0.3.1",
1922
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1923
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1924
+ "dev": true,
1925
+ "requires": {
1926
+ "get-value": "^2.0.3",
1927
+ "has-values": "^0.1.4",
1928
+ "isobject": "^2.0.0"
1929
+ },
1930
+ "dependencies": {
1931
+ "isobject": {
1932
+ "version": "2.1.0",
1933
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1934
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1935
+ "dev": true,
1936
+ "requires": {
1937
+ "isarray": "1.0.0"
1938
+ }
1939
+ }
1940
+ }
1941
+ },
1942
+ "has-values": {
1943
+ "version": "0.1.4",
1944
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1945
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
1946
+ "dev": true
1947
+ }
1948
+ }
1949
+ },
1950
+ "urix": {
1951
+ "version": "0.1.0",
1952
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1953
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
1954
+ "dev": true
1955
+ },
1956
+ "use": {
1957
+ "version": "3.1.1",
1958
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
1959
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
1960
+ "dev": true
1961
+ },
1962
+ "util-deprecate": {
1963
+ "version": "1.0.2",
1964
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1965
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1966
+ "dev": true
1967
+ },
1968
+ "v8flags": {
1969
+ "version": "3.1.3",
1970
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
1971
+ "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
1972
+ "dev": true,
1973
+ "requires": {
1974
+ "homedir-polyfill": "^1.0.1"
1975
+ }
1976
+ },
1977
+ "which": {
1978
+ "version": "1.3.1",
1979
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1980
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1981
+ "dev": true,
1982
+ "requires": {
1983
+ "isexe": "^2.0.0"
1984
+ }
1985
+ },
1986
+ "wrappy": {
1987
+ "version": "1.0.2",
1988
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1989
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1990
+ "dev": true
1991
+ }
1992
+ }
1993
+ }
vendor/mickey-kay/better-font-awesome-library/package.json CHANGED
@@ -1,11 +1,11 @@
1
  {
2
  "name": "better-font-awesome-library",
3
  "description": "Better Font Awesome Library",
4
- "version": "1.4.6",
5
  "main": " ",
6
  "devDependencies": {
7
  "font-awesome": "4.7.0",
8
- "fontawesome-iconpicker": "1.3.0",
9
  "grunt": "^1.0.1",
10
  "grunt-contrib-copy": "^1.0.0",
11
  "load-grunt-tasks": "^3.5.2"
1
  {
2
  "name": "better-font-awesome-library",
3
  "description": "Better Font Awesome Library",
4
+ "version": "1.4.7",
5
  "main": " ",
6
  "devDependencies": {
7
  "font-awesome": "4.7.0",
8
+ "fontawesome-iconpicker": "^3.2.0",
9
  "grunt": "^1.0.1",
10
  "grunt-contrib-copy": "^1.0.0",
11
  "load-grunt-tasks": "^3.5.2"
vendor/mickey-kay/better-font-awesome-library/vendor/composer/ClassLoader.php CHANGED
@@ -60,7 +60,7 @@ class ClassLoader
60
  public function getPrefixes()
61
  {
62
  if (!empty($this->prefixesPsr0)) {
63
- return call_user_func_array('array_merge', $this->prefixesPsr0);
64
  }
65
 
66
  return array();
@@ -279,7 +279,7 @@ class ClassLoader
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
- $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
283
  }
284
 
285
  /**
@@ -377,11 +377,11 @@ class ClassLoader
377
  $subPath = $class;
378
  while (false !== $lastPos = strrpos($subPath, '\\')) {
379
  $subPath = substr($subPath, 0, $lastPos);
380
- $search = $subPath.'\\';
381
  if (isset($this->prefixDirsPsr4[$search])) {
 
382
  foreach ($this->prefixDirsPsr4[$search] as $dir) {
383
- $length = $this->prefixLengthsPsr4[$first][$search];
384
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
385
  return $file;
386
  }
387
  }
60
  public function getPrefixes()
61
  {
62
  if (!empty($this->prefixesPsr0)) {
63
+ return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
64
  }
65
 
66
  return array();
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
  }
284
 
285
  /**
377
  $subPath = $class;
378
  while (false !== $lastPos = strrpos($subPath, '\\')) {
379
  $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath . '\\';
381
  if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
  foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
 
385
  return $file;
386
  }
387
  }
vendor/mickey-kay/better-font-awesome-library/vendor/composer/autoload_real.php CHANGED
@@ -13,6 +13,9 @@ class ComposerAutoloaderInitab4657d25d7e31c0f5004a96fe7d39fe
13
  }
14
  }
15
 
 
 
 
16
  public static function getLoader()
17
  {
18
  if (null !== self::$loader) {
13
  }
14
  }
15
 
16
+ /**
17
+ * @return \Composer\Autoload\ClassLoader
18
+ */
19
  public static function getLoader()
20
  {
21
  if (null !== self::$loader) {
vendor/mickey-kay/better-font-awesome-library/vendor/composer/installed.json CHANGED
@@ -1,17 +1,17 @@
1
  [
2
  {
3
  "name": "mustangostang/spyc",
4
- "version": "0.6.2",
5
- "version_normalized": "0.6.2.0",
6
  "source": {
7
  "type": "git",
8
- "url": "https://github.com/mustangostang/spyc.git",
9
- "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d"
10
  },
11
  "dist": {
12
  "type": "zip",
13
- "url": "https://api.github.com/repos/mustangostang/spyc/zipball/23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
14
- "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
15
  "shasum": ""
16
  },
17
  "require": {
@@ -20,7 +20,7 @@
20
  "require-dev": {
21
  "phpunit/phpunit": "4.3.*@dev"
22
  },
23
- "time": "2017-02-24T16:06:33+00:00",
24
  "type": "library",
25
  "extra": {
26
  "branch-alias": {
1
  [
2
  {
3
  "name": "mustangostang/spyc",
4
+ "version": "0.6.3",
5
+ "version_normalized": "0.6.3.0",
6
  "source": {
7
  "type": "git",
8
+ "url": "git@github.com:mustangostang/spyc.git",
9
+ "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
10
  },
11
  "dist": {
12
  "type": "zip",
13
+ "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0",
14
+ "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0",
15
  "shasum": ""
16
  },
17
  "require": {
20
  "require-dev": {
21
  "phpunit/phpunit": "4.3.*@dev"
22
  },
23
+ "time": "2019-09-10T13:16:29+00:00",
24
  "type": "library",
25
  "extra": {
26
  "branch-alias": {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/README.md CHANGED
@@ -11,7 +11,7 @@ Spyc supports YAML 1.0 specification.
11
 
12
  Using Spyc is trivial:
13
 
14
- ```
15
  <?php
16
  require_once "spyc.php";
17
  $Data = Spyc::YAMLLoad('spyc.yaml');
@@ -19,7 +19,7 @@ $Data = Spyc::YAMLLoad('spyc.yaml');
19
 
20
  or (if you prefer functional syntax)
21
 
22
- ```
23
  <?php
24
  require_once "spyc.php";
25
  $Data = spyc_load_file('spyc.yaml');
11
 
12
  Using Spyc is trivial:
13
 
14
+ ```php
15
  <?php
16
  require_once "spyc.php";
17
  $Data = Spyc::YAMLLoad('spyc.yaml');
19
 
20
  or (if you prefer functional syntax)
21
 
22
+ ```php
23
  <?php
24
  require_once "spyc.php";
25
  $Data = spyc_load_file('spyc.yaml');
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/Spyc.php CHANGED
@@ -88,6 +88,12 @@ class Spyc {
88
  */
89
  public $setting_use_syck_is_possible = false;
90
 
 
 
 
 
 
 
91
 
92
 
93
  /**#@+
@@ -147,9 +153,15 @@ class Spyc {
147
  * @access public
148
  * @return array
149
  * @param string $input Path of YAML file or string containing YAML
 
150
  */
151
- public static function YAMLLoad($input) {
152
  $Spyc = new Spyc;
 
 
 
 
 
153
  return $Spyc->_load($input);
154
  }
155
 
@@ -171,9 +183,15 @@ class Spyc {
171
  * @access public
172
  * @return array
173
  * @param string $input String containing YAML
 
174
  */
175
- public static function YAMLLoadString($input) {
176
  $Spyc = new Spyc;
 
 
 
 
 
177
  return $Spyc->_loadString($input);
178
  }
179
 
@@ -574,19 +592,20 @@ class Spyc {
574
  $line = $this->stripGroup ($line, $group);
575
  }
576
 
577
- if ($this->startsMappedSequence($line))
578
  return $this->returnMappedSequence($line);
 
579
 
580
- if ($this->startsMappedValue($line))
581
  return $this->returnMappedValue($line);
 
582
 
583
  if ($this->isArrayElement($line))
584
- return $this->returnArrayElement($line);
585
 
586
  if ($this->isPlainArray($line))
587
  return $this->returnPlainArray($line);
588
 
589
-
590
  return $this->returnKeyValuePair($line);
591
 
592
  }
@@ -599,6 +618,11 @@ class Spyc {
599
  */
600
  private function _toType($value) {
601
  if ($value === '') return "";
 
 
 
 
 
602
  $first_character = $value[0];
603
  $last_character = substr($value, -1, 1);
604
 
@@ -1101,6 +1125,7 @@ class Spyc {
1101
  }
1102
  // Set the type of the value. Int, string, etc
1103
  $value = $this->_toType($value);
 
1104
  if ($key === '0') $key = '__!YAMLZero';
1105
  $array[$key] = $value;
1106
  } else {
88
  */
89
  public $setting_use_syck_is_possible = false;
90
 
91
+ /**
92
+ * Setting this to true will forse YAMLLoad to use syck_load function when
93
+ * possible. False by default.
94
+ * @var bool
95
+ */
96
+ public $setting_empty_hash_as_object = false;
97
 
98
 
99
  /**#@+
153
  * @access public
154
  * @return array
155
  * @param string $input Path of YAML file or string containing YAML
156
+ * @param array set options
157
  */
158
+ public static function YAMLLoad($input, $options = []) {
159
  $Spyc = new Spyc;
160
+ foreach ($options as $key => $value) {
161
+ if (property_exists($Spyc, $key)) {
162
+ $Spyc->$key = $value;
163
+ }
164
+ }
165
  return $Spyc->_load($input);
166
  }
167
 
183
  * @access public
184
  * @return array
185
  * @param string $input String containing YAML
186
+ * @param array set options
187
  */
188
+ public static function YAMLLoadString($input, $options = []) {
189
  $Spyc = new Spyc;
190
+ foreach ($options as $key => $value) {
191
+ if (property_exists($Spyc, $key)) {
192
+ $Spyc->$key = $value;
193
+ }
194
+ }
195
  return $Spyc->_loadString($input);
196
  }
197
 
592
  $line = $this->stripGroup ($line, $group);
593
  }
594
 
595
+ if ($this->startsMappedSequence($line)) {
596
  return $this->returnMappedSequence($line);
597
+ }
598
 
599
+ if ($this->startsMappedValue($line)) {
600
  return $this->returnMappedValue($line);
601
+ }
602
 
603
  if ($this->isArrayElement($line))
604
+ return $this->returnArrayElement($line);
605
 
606
  if ($this->isPlainArray($line))
607
  return $this->returnPlainArray($line);
608
 
 
609
  return $this->returnKeyValuePair($line);
610
 
611
  }
618
  */
619
  private function _toType($value) {
620
  if ($value === '') return "";
621
+
622
+ if ($this->setting_empty_hash_as_object && $value === '{}') {
623
+ return new stdClass();
624
+ }
625
+
626
  $first_character = $value[0];
627
  $last_character = substr($value, -1, 1);
628
 
1125
  }
1126
  // Set the type of the value. Int, string, etc
1127
  $value = $this->_toType($value);
1128
+
1129
  if ($key === '0') $key = '__!YAMLZero';
1130
  $array[$key] = $value;
1131
  } else {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/phpunit.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <phpunit colors="true" bootstrap="vendor/autoload.php">
3
+ <testsuites>
4
+ <testsuite name="all">
5
+ <directory suffix="Test.php">tests/</directory>
6
+ </testsuite>
7
+ </testsuites>
8
+ </phpunit>
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/DumpTest.php CHANGED
@@ -1,13 +1,11 @@
1
  <?php
2
 
3
- require_once ("../Spyc.php");
4
-
5
  class DumpTest extends PHPUnit_Framework_TestCase {
6
 
7
  private $files_to_test = array();
8
 
9
  public function setUp() {
10
- $this->files_to_test = array ('../spyc.yaml', 'failing1.yaml', 'indent_1.yaml', 'quotes.yaml');
11
  }
12
 
13
  public function testShortSyntax() {
1
  <?php
2
 
 
 
3
  class DumpTest extends PHPUnit_Framework_TestCase {
4
 
5
  private $files_to_test = array();
6
 
7
  public function setUp() {
8
+ $this->files_to_test = array (__DIR__.'/../spyc.yaml', 'failing1.yaml', 'indent_1.yaml', 'quotes.yaml');
9
  }
10
 
11
  public function testShortSyntax() {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/IndentTest.php CHANGED
@@ -1,13 +1,11 @@
1
  <?php
2
 
3
- require_once ("../Spyc.php");
4
-
5
  class IndentTest extends PHPUnit_Framework_TestCase {
6
 
7
  protected $Y;
8
 
9
  protected function setUp() {
10
- $this->Y = Spyc::YAMLLoad("indent_1.yaml");
11
  }
12
 
13
  public function testIndent_1() {
1
  <?php
2
 
 
 
3
  class IndentTest extends PHPUnit_Framework_TestCase {
4
 
5
  protected $Y;
6
 
7
  protected function setUp() {
8
+ $this->Y = Spyc::YAMLLoad(__DIR__."/indent_1.yaml");
9
  }
10
 
11
  public function testIndent_1() {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/LoadTest.php CHANGED
@@ -1,7 +1,5 @@
1
  <?php
2
 
3
- require_once ("../Spyc.php");
4
-
5
  class LoadTest extends PHPUnit_Framework_TestCase {
6
  public function testQuotes() {
7
  $test_values = array(
1
  <?php
2
 
 
 
3
  class LoadTest extends PHPUnit_Framework_TestCase {
4
  public function testQuotes() {
5
  $test_values = array(
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/ParseTest.php CHANGED
@@ -1,13 +1,11 @@
1
  <?php
2
 
3
- require_once ("../Spyc.php");
4
-
5
  class ParseTest extends PHPUnit_Framework_TestCase {
6
 
7
  protected $yaml;
8
 
9
  protected function setUp() {
10
- $this->yaml = spyc_load_file('../spyc.yaml');
11
  }
12
 
13
  public function testMergeHashKeys() {
@@ -15,19 +13,19 @@ class ParseTest extends PHPUnit_Framework_TestCase {
15
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '1mm')),
16
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '2mm')),
17
  );
18
- $Actual = spyc_load_file ('indent_1.yaml');
19
  $this->assertEquals ($Expected, $Actual['steps']);
20
  }
21
 
22
  public function testDeathMasks() {
23
  $Expected = array ('sad' => 2, 'magnificent' => 4);
24
- $Actual = spyc_load_file ('indent_1.yaml');
25
  $this->assertEquals ($Expected, $Actual['death masks are']);
26
  }
27
 
28
  public function testDevDb() {
29
  $Expected = array ('adapter' => 'mysql', 'host' => 'localhost', 'database' => 'rails_dev');
30
- $Actual = spyc_load_file ('indent_1.yaml');
31
  $this->assertEquals ($Expected, $Actual['development']);
32
  }
33
 
@@ -341,45 +339,45 @@ dog', $this->yaml['many_lines']);
341
  }
342
 
343
  public function testAngleQuotes() {
344
- $Quotes = Spyc::YAMLLoad('quotes.yaml');
345
  $this->assertEquals (array ('html_tags' => array ('<br>', '<p>'), 'html_content' => array ('<p>hello world</p>', 'hello<br>world'), 'text_content' => array ('hello world')),
346
  $Quotes);
347
  }
348
 
349
  public function testFailingColons() {
350
- $Failing = Spyc::YAMLLoad('failing1.yaml');
351
  $this->assertSame (array ('MyObject' => array ('Prop1' => array ('key1:val1'))),
352
  $Failing);
353
  }
354
 
355
  public function testQuotesWithComments() {
356
  $Expected = 'bar';
357
- $Actual = spyc_load_file ('comments.yaml');
358
  $this->assertEquals ($Expected, $Actual['foo']);
359
  }
360
 
361
  public function testArrayWithComments() {
362
  $Expected = array ('x', 'y', 'z');
363
- $Actual = spyc_load_file ('comments.yaml');
364
  $this->assertEquals ($Expected, $Actual['arr']);
365
  }
366
 
367
  public function testAfterArrayWithKittens() {
368
  $Expected = 'kittens';
369
- $Actual = spyc_load_file ('comments.yaml');
370
  $this->assertEquals ($Expected, $Actual['bar']);
371
  }
372
 
373
  // Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
374
  public function testKai() {
375
  $Expected = array('-example' => 'value');
376
- $Actual = spyc_load_file ('indent_1.yaml');
377
  $this->assertEquals ($Expected, $Actual['kai']);
378
  }
379
 
380
  public function testKaiList() {
381
  $Expected = array ('-item', '-item', '-item');
382
- $Actual = spyc_load_file ('indent_1.yaml');
383
  $this->assertEquals ($Expected, $Actual['kai_list_of_items']);
384
  }
385
 
@@ -398,4 +396,18 @@ dog', $this->yaml['many_lines']);
398
  $expected = array(array(array('x')));
399
  $this->assertSame($expected, Spyc::YAMLLoad("- - - x"));
400
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  }
1
  <?php
2
 
 
 
3
  class ParseTest extends PHPUnit_Framework_TestCase {
4
 
5
  protected $yaml;
6
 
7
  protected function setUp() {
8
+ $this->yaml = spyc_load_file(__DIR__.'/../spyc.yaml');
9
  }
10
 
11
  public function testMergeHashKeys() {
13
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '1mm')),
14
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '2mm')),
15
  );
16
+ $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
17
  $this->assertEquals ($Expected, $Actual['steps']);
18
  }
19
 
20
  public function testDeathMasks() {
21
  $Expected = array ('sad' => 2, 'magnificent' => 4);
22
+ $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
23
  $this->assertEquals ($Expected, $Actual['death masks are']);
24
  }
25
 
26
  public function testDevDb() {
27
  $Expected = array ('adapter' => 'mysql', 'host' => 'localhost', 'database' => 'rails_dev');
28
+ $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
29
  $this->assertEquals ($Expected, $Actual['development']);
30
  }
31
 
339
  }
340
 
341
  public function testAngleQuotes() {
342
+ $Quotes = Spyc::YAMLLoad(__DIR__.'/quotes.yaml');
343
  $this->assertEquals (array ('html_tags' => array ('<br>', '<p>'), 'html_content' => array ('<p>hello world</p>', 'hello<br>world'), 'text_content' => array ('hello world')),
344
  $Quotes);
345
  }
346
 
347
  public function testFailingColons() {
348
+ $Failing = Spyc::YAMLLoad(__DIR__.'/failing1.yaml');
349
  $this->assertSame (array ('MyObject' => array ('Prop1' => array ('key1:val1'))),
350
  $Failing);
351
  }
352
 
353
  public function testQuotesWithComments() {
354
  $Expected = 'bar';
355
+ $Actual = spyc_load_file (__DIR__.'/comments.yaml');
356
  $this->assertEquals ($Expected, $Actual['foo']);
357
  }
358
 
359
  public function testArrayWithComments() {
360
  $Expected = array ('x', 'y', 'z');
361
+ $Actual = spyc_load_file (__DIR__.'/comments.yaml');
362
  $this->assertEquals ($Expected, $Actual['arr']);
363
  }
364
 
365
  public function testAfterArrayWithKittens() {
366
  $Expected = 'kittens';
367
+ $Actual = spyc_load_file (__DIR__.'/comments.yaml');
368
  $this->assertEquals ($Expected, $Actual['bar']);
369
  }
370
 
371
  // Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
372
  public function testKai() {
373
  $Expected = array('-example' => 'value');
374
+ $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
375
  $this->assertEquals ($Expected, $Actual['kai']);
376
  }
377
 
378
  public function testKaiList() {
379
  $Expected = array ('-item', '-item', '-item');
380
+ $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
381
  $this->assertEquals ($Expected, $Actual['kai_list_of_items']);
382
  }
383
 
396
  $expected = array(array(array('x')));
397
  $this->assertSame($expected, Spyc::YAMLLoad("- - - x"));
398
  }
399
+
400
+ public function testElementWithEmptyHash()
401
+ {
402
+ $element = "hash: {}\narray: []";
403
+ $yaml = Spyc::YAMLLoadString($element);
404
+ $this->assertEquals($yaml['hash'], []);
405
+ $this->assertEquals($yaml['array'], []);
406
+
407
+ $yaml = Spyc::YAMLLoadString($element, [
408
+ 'setting_empty_hash_as_object' => true
409
+ ]);
410
+ $this->assertInstanceOf(stdClass::class, $yaml['hash']);
411
+ $this->assertEquals($yaml['array'], []);
412
+ }
413
  }
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/RoundTripTest.php CHANGED
@@ -1,7 +1,5 @@
1
  <?php
2
 
3
- require_once ("../Spyc.php");
4
-
5
  function roundTrip($a) { return Spyc::YAMLLoad(Spyc::YAMLDump(array('x' => $a))); }
6
 
7
 
1
  <?php
2
 
 
 
3
  function roundTrip($a) { return Spyc::YAMLLoad(Spyc::YAMLDump(array('x' => $a))); }
4
 
5
 
vendor/mickey-kay/better-font-awesome-library/yarn.lock CHANGED
@@ -154,9 +154,9 @@ font-awesome@4.7.0:
154
  version "4.7.0"
155
  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
156
 
157
- fontawesome-iconpicker@1.3.0:
158
- version "1.3.0"
159
- resolved "https://registry.yarnpkg.com/fontawesome-iconpicker/-/fontawesome-iconpicker-1.3.0.tgz#26187d4f8c0a0eeeaeb4b161601d0ab6f6d2fc91"
160
 
161
  fs.realpath@^1.0.0:
162
  version "1.0.0"
154
  version "4.7.0"
155
  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
156
 
157
+ fontawesome-iconpicker@3.0.0:
158
+ version "3.0.0"
159
+ resolved "https://registry.yarnpkg.com/fontawesome-iconpicker/-/fontawesome-iconpicker-3.0.0.tgz#689be496bf6ab8df539b849f2c2f6be3e209590e"
160
 
161
  fs.realpath@^1.0.0:
162
  version "1.0.0"