Version Description
- Added form field exclusions to ignore sensitive data
Download this release
Release Info
Developer | adbox |
Plugin | WordPress Landing Pages |
Version | 1.7.4 |
Comparing to | |
See all releases |
Code changes from version 1.8.0 to 1.7.4
- classes/class.activation.php +0 -3
- classes/class.activation.upgrade-routines.php +0 -13
- classes/class.branching.php +0 -44
- css/admin-style.css +5 -0
- js/admin/admin.post-edit.js +0 -7
- landing-pages.php +2 -3
- modules/module.global-settings.php +24 -0
- modules/module.javascript-frontend.php +6 -0
- modules/module.metaboxes.php +4 -0
- modules/module.store.php +1 -1
- modules/module.track.php +1 -1
- readme.txt +3 -18
- shared/assets/admin/css/global-inbound-admin.css +144 -150
- shared/assets/admin/css/image-picker.css +46 -46
- shared/assets/admin/css/inbound-metaboxes.css +74 -74
- shared/assets/admin/js/image-picker.js +300 -300
- shared/assets/admin/js/select2.js +3137 -3137
- shared/assets/admin/js/select2.min.js +21 -21
- shared/assets/assets.loader.class.php +193 -193
- shared/assets/frontend/js/analytics-src/analytics.events.js +7 -7
- shared/assets/frontend/js/analytics-src/analytics.forms.js +28 -42
- shared/assets/frontend/js/analytics-src/analytics.lead.js +2 -2
- shared/assets/frontend/js/analytics-src/analytics.utils.js +10 -39
- shared/assets/frontend/js/analytics/closurecompiled.js +0 -59
- shared/assets/frontend/js/analytics/inboundAnalytics.js +48 -91
- shared/assets/frontend/js/analytics/inboundAnalytics.min.js +3 -3
- shared/assets/frontend/js/inbound.js +838 -838
- shared/assets/frontend/js/store.lead.ajax.js +710 -710
- shared/assets/global/fonts/fontawesome/README.md +17 -17
- shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg +407 -413
classes/class.activation.php
CHANGED
@@ -41,9 +41,6 @@ class Landing_Pages_Activation {
|
|
41 |
|
42 |
/* Activate shared components */
|
43 |
self::activate_shared();
|
44 |
-
|
45 |
-
/* Run additional actions */
|
46 |
-
do_action( 'activate_landing_pages' );
|
47 |
|
48 |
}
|
49 |
|
41 |
|
42 |
/* Activate shared components */
|
43 |
self::activate_shared();
|
|
|
|
|
|
|
44 |
|
45 |
}
|
46 |
|
classes/class.activation.upgrade-routines.php
CHANGED
@@ -52,19 +52,6 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
|
|
52 |
|
53 |
}
|
54 |
}
|
55 |
-
|
56 |
-
/*
|
57 |
-
* @introduced: 1.7.5
|
58 |
-
* @migration-type: Meta key rename
|
59 |
-
* @migration: renames all instances of inbound_conversion_data to _inbound_conversion_data
|
60 |
-
|
61 |
-
*/
|
62 |
-
public static function meta_key_change_conversion_object() {
|
63 |
-
global $wpdb;
|
64 |
-
|
65 |
-
$wpdb->query("UPDATE $wpdb->postmeta SET `meta_key` = REPLACE (`meta_key` , 'inbound_conversion_data', '_inbound_conversion_data')");
|
66 |
-
}
|
67 |
-
|
68 |
/*
|
69 |
* @introduced: 1.5.7
|
70 |
* @migration-type: Meta pair migragtion
|
52 |
|
53 |
}
|
54 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
/*
|
56 |
* @introduced: 1.5.7
|
57 |
* @migration-type: Meta pair migragtion
|
classes/class.branching.php
DELETED
@@ -1,44 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( !class_exists('Landing_Pages_Branching') ) {
|
4 |
-
|
5 |
-
class Landing_Pages_Branching {
|
6 |
-
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Load class instance
|
10 |
-
*/
|
11 |
-
public function __construct() {
|
12 |
-
self::load_hooks();
|
13 |
-
}
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Load hooks and filters
|
17 |
-
*/
|
18 |
-
public static function load_hooks() {
|
19 |
-
|
20 |
-
/* adds branching capabilities to branching API for landing pages */
|
21 |
-
add_filter( 'inbound_plugin_branches' , array( __CLASS__ , 'add_branches' ) , 10 , 1 );
|
22 |
-
|
23 |
-
/* reset active branch during svn update */
|
24 |
-
//add_action( 'activate_landing_pages' , array( __CLASS__ , 'reset_branch_status' ) , 10 , 1 );
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Add branches to branching api for landing pages plugin
|
29 |
-
*
|
30 |
-
*/
|
31 |
-
public static function add_branches( $branches ) {
|
32 |
-
$branches['landing-pages'] = array(
|
33 |
-
'git' => 'https://codeload.github.com/inboundnow/landing-pages/zip/master',
|
34 |
-
'svn' => 'https://downloads.wordpress.org/plugin/landing-pages.'.LANDINGPAGES_CURRENT_VERSION.'.zip'
|
35 |
-
);
|
36 |
-
|
37 |
-
return $branches;
|
38 |
-
}
|
39 |
-
|
40 |
-
|
41 |
-
}
|
42 |
-
|
43 |
-
$GLOBALS['Landing_Pages_Branching'] = new Landing_Pages_Branching;
|
44 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/admin-style.css
CHANGED
@@ -327,6 +327,11 @@ div#lp-store-iframe-container > iframe {
|
|
327 |
color:#388DBC;
|
328 |
}
|
329 |
|
|
|
|
|
|
|
|
|
|
|
330 |
#wp-leads-splash-header
|
331 |
{
|
332 |
background: #f2f2f2;
|
327 |
color:#388DBC;
|
328 |
}
|
329 |
|
330 |
+
.wp-list-table td
|
331 |
+
{
|
332 |
+
color:#388DBC;
|
333 |
+
}
|
334 |
+
|
335 |
#wp-leads-splash-header
|
336 |
{
|
337 |
background: #f2f2f2;
|
js/admin/admin.post-edit.js
CHANGED
@@ -5,13 +5,6 @@ jQuery(document).ready(function($) {
|
|
5 |
alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
|
6 |
}
|
7 |
|
8 |
-
jQuery('.button.button-small').each(function(){
|
9 |
-
var $this = jQuery(this);
|
10 |
-
var text = $this.text();
|
11 |
-
if(text === "Get Shortlink") {
|
12 |
-
$this.hide();
|
13 |
-
}
|
14 |
-
});
|
15 |
|
16 |
// Filter Styling
|
17 |
jQuery('#template-filter li').first().addClass('button-primary');
|
5 |
alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
|
6 |
}
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
// Filter Styling
|
10 |
jQuery('#template-filter li').first().addClass('button-primary');
|
landing-pages.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Landing Pages
|
4 |
Plugin URI: http://www.inboundnow.com/landing-pages/
|
5 |
Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
|
6 |
-
Version: 1.
|
7 |
Author: Inbound Now
|
8 |
Author URI: http://www.inboundnow.com/
|
9 |
Text Domain: landing-pages
|
@@ -102,7 +102,7 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
102 |
*/
|
103 |
private static function load_constants() {
|
104 |
|
105 |
-
define('LANDINGPAGES_CURRENT_VERSION', '1.
|
106 |
define('LANDINGPAGES_URLPATH', plugins_url( '/' , __FILE__ ) );
|
107 |
define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
|
108 |
define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
|
@@ -152,7 +152,6 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
152 |
include_once('modules/module.templates.php');
|
153 |
include_once('modules/module.store.php');
|
154 |
include_once('modules/module.customizer.php');
|
155 |
-
include_once('classes/class.branching.php');
|
156 |
|
157 |
BREAK;
|
158 |
|
3 |
Plugin Name: Landing Pages
|
4 |
Plugin URI: http://www.inboundnow.com/landing-pages/
|
5 |
Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
|
6 |
+
Version: 1.7.4
|
7 |
Author: Inbound Now
|
8 |
Author URI: http://www.inboundnow.com/
|
9 |
Text Domain: landing-pages
|
102 |
*/
|
103 |
private static function load_constants() {
|
104 |
|
105 |
+
define('LANDINGPAGES_CURRENT_VERSION', '1.7.4' );
|
106 |
define('LANDINGPAGES_URLPATH', plugins_url( '/' , __FILE__ ) );
|
107 |
define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
|
108 |
define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
|
152 |
include_once('modules/module.templates.php');
|
153 |
include_once('modules/module.store.php');
|
154 |
include_once('modules/module.customizer.php');
|
|
|
155 |
|
156 |
BREAK;
|
157 |
|
modules/module.global-settings.php
CHANGED
@@ -36,6 +36,14 @@ function lp_get_global_settings() {
|
|
36 |
'default' => 'go',
|
37 |
'options' => null
|
38 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
array(
|
40 |
'id' => 'landing-page-disable-admin-tracking',
|
41 |
'label' => __('Disable Admin Impression/Conversion Tracking' , 'landing-pages') ,
|
@@ -52,6 +60,22 @@ function lp_get_global_settings() {
|
|
52 |
'default' => '0',
|
53 |
'options' => array('1'=>'on','0'=>'off')
|
54 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
array(
|
56 |
'id' => 'inbound_compatibility_mode',
|
57 |
'label' => 'Turn on compability mode',
|
36 |
'default' => 'go',
|
37 |
'options' => null
|
38 |
),
|
39 |
+
array(
|
40 |
+
'id' => 'landing-page-prepopulate-forms',
|
41 |
+
'label' => __( 'Enable Form Prepopulation' , 'landing-pages') ,
|
42 |
+
'description' => __("With this setting enabled landing pages plugin will remember form input data that the user submits to a form and attempt to pre-populate all other forms with the same user's data when applicable." , 'landing-pages'),
|
43 |
+
'type' => 'radio',
|
44 |
+
'default' => '1',
|
45 |
+
'options' => array('1'=>'on','0'=>'off')
|
46 |
+
),
|
47 |
array(
|
48 |
'id' => 'landing-page-disable-admin-tracking',
|
49 |
'label' => __('Disable Admin Impression/Conversion Tracking' , 'landing-pages') ,
|
60 |
'default' => '0',
|
61 |
'options' => array('1'=>'on','0'=>'off')
|
62 |
),
|
63 |
+
array(
|
64 |
+
'id' => 'landing-page-auto-format-forms',
|
65 |
+
'label' => __('Enable Form Standardization' , 'landing-pages'),
|
66 |
+
'description' => __("With this setting enabled landing pages plugin will clean and standardize all input ids and classnames. Uncheck this setting to disable standardization." , 'landing-pages'),
|
67 |
+
'type' => 'radio',
|
68 |
+
'default' => '0',
|
69 |
+
'options' => array('1'=>'on','0'=>'off')
|
70 |
+
),
|
71 |
+
array(
|
72 |
+
'id' => 'main-landing-page-auto-format-forms-retain-elements',
|
73 |
+
'label' => __('Form Standardization Element Whitelist' , 'landing-pages'),
|
74 |
+
'description' => __("Form standardization strips the conversion area content of html elements. Add the elements you do not want to be stripped to this list." , 'landing-pages') ,
|
75 |
+
'type' => 'textarea',
|
76 |
+
'default' => '<button><script><textarea><style><input><form><select><label><a><p><b><u><strong><i><img><strong><span><font><h1><h2><h3><center><blockquote><embed><object><small>',
|
77 |
+
'options' => null
|
78 |
+
),
|
79 |
array(
|
80 |
'id' => 'inbound_compatibility_mode',
|
81 |
'label' => 'Turn on compability mode',
|
modules/module.javascript-frontend.php
CHANGED
@@ -32,6 +32,12 @@ function lp_fontend_enqueue_scripts($hook) {
|
|
32 |
|
33 |
if (isset($post)&&$post->post_type=='landing-page') {
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
if (isset($_GET['template-customize']) &&$_GET['template-customize']=='on') {
|
36 |
echo "<style type='text/css'>#variation-list{background:#eaeaea !important; top: 26px !important; height: 35px !important;padding-top: 10px !important;}#wpadminbar {height: 32px !important;}</style>"; // enqueue styles not firing
|
37 |
}
|
32 |
|
33 |
if (isset($post)&&$post->post_type=='landing-page') {
|
34 |
|
35 |
+
$form_prepopulation = get_option( 'lp-main-landing-page-prepopulate-forms' , 1);
|
36 |
+
// load form pre-population script
|
37 |
+
if ($form_prepopulation) {
|
38 |
+
/* TODO set global option */
|
39 |
+
}
|
40 |
+
|
41 |
if (isset($_GET['template-customize']) &&$_GET['template-customize']=='on') {
|
42 |
echo "<style type='text/css'>#variation-list{background:#eaeaea !important; top: 26px !important; height: 35px !important;padding-top: 10px !important;}#wpadminbar {height: 32px !important;}</style>"; // enqueue styles not firing
|
43 |
}
|
modules/module.metaboxes.php
CHANGED
@@ -169,6 +169,10 @@ function lp_landing_page_header_area()
|
|
169 |
$variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
|
170 |
$variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
|
171 |
|
|
|
|
|
|
|
|
|
172 |
echo "<div id='lp-notes-area'>";
|
173 |
echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
|
174 |
echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
|
169 |
$variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
|
170 |
$variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
|
171 |
|
172 |
+
$page_conversion_data = get_post_meta( $post->ID, 'inbound_conversion_data', TRUE );
|
173 |
+
$page_conversion_data = json_decode($page_conversion_data,true);
|
174 |
+
//print_r($page_conversion_data);
|
175 |
+
//echo "TEST";
|
176 |
echo "<div id='lp-notes-area'>";
|
177 |
echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
|
178 |
echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
|
modules/module.store.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
|
3 |
}, 2000);
|
|
|
|
1 |
jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
|
2 |
}, 2000);
|
3 |
+
<?php
|
modules/module.track.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
$count_key = 'lp_page_views_count';
|
3 |
$count = get_post_meta($postID, $count_key, true);
|
4 |
if($count==''){
|
5 |
$count = 0;
|
6 |
delete_post_meta($postID, $count_key);
|
7 |
add_post_meta($postID, $count_key, '0');
|
8 |
}else{
|
9 |
$count++;
|
10 |
update_post_meta($postID, $count_key, $count);
|
11 |
}
|
12 |
$count_key = 'lp_page_conversions_count';
|
13 |
$count = get_post_meta($postID, $count_key, true);
|
14 |
if($count==''){
|
15 |
delete_post_meta($postID, $count_key);
|
16 |
add_post_meta($postID, $count_key, '0');
|
17 |
return "0";
|
18 |
}
|
19 |
return $count;
|
20 |
$count_key = 'lp_page_conversions_count';
|
21 |
$count = get_post_meta($postID, $count_key, true);
|
22 |
if($count==''){
|
23 |
$count = 0;
|
24 |
delete_post_meta($postID, $count_key);
|
25 |
add_post_meta($postID, $count_key, '0');
|
26 |
}else{
|
27 |
$count++;
|
28 |
update_post_meta($postID, $count_key, $count);
|
29 |
}
|
30 |
$count_key = 'lp_page_views_count';
|
31 |
$count = get_post_meta($postID, $count_key, true);
|
32 |
if($count==''){
|
33 |
delete_post_meta($postID, $count_key);
|
34 |
add_post_meta($postID, $count_key, '0');
|
35 |
return;
|
36 |
}
|
37 |
return $count;
|
|
|
38 |
$count_key = 'lp_page_views_count';
|
39 |
$count = get_post_meta($postID, $count_key, true);
|
40 |
if($count==''){
|
41 |
$count = 0;
|
42 |
delete_post_meta($postID, $count_key);
|
43 |
add_post_meta($postID, $count_key, '0');
|
44 |
}else{
|
45 |
$count++;
|
46 |
update_post_meta($postID, $count_key, $count);
|
47 |
}
|
48 |
$count_key = 'lp_page_conversions_count';
|
49 |
$count = get_post_meta($postID, $count_key, true);
|
50 |
if($count==''){
|
51 |
delete_post_meta($postID, $count_key);
|
52 |
add_post_meta($postID, $count_key, '0');
|
53 |
return "0";
|
54 |
}
|
55 |
return $count;
|
56 |
$count_key = 'lp_page_conversions_count';
|
57 |
$count = get_post_meta($postID, $count_key, true);
|
58 |
if($count==''){
|
59 |
$count = 0;
|
60 |
delete_post_meta($postID, $count_key);
|
61 |
add_post_meta($postID, $count_key, '0');
|
62 |
}else{
|
63 |
$count++;
|
64 |
update_post_meta($postID, $count_key, $count);
|
65 |
}
|
66 |
$count_key = 'lp_page_views_count';
|
67 |
$count = get_post_meta($postID, $count_key, true);
|
68 |
if($count==''){
|
69 |
delete_post_meta($postID, $count_key);
|
70 |
add_post_meta($postID, $count_key, '0');
|
71 |
return;
|
72 |
}
|
73 |
return $count;
|
|
|
1 |
$count_key = 'lp_page_views_count';
|
2 |
$count = get_post_meta($postID, $count_key, true);
|
3 |
if($count==''){
|
4 |
$count = 0;
|
5 |
delete_post_meta($postID, $count_key);
|
6 |
add_post_meta($postID, $count_key, '0');
|
7 |
}else{
|
8 |
$count++;
|
9 |
update_post_meta($postID, $count_key, $count);
|
10 |
}
|
11 |
$count_key = 'lp_page_conversions_count';
|
12 |
$count = get_post_meta($postID, $count_key, true);
|
13 |
if($count==''){
|
14 |
delete_post_meta($postID, $count_key);
|
15 |
add_post_meta($postID, $count_key, '0');
|
16 |
return "0";
|
17 |
}
|
18 |
return $count;
|
19 |
$count_key = 'lp_page_conversions_count';
|
20 |
$count = get_post_meta($postID, $count_key, true);
|
21 |
if($count==''){
|
22 |
$count = 0;
|
23 |
delete_post_meta($postID, $count_key);
|
24 |
add_post_meta($postID, $count_key, '0');
|
25 |
}else{
|
26 |
$count++;
|
27 |
update_post_meta($postID, $count_key, $count);
|
28 |
}
|
29 |
$count_key = 'lp_page_views_count';
|
30 |
$count = get_post_meta($postID, $count_key, true);
|
31 |
if($count==''){
|
32 |
delete_post_meta($postID, $count_key);
|
33 |
add_post_meta($postID, $count_key, '0');
|
34 |
return;
|
35 |
}
|
36 |
return $count;
|
37 |
+
<?php
|
38 |
$count_key = 'lp_page_views_count';
|
39 |
$count = get_post_meta($postID, $count_key, true);
|
40 |
if($count==''){
|
41 |
$count = 0;
|
42 |
delete_post_meta($postID, $count_key);
|
43 |
add_post_meta($postID, $count_key, '0');
|
44 |
}else{
|
45 |
$count++;
|
46 |
update_post_meta($postID, $count_key, $count);
|
47 |
}
|
48 |
$count_key = 'lp_page_conversions_count';
|
49 |
$count = get_post_meta($postID, $count_key, true);
|
50 |
if($count==''){
|
51 |
delete_post_meta($postID, $count_key);
|
52 |
add_post_meta($postID, $count_key, '0');
|
53 |
return "0";
|
54 |
}
|
55 |
return $count;
|
56 |
$count_key = 'lp_page_conversions_count';
|
57 |
$count = get_post_meta($postID, $count_key, true);
|
58 |
if($count==''){
|
59 |
$count = 0;
|
60 |
delete_post_meta($postID, $count_key);
|
61 |
add_post_meta($postID, $count_key, '0');
|
62 |
}else{
|
63 |
$count++;
|
64 |
update_post_meta($postID, $count_key, $count);
|
65 |
}
|
66 |
$count_key = 'lp_page_views_count';
|
67 |
$count = get_post_meta($postID, $count_key, true);
|
68 |
if($count==''){
|
69 |
delete_post_meta($postID, $count_key);
|
70 |
add_post_meta($postID, $count_key, '0');
|
71 |
return;
|
72 |
}
|
73 |
return $count;
|
readme.txt
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
=== WordPress Landing Pages ===
|
2 |
|
3 |
-
Contributors: David Wells,
|
4 |
Donate link: mailto:marketplace@inboundnow.com
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
|
8 |
Requires at least: 3.8
|
9 |
Tested up to: 4.1
|
10 |
-
Stable Tag: 1.
|
11 |
|
12 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
13 |
|
@@ -72,22 +72,7 @@ The plugin is also fully extendable and has a number of actions, filters, and ho
|
|
72 |
4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
|
73 |
|
74 |
== Changelog ==
|
75 |
-
= 1.
|
76 |
-
* Fixing addon store
|
77 |
-
|
78 |
-
= 1.7.9 =
|
79 |
-
* Even more security updates! Security for the win!
|
80 |
-
|
81 |
-
= 1.7.8 =
|
82 |
-
* Security Patch
|
83 |
-
|
84 |
-
= 1.7.7 =
|
85 |
-
* Fix double lead notification email
|
86 |
-
|
87 |
-
= 1.7.6 =
|
88 |
-
* Fixed double email submission on contact form 7
|
89 |
-
|
90 |
-
= 1.7.5 =
|
91 |
* Added form field exclusions to ignore sensitive data
|
92 |
|
93 |
= 1.7.3 =
|
1 |
=== WordPress Landing Pages ===
|
2 |
|
3 |
+
Contributors: David Wells, adbox
|
4 |
Donate link: mailto:marketplace@inboundnow.com
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
|
8 |
Requires at least: 3.8
|
9 |
Tested up to: 4.1
|
10 |
+
Stable Tag: 1.7.4
|
11 |
|
12 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
13 |
|
72 |
4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
|
73 |
|
74 |
== Changelog ==
|
75 |
+
= 1.7.4 =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
* Added form field exclusions to ignore sensitive data
|
77 |
|
78 |
= 1.7.3 =
|
shared/assets/admin/css/global-inbound-admin.css
CHANGED
@@ -1,151 +1,145 @@
|
|
1 |
-
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
|
2 |
-
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
|
3 |
-
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
|
4 |
-
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
|
5 |
-
|
6 |
-
background-image: url('../../global/images/shortcodes-blue.png');
|
7 |
-
|
8 |
-
background-repeat: no-repeat;
|
9 |
-
background-position: 0.15em 50%;
|
10 |
-
padding-left: 22px;
|
11 |
-
}
|
12 |
-
#inboundnow-media-button {
|
13 |
-
padding-left: 5px;
|
14 |
-
}
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
#wpadminbar .inbound-search-input
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
#
|
32 |
-
#wpadminbar .inbound-search-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
#wpadminbar .inbound-search-go {
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
font-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
}
|
65 |
-
.branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image
|
66 |
-
display:
|
67 |
-
}
|
68 |
-
#
|
69 |
-
|
70 |
-
}
|
71 |
-
|
72 |
-
|
73 |
-
}
|
74 |
-
#wp-admin-bar-inbound-
|
75 |
-
padding-left:
|
76 |
-
}
|
77 |
-
#
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
padding-left:
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
}
|
90 |
-
#wp-admin-bar-inbound-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
padding-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
font-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
}
|
146 |
-
.short-list-inbound .mceIcon {
|
147 |
-
position: absolute;
|
148 |
-
top: 0;
|
149 |
-
left: 0;
|
150 |
-
width: 22px;
|
151 |
}
|
1 |
+
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
|
2 |
+
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
|
3 |
+
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
|
4 |
+
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
|
5 |
+
|
6 |
+
background-image: url('../../global/images/shortcodes-blue.png');
|
7 |
+
|
8 |
+
background-repeat: no-repeat;
|
9 |
+
background-position: 0.15em 50%;
|
10 |
+
padding-left: 22px;
|
11 |
+
}
|
12 |
+
#inboundnow-media-button {
|
13 |
+
padding-left: 5px;
|
14 |
+
}
|
15 |
+
#wp-admin-bar-ddw-edd-languages-de > .ab-item:before,
|
16 |
+
#wp-admin-bar-ddw-edd-translations-forum > .ab-item:before {
|
17 |
+
color: #ff9900;
|
18 |
+
content: '• ';
|
19 |
+
}
|
20 |
+
#wpadminbar .inbound-search-input {
|
21 |
+
width: 140px;
|
22 |
+
}
|
23 |
+
#wp-admin-bar-ddw-edd-inboundsupportsections .ab-item,
|
24 |
+
#wp-admin-bar-ddw-edd-inbounddocsquick .ab-item,
|
25 |
+
#wp-admin-bar-ddw-edd-inbounddocssections .ab-item,
|
26 |
+
#wpadminbar .inbound-search-input,
|
27 |
+
#wpadminbar .inbound-search-go {
|
28 |
+
color: #21759b !important;
|
29 |
+
text-shadow: none;
|
30 |
+
}
|
31 |
+
#wpadminbar .inbound-search-input,
|
32 |
+
#wpadminbar .inbound-search-go {
|
33 |
+
background-color: #fff;
|
34 |
+
height: 18px;
|
35 |
+
line-height: 18px;
|
36 |
+
padding: 1px 4px;
|
37 |
+
}
|
38 |
+
#wpadminbar .inbound-search-go {
|
39 |
+
-webkit-border-radius: 11px;
|
40 |
+
-moz-border-radius: 11px;
|
41 |
+
border-radius: 11px;
|
42 |
+
font-size: 0.67em;
|
43 |
+
margin: 0 0 0 2px;
|
44 |
+
}
|
45 |
+
@font-face {
|
46 |
+
font-family: 'FontAwesome';
|
47 |
+
src: url('../../global/fonts/fontawesome/fontawesome-webfont.eot');
|
48 |
+
src: url('../../global/fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
|
49 |
+
url('../../global/fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
|
50 |
+
url('../../global/fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
|
51 |
+
font-weight: normal;
|
52 |
+
font-style: normal;
|
53 |
+
}
|
54 |
+
#adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
|
55 |
+
font-family: "FontAwesome" !important;
|
56 |
+
content: "\f0c0";
|
57 |
+
|
58 |
+
}
|
59 |
+
.branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
|
60 |
+
display: none;
|
61 |
+
}
|
62 |
+
#adminmenu .menu-icon-wp-lead div.wp-menu-image img{
|
63 |
+
display: none;
|
64 |
+
}
|
65 |
+
.branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image img {
|
66 |
+
display: block;
|
67 |
+
}
|
68 |
+
#wp-admin-bar-inbound-cta a:first-child, #wp-admin-bar-inbound-templates .ab-item.ab-empty-item, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item, #wp-admin-bar-inbound-analytics a:first-child {
|
69 |
+
padding-left: 30px !important;
|
70 |
+
}
|
71 |
+
#wp-admin-bar-inbound-templates .ab-item.ab-empty-item:hover, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item:hover {
|
72 |
+
color: #2ea2cc;
|
73 |
+
}
|
74 |
+
#wp-admin-bar-inbound-leads a:first-child, #wp-admin-bar-inbound-seo a:first-child, #wp-admin-bar-inbound-landingpages a:first-child, #wp-admin-bar-inbound-forms a:first-child {
|
75 |
+
padding-left: 31px !important;
|
76 |
+
}
|
77 |
+
#search-inbound-menu {
|
78 |
+
max-height: 22px !important;
|
79 |
+
padding: 0px !important;
|
80 |
+
min-height: 23px !important;
|
81 |
+
padding-left: 3px !important;
|
82 |
+
margin-bottom: 1px !important;
|
83 |
+
}
|
84 |
+
#wp-admin-bar-inbound-docs-searchform, #wp-admin-bar-inbound-leads-search{
|
85 |
+
margin-bottom: 10px !important;
|
86 |
+
}
|
87 |
+
#wp-admin-bar-inbound-cta .ab-submenu a, #wp-admin-bar-inbound-leads .ab-submenu a, #wp-admin-bar-inbound-landingpages .ab-submenu a , #wp-admin-bar-inbound-forms .ab-submenu a, #wp-admin-bar-inbound-templates .ab-submenu a, #wp-admin-bar-inbound-analytics .ab-submenu a, #wp-admin-bar-inbound-seo .ab-submenu a{
|
88 |
+
padding-left: 10px !important;
|
89 |
+
}
|
90 |
+
#wp-admin-bar-inbound-cta:before, #wp-admin-bar-inbound-leads:before, #wp-admin-bar-inbound-landingpages:before, #wp-admin-bar-inbound-forms:before, #wp-admin-bar-inbound-templates:before, #wp-admin-bar-inbound-settings:before, #wp-admin-bar-inbound-analytics:before, #wp-admin-bar-inbound-seo:before {
|
91 |
+
font-family: "FontAwesome" !important;
|
92 |
+
content: "\f05b" !important;
|
93 |
+
font: 100 19px/1 "FontAwesome" !important;
|
94 |
+
padding-top: 4px;
|
95 |
+
width: 30px;
|
96 |
+
display: inline-block;
|
97 |
+
height: 30px;
|
98 |
+
position: absolute;
|
99 |
+
left: 6px;
|
100 |
+
}
|
101 |
+
#wp-admin-bar-inbound-leads:before {
|
102 |
+
content: "\f0c0" !important;
|
103 |
+
font: 100 17px/1 "FontAwesome" !important;
|
104 |
+
}
|
105 |
+
#wp-admin-bar-inbound-landingpages:before {
|
106 |
+
content: "\f15c" !important;
|
107 |
+
left: 7px;
|
108 |
+
font-size: 21px !important;
|
109 |
+
}
|
110 |
+
#wp-admin-bar-inbound-forms:before {
|
111 |
+
font: 400 18px/1 dashicons!important;
|
112 |
+
content: "\f163" !important;
|
113 |
+
}
|
114 |
+
#wp-admin-bar-inbound-templates:before {
|
115 |
+
content: "\f0c5" !important;
|
116 |
+
font-size: 18px !important;
|
117 |
+
}
|
118 |
+
#wp-admin-bar-inbound-settings:before {
|
119 |
+
content: "\f013" !important;
|
120 |
+
left: 7px !important;
|
121 |
+
}
|
122 |
+
#wp-admin-bar-inbound-analytics:before {
|
123 |
+
content: "\f012" !important;
|
124 |
+
font-size: 17px !important;
|
125 |
+
}
|
126 |
+
#wp-admin-bar-inbound-seo:before {
|
127 |
+
content: "\f002" !important;
|
128 |
+
font-size: 17px !important;
|
129 |
+
}
|
130 |
+
#wp-admin-bar-inbound-cta a {
|
131 |
+
vertical-align: top;
|
132 |
+
}
|
133 |
+
#adminmenu .menu-icon-wp-call-to-action div.wp-menu-image:before {
|
134 |
+
font-family: "FontAwesome" !important;
|
135 |
+
content: "\f05b";
|
136 |
+
font: 400 24px/1 "FontAwesome" !important;
|
137 |
+
padding-top: 6px;
|
138 |
+
|
139 |
+
}
|
140 |
+
.short-list-inbound .mceIcon {
|
141 |
+
position: absolute;
|
142 |
+
top: 0;
|
143 |
+
left: 0;
|
144 |
+
width: 22px;
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
}
|
shared/assets/admin/css/image-picker.css
CHANGED
@@ -1,46 +1,46 @@
|
|
1 |
-
ul.thumbnails.image_picker_selector {
|
2 |
-
overflow: auto;
|
3 |
-
list-style-image: none;
|
4 |
-
list-style-position: outside;
|
5 |
-
list-style-type: none;
|
6 |
-
padding-top:10px;
|
7 |
-
margin: 0px;
|
8 |
-
}
|
9 |
-
ul.thumbnails.image_picker_selector ul
|
10 |
-
{
|
11 |
-
overflow: auto;
|
12 |
-
list-style-image: none;
|
13 |
-
list-style-position: outside;
|
14 |
-
list-style-type: none;
|
15 |
-
padding: 0px;
|
16 |
-
margin: 0px;
|
17 |
-
}
|
18 |
-
|
19 |
-
ul.thumbnails.image_picker_selector li.group_title
|
20 |
-
{
|
21 |
-
float: none;
|
22 |
-
}
|
23 |
-
ul.thumbnails.image_picker_selector li
|
24 |
-
{
|
25 |
-
margin: 0px 12px 12px 0px;
|
26 |
-
float: left;
|
27 |
-
}
|
28 |
-
ul.thumbnails.image_picker_selector li .thumbnail
|
29 |
-
{
|
30 |
-
padding: 6px;
|
31 |
-
border: 1px solid #dddddd;
|
32 |
-
-webkit-user-select: none;
|
33 |
-
-moz-user-select: none;
|
34 |
-
-ms-user-select: none;
|
35 |
-
}
|
36 |
-
|
37 |
-
ul.thumbnails.image_picker_selector li .thumbnail img
|
38 |
-
{
|
39 |
-
-webkit-user-drag: none;
|
40 |
-
max-width:200px;
|
41 |
-
max-height:200px;
|
42 |
-
}
|
43 |
-
|
44 |
-
ul.thumbnails.image_picker_selector li .thumbnail.selected {
|
45 |
-
background: #0088cc;
|
46 |
-
}
|
1 |
+
ul.thumbnails.image_picker_selector {
|
2 |
+
overflow: auto;
|
3 |
+
list-style-image: none;
|
4 |
+
list-style-position: outside;
|
5 |
+
list-style-type: none;
|
6 |
+
padding-top:10px;
|
7 |
+
margin: 0px;
|
8 |
+
}
|
9 |
+
ul.thumbnails.image_picker_selector ul
|
10 |
+
{
|
11 |
+
overflow: auto;
|
12 |
+
list-style-image: none;
|
13 |
+
list-style-position: outside;
|
14 |
+
list-style-type: none;
|
15 |
+
padding: 0px;
|
16 |
+
margin: 0px;
|
17 |
+
}
|
18 |
+
|
19 |
+
ul.thumbnails.image_picker_selector li.group_title
|
20 |
+
{
|
21 |
+
float: none;
|
22 |
+
}
|
23 |
+
ul.thumbnails.image_picker_selector li
|
24 |
+
{
|
25 |
+
margin: 0px 12px 12px 0px;
|
26 |
+
float: left;
|
27 |
+
}
|
28 |
+
ul.thumbnails.image_picker_selector li .thumbnail
|
29 |
+
{
|
30 |
+
padding: 6px;
|
31 |
+
border: 1px solid #dddddd;
|
32 |
+
-webkit-user-select: none;
|
33 |
+
-moz-user-select: none;
|
34 |
+
-ms-user-select: none;
|
35 |
+
}
|
36 |
+
|
37 |
+
ul.thumbnails.image_picker_selector li .thumbnail img
|
38 |
+
{
|
39 |
+
-webkit-user-drag: none;
|
40 |
+
max-width:200px;
|
41 |
+
max-height:200px;
|
42 |
+
}
|
43 |
+
|
44 |
+
ul.thumbnails.image_picker_selector li .thumbnail.selected {
|
45 |
+
background: #0088cc;
|
46 |
+
}
|
shared/assets/admin/css/inbound-metaboxes.css
CHANGED
@@ -1,75 +1,75 @@
|
|
1 |
-
#inbound-meta .inbound-meta-box-row {
|
2 |
-
display: block;
|
3 |
-
padding-bottom: 10px;
|
4 |
-
}
|
5 |
-
.inbound-meta-box-label, .inbound-meta-box-option {
|
6 |
-
display: inline-block;
|
7 |
-
}
|
8 |
-
.inbound-meta-box-label {
|
9 |
-
width: 18%;
|
10 |
-
}
|
11 |
-
.inbound-wysiwyg-option, .inbound-textarea-option {
|
12 |
-
width: 75%;
|
13 |
-
}
|
14 |
-
.inbound-meta-box-option {
|
15 |
-
position: relative;
|
16 |
-
}
|
17 |
-
.inbound-textarea-option .button-primary.new-save-wp-cta, .inbound-textarea-option .wp-cta-success-message {
|
18 |
-
position: absolute;
|
19 |
-
}
|
20 |
-
.inbound-datepicker .button-primary.new-save-wp-cta {
|
21 |
-
display: none;
|
22 |
-
}
|
23 |
-
.inbound-description-block-option {
|
24 |
-
max-width: 55%;
|
25 |
-
}
|
26 |
-
.inbound-media-row .button-primary.new-save-wp-cta {
|
27 |
-
position: absolute;
|
28 |
-
right: -94px;
|
29 |
-
top: 0px;
|
30 |
-
text-align: center;
|
31 |
-
width: 84px;
|
32 |
-
}
|
33 |
-
.inbound-meta-box-option.inbound-text-option, .inbound-meta-box-option.inbound-text-option input[type=text] {
|
34 |
-
width:80%;
|
35 |
-
}
|
36 |
-
.inbound-meta-box-option.inbound-text-option input[type=text].cta-width, .inbound-meta-box-option.inbound-text-option input[type=text].cta-height {
|
37 |
-
width: 100px;
|
38 |
-
}
|
39 |
-
#inbound-meta .inbound-custom-css-row {
|
40 |
-
padding: 0px;
|
41 |
-
}
|
42 |
-
.inbound-media-row .wp-cta-success-message {
|
43 |
-
position: absolute;
|
44 |
-
right: -100px;
|
45 |
-
top: 0px;
|
46 |
-
text-align: center;
|
47 |
-
width: 80px;
|
48 |
-
margin-top: 3px;
|
49 |
-
padding: 0px;
|
50 |
-
}
|
51 |
-
.inbound-wysiwyg-option .button-primary.new-save-wp-cta, .inbound-wysiwyg-option .wp-cta-success-message {
|
52 |
-
width: 100%;
|
53 |
-
margin: auto;
|
54 |
-
text-align: center;
|
55 |
-
margin-left: 0px !important;
|
56 |
-
padding-left: 0px;
|
57 |
-
padding-right: 0px;
|
58 |
-
display: inline-block;
|
59 |
-
}
|
60 |
-
.inbound-wysiwyg, .inbound-media, .inbound-datepicker, .inbound-textarea {
|
61 |
-
vertical-align: top;
|
62 |
-
}
|
63 |
-
.inbound-textarea-option .wp-cta-success-message {
|
64 |
-
position: absolute;
|
65 |
-
margin-top: 0px;
|
66 |
-
}
|
67 |
-
.jquery-date-picker p {
|
68 |
-
margin: 0px 0 0 0;
|
69 |
-
}
|
70 |
-
|
71 |
-
.inbound-wysiwyg-row .wp-cta-success-message {
|
72 |
-
margin-right: 40px;
|
73 |
-
text-align: center;
|
74 |
-
display: block;
|
75 |
}
|
1 |
+
#inbound-meta .inbound-meta-box-row {
|
2 |
+
display: block;
|
3 |
+
padding-bottom: 10px;
|
4 |
+
}
|
5 |
+
.inbound-meta-box-label, .inbound-meta-box-option {
|
6 |
+
display: inline-block;
|
7 |
+
}
|
8 |
+
.inbound-meta-box-label {
|
9 |
+
width: 18%;
|
10 |
+
}
|
11 |
+
.inbound-wysiwyg-option, .inbound-textarea-option {
|
12 |
+
width: 75%;
|
13 |
+
}
|
14 |
+
.inbound-meta-box-option {
|
15 |
+
position: relative;
|
16 |
+
}
|
17 |
+
.inbound-textarea-option .button-primary.new-save-wp-cta, .inbound-textarea-option .wp-cta-success-message {
|
18 |
+
position: absolute;
|
19 |
+
}
|
20 |
+
.inbound-datepicker .button-primary.new-save-wp-cta {
|
21 |
+
display: none;
|
22 |
+
}
|
23 |
+
.inbound-description-block-option {
|
24 |
+
max-width: 55%;
|
25 |
+
}
|
26 |
+
.inbound-media-row .button-primary.new-save-wp-cta {
|
27 |
+
position: absolute;
|
28 |
+
right: -94px;
|
29 |
+
top: 0px;
|
30 |
+
text-align: center;
|
31 |
+
width: 84px;
|
32 |
+
}
|
33 |
+
.inbound-meta-box-option.inbound-text-option, .inbound-meta-box-option.inbound-text-option input[type=text] {
|
34 |
+
width:80%;
|
35 |
+
}
|
36 |
+
.inbound-meta-box-option.inbound-text-option input[type=text].cta-width, .inbound-meta-box-option.inbound-text-option input[type=text].cta-height {
|
37 |
+
width: 100px;
|
38 |
+
}
|
39 |
+
#inbound-meta .inbound-custom-css-row {
|
40 |
+
padding: 0px;
|
41 |
+
}
|
42 |
+
.inbound-media-row .wp-cta-success-message {
|
43 |
+
position: absolute;
|
44 |
+
right: -100px;
|
45 |
+
top: 0px;
|
46 |
+
text-align: center;
|
47 |
+
width: 80px;
|
48 |
+
margin-top: 3px;
|
49 |
+
padding: 0px;
|
50 |
+
}
|
51 |
+
.inbound-wysiwyg-option .button-primary.new-save-wp-cta, .inbound-wysiwyg-option .wp-cta-success-message {
|
52 |
+
width: 100%;
|
53 |
+
margin: auto;
|
54 |
+
text-align: center;
|
55 |
+
margin-left: 0px !important;
|
56 |
+
padding-left: 0px;
|
57 |
+
padding-right: 0px;
|
58 |
+
display: inline-block;
|
59 |
+
}
|
60 |
+
.inbound-wysiwyg, .inbound-media, .inbound-datepicker, .inbound-textarea {
|
61 |
+
vertical-align: top;
|
62 |
+
}
|
63 |
+
.inbound-textarea-option .wp-cta-success-message {
|
64 |
+
position: absolute;
|
65 |
+
margin-top: 0px;
|
66 |
+
}
|
67 |
+
.jquery-date-picker p {
|
68 |
+
margin: 0px 0 0 0;
|
69 |
+
}
|
70 |
+
|
71 |
+
.inbound-wysiwyg-row .wp-cta-success-message {
|
72 |
+
margin-right: 40px;
|
73 |
+
text-align: center;
|
74 |
+
display: block;
|
75 |
}
|
shared/assets/admin/js/image-picker.js
CHANGED
@@ -1,301 +1,301 @@
|
|
1 |
-
// Image Picker
|
2 |
-
// by Rodrigo Vera
|
3 |
-
//
|
4 |
-
// Version 0.2.4
|
5 |
-
// Full source at https://github.com/rvera/image-picker
|
6 |
-
// MIT License, https://github.com/rvera/image-picker/blob/master/LICENSE
|
7 |
-
// Generated by CoffeeScript 1.4.0
|
8 |
-
(function() {
|
9 |
-
var ImagePicker, ImagePickerOption, both_array_are_equal, sanitized_options,
|
10 |
-
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
11 |
-
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
12 |
-
|
13 |
-
jQuery.fn.extend({
|
14 |
-
imagepicker: function(opts) {
|
15 |
-
if (opts == null) {
|
16 |
-
opts = {};
|
17 |
-
}
|
18 |
-
return this.each(function() {
|
19 |
-
var select;
|
20 |
-
select = jQuery(this);
|
21 |
-
if (select.data("picker")) {
|
22 |
-
select.data("picker").destroy();
|
23 |
-
}
|
24 |
-
select.data("picker", new ImagePicker(this, sanitized_options(opts)));
|
25 |
-
if (opts.initialized != null) {
|
26 |
-
return opts.initialized.call(select.data("picker"));
|
27 |
-
}
|
28 |
-
});
|
29 |
-
}
|
30 |
-
});
|
31 |
-
|
32 |
-
sanitized_options = function(opts) {
|
33 |
-
var default_options;
|
34 |
-
default_options = {
|
35 |
-
hide_select: true,
|
36 |
-
show_label: false,
|
37 |
-
initialized: void 0,
|
38 |
-
changed: void 0,
|
39 |
-
clicked: void 0,
|
40 |
-
selected: void 0,
|
41 |
-
limit: void 0,
|
42 |
-
limit_reached: void 0
|
43 |
-
};
|
44 |
-
return jQuery.extend(default_options, opts);
|
45 |
-
};
|
46 |
-
|
47 |
-
both_array_are_equal = function(a, b) {
|
48 |
-
return jQuery(a).not(b).length === 0 && jQuery(b).not(a).length === 0;
|
49 |
-
};
|
50 |
-
|
51 |
-
ImagePicker = (function() {
|
52 |
-
|
53 |
-
function ImagePicker(select_element, opts) {
|
54 |
-
this.opts = opts != null ? opts : {};
|
55 |
-
this.sync_picker_with_select = __bind(this.sync_picker_with_select, this);
|
56 |
-
|
57 |
-
this.select = jQuery(select_element);
|
58 |
-
this.multiple = this.select.attr("multiple") === "multiple";
|
59 |
-
if (this.select.data("limit") != null) {
|
60 |
-
this.opts.limit = parseInt(this.select.data("limit"));
|
61 |
-
}
|
62 |
-
this.build_and_append_picker();
|
63 |
-
}
|
64 |
-
|
65 |
-
ImagePicker.prototype.destroy = function() {
|
66 |
-
var option, _i, _len, _ref;
|
67 |
-
_ref = this.picker_options;
|
68 |
-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
69 |
-
option = _ref[_i];
|
70 |
-
option.destroy();
|
71 |
-
}
|
72 |
-
this.picker.remove();
|
73 |
-
this.select.unbind("change");
|
74 |
-
this.select.removeData("picker");
|
75 |
-
return this.select.show();
|
76 |
-
};
|
77 |
-
|
78 |
-
ImagePicker.prototype.build_and_append_picker = function() {
|
79 |
-
var _this = this;
|
80 |
-
if (this.opts.hide_select) {
|
81 |
-
this.select.hide();
|
82 |
-
}
|
83 |
-
this.select.change(function() {
|
84 |
-
return _this.sync_picker_with_select();
|
85 |
-
});
|
86 |
-
if (this.picker != null) {
|
87 |
-
this.picker.remove();
|
88 |
-
}
|
89 |
-
this.create_picker();
|
90 |
-
this.select.after(this.picker);
|
91 |
-
return this.sync_picker_with_select();
|
92 |
-
};
|
93 |
-
|
94 |
-
ImagePicker.prototype.sync_picker_with_select = function() {
|
95 |
-
var option, _i, _len, _ref, _results;
|
96 |
-
_ref = this.picker_options;
|
97 |
-
_results = [];
|
98 |
-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
99 |
-
option = _ref[_i];
|
100 |
-
if (option.is_selected()) {
|
101 |
-
_results.push(option.mark_as_selected());
|
102 |
-
} else {
|
103 |
-
_results.push(option.unmark_as_selected());
|
104 |
-
}
|
105 |
-
}
|
106 |
-
return _results;
|
107 |
-
};
|
108 |
-
|
109 |
-
ImagePicker.prototype.create_picker = function() {
|
110 |
-
this.picker = jQuery("<ul class='thumbnails image_picker_selector'></ul>");
|
111 |
-
this.picker_options = [];
|
112 |
-
this.recursively_parse_option_groups(this.select, this.picker);
|
113 |
-
return this.picker;
|
114 |
-
};
|
115 |
-
|
116 |
-
ImagePicker.prototype.recursively_parse_option_groups = function(scoped_dom, target_container) {
|
117 |
-
var container, option, option_group, _i, _j, _len, _len1, _ref, _ref1, _results;
|
118 |
-
_ref = scoped_dom.children("optgroup");
|
119 |
-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
120 |
-
option_group = _ref[_i];
|
121 |
-
option_group = jQuery(option_group);
|
122 |
-
container = jQuery("<ul></ul>");
|
123 |
-
container.append(jQuery("<li class='group_title'>" + (option_group.attr("label")) + "</li>"));
|
124 |
-
target_container.append(jQuery("<li>").append(container));
|
125 |
-
this.recursively_parse_option_groups(option_group, container);
|
126 |
-
}
|
127 |
-
_ref1 = (function() {
|
128 |
-
var _k, _len1, _ref1, _results1;
|
129 |
-
_ref1 = scoped_dom.children("option");
|
130 |
-
_results1 = [];
|
131 |
-
for (_k = 0, _len1 = _ref1.length; _k < _len1; _k++) {
|
132 |
-
option = _ref1[_k];
|
133 |
-
_results1.push(new ImagePickerOption(option, this, this.opts));
|
134 |
-
}
|
135 |
-
return _results1;
|
136 |
-
}).call(this);
|
137 |
-
_results = [];
|
138 |
-
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
139 |
-
option = _ref1[_j];
|
140 |
-
this.picker_options.push(option);
|
141 |
-
if (!option.has_image()) {
|
142 |
-
continue;
|
143 |
-
}
|
144 |
-
_results.push(target_container.append(option.node));
|
145 |
-
}
|
146 |
-
return _results;
|
147 |
-
};
|
148 |
-
|
149 |
-
ImagePicker.prototype.has_implicit_blanks = function() {
|
150 |
-
var option;
|
151 |
-
return ((function() {
|
152 |
-
var _i, _len, _ref, _results;
|
153 |
-
_ref = this.picker_options;
|
154 |
-
_results = [];
|
155 |
-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
156 |
-
option = _ref[_i];
|
157 |
-
if (option.is_blank() && !option.has_image()) {
|
158 |
-
_results.push(option);
|
159 |
-
}
|
160 |
-
}
|
161 |
-
return _results;
|
162 |
-
}).call(this)).length > 0;
|
163 |
-
};
|
164 |
-
|
165 |
-
ImagePicker.prototype.selected_values = function() {
|
166 |
-
if (this.multiple) {
|
167 |
-
return this.select.val() || [];
|
168 |
-
} else {
|
169 |
-
return [this.select.val()];
|
170 |
-
}
|
171 |
-
};
|
172 |
-
|
173 |
-
ImagePicker.prototype.toggle = function(imagepicker_option) {
|
174 |
-
var new_values, old_values, selected_value;
|
175 |
-
old_values = this.selected_values();
|
176 |
-
selected_value = imagepicker_option.value().toString();
|
177 |
-
if (this.multiple) {
|
178 |
-
if (__indexOf.call(this.selected_values(), selected_value) >= 0) {
|
179 |
-
new_values = this.selected_values();
|
180 |
-
new_values.splice(jQuery.inArray(selected_value, old_values), 1);
|
181 |
-
this.select.val([]);
|
182 |
-
this.select.val(new_values);
|
183 |
-
} else {
|
184 |
-
if ((this.opts.limit != null) && this.selected_values().length >= this.opts.limit) {
|
185 |
-
if (this.opts.limit_reached != null) {
|
186 |
-
this.opts.limit_reached.call(this.select);
|
187 |
-
}
|
188 |
-
} else {
|
189 |
-
this.select.val(this.selected_values().concat(selected_value));
|
190 |
-
}
|
191 |
-
}
|
192 |
-
} else {
|
193 |
-
if (this.has_implicit_blanks() && imagepicker_option.is_selected()) {
|
194 |
-
this.select.val("");
|
195 |
-
} else {
|
196 |
-
this.select.val(selected_value);
|
197 |
-
}
|
198 |
-
}
|
199 |
-
if (!both_array_are_equal(old_values, this.selected_values())) {
|
200 |
-
this.select.change();
|
201 |
-
if (this.opts.changed != null) {
|
202 |
-
return this.opts.changed.call(this.select, old_values, this.selected_values());
|
203 |
-
}
|
204 |
-
}
|
205 |
-
};
|
206 |
-
|
207 |
-
return ImagePicker;
|
208 |
-
|
209 |
-
})();
|
210 |
-
|
211 |
-
ImagePickerOption = (function() {
|
212 |
-
|
213 |
-
function ImagePickerOption(option_element, picker, opts) {
|
214 |
-
this.picker = picker;
|
215 |
-
this.opts = opts != null ? opts : {};
|
216 |
-
this.clicked = __bind(this.clicked, this);
|
217 |
-
|
218 |
-
this.option = jQuery(option_element);
|
219 |
-
this.create_node();
|
220 |
-
}
|
221 |
-
|
222 |
-
ImagePickerOption.prototype.destroy = function() {
|
223 |
-
return this.node.find(".thumbnail").unbind();
|
224 |
-
};
|
225 |
-
|
226 |
-
ImagePickerOption.prototype.has_image = function() {
|
227 |
-
return this.option.data("img-src") != null;
|
228 |
-
};
|
229 |
-
|
230 |
-
ImagePickerOption.prototype.is_blank = function() {
|
231 |
-
return !((this.value() != null) && this.value() !== "");
|
232 |
-
};
|
233 |
-
|
234 |
-
ImagePickerOption.prototype.is_selected = function() {
|
235 |
-
var select_value;
|
236 |
-
select_value = this.picker.select.val();
|
237 |
-
if (this.picker.multiple) {
|
238 |
-
return jQuery.inArray(this.value(), select_value) >= 0;
|
239 |
-
} else {
|
240 |
-
return this.value() === select_value;
|
241 |
-
}
|
242 |
-
};
|
243 |
-
|
244 |
-
ImagePickerOption.prototype.mark_as_selected = function() {
|
245 |
-
return this.node.find(".thumbnail").addClass("selected");
|
246 |
-
};
|
247 |
-
|
248 |
-
ImagePickerOption.prototype.unmark_as_selected = function() {
|
249 |
-
return this.node.find(".thumbnail").removeClass("selected");
|
250 |
-
};
|
251 |
-
|
252 |
-
ImagePickerOption.prototype.value = function() {
|
253 |
-
return this.option.val();
|
254 |
-
};
|
255 |
-
|
256 |
-
ImagePickerOption.prototype.label = function() {
|
257 |
-
if (this.option.data("img-label")) {
|
258 |
-
return this.option.data("img-label");
|
259 |
-
} else {
|
260 |
-
return this.option.text();
|
261 |
-
}
|
262 |
-
};
|
263 |
-
|
264 |
-
ImagePickerOption.prototype.clicked = function() {
|
265 |
-
this.picker.toggle(this);
|
266 |
-
if (this.opts.clicked != null) {
|
267 |
-
this.opts.clicked.call(this.picker.select, this);
|
268 |
-
}
|
269 |
-
if ((this.opts.selected != null) && this.is_selected()) {
|
270 |
-
return this.opts.selected.call(this.picker.select, this);
|
271 |
-
}
|
272 |
-
};
|
273 |
-
|
274 |
-
ImagePickerOption.prototype.create_node = function() {
|
275 |
-
var image, thumbnail;
|
276 |
-
this.node = jQuery("<li/>");
|
277 |
-
image = jQuery("<img class='image_picker_image'/>");
|
278 |
-
image.attr("src", this.option.data("img-src"));
|
279 |
-
thumbnail = jQuery("<div class='thumbnail'>");
|
280 |
-
thumbnail.click({
|
281 |
-
option: this
|
282 |
-
}, function(event) {
|
283 |
-
return event.data.option.clicked();
|
284 |
-
});
|
285 |
-
thumbnail.append(image);
|
286 |
-
if (this.opts.show_label) {
|
287 |
-
thumbnail.append(jQuery("<p/>").html(this.label()));
|
288 |
-
}
|
289 |
-
this.node.append(thumbnail);
|
290 |
-
return this.node;
|
291 |
-
};
|
292 |
-
|
293 |
-
return ImagePickerOption;
|
294 |
-
|
295 |
-
})();
|
296 |
-
|
297 |
-
}).call(this);
|
298 |
-
|
299 |
-
jQuery(document).ready(function($) {
|
300 |
-
jQuery(".image-picker").imagepicker()
|
301 |
});
|
1 |
+
// Image Picker
|
2 |
+
// by Rodrigo Vera
|
3 |
+
//
|
4 |
+
// Version 0.2.4
|
5 |
+
// Full source at https://github.com/rvera/image-picker
|
6 |
+
// MIT License, https://github.com/rvera/image-picker/blob/master/LICENSE
|
7 |
+
// Generated by CoffeeScript 1.4.0
|
8 |
+
(function() {
|
9 |
+
var ImagePicker, ImagePickerOption, both_array_are_equal, sanitized_options,
|
10 |
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
11 |
+
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
12 |
+
|
13 |
+
jQuery.fn.extend({
|
14 |
+
imagepicker: function(opts) {
|
15 |
+
if (opts == null) {
|
16 |
+
opts = {};
|
17 |
+
}
|
18 |
+
return this.each(function() {
|
19 |
+
var select;
|
20 |
+
select = jQuery(this);
|
21 |
+
if (select.data("picker")) {
|
22 |
+
select.data("picker").destroy();
|
23 |
+
}
|
24 |
+
select.data("picker", new ImagePicker(this, sanitized_options(opts)));
|
25 |
+
if (opts.initialized != null) {
|
26 |
+
return opts.initialized.call(select.data("picker"));
|
27 |
+
}
|
28 |
+
});
|
29 |
+
}
|
30 |
+
});
|
31 |
+
|
32 |
+
sanitized_options = function(opts) {
|
33 |
+
var default_options;
|
34 |
+
default_options = {
|
35 |
+
hide_select: true,
|
36 |
+
show_label: false,
|
37 |
+
initialized: void 0,
|
38 |
+
changed: void 0,
|
39 |
+
clicked: void 0,
|
40 |
+
selected: void 0,
|
41 |
+
limit: void 0,
|
42 |
+
limit_reached: void 0
|
43 |
+
};
|
44 |
+
return jQuery.extend(default_options, opts);
|
45 |
+
};
|
46 |
+
|
47 |
+
both_array_are_equal = function(a, b) {
|
48 |
+
return jQuery(a).not(b).length === 0 && jQuery(b).not(a).length === 0;
|
49 |
+
};
|
50 |
+
|
51 |
+
ImagePicker = (function() {
|
52 |
+
|
53 |
+
function ImagePicker(select_element, opts) {
|
54 |
+
this.opts = opts != null ? opts : {};
|
55 |
+
this.sync_picker_with_select = __bind(this.sync_picker_with_select, this);
|
56 |
+
|
57 |
+
this.select = jQuery(select_element);
|
58 |
+
this.multiple = this.select.attr("multiple") === "multiple";
|
59 |
+
if (this.select.data("limit") != null) {
|
60 |
+
this.opts.limit = parseInt(this.select.data("limit"));
|
61 |
+
}
|
62 |
+
this.build_and_append_picker();
|
63 |
+
}
|
64 |
+
|
65 |
+
ImagePicker.prototype.destroy = function() {
|
66 |
+
var option, _i, _len, _ref;
|
67 |
+
_ref = this.picker_options;
|
68 |
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
69 |
+
option = _ref[_i];
|
70 |
+
option.destroy();
|
71 |
+
}
|
72 |
+
this.picker.remove();
|
73 |
+
this.select.unbind("change");
|
74 |
+
this.select.removeData("picker");
|
75 |
+
return this.select.show();
|
76 |
+
};
|
77 |
+
|
78 |
+
ImagePicker.prototype.build_and_append_picker = function() {
|
79 |
+
var _this = this;
|
80 |
+
if (this.opts.hide_select) {
|
81 |
+
this.select.hide();
|
82 |
+
}
|
83 |
+
this.select.change(function() {
|
84 |
+
return _this.sync_picker_with_select();
|
85 |
+
});
|
86 |
+
if (this.picker != null) {
|
87 |
+
this.picker.remove();
|
88 |
+
}
|
89 |
+
this.create_picker();
|
90 |
+
this.select.after(this.picker);
|
91 |
+
return this.sync_picker_with_select();
|
92 |
+
};
|
93 |
+
|
94 |
+
ImagePicker.prototype.sync_picker_with_select = function() {
|
95 |
+
var option, _i, _len, _ref, _results;
|
96 |
+
_ref = this.picker_options;
|
97 |
+
_results = [];
|
98 |
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
99 |
+
option = _ref[_i];
|
100 |
+
if (option.is_selected()) {
|
101 |
+
_results.push(option.mark_as_selected());
|
102 |
+
} else {
|
103 |
+
_results.push(option.unmark_as_selected());
|
104 |
+
}
|
105 |
+
}
|
106 |
+
return _results;
|
107 |
+
};
|
108 |
+
|
109 |
+
ImagePicker.prototype.create_picker = function() {
|
110 |
+
this.picker = jQuery("<ul class='thumbnails image_picker_selector'></ul>");
|
111 |
+
this.picker_options = [];
|
112 |
+
this.recursively_parse_option_groups(this.select, this.picker);
|
113 |
+
return this.picker;
|
114 |
+
};
|
115 |
+
|
116 |
+
ImagePicker.prototype.recursively_parse_option_groups = function(scoped_dom, target_container) {
|
117 |
+
var container, option, option_group, _i, _j, _len, _len1, _ref, _ref1, _results;
|
118 |
+
_ref = scoped_dom.children("optgroup");
|
119 |
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
120 |
+
option_group = _ref[_i];
|
121 |
+
option_group = jQuery(option_group);
|
122 |
+
container = jQuery("<ul></ul>");
|
123 |
+
container.append(jQuery("<li class='group_title'>" + (option_group.attr("label")) + "</li>"));
|
124 |
+
target_container.append(jQuery("<li>").append(container));
|
125 |
+
this.recursively_parse_option_groups(option_group, container);
|
126 |
+
}
|
127 |
+
_ref1 = (function() {
|
128 |
+
var _k, _len1, _ref1, _results1;
|
129 |
+
_ref1 = scoped_dom.children("option");
|
130 |
+
_results1 = [];
|
131 |
+
for (_k = 0, _len1 = _ref1.length; _k < _len1; _k++) {
|
132 |
+
option = _ref1[_k];
|
133 |
+
_results1.push(new ImagePickerOption(option, this, this.opts));
|
134 |
+
}
|
135 |
+
return _results1;
|
136 |
+
}).call(this);
|
137 |
+
_results = [];
|
138 |
+
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
139 |
+
option = _ref1[_j];
|
140 |
+
this.picker_options.push(option);
|
141 |
+
if (!option.has_image()) {
|
142 |
+
continue;
|
143 |
+
}
|
144 |
+
_results.push(target_container.append(option.node));
|
145 |
+
}
|
146 |
+
return _results;
|
147 |
+
};
|
148 |
+
|
149 |
+
ImagePicker.prototype.has_implicit_blanks = function() {
|
150 |
+
var option;
|
151 |
+
return ((function() {
|
152 |
+
var _i, _len, _ref, _results;
|
153 |
+
_ref = this.picker_options;
|
154 |
+
_results = [];
|
155 |
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
156 |
+
option = _ref[_i];
|
157 |
+
if (option.is_blank() && !option.has_image()) {
|
158 |
+
_results.push(option);
|
159 |
+
}
|
160 |
+
}
|
161 |
+
return _results;
|
162 |
+
}).call(this)).length > 0;
|
163 |
+
};
|
164 |
+
|
165 |
+
ImagePicker.prototype.selected_values = function() {
|
166 |
+
if (this.multiple) {
|
167 |
+
return this.select.val() || [];
|
168 |
+
} else {
|
169 |
+
return [this.select.val()];
|
170 |
+
}
|
171 |
+
};
|
172 |
+
|
173 |
+
ImagePicker.prototype.toggle = function(imagepicker_option) {
|
174 |
+
var new_values, old_values, selected_value;
|
175 |
+
old_values = this.selected_values();
|
176 |
+
selected_value = imagepicker_option.value().toString();
|
177 |
+
if (this.multiple) {
|
178 |
+
if (__indexOf.call(this.selected_values(), selected_value) >= 0) {
|
179 |
+
new_values = this.selected_values();
|
180 |
+
new_values.splice(jQuery.inArray(selected_value, old_values), 1);
|
181 |
+
this.select.val([]);
|
182 |
+
this.select.val(new_values);
|
183 |
+
} else {
|
184 |
+
if ((this.opts.limit != null) && this.selected_values().length >= this.opts.limit) {
|
185 |
+
if (this.opts.limit_reached != null) {
|
186 |
+
this.opts.limit_reached.call(this.select);
|
187 |
+
}
|
188 |
+
} else {
|
189 |
+
this.select.val(this.selected_values().concat(selected_value));
|
190 |
+
}
|
191 |
+
}
|
192 |
+
} else {
|
193 |
+
if (this.has_implicit_blanks() && imagepicker_option.is_selected()) {
|
194 |
+
this.select.val("");
|
195 |
+
} else {
|
196 |
+
this.select.val(selected_value);
|
197 |
+
}
|
198 |
+
}
|
199 |
+
if (!both_array_are_equal(old_values, this.selected_values())) {
|
200 |
+
this.select.change();
|
201 |
+
if (this.opts.changed != null) {
|
202 |
+
return this.opts.changed.call(this.select, old_values, this.selected_values());
|
203 |
+
}
|
204 |
+
}
|
205 |
+
};
|
206 |
+
|
207 |
+
return ImagePicker;
|
208 |
+
|
209 |
+
})();
|
210 |
+
|
211 |
+
ImagePickerOption = (function() {
|
212 |
+
|
213 |
+
function ImagePickerOption(option_element, picker, opts) {
|
214 |
+
this.picker = picker;
|
215 |
+
this.opts = opts != null ? opts : {};
|
216 |
+
this.clicked = __bind(this.clicked, this);
|
217 |
+
|
218 |
+
this.option = jQuery(option_element);
|
219 |
+
this.create_node();
|
220 |
+
}
|
221 |
+
|
222 |
+
ImagePickerOption.prototype.destroy = function() {
|
223 |
+
return this.node.find(".thumbnail").unbind();
|
224 |
+
};
|
225 |
+
|
226 |
+
ImagePickerOption.prototype.has_image = function() {
|
227 |
+
return this.option.data("img-src") != null;
|
228 |
+
};
|
229 |
+
|
230 |
+
ImagePickerOption.prototype.is_blank = function() {
|
231 |
+
return !((this.value() != null) && this.value() !== "");
|
232 |
+
};
|
233 |
+
|
234 |
+
ImagePickerOption.prototype.is_selected = function() {
|
235 |
+
var select_value;
|
236 |
+
select_value = this.picker.select.val();
|
237 |
+
if (this.picker.multiple) {
|
238 |
+
return jQuery.inArray(this.value(), select_value) >= 0;
|
239 |
+
} else {
|
240 |
+
return this.value() === select_value;
|
241 |
+
}
|
242 |
+
};
|
243 |
+
|
244 |
+
ImagePickerOption.prototype.mark_as_selected = function() {
|
245 |
+
return this.node.find(".thumbnail").addClass("selected");
|
246 |
+
};
|
247 |
+
|
248 |
+
ImagePickerOption.prototype.unmark_as_selected = function() {
|
249 |
+
return this.node.find(".thumbnail").removeClass("selected");
|
250 |
+
};
|
251 |
+
|
252 |
+
ImagePickerOption.prototype.value = function() {
|
253 |
+
return this.option.val();
|
254 |
+
};
|
255 |
+
|
256 |
+
ImagePickerOption.prototype.label = function() {
|
257 |
+
if (this.option.data("img-label")) {
|
258 |
+
return this.option.data("img-label");
|
259 |
+
} else {
|
260 |
+
return this.option.text();
|
261 |
+
}
|
262 |
+
};
|
263 |
+
|
264 |
+
ImagePickerOption.prototype.clicked = function() {
|
265 |
+
this.picker.toggle(this);
|
266 |
+
if (this.opts.clicked != null) {
|
267 |
+
this.opts.clicked.call(this.picker.select, this);
|
268 |
+
}
|
269 |
+
if ((this.opts.selected != null) && this.is_selected()) {
|
270 |
+
return this.opts.selected.call(this.picker.select, this);
|
271 |
+
}
|
272 |
+
};
|
273 |
+
|
274 |
+
ImagePickerOption.prototype.create_node = function() {
|
275 |
+
var image, thumbnail;
|
276 |
+
this.node = jQuery("<li/>");
|
277 |
+
image = jQuery("<img class='image_picker_image'/>");
|
278 |
+
image.attr("src", this.option.data("img-src"));
|
279 |
+
thumbnail = jQuery("<div class='thumbnail'>");
|
280 |
+
thumbnail.click({
|
281 |
+
option: this
|
282 |
+
}, function(event) {
|
283 |
+
return event.data.option.clicked();
|
284 |
+
});
|
285 |
+
thumbnail.append(image);
|
286 |
+
if (this.opts.show_label) {
|
287 |
+
thumbnail.append(jQuery("<p/>").html(this.label()));
|
288 |
+
}
|
289 |
+
this.node.append(thumbnail);
|
290 |
+
return this.node;
|
291 |
+
};
|
292 |
+
|
293 |
+
return ImagePickerOption;
|
294 |
+
|
295 |
+
})();
|
296 |
+
|
297 |
+
}).call(this);
|
298 |
+
|
299 |
+
jQuery(document).ready(function($) {
|
300 |
+
jQuery(".image-picker").imagepicker()
|
301 |
});
|
shared/assets/admin/js/select2.js
CHANGED
@@ -1,3137 +1,3137 @@
|
|
1 |
-
/*
|
2 |
-
Copyright 2012 Igor Vaynberg
|
3 |
-
|
4 |
-
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
5 |
-
|
6 |
-
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
-
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
-
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
-
License or the GPL License.
|
10 |
-
|
11 |
-
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
-
|
13 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
-
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
-
|
16 |
-
Unless required by applicable law or agreed to in writing, software distributed under the
|
17 |
-
Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
18 |
-
CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
|
19 |
-
the specific language governing permissions and limitations under the Apache License and the GPL License.
|
20 |
-
*/
|
21 |
-
(function ($) {
|
22 |
-
if(typeof $.fn.each2 == "undefined") {
|
23 |
-
$.fn.extend({
|
24 |
-
/*
|
25 |
-
* 4-10 times faster .each replacement
|
26 |
-
* use it carefully, as it overrides jQuery context of element on each iteration
|
27 |
-
*/
|
28 |
-
each2 : function (c) {
|
29 |
-
var j = $([0]), i = -1, l = this.length;
|
30 |
-
while (
|
31 |
-
++i < l
|
32 |
-
&& (j.context = j[0] = this[i])
|
33 |
-
&& c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
|
34 |
-
);
|
35 |
-
return this;
|
36 |
-
}
|
37 |
-
});
|
38 |
-
}
|
39 |
-
})(jQuery);
|
40 |
-
|
41 |
-
(function ($, undefined) {
|
42 |
-
"use strict";
|
43 |
-
/*global document, window, jQuery, console */
|
44 |
-
|
45 |
-
if (window.Select2 !== undefined) {
|
46 |
-
return;
|
47 |
-
}
|
48 |
-
|
49 |
-
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
|
50 |
-
lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
|
51 |
-
|
52 |
-
KEY = {
|
53 |
-
TAB: 9,
|
54 |
-
ENTER: 13,
|
55 |
-
ESC: 27,
|
56 |
-
SPACE: 32,
|
57 |
-
LEFT: 37,
|
58 |
-
UP: 38,
|
59 |
-
RIGHT: 39,
|
60 |
-
DOWN: 40,
|
61 |
-
SHIFT: 16,
|
62 |
-
CTRL: 17,
|
63 |
-
ALT: 18,
|
64 |
-
PAGE_UP: 33,
|
65 |
-
PAGE_DOWN: 34,
|
66 |
-
HOME: 36,
|
67 |
-
END: 35,
|
68 |
-
BACKSPACE: 8,
|
69 |
-
DELETE: 46,
|
70 |
-
isArrow: function (k) {
|
71 |
-
k = k.which ? k.which : k;
|
72 |
-
switch (k) {
|
73 |
-
case KEY.LEFT:
|
74 |
-
case KEY.RIGHT:
|
75 |
-
case KEY.UP:
|
76 |
-
case KEY.DOWN:
|
77 |
-
return true;
|
78 |
-
}
|
79 |
-
return false;
|
80 |
-
},
|
81 |
-
isControl: function (e) {
|
82 |
-
var k = e.which;
|
83 |
-
switch (k) {
|
84 |
-
case KEY.SHIFT:
|
85 |
-
case KEY.CTRL:
|
86 |
-
case KEY.ALT:
|
87 |
-
return true;
|
88 |
-
}
|
89 |
-
|
90 |
-
if (e.metaKey) return true;
|
91 |
-
|
92 |
-
return false;
|
93 |
-
},
|
94 |
-
isFunctionKey: function (k) {
|
95 |
-
k = k.which ? k.which : k;
|
96 |
-
return k >= 112 && k <= 123;
|
97 |
-
}
|
98 |
-
},
|
99 |
-
MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>";
|
100 |
-
|
101 |
-
$document = $(document);
|
102 |
-
|
103 |
-
nextUid=(function() { var counter=1; return function() { return counter++; }; }());
|
104 |
-
|
105 |
-
function indexOf(value, array) {
|
106 |
-
var i = 0, l = array.length;
|
107 |
-
for (; i < l; i = i + 1) {
|
108 |
-
if (equal(value, array[i])) return i;
|
109 |
-
}
|
110 |
-
return -1;
|
111 |
-
}
|
112 |
-
|
113 |
-
function measureScrollbar () {
|
114 |
-
var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
|
115 |
-
$template.appendTo('body');
|
116 |
-
|
117 |
-
var dim = {
|
118 |
-
width: $template.width() - $template[0].clientWidth,
|
119 |
-
height: $template.height() - $template[0].clientHeight
|
120 |
-
};
|
121 |
-
$template.remove();
|
122 |
-
|
123 |
-
return dim;
|
124 |
-
}
|
125 |
-
|
126 |
-
/**
|
127 |
-
* Compares equality of a and b
|
128 |
-
* @param a
|
129 |
-
* @param b
|
130 |
-
*/
|
131 |
-
function equal(a, b) {
|
132 |
-
if (a === b) return true;
|
133 |
-
if (a === undefined || b === undefined) return false;
|
134 |
-
if (a === null || b === null) return false;
|
135 |
-
// Check whether 'a' or 'b' is a string (primitive or object).
|
136 |
-
// The concatenation of an empty string (+'') converts its argument to a string's primitive.
|
137 |
-
if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
|
138 |
-
if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
|
139 |
-
return false;
|
140 |
-
}
|
141 |
-
|
142 |
-
/**
|
143 |
-
* Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
|
144 |
-
* strings
|
145 |
-
* @param string
|
146 |
-
* @param separator
|
147 |
-
*/
|
148 |
-
function splitVal(string, separator) {
|
149 |
-
var val, i, l;
|
150 |
-
if (string === null || string.length < 1) return [];
|
151 |
-
val = string.split(separator);
|
152 |
-
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
|
153 |
-
return val;
|
154 |
-
}
|
155 |
-
|
156 |
-
function getSideBorderPadding(element) {
|
157 |
-
return element.outerWidth(false) - element.width();
|
158 |
-
}
|
159 |
-
|
160 |
-
function installKeyUpChangeEvent(element) {
|
161 |
-
var key="keyup-change-value";
|
162 |
-
element.on("keydown", function () {
|
163 |
-
if ($.data(element, key) === undefined) {
|
164 |
-
$.data(element, key, element.val());
|
165 |
-
}
|
166 |
-
});
|
167 |
-
element.on("keyup", function () {
|
168 |
-
var val= $.data(element, key);
|
169 |
-
if (val !== undefined && element.val() !== val) {
|
170 |
-
$.removeData(element, key);
|
171 |
-
element.trigger("keyup-change");
|
172 |
-
}
|
173 |
-
});
|
174 |
-
}
|
175 |
-
|
176 |
-
$document.on("mousemove", function (e) {
|
177 |
-
lastMousePosition.x = e.pageX;
|
178 |
-
lastMousePosition.y = e.pageY;
|
179 |
-
});
|
180 |
-
|
181 |
-
/**
|
182 |
-
* filters mouse events so an event is fired only if the mouse moved.
|
183 |
-
*
|
184 |
-
* filters out mouse events that occur when mouse is stationary but
|
185 |
-
* the elements under the pointer are scrolled.
|
186 |
-
*/
|
187 |
-
function installFilteredMouseMove(element) {
|
188 |
-
element.on("mousemove", function (e) {
|
189 |
-
var lastpos = lastMousePosition;
|
190 |
-
if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
|
191 |
-
$(e.target).trigger("mousemove-filtered", e);
|
192 |
-
}
|
193 |
-
});
|
194 |
-
}
|
195 |
-
|
196 |
-
/**
|
197 |
-
* Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
|
198 |
-
* within the last quietMillis milliseconds.
|
199 |
-
*
|
200 |
-
* @param quietMillis number of milliseconds to wait before invoking fn
|
201 |
-
* @param fn function to be debounced
|
202 |
-
* @param ctx object to be used as this reference within fn
|
203 |
-
* @return debounced version of fn
|
204 |
-
*/
|
205 |
-
function debounce(quietMillis, fn, ctx) {
|
206 |
-
ctx = ctx || undefined;
|
207 |
-
var timeout;
|
208 |
-
return function () {
|
209 |
-
var args = arguments;
|
210 |
-
window.clearTimeout(timeout);
|
211 |
-
timeout = window.setTimeout(function() {
|
212 |
-
fn.apply(ctx, args);
|
213 |
-
}, quietMillis);
|
214 |
-
};
|
215 |
-
}
|
216 |
-
|
217 |
-
/**
|
218 |
-
* A simple implementation of a thunk
|
219 |
-
* @param formula function used to lazily initialize the thunk
|
220 |
-
* @return {Function}
|
221 |
-
*/
|
222 |
-
function thunk(formula) {
|
223 |
-
var evaluated = false,
|
224 |
-
value;
|
225 |
-
return function() {
|
226 |
-
if (evaluated === false) { value = formula(); evaluated = true; }
|
227 |
-
return value;
|
228 |
-
};
|
229 |
-
};
|
230 |
-
|
231 |
-
function installDebouncedScroll(threshold, element) {
|
232 |
-
var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
|
233 |
-
element.on("scroll", function (e) {
|
234 |
-
if (indexOf(e.target, element.get()) >= 0) notify(e);
|
235 |
-
});
|
236 |
-
}
|
237 |
-
|
238 |
-
function focus($el) {
|
239 |
-
if ($el[0] === document.activeElement) return;
|
240 |
-
|
241 |
-
/* set the focus in a 0 timeout - that way the focus is set after the processing
|
242 |
-
of the current event has finished - which seems like the only reliable way
|
243 |
-
to set focus */
|
244 |
-
window.setTimeout(function() {
|
245 |
-
var el=$el[0], pos=$el.val().length, range;
|
246 |
-
|
247 |
-
$el.focus();
|
248 |
-
|
249 |
-
/* make sure el received focus so we do not error out when trying to manipulate the caret.
|
250 |
-
sometimes modals or others listeners may steal it after its set */
|
251 |
-
if ($el.is(":visible") && el === document.activeElement) {
|
252 |
-
|
253 |
-
/* after the focus is set move the caret to the end, necessary when we val()
|
254 |
-
just before setting focus */
|
255 |
-
if(el.setSelectionRange)
|
256 |
-
{
|
257 |
-
el.setSelectionRange(pos, pos);
|
258 |
-
}
|
259 |
-
else if (el.createTextRange) {
|
260 |
-
range = el.createTextRange();
|
261 |
-
range.collapse(false);
|
262 |
-
range.select();
|
263 |
-
}
|
264 |
-
}
|
265 |
-
}, 0);
|
266 |
-
}
|
267 |
-
|
268 |
-
function getCursorInfo(el) {
|
269 |
-
el = $(el)[0];
|
270 |
-
var offset = 0;
|
271 |
-
var length = 0;
|
272 |
-
if ('selectionStart' in el) {
|
273 |
-
offset = el.selectionStart;
|
274 |
-
length = el.selectionEnd - offset;
|
275 |
-
} else if ('selection' in document) {
|
276 |
-
el.focus();
|
277 |
-
var sel = document.selection.createRange();
|
278 |
-
length = document.selection.createRange().text.length;
|
279 |
-
sel.moveStart('character', -el.value.length);
|
280 |
-
offset = sel.text.length - length;
|
281 |
-
}
|
282 |
-
return { offset: offset, length: length };
|
283 |
-
}
|
284 |
-
|
285 |
-
function killEvent(event) {
|
286 |
-
event.preventDefault();
|
287 |
-
event.stopPropagation();
|
288 |
-
}
|
289 |
-
function killEventImmediately(event) {
|
290 |
-
event.preventDefault();
|
291 |
-
event.stopImmediatePropagation();
|
292 |
-
}
|
293 |
-
|
294 |
-
function measureTextWidth(e) {
|
295 |
-
if (!sizer){
|
296 |
-
var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
|
297 |
-
sizer = $(document.createElement("div")).css({
|
298 |
-
position: "absolute",
|
299 |
-
left: "-10000px",
|
300 |
-
top: "-10000px",
|
301 |
-
display: "none",
|
302 |
-
fontSize: style.fontSize,
|
303 |
-
fontFamily: style.fontFamily,
|
304 |
-
fontStyle: style.fontStyle,
|
305 |
-
fontWeight: style.fontWeight,
|
306 |
-
letterSpacing: style.letterSpacing,
|
307 |
-
textTransform: style.textTransform,
|
308 |
-
whiteSpace: "nowrap"
|
309 |
-
});
|
310 |
-
sizer.attr("class","select2-sizer");
|
311 |
-
$("body").append(sizer);
|
312 |
-
}
|
313 |
-
sizer.text(e.val());
|
314 |
-
return sizer.width();
|
315 |
-
}
|
316 |
-
|
317 |
-
function syncCssClasses(dest, src, adapter) {
|
318 |
-
var classes, replacements = [], adapted;
|
319 |
-
|
320 |
-
classes = dest.attr("class");
|
321 |
-
if (classes) {
|
322 |
-
classes = '' + classes; // for IE which returns object
|
323 |
-
$(classes.split(" ")).each2(function() {
|
324 |
-
if (this.indexOf("select2-") === 0) {
|
325 |
-
replacements.push(this);
|
326 |
-
}
|
327 |
-
});
|
328 |
-
}
|
329 |
-
classes = src.attr("class");
|
330 |
-
if (classes) {
|
331 |
-
classes = '' + classes; // for IE which returns object
|
332 |
-
$(classes.split(" ")).each2(function() {
|
333 |
-
if (this.indexOf("select2-") !== 0) {
|
334 |
-
adapted = adapter(this);
|
335 |
-
if (adapted) {
|
336 |
-
replacements.push(this);
|
337 |
-
}
|
338 |
-
}
|
339 |
-
});
|
340 |
-
}
|
341 |
-
dest.attr("class", replacements.join(" "));
|
342 |
-
}
|
343 |
-
|
344 |
-
|
345 |
-
function markMatch(text, term, markup, escapeMarkup) {
|
346 |
-
var match=text.toUpperCase().indexOf(term.toUpperCase()),
|
347 |
-
tl=term.length;
|
348 |
-
|
349 |
-
if (match<0) {
|
350 |
-
markup.push(escapeMarkup(text));
|
351 |
-
return;
|
352 |
-
}
|
353 |
-
|
354 |
-
markup.push(escapeMarkup(text.substring(0, match)));
|
355 |
-
markup.push("<span class='select2-match'>");
|
356 |
-
markup.push(escapeMarkup(text.substring(match, match + tl)));
|
357 |
-
markup.push("</span>");
|
358 |
-
markup.push(escapeMarkup(text.substring(match + tl, text.length)));
|
359 |
-
}
|
360 |
-
|
361 |
-
function defaultEscapeMarkup(markup) {
|
362 |
-
var replace_map = {
|
363 |
-
'\\': '\',
|
364 |
-
'&': '&',
|
365 |
-
'<': '<',
|
366 |
-
'>': '>',
|
367 |
-
'"': '"',
|
368 |
-
"'": ''',
|
369 |
-
"/": '/'
|
370 |
-
};
|
371 |
-
|
372 |
-
return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
|
373 |
-
return replace_map[match];
|
374 |
-
});
|
375 |
-
}
|
376 |
-
|
377 |
-
/**
|
378 |
-
* Produces an ajax-based query function
|
379 |
-
*
|
380 |
-
* @param options object containing configuration paramters
|
381 |
-
* @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
|
382 |
-
* @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
|
383 |
-
* @param options.url url for the data
|
384 |
-
* @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
|
385 |
-
* @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
|
386 |
-
* @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
|
387 |
-
* @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
|
388 |
-
* The expected format is an object containing the following keys:
|
389 |
-
* results array of objects that will be used as choices
|
390 |
-
* more (optional) boolean indicating whether there are more results available
|
391 |
-
* Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
|
392 |
-
*/
|
393 |
-
function ajax(options) {
|
394 |
-
var timeout, // current scheduled but not yet executed request
|
395 |
-
requestSequence = 0, // sequence used to drop out-of-order responses
|
396 |
-
handler = null,
|
397 |
-
quietMillis = options.quietMillis || 100,
|
398 |
-
ajaxUrl = options.url,
|
399 |
-
self = this;
|
400 |
-
|
401 |
-
return function (query) {
|
402 |
-
window.clearTimeout(timeout);
|
403 |
-
timeout = window.setTimeout(function () {
|
404 |
-
requestSequence += 1; // increment the sequence
|
405 |
-
var requestNumber = requestSequence, // this request's sequence number
|
406 |
-
data = options.data, // ajax data function
|
407 |
-
url = ajaxUrl, // ajax url string or function
|
408 |
-
transport = options.transport || $.fn.select2.ajaxDefaults.transport,
|
409 |
-
// deprecated - to be removed in 4.0 - use params instead
|
410 |
-
deprecated = {
|
411 |
-
type: options.type || 'GET', // set type of request (GET or POST)
|
412 |
-
cache: options.cache || false,
|
413 |
-
jsonpCallback: options.jsonpCallback||undefined,
|
414 |
-
dataType: options.dataType||"json"
|
415 |
-
},
|
416 |
-
params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
|
417 |
-
|
418 |
-
data = data ? data.call(self, query.term, query.page, query.context) : null;
|
419 |
-
url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
|
420 |
-
|
421 |
-
if (handler) { handler.abort(); }
|
422 |
-
|
423 |
-
if (options.params) {
|
424 |
-
if ($.isFunction(options.params)) {
|
425 |
-
$.extend(params, options.params.call(self));
|
426 |
-
} else {
|
427 |
-
$.extend(params, options.params);
|
428 |
-
}
|
429 |
-
}
|
430 |
-
|
431 |
-
$.extend(params, {
|
432 |
-
url: url,
|
433 |
-
dataType: options.dataType,
|
434 |
-
data: data,
|
435 |
-
success: function (data) {
|
436 |
-
if (requestNumber < requestSequence) {
|
437 |
-
return;
|
438 |
-
}
|
439 |
-
// TODO - replace query.page with query so users have access to term, page, etc.
|
440 |
-
var results = options.results(data, query.page);
|
441 |
-
query.callback(results);
|
442 |
-
}
|
443 |
-
});
|
444 |
-
handler = transport.call(self, params);
|
445 |
-
}, quietMillis);
|
446 |
-
};
|
447 |
-
}
|
448 |
-
|
449 |
-
/**
|
450 |
-
* Produces a query function that works with a local array
|
451 |
-
*
|
452 |
-
* @param options object containing configuration parameters. The options parameter can either be an array or an
|
453 |
-
* object.
|
454 |
-
*
|
455 |
-
* If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
|
456 |
-
*
|
457 |
-
* If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
|
458 |
-
* an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
|
459 |
-
* key can either be a String in which case it is expected that each element in the 'data' array has a key with the
|
460 |
-
* value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
|
461 |
-
* the text.
|
462 |
-
*/
|
463 |
-
function local(options) {
|
464 |
-
var data = options, // data elements
|
465 |
-
dataText,
|
466 |
-
tmp,
|
467 |
-
text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
|
468 |
-
|
469 |
-
if ($.isArray(data)) {
|
470 |
-
tmp = data;
|
471 |
-
data = { results: tmp };
|
472 |
-
}
|
473 |
-
|
474 |
-
if ($.isFunction(data) === false) {
|
475 |
-
tmp = data;
|
476 |
-
data = function() { return tmp; };
|
477 |
-
}
|
478 |
-
|
479 |
-
var dataItem = data();
|
480 |
-
if (dataItem.text) {
|
481 |
-
text = dataItem.text;
|
482 |
-
// if text is not a function we assume it to be a key name
|
483 |
-
if (!$.isFunction(text)) {
|
484 |
-
dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
|
485 |
-
text = function (item) { return item[dataText]; };
|
486 |
-
}
|
487 |
-
}
|
488 |
-
|
489 |
-
return function (query) {
|
490 |
-
var t = query.term, filtered = { results: [] }, process;
|
491 |
-
if (t === "") {
|
492 |
-
query.callback(data());
|
493 |
-
return;
|
494 |
-
}
|
495 |
-
|
496 |
-
process = function(datum, collection) {
|
497 |
-
var group, attr;
|
498 |
-
datum = datum[0];
|
499 |
-
if (datum.children) {
|
500 |
-
group = {};
|
501 |
-
for (attr in datum) {
|
502 |
-
if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
|
503 |
-
}
|
504 |
-
group.children=[];
|
505 |
-
$(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
|
506 |
-
if (group.children.length || query.matcher(t, text(group), datum)) {
|
507 |
-
collection.push(group);
|
508 |
-
}
|
509 |
-
} else {
|
510 |
-
if (query.matcher(t, text(datum), datum)) {
|
511 |
-
collection.push(datum);
|
512 |
-
}
|
513 |
-
}
|
514 |
-
};
|
515 |
-
|
516 |
-
$(data().results).each2(function(i, datum) { process(datum, filtered.results); });
|
517 |
-
query.callback(filtered);
|
518 |
-
};
|
519 |
-
}
|
520 |
-
|
521 |
-
// TODO javadoc
|
522 |
-
function tags(data) {
|
523 |
-
var isFunc = $.isFunction(data);
|
524 |
-
return function (query) {
|
525 |
-
var t = query.term, filtered = {results: []};
|
526 |
-
$(isFunc ? data() : data).each(function () {
|
527 |
-
var isObject = this.text !== undefined,
|
528 |
-
text = isObject ? this.text : this;
|
529 |
-
if (t === "" || query.matcher(t, text)) {
|
530 |
-
filtered.results.push(isObject ? this : {id: this, text: this});
|
531 |
-
}
|
532 |
-
});
|
533 |
-
query.callback(filtered);
|
534 |
-
};
|
535 |
-
}
|
536 |
-
|
537 |
-
/**
|
538 |
-
* Checks if the formatter function should be used.
|
539 |
-
*
|
540 |
-
* Throws an error if it is not a function. Returns true if it should be used,
|
541 |
-
* false if no formatting should be performed.
|
542 |
-
*
|
543 |
-
* @param formatter
|
544 |
-
*/
|
545 |
-
function checkFormatter(formatter, formatterName) {
|
546 |
-
if ($.isFunction(formatter)) return true;
|
547 |
-
if (!formatter) return false;
|
548 |
-
throw new Error(formatterName +" must be a function or a falsy value");
|
549 |
-
}
|
550 |
-
|
551 |
-
function evaluate(val) {
|
552 |
-
return $.isFunction(val) ? val() : val;
|
553 |
-
}
|
554 |
-
|
555 |
-
function countResults(results) {
|
556 |
-
var count = 0;
|
557 |
-
$.each(results, function(i, item) {
|
558 |
-
if (item.children) {
|
559 |
-
count += countResults(item.children);
|
560 |
-
} else {
|
561 |
-
count++;
|
562 |
-
}
|
563 |
-
});
|
564 |
-
return count;
|
565 |
-
}
|
566 |
-
|
567 |
-
/**
|
568 |
-
* Default tokenizer. This function uses breaks the input on substring match of any string from the
|
569 |
-
* opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
|
570 |
-
* two options have to be defined in order for the tokenizer to work.
|
571 |
-
*
|
572 |
-
* @param input text user has typed so far or pasted into the search field
|
573 |
-
* @param selection currently selected choices
|
574 |
-
* @param selectCallback function(choice) callback tho add the choice to selection
|
575 |
-
* @param opts select2's opts
|
576 |
-
* @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
|
577 |
-
*/
|
578 |
-
function defaultTokenizer(input, selection, selectCallback, opts) {
|
579 |
-
var original = input, // store the original so we can compare and know if we need to tell the search to update its text
|
580 |
-
dupe = false, // check for whether a token we extracted represents a duplicate selected choice
|
581 |
-
token, // token
|
582 |
-
index, // position at which the separator was found
|
583 |
-
i, l, // looping variables
|
584 |
-
separator; // the matched separator
|
585 |
-
|
586 |
-
if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
|
587 |
-
|
588 |
-
while (true) {
|
589 |
-
index = -1;
|
590 |
-
|
591 |
-
for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
|
592 |
-
separator = opts.tokenSeparators[i];
|
593 |
-
index = input.indexOf(separator);
|
594 |
-
if (index >= 0) break;
|
595 |
-
}
|
596 |
-
|
597 |
-
if (index < 0) break; // did not find any token separator in the input string, bail
|
598 |
-
|
599 |
-
token = input.substring(0, index);
|
600 |
-
input = input.substring(index + separator.length);
|
601 |
-
|
602 |
-
if (token.length > 0) {
|
603 |
-
token = opts.createSearchChoice.call(this, token, selection);
|
604 |
-
if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
|
605 |
-
dupe = false;
|
606 |
-
for (i = 0, l = selection.length; i < l; i++) {
|
607 |
-
if (equal(opts.id(token), opts.id(selection[i]))) {
|
608 |
-
dupe = true; break;
|
609 |
-
}
|
610 |
-
}
|
611 |
-
|
612 |
-
if (!dupe) selectCallback(token);
|
613 |
-
}
|
614 |
-
}
|
615 |
-
}
|
616 |
-
|
617 |
-
if (original!==input) return input;
|
618 |
-
}
|
619 |
-
|
620 |
-
/**
|
621 |
-
* Creates a new class
|
622 |
-
*
|
623 |
-
* @param superClass
|
624 |
-
* @param methods
|
625 |
-
*/
|
626 |
-
function clazz(SuperClass, methods) {
|
627 |
-
var constructor = function () {};
|
628 |
-
constructor.prototype = new SuperClass;
|
629 |
-
constructor.prototype.constructor = constructor;
|
630 |
-
constructor.prototype.parent = SuperClass.prototype;
|
631 |
-
constructor.prototype = $.extend(constructor.prototype, methods);
|
632 |
-
return constructor;
|
633 |
-
}
|
634 |
-
|
635 |
-
AbstractSelect2 = clazz(Object, {
|
636 |
-
|
637 |
-
// abstract
|
638 |
-
bind: function (func) {
|
639 |
-
var self = this;
|
640 |
-
return function () {
|
641 |
-
func.apply(self, arguments);
|
642 |
-
};
|
643 |
-
},
|
644 |
-
|
645 |
-
// abstract
|
646 |
-
init: function (opts) {
|
647 |
-
var results, search, resultsSelector = ".select2-results", disabled, readonly;
|
648 |
-
|
649 |
-
// prepare options
|
650 |
-
this.opts = opts = this.prepareOpts(opts);
|
651 |
-
|
652 |
-
this.id=opts.id;
|
653 |
-
|
654 |
-
// destroy if called on an existing component
|
655 |
-
if (opts.element.data("select2") !== undefined &&
|
656 |
-
opts.element.data("select2") !== null) {
|
657 |
-
opts.element.data("select2").destroy();
|
658 |
-
}
|
659 |
-
|
660 |
-
this.container = this.createContainer();
|
661 |
-
|
662 |
-
this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
|
663 |
-
this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
|
664 |
-
this.container.attr("id", this.containerId);
|
665 |
-
|
666 |
-
// cache the body so future lookups are cheap
|
667 |
-
this.body = thunk(function() { return opts.element.closest("body"); });
|
668 |
-
|
669 |
-
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
670 |
-
|
671 |
-
this.container.css(evaluate(opts.containerCss));
|
672 |
-
this.container.addClass(evaluate(opts.containerCssClass));
|
673 |
-
|
674 |
-
this.elementTabIndex = this.opts.element.attr("tabindex");
|
675 |
-
|
676 |
-
// swap container for the element
|
677 |
-
this.opts.element
|
678 |
-
.data("select2", this)
|
679 |
-
.attr("tabindex", "-1")
|
680 |
-
.before(this.container);
|
681 |
-
this.container.data("select2", this);
|
682 |
-
|
683 |
-
this.dropdown = this.container.find(".select2-drop");
|
684 |
-
this.dropdown.addClass(evaluate(opts.dropdownCssClass));
|
685 |
-
this.dropdown.data("select2", this);
|
686 |
-
|
687 |
-
this.results = results = this.container.find(resultsSelector);
|
688 |
-
this.search = search = this.container.find("input.select2-input");
|
689 |
-
|
690 |
-
this.resultsPage = 0;
|
691 |
-
this.context = null;
|
692 |
-
|
693 |
-
// initialize the container
|
694 |
-
this.initContainer();
|
695 |
-
|
696 |
-
installFilteredMouseMove(this.results);
|
697 |
-
this.dropdown.on("mousemove-filtered touchstart touchmove touchend", resultsSelector, this.bind(this.highlightUnderEvent));
|
698 |
-
|
699 |
-
installDebouncedScroll(80, this.results);
|
700 |
-
this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
|
701 |
-
|
702 |
-
// do not propagate change event from the search field out of the component
|
703 |
-
$(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
704 |
-
$(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
705 |
-
|
706 |
-
// if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
|
707 |
-
if ($.fn.mousewheel) {
|
708 |
-
results.mousewheel(function (e, delta, deltaX, deltaY) {
|
709 |
-
var top = results.scrollTop(), height;
|
710 |
-
if (deltaY > 0 && top - deltaY <= 0) {
|
711 |
-
results.scrollTop(0);
|
712 |
-
killEvent(e);
|
713 |
-
} else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
|
714 |
-
results.scrollTop(results.get(0).scrollHeight - results.height());
|
715 |
-
killEvent(e);
|
716 |
-
}
|
717 |
-
});
|
718 |
-
}
|
719 |
-
|
720 |
-
installKeyUpChangeEvent(search);
|
721 |
-
search.on("keyup-change input paste", this.bind(this.updateResults));
|
722 |
-
search.on("focus", function () { search.addClass("select2-focused"); });
|
723 |
-
search.on("blur", function () { search.removeClass("select2-focused");});
|
724 |
-
|
725 |
-
this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
|
726 |
-
if ($(e.target).closest(".select2-result-selectable").length > 0) {
|
727 |
-
this.highlightUnderEvent(e);
|
728 |
-
this.selectHighlighted(e);
|
729 |
-
}
|
730 |
-
}));
|
731 |
-
|
732 |
-
// trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
|
733 |
-
// for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
|
734 |
-
// dom it will trigger the popup close, which is not what we want
|
735 |
-
this.dropdown.on("click mouseup mousedown", function (e) { e.stopPropagation(); });
|
736 |
-
|
737 |
-
if ($.isFunction(this.opts.initSelection)) {
|
738 |
-
// initialize selection based on the current value of the source element
|
739 |
-
this.initSelection();
|
740 |
-
|
741 |
-
// if the user has provided a function that can set selection based on the value of the source element
|
742 |
-
// we monitor the change event on the element and trigger it, allowing for two way synchronization
|
743 |
-
this.monitorSource();
|
744 |
-
}
|
745 |
-
|
746 |
-
if (opts.maximumInputLength !== null) {
|
747 |
-
this.search.attr("maxlength", opts.maximumInputLength);
|
748 |
-
}
|
749 |
-
|
750 |
-
var disabled = opts.element.prop("disabled");
|
751 |
-
if (disabled === undefined) disabled = false;
|
752 |
-
this.enable(!disabled);
|
753 |
-
|
754 |
-
var readonly = opts.element.prop("readonly");
|
755 |
-
if (readonly === undefined) readonly = false;
|
756 |
-
this.readonly(readonly);
|
757 |
-
|
758 |
-
// Calculate size of scrollbar
|
759 |
-
scrollBarDimensions = scrollBarDimensions || measureScrollbar();
|
760 |
-
|
761 |
-
this.autofocus = opts.element.prop("autofocus")
|
762 |
-
opts.element.prop("autofocus", false);
|
763 |
-
if (this.autofocus) this.focus();
|
764 |
-
},
|
765 |
-
|
766 |
-
// abstract
|
767 |
-
destroy: function () {
|
768 |
-
var element=this.opts.element, select2 = element.data("select2");
|
769 |
-
|
770 |
-
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
|
771 |
-
|
772 |
-
if (select2 !== undefined) {
|
773 |
-
select2.container.remove();
|
774 |
-
select2.dropdown.remove();
|
775 |
-
element
|
776 |
-
.removeClass("select2-offscreen")
|
777 |
-
.removeData("select2")
|
778 |
-
.off(".select2")
|
779 |
-
.prop("autofocus", this.autofocus || false);
|
780 |
-
if (this.elementTabIndex) {
|
781 |
-
element.attr({tabindex: this.elementTabIndex});
|
782 |
-
} else {
|
783 |
-
element.removeAttr("tabindex");
|
784 |
-
}
|
785 |
-
element.show();
|
786 |
-
}
|
787 |
-
},
|
788 |
-
|
789 |
-
// abstract
|
790 |
-
optionToData: function(element) {
|
791 |
-
if (element.is("option")) {
|
792 |
-
return {
|
793 |
-
id:element.prop("value"),
|
794 |
-
text:element.text(),
|
795 |
-
element: element.get(),
|
796 |
-
css: element.attr("class"),
|
797 |
-
disabled: element.prop("disabled"),
|
798 |
-
locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
|
799 |
-
};
|
800 |
-
} else if (element.is("optgroup")) {
|
801 |
-
return {
|
802 |
-
text:element.attr("label"),
|
803 |
-
children:[],
|
804 |
-
element: element.get(),
|
805 |
-
css: element.attr("class")
|
806 |
-
};
|
807 |
-
}
|
808 |
-
},
|
809 |
-
|
810 |
-
// abstract
|
811 |
-
prepareOpts: function (opts) {
|
812 |
-
var element, select, idKey, ajaxUrl, self = this;
|
813 |
-
|
814 |
-
element = opts.element;
|
815 |
-
|
816 |
-
if (element.get(0).tagName.toLowerCase() === "select") {
|
817 |
-
this.select = select = opts.element;
|
818 |
-
}
|
819 |
-
|
820 |
-
if (select) {
|
821 |
-
// these options are not allowed when attached to a select because they are picked up off the element itself
|
822 |
-
$.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
|
823 |
-
if (this in opts) {
|
824 |
-
throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
|
825 |
-
}
|
826 |
-
});
|
827 |
-
}
|
828 |
-
|
829 |
-
opts = $.extend({}, {
|
830 |
-
populateResults: function(container, results, query) {
|
831 |
-
var populate, data, result, children, id=this.opts.id;
|
832 |
-
|
833 |
-
populate=function(results, container, depth) {
|
834 |
-
|
835 |
-
var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
|
836 |
-
|
837 |
-
results = opts.sortResults(results, container, query);
|
838 |
-
|
839 |
-
for (i = 0, l = results.length; i < l; i = i + 1) {
|
840 |
-
|
841 |
-
result=results[i];
|
842 |
-
|
843 |
-
disabled = (result.disabled === true);
|
844 |
-
selectable = (!disabled) && (id(result) !== undefined);
|
845 |
-
|
846 |
-
compound=result.children && result.children.length > 0;
|
847 |
-
|
848 |
-
node=$("<li></li>");
|
849 |
-
node.addClass("select2-results-dept-"+depth);
|
850 |
-
node.addClass("select2-result");
|
851 |
-
node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
|
852 |
-
if (disabled) { node.addClass("select2-disabled"); }
|
853 |
-
if (compound) { node.addClass("select2-result-with-children"); }
|
854 |
-
node.addClass(self.opts.formatResultCssClass(result));
|
855 |
-
|
856 |
-
label=$(document.createElement("div"));
|
857 |
-
label.addClass("select2-result-label");
|
858 |
-
|
859 |
-
formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
|
860 |
-
if (formatted!==undefined) {
|
861 |
-
label.html(formatted);
|
862 |
-
}
|
863 |
-
|
864 |
-
node.append(label);
|
865 |
-
|
866 |
-
if (compound) {
|
867 |
-
|
868 |
-
innerContainer=$("<ul></ul>");
|
869 |
-
innerContainer.addClass("select2-result-sub");
|
870 |
-
populate(result.children, innerContainer, depth+1);
|
871 |
-
node.append(innerContainer);
|
872 |
-
}
|
873 |
-
|
874 |
-
node.data("select2-data", result);
|
875 |
-
container.append(node);
|
876 |
-
}
|
877 |
-
};
|
878 |
-
|
879 |
-
populate(results, container, 0);
|
880 |
-
}
|
881 |
-
}, $.fn.select2.defaults, opts);
|
882 |
-
|
883 |
-
if (typeof(opts.id) !== "function") {
|
884 |
-
idKey = opts.id;
|
885 |
-
opts.id = function (e) { return e[idKey]; };
|
886 |
-
}
|
887 |
-
|
888 |
-
if ($.isArray(opts.element.data("select2Tags"))) {
|
889 |
-
if ("tags" in opts) {
|
890 |
-
throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
|
891 |
-
}
|
892 |
-
opts.tags=opts.element.data("select2Tags");
|
893 |
-
}
|
894 |
-
|
895 |
-
if (select) {
|
896 |
-
opts.query = this.bind(function (query) {
|
897 |
-
var data = { results: [], more: false },
|
898 |
-
term = query.term,
|
899 |
-
children, placeholderOption, process;
|
900 |
-
|
901 |
-
process=function(element, collection) {
|
902 |
-
var group;
|
903 |
-
if (element.is("option")) {
|
904 |
-
if (query.matcher(term, element.text(), element)) {
|
905 |
-
collection.push(self.optionToData(element));
|
906 |
-
}
|
907 |
-
} else if (element.is("optgroup")) {
|
908 |
-
group=self.optionToData(element);
|
909 |
-
element.children().each2(function(i, elm) { process(elm, group.children); });
|
910 |
-
if (group.children.length>0) {
|
911 |
-
collection.push(group);
|
912 |
-
}
|
913 |
-
}
|
914 |
-
};
|
915 |
-
|
916 |
-
children=element.children();
|
917 |
-
|
918 |
-
// ignore the placeholder option if there is one
|
919 |
-
if (this.getPlaceholder() !== undefined && children.length > 0) {
|
920 |
-
placeholderOption = this.getPlaceholderOption();
|
921 |
-
if (placeholderOption) {
|
922 |
-
children=children.not(placeholderOption);
|
923 |
-
}
|
924 |
-
}
|
925 |
-
|
926 |
-
children.each2(function(i, elm) { process(elm, data.results); });
|
927 |
-
|
928 |
-
query.callback(data);
|
929 |
-
});
|
930 |
-
// this is needed because inside val() we construct choices from options and there id is hardcoded
|
931 |
-
opts.id=function(e) { return e.id; };
|
932 |
-
opts.formatResultCssClass = function(data) { return data.css; };
|
933 |
-
} else {
|
934 |
-
if (!("query" in opts)) {
|
935 |
-
|
936 |
-
if ("ajax" in opts) {
|
937 |
-
ajaxUrl = opts.element.data("ajax-url");
|
938 |
-
if (ajaxUrl && ajaxUrl.length > 0) {
|
939 |
-
opts.ajax.url = ajaxUrl;
|
940 |
-
}
|
941 |
-
opts.query = ajax.call(opts.element, opts.ajax);
|
942 |
-
} else if ("data" in opts) {
|
943 |
-
opts.query = local(opts.data);
|
944 |
-
} else if ("tags" in opts) {
|
945 |
-
opts.query = tags(opts.tags);
|
946 |
-
if (opts.createSearchChoice === undefined) {
|
947 |
-
opts.createSearchChoice = function (term) { return {id: term, text: term}; };
|
948 |
-
}
|
949 |
-
if (opts.initSelection === undefined) {
|
950 |
-
opts.initSelection = function (element, callback) {
|
951 |
-
var data = [];
|
952 |
-
$(splitVal(element.val(), opts.separator)).each(function () {
|
953 |
-
var id = this, text = this, tags=opts.tags;
|
954 |
-
if ($.isFunction(tags)) tags=tags();
|
955 |
-
$(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } });
|
956 |
-
data.push({id: id, text: text});
|
957 |
-
});
|
958 |
-
|
959 |
-
callback(data);
|
960 |
-
};
|
961 |
-
}
|
962 |
-
}
|
963 |
-
}
|
964 |
-
}
|
965 |
-
if (typeof(opts.query) !== "function") {
|
966 |
-
throw "query function not defined for Select2 " + opts.element.attr("id");
|
967 |
-
}
|
968 |
-
|
969 |
-
return opts;
|
970 |
-
},
|
971 |
-
|
972 |
-
/**
|
973 |
-
* Monitor the original element for changes and update select2 accordingly
|
974 |
-
*/
|
975 |
-
// abstract
|
976 |
-
monitorSource: function () {
|
977 |
-
var el = this.opts.element, sync;
|
978 |
-
|
979 |
-
el.on("change.select2", this.bind(function (e) {
|
980 |
-
if (this.opts.element.data("select2-change-triggered") !== true) {
|
981 |
-
this.initSelection();
|
982 |
-
}
|
983 |
-
}));
|
984 |
-
|
985 |
-
sync = this.bind(function () {
|
986 |
-
|
987 |
-
var enabled, readonly, self = this;
|
988 |
-
|
989 |
-
// sync enabled state
|
990 |
-
var disabled = el.prop("disabled");
|
991 |
-
if (disabled === undefined) disabled = false;
|
992 |
-
this.enable(!disabled);
|
993 |
-
|
994 |
-
var readonly = el.prop("readonly");
|
995 |
-
if (readonly === undefined) readonly = false;
|
996 |
-
this.readonly(readonly);
|
997 |
-
|
998 |
-
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
999 |
-
this.container.addClass(evaluate(this.opts.containerCssClass));
|
1000 |
-
|
1001 |
-
syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
|
1002 |
-
this.dropdown.addClass(evaluate(this.opts.dropdownCssClass));
|
1003 |
-
|
1004 |
-
});
|
1005 |
-
|
1006 |
-
// mozilla and IE
|
1007 |
-
el.on("propertychange.select2 DOMAttrModified.select2", sync);
|
1008 |
-
|
1009 |
-
|
1010 |
-
// hold onto a reference of the callback to work around a chromium bug
|
1011 |
-
if (this.mutationCallback === undefined) {
|
1012 |
-
this.mutationCallback = function (mutations) {
|
1013 |
-
mutations.forEach(sync);
|
1014 |
-
}
|
1015 |
-
}
|
1016 |
-
|
1017 |
-
// safari and chrome
|
1018 |
-
if (typeof WebKitMutationObserver !== "undefined") {
|
1019 |
-
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
|
1020 |
-
this.propertyObserver = new WebKitMutationObserver(this.mutationCallback);
|
1021 |
-
this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
|
1022 |
-
}
|
1023 |
-
},
|
1024 |
-
|
1025 |
-
// abstract
|
1026 |
-
triggerSelect: function(data) {
|
1027 |
-
var evt = $.Event("select2-selecting", { val: this.id(data), object: data });
|
1028 |
-
this.opts.element.trigger(evt);
|
1029 |
-
return !evt.isDefaultPrevented();
|
1030 |
-
},
|
1031 |
-
|
1032 |
-
/**
|
1033 |
-
* Triggers the change event on the source element
|
1034 |
-
*/
|
1035 |
-
// abstract
|
1036 |
-
triggerChange: function (details) {
|
1037 |
-
|
1038 |
-
details = details || {};
|
1039 |
-
details= $.extend({}, details, { type: "change", val: this.val() });
|
1040 |
-
// prevents recursive triggering
|
1041 |
-
this.opts.element.data("select2-change-triggered", true);
|
1042 |
-
this.opts.element.trigger(details);
|
1043 |
-
this.opts.element.data("select2-change-triggered", false);
|
1044 |
-
|
1045 |
-
// some validation frameworks ignore the change event and listen instead to keyup, click for selects
|
1046 |
-
// so here we trigger the click event manually
|
1047 |
-
this.opts.element.click();
|
1048 |
-
|
1049 |
-
// ValidationEngine ignorea the change event and listens instead to blur
|
1050 |
-
// so here we trigger the blur event manually if so desired
|
1051 |
-
if (this.opts.blurOnChange)
|
1052 |
-
this.opts.element.blur();
|
1053 |
-
},
|
1054 |
-
|
1055 |
-
//abstract
|
1056 |
-
isInterfaceEnabled: function()
|
1057 |
-
{
|
1058 |
-
return this.enabledInterface === true;
|
1059 |
-
},
|
1060 |
-
|
1061 |
-
// abstract
|
1062 |
-
enableInterface: function() {
|
1063 |
-
var enabled = this._enabled && !this._readonly,
|
1064 |
-
disabled = !enabled;
|
1065 |
-
|
1066 |
-
if (enabled === this.enabledInterface) return false;
|
1067 |
-
|
1068 |
-
this.container.toggleClass("select2-container-disabled", disabled);
|
1069 |
-
this.close();
|
1070 |
-
this.enabledInterface = enabled;
|
1071 |
-
|
1072 |
-
return true;
|
1073 |
-
},
|
1074 |
-
|
1075 |
-
// abstract
|
1076 |
-
enable: function(enabled) {
|
1077 |
-
if (enabled === undefined) enabled = true;
|
1078 |
-
if (this._enabled === enabled) return false;
|
1079 |
-
this._enabled = enabled;
|
1080 |
-
|
1081 |
-
this.opts.element.prop("disabled", !enabled);
|
1082 |
-
this.enableInterface();
|
1083 |
-
return true;
|
1084 |
-
},
|
1085 |
-
|
1086 |
-
// abstract
|
1087 |
-
readonly: function(enabled) {
|
1088 |
-
if (enabled === undefined) enabled = false;
|
1089 |
-
if (this._readonly === enabled) return false;
|
1090 |
-
this._readonly = enabled;
|
1091 |
-
|
1092 |
-
this.opts.element.prop("readonly", enabled);
|
1093 |
-
this.enableInterface();
|
1094 |
-
return true;
|
1095 |
-
},
|
1096 |
-
|
1097 |
-
// abstract
|
1098 |
-
opened: function () {
|
1099 |
-
return this.container.hasClass("select2-dropdown-open");
|
1100 |
-
},
|
1101 |
-
|
1102 |
-
// abstract
|
1103 |
-
positionDropdown: function() {
|
1104 |
-
var $dropdown = this.dropdown,
|
1105 |
-
offset = this.container.offset(),
|
1106 |
-
height = this.container.outerHeight(false),
|
1107 |
-
width = this.container.outerWidth(false),
|
1108 |
-
dropHeight = $dropdown.outerHeight(false),
|
1109 |
-
viewPortRight = $(window).scrollLeft() + $(window).width(),
|
1110 |
-
viewportBottom = $(window).scrollTop() + $(window).height(),
|
1111 |
-
dropTop = offset.top + height,
|
1112 |
-
dropLeft = offset.left,
|
1113 |
-
enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
|
1114 |
-
enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
|
1115 |
-
dropWidth = $dropdown.outerWidth(false),
|
1116 |
-
enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
|
1117 |
-
aboveNow = $dropdown.hasClass("select2-drop-above"),
|
1118 |
-
bodyOffset,
|
1119 |
-
above,
|
1120 |
-
css,
|
1121 |
-
resultsListNode;
|
1122 |
-
|
1123 |
-
if (this.opts.dropdownAutoWidth) {
|
1124 |
-
resultsListNode = $('.select2-results', $dropdown)[0];
|
1125 |
-
$dropdown.addClass('select2-drop-auto-width');
|
1126 |
-
$dropdown.css('width', '');
|
1127 |
-
// Add scrollbar width to dropdown if vertical scrollbar is present
|
1128 |
-
dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
|
1129 |
-
dropWidth > width ? width = dropWidth : dropWidth = width;
|
1130 |
-
enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
|
1131 |
-
}
|
1132 |
-
else {
|
1133 |
-
this.container.removeClass('select2-drop-auto-width');
|
1134 |
-
}
|
1135 |
-
|
1136 |
-
//console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
|
1137 |
-
//console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
|
1138 |
-
|
1139 |
-
// fix positioning when body has an offset and is not position: static
|
1140 |
-
if (this.body().css('position') !== 'static') {
|
1141 |
-
bodyOffset = this.body().offset();
|
1142 |
-
dropTop -= bodyOffset.top;
|
1143 |
-
dropLeft -= bodyOffset.left;
|
1144 |
-
}
|
1145 |
-
|
1146 |
-
// always prefer the current above/below alignment, unless there is not enough room
|
1147 |
-
if (aboveNow) {
|
1148 |
-
above = true;
|
1149 |
-
if (!enoughRoomAbove && enoughRoomBelow) above = false;
|
1150 |
-
} else {
|
1151 |
-
above = false;
|
1152 |
-
if (!enoughRoomBelow && enoughRoomAbove) above = true;
|
1153 |
-
}
|
1154 |
-
|
1155 |
-
if (!enoughRoomOnRight) {
|
1156 |
-
dropLeft = offset.left + width - dropWidth;
|
1157 |
-
}
|
1158 |
-
|
1159 |
-
if (above) {
|
1160 |
-
dropTop = offset.top - dropHeight;
|
1161 |
-
this.container.addClass("select2-drop-above");
|
1162 |
-
$dropdown.addClass("select2-drop-above");
|
1163 |
-
}
|
1164 |
-
else {
|
1165 |
-
this.container.removeClass("select2-drop-above");
|
1166 |
-
$dropdown.removeClass("select2-drop-above");
|
1167 |
-
}
|
1168 |
-
|
1169 |
-
css = $.extend({
|
1170 |
-
top: dropTop,
|
1171 |
-
left: dropLeft,
|
1172 |
-
width: width
|
1173 |
-
}, evaluate(this.opts.dropdownCss));
|
1174 |
-
|
1175 |
-
$dropdown.css(css);
|
1176 |
-
},
|
1177 |
-
|
1178 |
-
// abstract
|
1179 |
-
shouldOpen: function() {
|
1180 |
-
var event;
|
1181 |
-
|
1182 |
-
if (this.opened()) return false;
|
1183 |
-
|
1184 |
-
if (this._enabled === false || this._readonly === true) return false;
|
1185 |
-
|
1186 |
-
event = $.Event("select2-opening");
|
1187 |
-
this.opts.element.trigger(event);
|
1188 |
-
return !event.isDefaultPrevented();
|
1189 |
-
},
|
1190 |
-
|
1191 |
-
// abstract
|
1192 |
-
clearDropdownAlignmentPreference: function() {
|
1193 |
-
// clear the classes used to figure out the preference of where the dropdown should be opened
|
1194 |
-
this.container.removeClass("select2-drop-above");
|
1195 |
-
this.dropdown.removeClass("select2-drop-above");
|
1196 |
-
},
|
1197 |
-
|
1198 |
-
/**
|
1199 |
-
* Opens the dropdown
|
1200 |
-
*
|
1201 |
-
* @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
|
1202 |
-
* the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
|
1203 |
-
*/
|
1204 |
-
// abstract
|
1205 |
-
open: function () {
|
1206 |
-
|
1207 |
-
if (!this.shouldOpen()) return false;
|
1208 |
-
|
1209 |
-
this.opening();
|
1210 |
-
|
1211 |
-
return true;
|
1212 |
-
},
|
1213 |
-
|
1214 |
-
/**
|
1215 |
-
* Performs the opening of the dropdown
|
1216 |
-
*/
|
1217 |
-
// abstract
|
1218 |
-
opening: function() {
|
1219 |
-
var cid = this.containerId,
|
1220 |
-
scroll = "scroll." + cid,
|
1221 |
-
resize = "resize."+cid,
|
1222 |
-
orient = "orientationchange."+cid,
|
1223 |
-
mask, maskCss;
|
1224 |
-
|
1225 |
-
this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
|
1226 |
-
|
1227 |
-
this.clearDropdownAlignmentPreference();
|
1228 |
-
|
1229 |
-
if(this.dropdown[0] !== this.body().children().last()[0]) {
|
1230 |
-
this.dropdown.detach().appendTo(this.body());
|
1231 |
-
}
|
1232 |
-
|
1233 |
-
// create the dropdown mask if doesnt already exist
|
1234 |
-
mask = $("#select2-drop-mask");
|
1235 |
-
if (mask.length == 0) {
|
1236 |
-
mask = $(document.createElement("div"));
|
1237 |
-
mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
|
1238 |
-
mask.hide();
|
1239 |
-
mask.appendTo(this.body());
|
1240 |
-
mask.on("mousedown touchstart click", function (e) {
|
1241 |
-
var dropdown = $("#select2-drop"), self;
|
1242 |
-
if (dropdown.length > 0) {
|
1243 |
-
self=dropdown.data("select2");
|
1244 |
-
if (self.opts.selectOnBlur) {
|
1245 |
-
self.selectHighlighted({noFocus: true});
|
1246 |
-
}
|
1247 |
-
self.close();
|
1248 |
-
e.preventDefault();
|
1249 |
-
e.stopPropagation();
|
1250 |
-
}
|
1251 |
-
});
|
1252 |
-
}
|
1253 |
-
|
1254 |
-
// ensure the mask is always right before the dropdown
|
1255 |
-
if (this.dropdown.prev()[0] !== mask[0]) {
|
1256 |
-
this.dropdown.before(mask);
|
1257 |
-
}
|
1258 |
-
|
1259 |
-
// move the global id to the correct dropdown
|
1260 |
-
$("#select2-drop").removeAttr("id");
|
1261 |
-
this.dropdown.attr("id", "select2-drop");
|
1262 |
-
|
1263 |
-
// show the elements
|
1264 |
-
maskCss=_makeMaskCss();
|
1265 |
-
|
1266 |
-
mask.css(maskCss).show();
|
1267 |
-
|
1268 |
-
this.dropdown.show();
|
1269 |
-
this.positionDropdown();
|
1270 |
-
|
1271 |
-
this.dropdown.addClass("select2-drop-active");
|
1272 |
-
|
1273 |
-
// attach listeners to events that can change the position of the container and thus require
|
1274 |
-
// the position of the dropdown to be updated as well so it does not come unglued from the container
|
1275 |
-
var that = this;
|
1276 |
-
this.container.parents().add(window).each(function () {
|
1277 |
-
$(this).on(resize+" "+scroll+" "+orient, function (e) {
|
1278 |
-
var maskCss=_makeMaskCss();
|
1279 |
-
$("#select2-drop-mask").css(maskCss);
|
1280 |
-
that.positionDropdown();
|
1281 |
-
});
|
1282 |
-
});
|
1283 |
-
|
1284 |
-
function _makeMaskCss() {
|
1285 |
-
return {
|
1286 |
-
width : Math.max(document.documentElement.scrollWidth, $(window).width()),
|
1287 |
-
height : Math.max(document.documentElement.scrollHeight, $(window).height())
|
1288 |
-
}
|
1289 |
-
}
|
1290 |
-
},
|
1291 |
-
|
1292 |
-
// abstract
|
1293 |
-
close: function () {
|
1294 |
-
if (!this.opened()) return;
|
1295 |
-
|
1296 |
-
var cid = this.containerId,
|
1297 |
-
scroll = "scroll." + cid,
|
1298 |
-
resize = "resize."+cid,
|
1299 |
-
orient = "orientationchange."+cid;
|
1300 |
-
|
1301 |
-
// unbind event listeners
|
1302 |
-
this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
|
1303 |
-
|
1304 |
-
this.clearDropdownAlignmentPreference();
|
1305 |
-
|
1306 |
-
$("#select2-drop-mask").hide();
|
1307 |
-
this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
|
1308 |
-
this.dropdown.hide();
|
1309 |
-
this.container.removeClass("select2-dropdown-open");
|
1310 |
-
this.results.empty();
|
1311 |
-
|
1312 |
-
|
1313 |
-
this.clearSearch();
|
1314 |
-
this.search.removeClass("select2-active");
|
1315 |
-
this.opts.element.trigger($.Event("select2-close"));
|
1316 |
-
},
|
1317 |
-
|
1318 |
-
/**
|
1319 |
-
* Opens control, sets input value, and updates results.
|
1320 |
-
*/
|
1321 |
-
// abstract
|
1322 |
-
externalSearch: function (term) {
|
1323 |
-
this.open();
|
1324 |
-
this.search.val(term);
|
1325 |
-
this.updateResults(false);
|
1326 |
-
},
|
1327 |
-
|
1328 |
-
// abstract
|
1329 |
-
clearSearch: function () {
|
1330 |
-
|
1331 |
-
},
|
1332 |
-
|
1333 |
-
//abstract
|
1334 |
-
getMaximumSelectionSize: function() {
|
1335 |
-
return evaluate(this.opts.maximumSelectionSize);
|
1336 |
-
},
|
1337 |
-
|
1338 |
-
// abstract
|
1339 |
-
ensureHighlightVisible: function () {
|
1340 |
-
var results = this.results, children, index, child, hb, rb, y, more;
|
1341 |
-
|
1342 |
-
index = this.highlight();
|
1343 |
-
|
1344 |
-
if (index < 0) return;
|
1345 |
-
|
1346 |
-
if (index == 0) {
|
1347 |
-
|
1348 |
-
// if the first element is highlighted scroll all the way to the top,
|
1349 |
-
// that way any unselectable headers above it will also be scrolled
|
1350 |
-
// into view
|
1351 |
-
|
1352 |
-
results.scrollTop(0);
|
1353 |
-
return;
|
1354 |
-
}
|
1355 |
-
|
1356 |
-
children = this.findHighlightableChoices().find('.select2-result-label');
|
1357 |
-
|
1358 |
-
child = $(children[index]);
|
1359 |
-
|
1360 |
-
hb = child.offset().top + child.outerHeight(true);
|
1361 |
-
|
1362 |
-
// if this is the last child lets also make sure select2-more-results is visible
|
1363 |
-
if (index === children.length - 1) {
|
1364 |
-
more = results.find("li.select2-more-results");
|
1365 |
-
if (more.length > 0) {
|
1366 |
-
hb = more.offset().top + more.outerHeight(true);
|
1367 |
-
}
|
1368 |
-
}
|
1369 |
-
|
1370 |
-
rb = results.offset().top + results.outerHeight(true);
|
1371 |
-
if (hb > rb) {
|
1372 |
-
results.scrollTop(results.scrollTop() + (hb - rb));
|
1373 |
-
}
|
1374 |
-
y = child.offset().top - results.offset().top;
|
1375 |
-
|
1376 |
-
// make sure the top of the element is visible
|
1377 |
-
if (y < 0 && child.css('display') != 'none' ) {
|
1378 |
-
results.scrollTop(results.scrollTop() + y); // y is negative
|
1379 |
-
}
|
1380 |
-
},
|
1381 |
-
|
1382 |
-
// abstract
|
1383 |
-
findHighlightableChoices: function() {
|
1384 |
-
return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)");
|
1385 |
-
},
|
1386 |
-
|
1387 |
-
// abstract
|
1388 |
-
moveHighlight: function (delta) {
|
1389 |
-
var choices = this.findHighlightableChoices(),
|
1390 |
-
index = this.highlight();
|
1391 |
-
|
1392 |
-
while (index > -1 && index < choices.length) {
|
1393 |
-
index += delta;
|
1394 |
-
var choice = $(choices[index]);
|
1395 |
-
if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
|
1396 |
-
this.highlight(index);
|
1397 |
-
break;
|
1398 |
-
}
|
1399 |
-
}
|
1400 |
-
},
|
1401 |
-
|
1402 |
-
// abstract
|
1403 |
-
highlight: function (index) {
|
1404 |
-
var choices = this.findHighlightableChoices(),
|
1405 |
-
choice,
|
1406 |
-
data;
|
1407 |
-
|
1408 |
-
if (arguments.length === 0) {
|
1409 |
-
return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
|
1410 |
-
}
|
1411 |
-
|
1412 |
-
if (index >= choices.length) index = choices.length - 1;
|
1413 |
-
if (index < 0) index = 0;
|
1414 |
-
|
1415 |
-
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1416 |
-
|
1417 |
-
choice = $(choices[index]);
|
1418 |
-
choice.addClass("select2-highlighted");
|
1419 |
-
|
1420 |
-
this.ensureHighlightVisible();
|
1421 |
-
|
1422 |
-
data = choice.data("select2-data");
|
1423 |
-
if (data) {
|
1424 |
-
this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
|
1425 |
-
}
|
1426 |
-
},
|
1427 |
-
|
1428 |
-
// abstract
|
1429 |
-
countSelectableResults: function() {
|
1430 |
-
return this.findHighlightableChoices().length;
|
1431 |
-
},
|
1432 |
-
|
1433 |
-
// abstract
|
1434 |
-
highlightUnderEvent: function (event) {
|
1435 |
-
var el = $(event.target).closest(".select2-result-selectable");
|
1436 |
-
if (el.length > 0 && !el.is(".select2-highlighted")) {
|
1437 |
-
var choices = this.findHighlightableChoices();
|
1438 |
-
this.highlight(choices.index(el));
|
1439 |
-
} else if (el.length == 0) {
|
1440 |
-
// if we are over an unselectable item remove al highlights
|
1441 |
-
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1442 |
-
}
|
1443 |
-
},
|
1444 |
-
|
1445 |
-
// abstract
|
1446 |
-
loadMoreIfNeeded: function () {
|
1447 |
-
var results = this.results,
|
1448 |
-
more = results.find("li.select2-more-results"),
|
1449 |
-
below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
|
1450 |
-
offset = -1, // index of first element without data
|
1451 |
-
page = this.resultsPage + 1,
|
1452 |
-
self=this,
|
1453 |
-
term=this.search.val(),
|
1454 |
-
context=this.context;
|
1455 |
-
|
1456 |
-
if (more.length === 0) return;
|
1457 |
-
below = more.offset().top - results.offset().top - results.height();
|
1458 |
-
|
1459 |
-
if (below <= this.opts.loadMorePadding) {
|
1460 |
-
more.addClass("select2-active");
|
1461 |
-
this.opts.query({
|
1462 |
-
element: this.opts.element,
|
1463 |
-
term: term,
|
1464 |
-
page: page,
|
1465 |
-
context: context,
|
1466 |
-
matcher: this.opts.matcher,
|
1467 |
-
callback: this.bind(function (data) {
|
1468 |
-
|
1469 |
-
// ignore a response if the select2 has been closed before it was received
|
1470 |
-
if (!self.opened()) return;
|
1471 |
-
|
1472 |
-
|
1473 |
-
self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
|
1474 |
-
self.postprocessResults(data, false, false);
|
1475 |
-
|
1476 |
-
if (data.more===true) {
|
1477 |
-
more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
|
1478 |
-
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1479 |
-
} else {
|
1480 |
-
more.remove();
|
1481 |
-
}
|
1482 |
-
self.positionDropdown();
|
1483 |
-
self.resultsPage = page;
|
1484 |
-
self.context = data.context;
|
1485 |
-
})});
|
1486 |
-
}
|
1487 |
-
},
|
1488 |
-
|
1489 |
-
/**
|
1490 |
-
* Default tokenizer function which does nothing
|
1491 |
-
*/
|
1492 |
-
tokenize: function() {
|
1493 |
-
|
1494 |
-
},
|
1495 |
-
|
1496 |
-
/**
|
1497 |
-
* @param initial whether or not this is the call to this method right after the dropdown has been opened
|
1498 |
-
*/
|
1499 |
-
// abstract
|
1500 |
-
updateResults: function (initial) {
|
1501 |
-
var search = this.search,
|
1502 |
-
results = this.results,
|
1503 |
-
opts = this.opts,
|
1504 |
-
data,
|
1505 |
-
self = this,
|
1506 |
-
input,
|
1507 |
-
term = search.val(),
|
1508 |
-
lastTerm=$.data(this.container, "select2-last-term");
|
1509 |
-
|
1510 |
-
// prevent duplicate queries against the same term
|
1511 |
-
if (initial !== true && lastTerm && equal(term, lastTerm)) return;
|
1512 |
-
|
1513 |
-
$.data(this.container, "select2-last-term", term);
|
1514 |
-
|
1515 |
-
// if the search is currently hidden we do not alter the results
|
1516 |
-
if (initial !== true && (this.showSearchInput === false || !this.opened())) {
|
1517 |
-
return;
|
1518 |
-
}
|
1519 |
-
|
1520 |
-
function postRender() {
|
1521 |
-
search.removeClass("select2-active");
|
1522 |
-
self.positionDropdown();
|
1523 |
-
}
|
1524 |
-
|
1525 |
-
function render(html) {
|
1526 |
-
results.html(html);
|
1527 |
-
postRender();
|
1528 |
-
}
|
1529 |
-
|
1530 |
-
var maxSelSize = this.getMaximumSelectionSize();
|
1531 |
-
if (maxSelSize >=1) {
|
1532 |
-
data = this.data();
|
1533 |
-
if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
|
1534 |
-
render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(maxSelSize) + "</li>");
|
1535 |
-
return;
|
1536 |
-
}
|
1537 |
-
}
|
1538 |
-
|
1539 |
-
if (search.val().length < opts.minimumInputLength) {
|
1540 |
-
if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
|
1541 |
-
render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
|
1542 |
-
} else {
|
1543 |
-
render("");
|
1544 |
-
}
|
1545 |
-
if (initial && this.showSearch) this.showSearch(true);
|
1546 |
-
return;
|
1547 |
-
}
|
1548 |
-
|
1549 |
-
if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
|
1550 |
-
if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
|
1551 |
-
render("<li class='select2-no-results'>" + opts.formatInputTooLong(search.val(), opts.maximumInputLength) + "</li>");
|
1552 |
-
} else {
|
1553 |
-
render("");
|
1554 |
-
}
|
1555 |
-
return;
|
1556 |
-
}
|
1557 |
-
|
1558 |
-
if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
|
1559 |
-
render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
|
1560 |
-
}
|
1561 |
-
|
1562 |
-
search.addClass("select2-active");
|
1563 |
-
|
1564 |
-
// give the tokenizer a chance to pre-process the input
|
1565 |
-
input = this.tokenize();
|
1566 |
-
if (input != undefined && input != null) {
|
1567 |
-
search.val(input);
|
1568 |
-
}
|
1569 |
-
|
1570 |
-
this.resultsPage = 1;
|
1571 |
-
|
1572 |
-
opts.query({
|
1573 |
-
element: opts.element,
|
1574 |
-
term: search.val(),
|
1575 |
-
page: this.resultsPage,
|
1576 |
-
context: null,
|
1577 |
-
matcher: opts.matcher,
|
1578 |
-
callback: this.bind(function (data) {
|
1579 |
-
var def; // default choice
|
1580 |
-
|
1581 |
-
// ignore a response if the select2 has been closed before it was received
|
1582 |
-
if (!this.opened()) {
|
1583 |
-
this.search.removeClass("select2-active");
|
1584 |
-
return;
|
1585 |
-
}
|
1586 |
-
|
1587 |
-
// save context, if any
|
1588 |
-
this.context = (data.context===undefined) ? null : data.context;
|
1589 |
-
// create a default choice and prepend it to the list
|
1590 |
-
if (this.opts.createSearchChoice && search.val() !== "") {
|
1591 |
-
def = this.opts.createSearchChoice.call(self, search.val(), data.results);
|
1592 |
-
if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
|
1593 |
-
if ($(data.results).filter(
|
1594 |
-
function () {
|
1595 |
-
return equal(self.id(this), self.id(def));
|
1596 |
-
}).length === 0) {
|
1597 |
-
data.results.unshift(def);
|
1598 |
-
}
|
1599 |
-
}
|
1600 |
-
}
|
1601 |
-
|
1602 |
-
if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
|
1603 |
-
render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
|
1604 |
-
return;
|
1605 |
-
}
|
1606 |
-
|
1607 |
-
results.empty();
|
1608 |
-
self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
|
1609 |
-
|
1610 |
-
if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
|
1611 |
-
results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
|
1612 |
-
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1613 |
-
}
|
1614 |
-
|
1615 |
-
this.postprocessResults(data, initial);
|
1616 |
-
|
1617 |
-
postRender();
|
1618 |
-
|
1619 |
-
this.opts.element.trigger({ type: "select2-loaded", items: data });
|
1620 |
-
})});
|
1621 |
-
},
|
1622 |
-
|
1623 |
-
// abstract
|
1624 |
-
cancel: function () {
|
1625 |
-
this.close();
|
1626 |
-
},
|
1627 |
-
|
1628 |
-
// abstract
|
1629 |
-
blur: function () {
|
1630 |
-
// if selectOnBlur == true, select the currently highlighted option
|
1631 |
-
if (this.opts.selectOnBlur)
|
1632 |
-
this.selectHighlighted({noFocus: true});
|
1633 |
-
|
1634 |
-
this.close();
|
1635 |
-
this.container.removeClass("select2-container-active");
|
1636 |
-
// synonymous to .is(':focus'), which is available in jquery >= 1.6
|
1637 |
-
if (this.search[0] === document.activeElement) { this.search.blur(); }
|
1638 |
-
this.clearSearch();
|
1639 |
-
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
1640 |
-
},
|
1641 |
-
|
1642 |
-
// abstract
|
1643 |
-
focusSearch: function () {
|
1644 |
-
focus(this.search);
|
1645 |
-
},
|
1646 |
-
|
1647 |
-
// abstract
|
1648 |
-
selectHighlighted: function (options) {
|
1649 |
-
var index=this.highlight(),
|
1650 |
-
highlighted=this.results.find(".select2-highlighted"),
|
1651 |
-
data = highlighted.closest('.select2-result').data("select2-data");
|
1652 |
-
|
1653 |
-
if (data) {
|
1654 |
-
this.highlight(index);
|
1655 |
-
this.onSelect(data, options);
|
1656 |
-
} else if (options && options.noFocus) {
|
1657 |
-
this.close();
|
1658 |
-
}
|
1659 |
-
},
|
1660 |
-
|
1661 |
-
// abstract
|
1662 |
-
getPlaceholder: function () {
|
1663 |
-
var placeholderOption;
|
1664 |
-
return this.opts.element.attr("placeholder") ||
|
1665 |
-
this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
|
1666 |
-
this.opts.element.data("placeholder") ||
|
1667 |
-
this.opts.placeholder ||
|
1668 |
-
((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
|
1669 |
-
},
|
1670 |
-
|
1671 |
-
// abstract
|
1672 |
-
getPlaceholderOption: function() {
|
1673 |
-
if (this.select) {
|
1674 |
-
var firstOption = this.select.children().first();
|
1675 |
-
if (this.opts.placeholderOption !== undefined ) {
|
1676 |
-
//Determine the placeholder option based on the specified placeholderOption setting
|
1677 |
-
return (this.opts.placeholderOption === "first" && firstOption) ||
|
1678 |
-
(typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
|
1679 |
-
} else if (firstOption.text() === "" && firstOption.val() === "") {
|
1680 |
-
//No explicit placeholder option specified, use the first if it's blank
|
1681 |
-
return firstOption;
|
1682 |
-
}
|
1683 |
-
}
|
1684 |
-
},
|
1685 |
-
|
1686 |
-
/**
|
1687 |
-
* Get the desired width for the container element. This is
|
1688 |
-
* derived first from option `width` passed to select2, then
|
1689 |
-
* the inline 'style' on the original element, and finally
|
1690 |
-
* falls back to the jQuery calculated element width.
|
1691 |
-
*/
|
1692 |
-
// abstract
|
1693 |
-
initContainerWidth: function () {
|
1694 |
-
function resolveContainerWidth() {
|
1695 |
-
var style, attrs, matches, i, l;
|
1696 |
-
|
1697 |
-
if (this.opts.width === "off") {
|
1698 |
-
return null;
|
1699 |
-
} else if (this.opts.width === "element"){
|
1700 |
-
return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
|
1701 |
-
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
1702 |
-
// check if there is inline style on the element that contains width
|
1703 |
-
style = this.opts.element.attr('style');
|
1704 |
-
if (style !== undefined) {
|
1705 |
-
attrs = style.split(';');
|
1706 |
-
for (i = 0, l = attrs.length; i < l; i = i + 1) {
|
1707 |
-
matches = attrs[i].replace(/\s/g, '')
|
1708 |
-
.match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
|
1709 |
-
if (matches !== null && matches.length >= 1)
|
1710 |
-
return matches[1];
|
1711 |
-
}
|
1712 |
-
}
|
1713 |
-
|
1714 |
-
if (this.opts.width === "resolve") {
|
1715 |
-
// next check if css('width') can resolve a width that is percent based, this is sometimes possible
|
1716 |
-
// when attached to input type=hidden or elements hidden via css
|
1717 |
-
style = this.opts.element.css('width');
|
1718 |
-
if (style.indexOf("%") > 0) return style;
|
1719 |
-
|
1720 |
-
// finally, fallback on the calculated width of the element
|
1721 |
-
return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
|
1722 |
-
}
|
1723 |
-
|
1724 |
-
return null;
|
1725 |
-
} else if ($.isFunction(this.opts.width)) {
|
1726 |
-
return this.opts.width();
|
1727 |
-
} else {
|
1728 |
-
return this.opts.width;
|
1729 |
-
}
|
1730 |
-
};
|
1731 |
-
|
1732 |
-
var width = resolveContainerWidth.call(this);
|
1733 |
-
if (width !== null) {
|
1734 |
-
this.container.css("width", width);
|
1735 |
-
}
|
1736 |
-
}
|
1737 |
-
});
|
1738 |
-
|
1739 |
-
SingleSelect2 = clazz(AbstractSelect2, {
|
1740 |
-
|
1741 |
-
// single
|
1742 |
-
|
1743 |
-
createContainer: function () {
|
1744 |
-
var container = $(document.createElement("div")).attr({
|
1745 |
-
"class": "select2-container"
|
1746 |
-
}).html([
|
1747 |
-
"<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>",
|
1748 |
-
" <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>",
|
1749 |
-
" <span class='select2-arrow'><b></b></span>",
|
1750 |
-
"</a>",
|
1751 |
-
"<input class='select2-focusser select2-offscreen' type='text'/>",
|
1752 |
-
"<div class='select2-drop select2-display-none'>",
|
1753 |
-
" <div class='select2-search'>",
|
1754 |
-
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>",
|
1755 |
-
" </div>",
|
1756 |
-
" <ul class='select2-results'>",
|
1757 |
-
" </ul>",
|
1758 |
-
"</div>"].join(""));
|
1759 |
-
return container;
|
1760 |
-
},
|
1761 |
-
|
1762 |
-
// single
|
1763 |
-
enableInterface: function() {
|
1764 |
-
if (this.parent.enableInterface.apply(this, arguments)) {
|
1765 |
-
this.focusser.prop("disabled", !this.isInterfaceEnabled());
|
1766 |
-
}
|
1767 |
-
},
|
1768 |
-
|
1769 |
-
// single
|
1770 |
-
opening: function () {
|
1771 |
-
var el, range, len;
|
1772 |
-
|
1773 |
-
if (this.opts.minimumResultsForSearch >= 0) {
|
1774 |
-
this.showSearch(true);
|
1775 |
-
}
|
1776 |
-
|
1777 |
-
this.parent.opening.apply(this, arguments);
|
1778 |
-
|
1779 |
-
if (this.showSearchInput !== false) {
|
1780 |
-
// IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
|
1781 |
-
// all other browsers handle this just fine
|
1782 |
-
|
1783 |
-
this.search.val(this.focusser.val());
|
1784 |
-
}
|
1785 |
-
this.search.focus();
|
1786 |
-
// move the cursor to the end after focussing, otherwise it will be at the beginning and
|
1787 |
-
// new text will appear *before* focusser.val()
|
1788 |
-
el = this.search.get(0);
|
1789 |
-
if (el.createTextRange) {
|
1790 |
-
range = el.createTextRange();
|
1791 |
-
range.collapse(false);
|
1792 |
-
range.select();
|
1793 |
-
} else if (el.setSelectionRange) {
|
1794 |
-
len = this.search.val().length;
|
1795 |
-
el.setSelectionRange(len, len);
|
1796 |
-
}
|
1797 |
-
|
1798 |
-
this.focusser.prop("disabled", true).val("");
|
1799 |
-
this.updateResults(true);
|
1800 |
-
this.opts.element.trigger($.Event("select2-open"));
|
1801 |
-
},
|
1802 |
-
|
1803 |
-
// single
|
1804 |
-
close: function () {
|
1805 |
-
if (!this.opened()) return;
|
1806 |
-
this.parent.close.apply(this, arguments);
|
1807 |
-
this.focusser.removeAttr("disabled");
|
1808 |
-
this.focusser.focus();
|
1809 |
-
},
|
1810 |
-
|
1811 |
-
// single
|
1812 |
-
focus: function () {
|
1813 |
-
if (this.opened()) {
|
1814 |
-
this.close();
|
1815 |
-
} else {
|
1816 |
-
this.focusser.removeAttr("disabled");
|
1817 |
-
this.focusser.focus();
|
1818 |
-
}
|
1819 |
-
},
|
1820 |
-
|
1821 |
-
// single
|
1822 |
-
isFocused: function () {
|
1823 |
-
return this.container.hasClass("select2-container-active");
|
1824 |
-
},
|
1825 |
-
|
1826 |
-
// single
|
1827 |
-
cancel: function () {
|
1828 |
-
this.parent.cancel.apply(this, arguments);
|
1829 |
-
this.focusser.removeAttr("disabled");
|
1830 |
-
this.focusser.focus();
|
1831 |
-
},
|
1832 |
-
|
1833 |
-
// single
|
1834 |
-
initContainer: function () {
|
1835 |
-
|
1836 |
-
var selection,
|
1837 |
-
container = this.container,
|
1838 |
-
dropdown = this.dropdown;
|
1839 |
-
|
1840 |
-
if (this.opts.minimumResultsForSearch < 0) {
|
1841 |
-
this.showSearch(false);
|
1842 |
-
} else {
|
1843 |
-
this.showSearch(true);
|
1844 |
-
}
|
1845 |
-
|
1846 |
-
this.selection = selection = container.find(".select2-choice");
|
1847 |
-
|
1848 |
-
this.focusser = container.find(".select2-focusser");
|
1849 |
-
|
1850 |
-
// rewrite labels from original element to focusser
|
1851 |
-
this.focusser.attr("id", "s2id_autogen"+nextUid());
|
1852 |
-
|
1853 |
-
$("label[for='" + this.opts.element.attr("id") + "']")
|
1854 |
-
.attr('for', this.focusser.attr('id'));
|
1855 |
-
|
1856 |
-
this.focusser.attr("tabindex", this.elementTabIndex);
|
1857 |
-
|
1858 |
-
this.search.on("keydown", this.bind(function (e) {
|
1859 |
-
if (!this.isInterfaceEnabled()) return;
|
1860 |
-
|
1861 |
-
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
1862 |
-
// prevent the page from scrolling
|
1863 |
-
killEvent(e);
|
1864 |
-
return;
|
1865 |
-
}
|
1866 |
-
|
1867 |
-
switch (e.which) {
|
1868 |
-
case KEY.UP:
|
1869 |
-
case KEY.DOWN:
|
1870 |
-
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
1871 |
-
killEvent(e);
|
1872 |
-
return;
|
1873 |
-
case KEY.ENTER:
|
1874 |
-
this.selectHighlighted();
|
1875 |
-
killEvent(e);
|
1876 |
-
return;
|
1877 |
-
case KEY.TAB:
|
1878 |
-
this.selectHighlighted({noFocus: true});
|
1879 |
-
return;
|
1880 |
-
case KEY.ESC:
|
1881 |
-
this.cancel(e);
|
1882 |
-
killEvent(e);
|
1883 |
-
return;
|
1884 |
-
}
|
1885 |
-
}));
|
1886 |
-
|
1887 |
-
this.search.on("blur", this.bind(function(e) {
|
1888 |
-
// a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
|
1889 |
-
// without this the search field loses focus which is annoying
|
1890 |
-
if (document.activeElement === this.body().get(0)) {
|
1891 |
-
window.setTimeout(this.bind(function() {
|
1892 |
-
this.search.focus();
|
1893 |
-
}), 0);
|
1894 |
-
}
|
1895 |
-
}));
|
1896 |
-
|
1897 |
-
this.focusser.on("keydown", this.bind(function (e) {
|
1898 |
-
if (!this.isInterfaceEnabled()) return;
|
1899 |
-
|
1900 |
-
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
|
1901 |
-
return;
|
1902 |
-
}
|
1903 |
-
|
1904 |
-
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
1905 |
-
killEvent(e);
|
1906 |
-
return;
|
1907 |
-
}
|
1908 |
-
|
1909 |
-
if (e.which == KEY.DOWN || e.which == KEY.UP
|
1910 |
-
|| (e.which == KEY.ENTER && this.opts.openOnEnter)) {
|
1911 |
-
|
1912 |
-
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
|
1913 |
-
|
1914 |
-
this.open();
|
1915 |
-
killEvent(e);
|
1916 |
-
return;
|
1917 |
-
}
|
1918 |
-
|
1919 |
-
if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
|
1920 |
-
if (this.opts.allowClear) {
|
1921 |
-
this.clear();
|
1922 |
-
}
|
1923 |
-
killEvent(e);
|
1924 |
-
return;
|
1925 |
-
}
|
1926 |
-
}));
|
1927 |
-
|
1928 |
-
|
1929 |
-
installKeyUpChangeEvent(this.focusser);
|
1930 |
-
this.focusser.on("keyup-change input", this.bind(function(e) {
|
1931 |
-
if (this.opts.minimumResultsForSearch >= 0) {
|
1932 |
-
e.stopPropagation();
|
1933 |
-
if (this.opened()) return;
|
1934 |
-
this.open();
|
1935 |
-
}
|
1936 |
-
}));
|
1937 |
-
|
1938 |
-
selection.on("mousedown", "abbr", this.bind(function (e) {
|
1939 |
-
if (!this.isInterfaceEnabled()) return;
|
1940 |
-
this.clear();
|
1941 |
-
killEventImmediately(e);
|
1942 |
-
this.close();
|
1943 |
-
this.selection.focus();
|
1944 |
-
}));
|
1945 |
-
|
1946 |
-
selection.on("mousedown", this.bind(function (e) {
|
1947 |
-
|
1948 |
-
if (!this.container.hasClass("select2-container-active")) {
|
1949 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
1950 |
-
}
|
1951 |
-
|
1952 |
-
if (this.opened()) {
|
1953 |
-
this.close();
|
1954 |
-
} else if (this.isInterfaceEnabled()) {
|
1955 |
-
this.open();
|
1956 |
-
}
|
1957 |
-
|
1958 |
-
killEvent(e);
|
1959 |
-
}));
|
1960 |
-
|
1961 |
-
dropdown.on("mousedown", this.bind(function() { this.search.focus(); }));
|
1962 |
-
|
1963 |
-
selection.on("focus", this.bind(function(e) {
|
1964 |
-
killEvent(e);
|
1965 |
-
}));
|
1966 |
-
|
1967 |
-
this.focusser.on("focus", this.bind(function(){
|
1968 |
-
if (!this.container.hasClass("select2-container-active")) {
|
1969 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
1970 |
-
}
|
1971 |
-
this.container.addClass("select2-container-active");
|
1972 |
-
})).on("blur", this.bind(function() {
|
1973 |
-
if (!this.opened()) {
|
1974 |
-
this.container.removeClass("select2-container-active");
|
1975 |
-
this.opts.element.trigger($.Event("select2-blur"));
|
1976 |
-
}
|
1977 |
-
}));
|
1978 |
-
this.search.on("focus", this.bind(function(){
|
1979 |
-
if (!this.container.hasClass("select2-container-active")) {
|
1980 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
1981 |
-
}
|
1982 |
-
this.container.addClass("select2-container-active");
|
1983 |
-
}));
|
1984 |
-
|
1985 |
-
this.initContainerWidth();
|
1986 |
-
this.opts.element.addClass("select2-offscreen");
|
1987 |
-
this.setPlaceholder();
|
1988 |
-
|
1989 |
-
},
|
1990 |
-
|
1991 |
-
// single
|
1992 |
-
clear: function(triggerChange) {
|
1993 |
-
var data=this.selection.data("select2-data");
|
1994 |
-
if (data) { // guard against queued quick consecutive clicks
|
1995 |
-
var placeholderOption = this.getPlaceholderOption();
|
1996 |
-
this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
|
1997 |
-
this.selection.find(".select2-chosen").empty();
|
1998 |
-
this.selection.removeData("select2-data");
|
1999 |
-
this.setPlaceholder();
|
2000 |
-
|
2001 |
-
if (triggerChange !== false){
|
2002 |
-
this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
|
2003 |
-
this.triggerChange({removed:data});
|
2004 |
-
}
|
2005 |
-
}
|
2006 |
-
},
|
2007 |
-
|
2008 |
-
/**
|
2009 |
-
* Sets selection based on source element's value
|
2010 |
-
*/
|
2011 |
-
// single
|
2012 |
-
initSelection: function () {
|
2013 |
-
var selected;
|
2014 |
-
if (this.isPlaceholderOptionSelected()) {
|
2015 |
-
this.updateSelection([]);
|
2016 |
-
this.close();
|
2017 |
-
this.setPlaceholder();
|
2018 |
-
} else {
|
2019 |
-
var self = this;
|
2020 |
-
this.opts.initSelection.call(null, this.opts.element, function(selected){
|
2021 |
-
if (selected !== undefined && selected !== null) {
|
2022 |
-
self.updateSelection(selected);
|
2023 |
-
self.close();
|
2024 |
-
self.setPlaceholder();
|
2025 |
-
}
|
2026 |
-
});
|
2027 |
-
}
|
2028 |
-
},
|
2029 |
-
|
2030 |
-
isPlaceholderOptionSelected: function() {
|
2031 |
-
var placeholderOption;
|
2032 |
-
return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.is(':selected')) ||
|
2033 |
-
(this.opts.element.val() === "") ||
|
2034 |
-
(this.opts.element.val() === undefined) ||
|
2035 |
-
(this.opts.element.val() === null);
|
2036 |
-
},
|
2037 |
-
|
2038 |
-
// single
|
2039 |
-
prepareOpts: function () {
|
2040 |
-
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2041 |
-
self=this;
|
2042 |
-
|
2043 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2044 |
-
// install the selection initializer
|
2045 |
-
opts.initSelection = function (element, callback) {
|
2046 |
-
var selected = element.find(":selected");
|
2047 |
-
// a single select box always has a value, no need to null check 'selected'
|
2048 |
-
callback(self.optionToData(selected));
|
2049 |
-
};
|
2050 |
-
} else if ("data" in opts) {
|
2051 |
-
// install default initSelection when applied to hidden input and data is local
|
2052 |
-
opts.initSelection = opts.initSelection || function (element, callback) {
|
2053 |
-
var id = element.val();
|
2054 |
-
//search in data by id, storing the actual matching item
|
2055 |
-
var match = null;
|
2056 |
-
opts.query({
|
2057 |
-
matcher: function(term, text, el){
|
2058 |
-
var is_match = equal(id, opts.id(el));
|
2059 |
-
if (is_match) {
|
2060 |
-
match = el;
|
2061 |
-
}
|
2062 |
-
return is_match;
|
2063 |
-
},
|
2064 |
-
callback: !$.isFunction(callback) ? $.noop : function() {
|
2065 |
-
callback(match);
|
2066 |
-
}
|
2067 |
-
});
|
2068 |
-
};
|
2069 |
-
}
|
2070 |
-
|
2071 |
-
return opts;
|
2072 |
-
},
|
2073 |
-
|
2074 |
-
// single
|
2075 |
-
getPlaceholder: function() {
|
2076 |
-
// if a placeholder is specified on a single select without a valid placeholder option ignore it
|
2077 |
-
if (this.select) {
|
2078 |
-
if (this.getPlaceholderOption() === undefined) {
|
2079 |
-
return undefined;
|
2080 |
-
}
|
2081 |
-
}
|
2082 |
-
|
2083 |
-
return this.parent.getPlaceholder.apply(this, arguments);
|
2084 |
-
},
|
2085 |
-
|
2086 |
-
// single
|
2087 |
-
setPlaceholder: function () {
|
2088 |
-
var placeholder = this.getPlaceholder();
|
2089 |
-
|
2090 |
-
if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
|
2091 |
-
|
2092 |
-
// check for a placeholder option if attached to a select
|
2093 |
-
if (this.select && this.getPlaceholderOption() === undefined) return;
|
2094 |
-
|
2095 |
-
this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
|
2096 |
-
|
2097 |
-
this.selection.addClass("select2-default");
|
2098 |
-
|
2099 |
-
this.container.removeClass("select2-allowclear");
|
2100 |
-
}
|
2101 |
-
},
|
2102 |
-
|
2103 |
-
// single
|
2104 |
-
postprocessResults: function (data, initial, noHighlightUpdate) {
|
2105 |
-
var selected = 0, self = this, showSearchInput = true;
|
2106 |
-
|
2107 |
-
// find the selected element in the result list
|
2108 |
-
|
2109 |
-
this.findHighlightableChoices().each2(function (i, elm) {
|
2110 |
-
if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
|
2111 |
-
selected = i;
|
2112 |
-
return false;
|
2113 |
-
}
|
2114 |
-
});
|
2115 |
-
|
2116 |
-
// and highlight it
|
2117 |
-
if (noHighlightUpdate !== false) {
|
2118 |
-
if (initial === true && selected >= 0) {
|
2119 |
-
this.highlight(selected);
|
2120 |
-
} else {
|
2121 |
-
this.highlight(0);
|
2122 |
-
}
|
2123 |
-
}
|
2124 |
-
|
2125 |
-
// hide the search box if this is the first we got the results and there are enough of them for search
|
2126 |
-
|
2127 |
-
if (initial === true) {
|
2128 |
-
var min = this.opts.minimumResultsForSearch;
|
2129 |
-
if (min >= 0) {
|
2130 |
-
this.showSearch(countResults(data.results) >= min);
|
2131 |
-
}
|
2132 |
-
}
|
2133 |
-
},
|
2134 |
-
|
2135 |
-
// single
|
2136 |
-
showSearch: function(showSearchInput) {
|
2137 |
-
if (this.showSearchInput === showSearchInput) return;
|
2138 |
-
|
2139 |
-
this.showSearchInput = showSearchInput;
|
2140 |
-
|
2141 |
-
this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
|
2142 |
-
this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
|
2143 |
-
//add "select2-with-searchbox" to the container if search box is shown
|
2144 |
-
$(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
|
2145 |
-
},
|
2146 |
-
|
2147 |
-
// single
|
2148 |
-
onSelect: function (data, options) {
|
2149 |
-
|
2150 |
-
if (!this.triggerSelect(data)) { return; }
|
2151 |
-
|
2152 |
-
var old = this.opts.element.val(),
|
2153 |
-
oldData = this.data();
|
2154 |
-
|
2155 |
-
this.opts.element.val(this.id(data));
|
2156 |
-
this.updateSelection(data);
|
2157 |
-
|
2158 |
-
this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
|
2159 |
-
|
2160 |
-
this.close();
|
2161 |
-
|
2162 |
-
if (!options || !options.noFocus)
|
2163 |
-
this.selection.focus();
|
2164 |
-
|
2165 |
-
if (!equal(old, this.id(data))) { this.triggerChange({added:data,removed:oldData}); }
|
2166 |
-
},
|
2167 |
-
|
2168 |
-
// single
|
2169 |
-
updateSelection: function (data) {
|
2170 |
-
|
2171 |
-
var container=this.selection.find(".select2-chosen"), formatted, cssClass;
|
2172 |
-
|
2173 |
-
this.selection.data("select2-data", data);
|
2174 |
-
|
2175 |
-
container.empty();
|
2176 |
-
formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
|
2177 |
-
if (formatted !== undefined) {
|
2178 |
-
container.append(formatted);
|
2179 |
-
}
|
2180 |
-
cssClass=this.opts.formatSelectionCssClass(data, container);
|
2181 |
-
if (cssClass !== undefined) {
|
2182 |
-
container.addClass(cssClass);
|
2183 |
-
}
|
2184 |
-
|
2185 |
-
this.selection.removeClass("select2-default");
|
2186 |
-
|
2187 |
-
if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
|
2188 |
-
this.container.addClass("select2-allowclear");
|
2189 |
-
}
|
2190 |
-
},
|
2191 |
-
|
2192 |
-
// single
|
2193 |
-
val: function () {
|
2194 |
-
var val,
|
2195 |
-
triggerChange = false,
|
2196 |
-
data = null,
|
2197 |
-
self = this,
|
2198 |
-
oldData = this.data();
|
2199 |
-
|
2200 |
-
if (arguments.length === 0) {
|
2201 |
-
return this.opts.element.val();
|
2202 |
-
}
|
2203 |
-
|
2204 |
-
val = arguments[0];
|
2205 |
-
|
2206 |
-
if (arguments.length > 1) {
|
2207 |
-
triggerChange = arguments[1];
|
2208 |
-
}
|
2209 |
-
|
2210 |
-
if (this.select) {
|
2211 |
-
this.select
|
2212 |
-
.val(val)
|
2213 |
-
.find(":selected").each2(function (i, elm) {
|
2214 |
-
data = self.optionToData(elm);
|
2215 |
-
return false;
|
2216 |
-
});
|
2217 |
-
this.updateSelection(data);
|
2218 |
-
this.setPlaceholder();
|
2219 |
-
if (triggerChange) {
|
2220 |
-
this.triggerChange({added: data, removed:oldData});
|
2221 |
-
}
|
2222 |
-
} else {
|
2223 |
-
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
2224 |
-
if (!val && val !== 0) {
|
2225 |
-
this.clear(triggerChange);
|
2226 |
-
return;
|
2227 |
-
}
|
2228 |
-
if (this.opts.initSelection === undefined) {
|
2229 |
-
throw new Error("cannot call val() if initSelection() is not defined");
|
2230 |
-
}
|
2231 |
-
this.opts.element.val(val);
|
2232 |
-
this.opts.initSelection(this.opts.element, function(data){
|
2233 |
-
self.opts.element.val(!data ? "" : self.id(data));
|
2234 |
-
self.updateSelection(data);
|
2235 |
-
self.setPlaceholder();
|
2236 |
-
if (triggerChange) {
|
2237 |
-
self.triggerChange({added: data, removed:oldData});
|
2238 |
-
}
|
2239 |
-
});
|
2240 |
-
}
|
2241 |
-
},
|
2242 |
-
|
2243 |
-
// single
|
2244 |
-
clearSearch: function () {
|
2245 |
-
this.search.val("");
|
2246 |
-
this.focusser.val("");
|
2247 |
-
},
|
2248 |
-
|
2249 |
-
// single
|
2250 |
-
data: function(value, triggerChange) {
|
2251 |
-
var data;
|
2252 |
-
|
2253 |
-
if (arguments.length === 0) {
|
2254 |
-
data = this.selection.data("select2-data");
|
2255 |
-
if (data == undefined) data = null;
|
2256 |
-
return data;
|
2257 |
-
} else {
|
2258 |
-
if (!value || value === "") {
|
2259 |
-
this.clear(triggerChange);
|
2260 |
-
} else {
|
2261 |
-
data = this.data();
|
2262 |
-
this.opts.element.val(!value ? "" : this.id(value));
|
2263 |
-
this.updateSelection(value);
|
2264 |
-
if (triggerChange) {
|
2265 |
-
this.triggerChange({added: value, removed:data});
|
2266 |
-
}
|
2267 |
-
}
|
2268 |
-
}
|
2269 |
-
}
|
2270 |
-
});
|
2271 |
-
|
2272 |
-
MultiSelect2 = clazz(AbstractSelect2, {
|
2273 |
-
|
2274 |
-
// multi
|
2275 |
-
createContainer: function () {
|
2276 |
-
var container = $(document.createElement("div")).attr({
|
2277 |
-
"class": "select2-container select2-container-multi"
|
2278 |
-
}).html([
|
2279 |
-
"<ul class='select2-choices'>",
|
2280 |
-
" <li class='select2-search-field'>",
|
2281 |
-
" <input type='text' autocomplete='off' autocorrect='off' autocapitilize='off' spellcheck='false' class='select2-input'>",
|
2282 |
-
" </li>",
|
2283 |
-
"</ul>",
|
2284 |
-
"<div class='select2-drop select2-drop-multi select2-display-none'>",
|
2285 |
-
" <ul class='select2-results'>",
|
2286 |
-
" </ul>",
|
2287 |
-
"</div>"].join(""));
|
2288 |
-
return container;
|
2289 |
-
},
|
2290 |
-
|
2291 |
-
// multi
|
2292 |
-
prepareOpts: function () {
|
2293 |
-
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2294 |
-
self=this;
|
2295 |
-
|
2296 |
-
// TODO validate placeholder is a string if specified
|
2297 |
-
|
2298 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2299 |
-
// install sthe selection initializer
|
2300 |
-
opts.initSelection = function (element, callback) {
|
2301 |
-
|
2302 |
-
var data = [];
|
2303 |
-
|
2304 |
-
element.find(":selected").each2(function (i, elm) {
|
2305 |
-
data.push(self.optionToData(elm));
|
2306 |
-
});
|
2307 |
-
callback(data);
|
2308 |
-
};
|
2309 |
-
} else if ("data" in opts) {
|
2310 |
-
// install default initSelection when applied to hidden input and data is local
|
2311 |
-
opts.initSelection = opts.initSelection || function (element, callback) {
|
2312 |
-
var ids = splitVal(element.val(), opts.separator);
|
2313 |
-
//search in data by array of ids, storing matching items in a list
|
2314 |
-
var matches = [];
|
2315 |
-
opts.query({
|
2316 |
-
matcher: function(term, text, el){
|
2317 |
-
var is_match = $.grep(ids, function(id) {
|
2318 |
-
return equal(id, opts.id(el));
|
2319 |
-
}).length;
|
2320 |
-
if (is_match) {
|
2321 |
-
matches.push(el);
|
2322 |
-
}
|
2323 |
-
return is_match;
|
2324 |
-
},
|
2325 |
-
callback: !$.isFunction(callback) ? $.noop : function() {
|
2326 |
-
// reorder matches based on the order they appear in the ids array because right now
|
2327 |
-
// they are in the order in which they appear in data array
|
2328 |
-
var ordered = [];
|
2329 |
-
for (var i = 0; i < ids.length; i++) {
|
2330 |
-
var id = ids[i];
|
2331 |
-
for (var j = 0; j < matches.length; j++) {
|
2332 |
-
var match = matches[j];
|
2333 |
-
if (equal(id, opts.id(match))) {
|
2334 |
-
ordered.push(match);
|
2335 |
-
matches.splice(j, 1);
|
2336 |
-
break;
|
2337 |
-
}
|
2338 |
-
}
|
2339 |
-
}
|
2340 |
-
callback(ordered);
|
2341 |
-
}
|
2342 |
-
});
|
2343 |
-
};
|
2344 |
-
}
|
2345 |
-
|
2346 |
-
return opts;
|
2347 |
-
},
|
2348 |
-
|
2349 |
-
selectChoice: function (choice) {
|
2350 |
-
|
2351 |
-
var selected = this.container.find(".select2-search-choice-focus");
|
2352 |
-
if (selected.length && choice && choice[0] == selected[0]) {
|
2353 |
-
|
2354 |
-
} else {
|
2355 |
-
if (selected.length) {
|
2356 |
-
this.opts.element.trigger("choice-deselected", selected);
|
2357 |
-
}
|
2358 |
-
selected.removeClass("select2-search-choice-focus");
|
2359 |
-
if (choice && choice.length) {
|
2360 |
-
this.close();
|
2361 |
-
choice.addClass("select2-search-choice-focus");
|
2362 |
-
this.opts.element.trigger("choice-selected", choice);
|
2363 |
-
}
|
2364 |
-
}
|
2365 |
-
},
|
2366 |
-
|
2367 |
-
// multi
|
2368 |
-
initContainer: function () {
|
2369 |
-
|
2370 |
-
var selector = ".select2-choices", selection;
|
2371 |
-
|
2372 |
-
this.searchContainer = this.container.find(".select2-search-field");
|
2373 |
-
this.selection = selection = this.container.find(selector);
|
2374 |
-
|
2375 |
-
var _this = this;
|
2376 |
-
this.selection.on("mousedown", ".select2-search-choice", function (e) {
|
2377 |
-
//killEvent(e);
|
2378 |
-
_this.search[0].focus();
|
2379 |
-
_this.selectChoice($(this));
|
2380 |
-
})
|
2381 |
-
|
2382 |
-
// rewrite labels from original element to focusser
|
2383 |
-
this.search.attr("id", "s2id_autogen"+nextUid());
|
2384 |
-
$("label[for='" + this.opts.element.attr("id") + "']")
|
2385 |
-
.attr('for', this.search.attr('id'));
|
2386 |
-
|
2387 |
-
this.search.on("input paste", this.bind(function() {
|
2388 |
-
if (!this.isInterfaceEnabled()) return;
|
2389 |
-
if (!this.opened()) {
|
2390 |
-
this.open();
|
2391 |
-
}
|
2392 |
-
}));
|
2393 |
-
|
2394 |
-
this.search.attr("tabindex", this.elementTabIndex);
|
2395 |
-
|
2396 |
-
this.keydowns = 0;
|
2397 |
-
this.search.on("keydown", this.bind(function (e) {
|
2398 |
-
if (!this.isInterfaceEnabled()) return;
|
2399 |
-
|
2400 |
-
++this.keydowns;
|
2401 |
-
var selected = selection.find(".select2-search-choice-focus");
|
2402 |
-
var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
|
2403 |
-
var next = selected.next(".select2-search-choice:not(.select2-locked)");
|
2404 |
-
var pos = getCursorInfo(this.search);
|
2405 |
-
|
2406 |
-
if (selected.length &&
|
2407 |
-
(e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
|
2408 |
-
var selectedChoice = selected;
|
2409 |
-
if (e.which == KEY.LEFT && prev.length) {
|
2410 |
-
selectedChoice = prev;
|
2411 |
-
}
|
2412 |
-
else if (e.which == KEY.RIGHT) {
|
2413 |
-
selectedChoice = next.length ? next : null;
|
2414 |
-
}
|
2415 |
-
else if (e.which === KEY.BACKSPACE) {
|
2416 |
-
this.unselect(selected.first());
|
2417 |
-
this.search.width(10);
|
2418 |
-
selectedChoice = prev.length ? prev : next;
|
2419 |
-
} else if (e.which == KEY.DELETE) {
|
2420 |
-
this.unselect(selected.first());
|
2421 |
-
this.search.width(10);
|
2422 |
-
selectedChoice = next.length ? next : null;
|
2423 |
-
} else if (e.which == KEY.ENTER) {
|
2424 |
-
selectedChoice = null;
|
2425 |
-
}
|
2426 |
-
|
2427 |
-
this.selectChoice(selectedChoice);
|
2428 |
-
killEvent(e);
|
2429 |
-
if (!selectedChoice || !selectedChoice.length) {
|
2430 |
-
this.open();
|
2431 |
-
}
|
2432 |
-
return;
|
2433 |
-
} else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
|
2434 |
-
|| e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
|
2435 |
-
|
2436 |
-
this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
|
2437 |
-
killEvent(e);
|
2438 |
-
return;
|
2439 |
-
} else {
|
2440 |
-
this.selectChoice(null);
|
2441 |
-
}
|
2442 |
-
|
2443 |
-
if (this.opened()) {
|
2444 |
-
switch (e.which) {
|
2445 |
-
case KEY.UP:
|
2446 |
-
case KEY.DOWN:
|
2447 |
-
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
2448 |
-
killEvent(e);
|
2449 |
-
return;
|
2450 |
-
case KEY.ENTER:
|
2451 |
-
this.selectHighlighted();
|
2452 |
-
killEvent(e);
|
2453 |
-
return;
|
2454 |
-
case KEY.TAB:
|
2455 |
-
this.selectHighlighted({noFocus:true});
|
2456 |
-
this.close();
|
2457 |
-
return;
|
2458 |
-
case KEY.ESC:
|
2459 |
-
this.cancel(e);
|
2460 |
-
killEvent(e);
|
2461 |
-
return;
|
2462 |
-
}
|
2463 |
-
}
|
2464 |
-
|
2465 |
-
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
|
2466 |
-
|| e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
|
2467 |
-
return;
|
2468 |
-
}
|
2469 |
-
|
2470 |
-
if (e.which === KEY.ENTER) {
|
2471 |
-
if (this.opts.openOnEnter === false) {
|
2472 |
-
return;
|
2473 |
-
} else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
|
2474 |
-
return;
|
2475 |
-
}
|
2476 |
-
}
|
2477 |
-
|
2478 |
-
this.open();
|
2479 |
-
|
2480 |
-
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
2481 |
-
// prevent the page from scrolling
|
2482 |
-
killEvent(e);
|
2483 |
-
}
|
2484 |
-
|
2485 |
-
if (e.which === KEY.ENTER) {
|
2486 |
-
// prevent form from being submitted
|
2487 |
-
killEvent(e);
|
2488 |
-
}
|
2489 |
-
|
2490 |
-
}));
|
2491 |
-
|
2492 |
-
this.search.on("keyup", this.bind(function (e) {
|
2493 |
-
this.keydowns = 0;
|
2494 |
-
this.resizeSearch();
|
2495 |
-
})
|
2496 |
-
);
|
2497 |
-
|
2498 |
-
this.search.on("blur", this.bind(function(e) {
|
2499 |
-
this.container.removeClass("select2-container-active");
|
2500 |
-
this.search.removeClass("select2-focused");
|
2501 |
-
this.selectChoice(null);
|
2502 |
-
if (!this.opened()) this.clearSearch();
|
2503 |
-
e.stopImmediatePropagation();
|
2504 |
-
this.opts.element.trigger($.Event("select2-blur"));
|
2505 |
-
}));
|
2506 |
-
|
2507 |
-
this.container.on("click", selector, this.bind(function (e) {
|
2508 |
-
if (!this.isInterfaceEnabled()) return;
|
2509 |
-
if ($(e.target).closest(".select2-search-choice").length > 0) {
|
2510 |
-
// clicked inside a select2 search choice, do not open
|
2511 |
-
return;
|
2512 |
-
}
|
2513 |
-
this.selectChoice(null);
|
2514 |
-
this.clearPlaceholder();
|
2515 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2516 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2517 |
-
}
|
2518 |
-
this.open();
|
2519 |
-
this.focusSearch();
|
2520 |
-
e.preventDefault();
|
2521 |
-
}));
|
2522 |
-
|
2523 |
-
this.container.on("focus", selector, this.bind(function () {
|
2524 |
-
if (!this.isInterfaceEnabled()) return;
|
2525 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2526 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2527 |
-
}
|
2528 |
-
this.container.addClass("select2-container-active");
|
2529 |
-
this.dropdown.addClass("select2-drop-active");
|
2530 |
-
this.clearPlaceholder();
|
2531 |
-
}));
|
2532 |
-
|
2533 |
-
this.initContainerWidth();
|
2534 |
-
this.opts.element.addClass("select2-offscreen");
|
2535 |
-
|
2536 |
-
// set the placeholder if necessary
|
2537 |
-
this.clearSearch();
|
2538 |
-
},
|
2539 |
-
|
2540 |
-
// multi
|
2541 |
-
enableInterface: function() {
|
2542 |
-
if (this.parent.enableInterface.apply(this, arguments)) {
|
2543 |
-
this.search.prop("disabled", !this.isInterfaceEnabled());
|
2544 |
-
}
|
2545 |
-
},
|
2546 |
-
|
2547 |
-
// multi
|
2548 |
-
initSelection: function () {
|
2549 |
-
var data;
|
2550 |
-
if (this.opts.element.val() === "" && this.opts.element.text() === "") {
|
2551 |
-
this.updateSelection([]);
|
2552 |
-
this.close();
|
2553 |
-
// set the placeholder if necessary
|
2554 |
-
this.clearSearch();
|
2555 |
-
}
|
2556 |
-
if (this.select || this.opts.element.val() !== "") {
|
2557 |
-
var self = this;
|
2558 |
-
this.opts.initSelection.call(null, this.opts.element, function(data){
|
2559 |
-
if (data !== undefined && data !== null) {
|
2560 |
-
self.updateSelection(data);
|
2561 |
-
self.close();
|
2562 |
-
// set the placeholder if necessary
|
2563 |
-
self.clearSearch();
|
2564 |
-
}
|
2565 |
-
});
|
2566 |
-
}
|
2567 |
-
},
|
2568 |
-
|
2569 |
-
// multi
|
2570 |
-
clearSearch: function () {
|
2571 |
-
var placeholder = this.getPlaceholder(),
|
2572 |
-
maxWidth = this.getMaxSearchWidth();
|
2573 |
-
|
2574 |
-
if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
|
2575 |
-
this.search.val(placeholder).addClass("select2-default");
|
2576 |
-
// stretch the search box to full width of the container so as much of the placeholder is visible as possible
|
2577 |
-
// we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
|
2578 |
-
this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
|
2579 |
-
} else {
|
2580 |
-
this.search.val("").width(10);
|
2581 |
-
}
|
2582 |
-
},
|
2583 |
-
|
2584 |
-
// multi
|
2585 |
-
clearPlaceholder: function () {
|
2586 |
-
if (this.search.hasClass("select2-default")) {
|
2587 |
-
this.search.val("").removeClass("select2-default");
|
2588 |
-
}
|
2589 |
-
},
|
2590 |
-
|
2591 |
-
// multi
|
2592 |
-
opening: function () {
|
2593 |
-
this.clearPlaceholder(); // should be done before super so placeholder is not used to search
|
2594 |
-
this.resizeSearch();
|
2595 |
-
|
2596 |
-
this.parent.opening.apply(this, arguments);
|
2597 |
-
|
2598 |
-
this.focusSearch();
|
2599 |
-
|
2600 |
-
this.updateResults(true);
|
2601 |
-
this.search.focus();
|
2602 |
-
this.opts.element.trigger($.Event("select2-open"));
|
2603 |
-
},
|
2604 |
-
|
2605 |
-
// multi
|
2606 |
-
close: function () {
|
2607 |
-
if (!this.opened()) return;
|
2608 |
-
this.parent.close.apply(this, arguments);
|
2609 |
-
},
|
2610 |
-
|
2611 |
-
// multi
|
2612 |
-
focus: function () {
|
2613 |
-
this.close();
|
2614 |
-
this.search.focus();
|
2615 |
-
},
|
2616 |
-
|
2617 |
-
// multi
|
2618 |
-
isFocused: function () {
|
2619 |
-
return this.search.hasClass("select2-focused");
|
2620 |
-
},
|
2621 |
-
|
2622 |
-
// multi
|
2623 |
-
updateSelection: function (data) {
|
2624 |
-
var ids = [], filtered = [], self = this;
|
2625 |
-
|
2626 |
-
// filter out duplicates
|
2627 |
-
$(data).each(function () {
|
2628 |
-
if (indexOf(self.id(this), ids) < 0) {
|
2629 |
-
ids.push(self.id(this));
|
2630 |
-
filtered.push(this);
|
2631 |
-
}
|
2632 |
-
});
|
2633 |
-
data = filtered;
|
2634 |
-
|
2635 |
-
this.selection.find(".select2-search-choice").remove();
|
2636 |
-
$(data).each(function () {
|
2637 |
-
self.addSelectedChoice(this);
|
2638 |
-
});
|
2639 |
-
self.postprocessResults();
|
2640 |
-
},
|
2641 |
-
|
2642 |
-
// multi
|
2643 |
-
tokenize: function() {
|
2644 |
-
var input = this.search.val();
|
2645 |
-
input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
|
2646 |
-
if (input != null && input != undefined) {
|
2647 |
-
this.search.val(input);
|
2648 |
-
if (input.length > 0) {
|
2649 |
-
this.open();
|
2650 |
-
}
|
2651 |
-
}
|
2652 |
-
|
2653 |
-
},
|
2654 |
-
|
2655 |
-
// multi
|
2656 |
-
onSelect: function (data, options) {
|
2657 |
-
|
2658 |
-
if (!this.triggerSelect(data)) { return; }
|
2659 |
-
|
2660 |
-
this.addSelectedChoice(data);
|
2661 |
-
|
2662 |
-
this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
|
2663 |
-
|
2664 |
-
if (this.select || !this.opts.closeOnSelect) this.postprocessResults();
|
2665 |
-
|
2666 |
-
if (this.opts.closeOnSelect) {
|
2667 |
-
this.close();
|
2668 |
-
this.search.width(10);
|
2669 |
-
} else {
|
2670 |
-
if (this.countSelectableResults()>0) {
|
2671 |
-
this.search.width(10);
|
2672 |
-
this.resizeSearch();
|
2673 |
-
if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
|
2674 |
-
// if we reached max selection size repaint the results so choices
|
2675 |
-
// are replaced with the max selection reached message
|
2676 |
-
this.updateResults(true);
|
2677 |
-
}
|
2678 |
-
this.positionDropdown();
|
2679 |
-
} else {
|
2680 |
-
// if nothing left to select close
|
2681 |
-
this.close();
|
2682 |
-
this.search.width(10);
|
2683 |
-
}
|
2684 |
-
}
|
2685 |
-
|
2686 |
-
// since its not possible to select an element that has already been
|
2687 |
-
// added we do not need to check if this is a new element before firing change
|
2688 |
-
this.triggerChange({ added: data });
|
2689 |
-
|
2690 |
-
if (!options || !options.noFocus)
|
2691 |
-
this.focusSearch();
|
2692 |
-
},
|
2693 |
-
|
2694 |
-
// multi
|
2695 |
-
cancel: function () {
|
2696 |
-
this.close();
|
2697 |
-
this.focusSearch();
|
2698 |
-
},
|
2699 |
-
|
2700 |
-
addSelectedChoice: function (data) {
|
2701 |
-
var enableChoice = !data.locked,
|
2702 |
-
enabledItem = $(
|
2703 |
-
"<li class='select2-search-choice'>" +
|
2704 |
-
" <div></div>" +
|
2705 |
-
" <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" +
|
2706 |
-
"</li>"),
|
2707 |
-
disabledItem = $(
|
2708 |
-
"<li class='select2-search-choice select2-locked'>" +
|
2709 |
-
"<div></div>" +
|
2710 |
-
"</li>");
|
2711 |
-
var choice = enableChoice ? enabledItem : disabledItem,
|
2712 |
-
id = this.id(data),
|
2713 |
-
val = this.getVal(),
|
2714 |
-
formatted,
|
2715 |
-
cssClass;
|
2716 |
-
|
2717 |
-
formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
|
2718 |
-
if (formatted != undefined) {
|
2719 |
-
choice.find("div").replaceWith("<div>"+formatted+"</div>");
|
2720 |
-
}
|
2721 |
-
cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
|
2722 |
-
if (cssClass != undefined) {
|
2723 |
-
choice.addClass(cssClass);
|
2724 |
-
}
|
2725 |
-
|
2726 |
-
if(enableChoice){
|
2727 |
-
choice.find(".select2-search-choice-close")
|
2728 |
-
.on("mousedown", killEvent)
|
2729 |
-
.on("click dblclick", this.bind(function (e) {
|
2730 |
-
if (!this.isInterfaceEnabled()) return;
|
2731 |
-
|
2732 |
-
$(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
|
2733 |
-
this.unselect($(e.target));
|
2734 |
-
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
2735 |
-
this.close();
|
2736 |
-
this.focusSearch();
|
2737 |
-
})).dequeue();
|
2738 |
-
killEvent(e);
|
2739 |
-
})).on("focus", this.bind(function () {
|
2740 |
-
if (!this.isInterfaceEnabled()) return;
|
2741 |
-
this.container.addClass("select2-container-active");
|
2742 |
-
this.dropdown.addClass("select2-drop-active");
|
2743 |
-
}));
|
2744 |
-
}
|
2745 |
-
|
2746 |
-
choice.data("select2-data", data);
|
2747 |
-
choice.insertBefore(this.searchContainer);
|
2748 |
-
|
2749 |
-
val.push(id);
|
2750 |
-
this.setVal(val);
|
2751 |
-
},
|
2752 |
-
|
2753 |
-
// multi
|
2754 |
-
unselect: function (selected) {
|
2755 |
-
var val = this.getVal(),
|
2756 |
-
data,
|
2757 |
-
index;
|
2758 |
-
|
2759 |
-
selected = selected.closest(".select2-search-choice");
|
2760 |
-
|
2761 |
-
if (selected.length === 0) {
|
2762 |
-
throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
|
2763 |
-
}
|
2764 |
-
|
2765 |
-
data = selected.data("select2-data");
|
2766 |
-
|
2767 |
-
if (!data) {
|
2768 |
-
// prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
|
2769 |
-
// and invoked on an element already removed
|
2770 |
-
return;
|
2771 |
-
}
|
2772 |
-
|
2773 |
-
index = indexOf(this.id(data), val);
|
2774 |
-
|
2775 |
-
if (index >= 0) {
|
2776 |
-
val.splice(index, 1);
|
2777 |
-
this.setVal(val);
|
2778 |
-
if (this.select) this.postprocessResults();
|
2779 |
-
}
|
2780 |
-
selected.remove();
|
2781 |
-
|
2782 |
-
this.opts.element.trigger({ type: "removed", val: this.id(data), choice: data });
|
2783 |
-
this.triggerChange({ removed: data });
|
2784 |
-
},
|
2785 |
-
|
2786 |
-
// multi
|
2787 |
-
postprocessResults: function (data, initial, noHighlightUpdate) {
|
2788 |
-
var val = this.getVal(),
|
2789 |
-
choices = this.results.find(".select2-result"),
|
2790 |
-
compound = this.results.find(".select2-result-with-children"),
|
2791 |
-
self = this;
|
2792 |
-
|
2793 |
-
choices.each2(function (i, choice) {
|
2794 |
-
var id = self.id(choice.data("select2-data"));
|
2795 |
-
if (indexOf(id, val) >= 0) {
|
2796 |
-
choice.addClass("select2-selected");
|
2797 |
-
// mark all children of the selected parent as selected
|
2798 |
-
choice.find(".select2-result-selectable").addClass("select2-selected");
|
2799 |
-
}
|
2800 |
-
});
|
2801 |
-
|
2802 |
-
compound.each2(function(i, choice) {
|
2803 |
-
// hide an optgroup if it doesnt have any selectable children
|
2804 |
-
if (!choice.is('.select2-result-selectable')
|
2805 |
-
&& choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
|
2806 |
-
choice.addClass("select2-selected");
|
2807 |
-
}
|
2808 |
-
});
|
2809 |
-
|
2810 |
-
if (this.highlight() == -1 && noHighlightUpdate !== false){
|
2811 |
-
self.highlight(0);
|
2812 |
-
}
|
2813 |
-
|
2814 |
-
//If all results are chosen render formatNoMAtches
|
2815 |
-
if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
|
2816 |
-
if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
|
2817 |
-
if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
|
2818 |
-
this.results.append("<li class='select2-no-results'>" + self.opts.formatNoMatches(self.search.val()) + "</li>");
|
2819 |
-
}
|
2820 |
-
}
|
2821 |
-
}
|
2822 |
-
|
2823 |
-
},
|
2824 |
-
|
2825 |
-
// multi
|
2826 |
-
getMaxSearchWidth: function() {
|
2827 |
-
return this.selection.width() - getSideBorderPadding(this.search);
|
2828 |
-
},
|
2829 |
-
|
2830 |
-
// multi
|
2831 |
-
resizeSearch: function () {
|
2832 |
-
var minimumWidth, left, maxWidth, containerLeft, searchWidth,
|
2833 |
-
sideBorderPadding = getSideBorderPadding(this.search);
|
2834 |
-
|
2835 |
-
minimumWidth = measureTextWidth(this.search) + 10;
|
2836 |
-
|
2837 |
-
left = this.search.offset().left;
|
2838 |
-
|
2839 |
-
maxWidth = this.selection.width();
|
2840 |
-
containerLeft = this.selection.offset().left;
|
2841 |
-
|
2842 |
-
searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
|
2843 |
-
|
2844 |
-
if (searchWidth < minimumWidth) {
|
2845 |
-
searchWidth = maxWidth - sideBorderPadding;
|
2846 |
-
}
|
2847 |
-
|
2848 |
-
if (searchWidth < 40) {
|
2849 |
-
searchWidth = maxWidth - sideBorderPadding;
|
2850 |
-
}
|
2851 |
-
|
2852 |
-
if (searchWidth <= 0) {
|
2853 |
-
searchWidth = minimumWidth;
|
2854 |
-
}
|
2855 |
-
|
2856 |
-
this.search.width(searchWidth);
|
2857 |
-
},
|
2858 |
-
|
2859 |
-
// multi
|
2860 |
-
getVal: function () {
|
2861 |
-
var val;
|
2862 |
-
if (this.select) {
|
2863 |
-
val = this.select.val();
|
2864 |
-
return val === null ? [] : val;
|
2865 |
-
} else {
|
2866 |
-
val = this.opts.element.val();
|
2867 |
-
return splitVal(val, this.opts.separator);
|
2868 |
-
}
|
2869 |
-
},
|
2870 |
-
|
2871 |
-
// multi
|
2872 |
-
setVal: function (val) {
|
2873 |
-
var unique;
|
2874 |
-
if (this.select) {
|
2875 |
-
this.select.val(val);
|
2876 |
-
} else {
|
2877 |
-
unique = [];
|
2878 |
-
// filter out duplicates
|
2879 |
-
$(val).each(function () {
|
2880 |
-
if (indexOf(this, unique) < 0) unique.push(this);
|
2881 |
-
});
|
2882 |
-
this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
|
2883 |
-
}
|
2884 |
-
},
|
2885 |
-
|
2886 |
-
// multi
|
2887 |
-
buildChangeDetails: function (old, current) {
|
2888 |
-
var current = current.slice(0),
|
2889 |
-
old = old.slice(0);
|
2890 |
-
|
2891 |
-
// remove intersection from each array
|
2892 |
-
for (var i = 0; i < current.length; i++) {
|
2893 |
-
for (var j = 0; j < old.length; j++) {
|
2894 |
-
if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
|
2895 |
-
current.splice(i, 1);
|
2896 |
-
i--;
|
2897 |
-
old.splice(j, 1);
|
2898 |
-
j--;
|
2899 |
-
}
|
2900 |
-
}
|
2901 |
-
}
|
2902 |
-
|
2903 |
-
return {added: current, removed: old};
|
2904 |
-
},
|
2905 |
-
|
2906 |
-
|
2907 |
-
// multi
|
2908 |
-
val: function (val, triggerChange) {
|
2909 |
-
var oldData, self=this, changeDetails;
|
2910 |
-
|
2911 |
-
if (arguments.length === 0) {
|
2912 |
-
return this.getVal();
|
2913 |
-
}
|
2914 |
-
|
2915 |
-
oldData=this.data();
|
2916 |
-
if (!oldData.length) oldData=[];
|
2917 |
-
|
2918 |
-
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
2919 |
-
if (!val && val !== 0) {
|
2920 |
-
this.opts.element.val("");
|
2921 |
-
this.updateSelection([]);
|
2922 |
-
this.clearSearch();
|
2923 |
-
if (triggerChange) {
|
2924 |
-
this.triggerChange({added: this.data(), removed: oldData});
|
2925 |
-
}
|
2926 |
-
return;
|
2927 |
-
}
|
2928 |
-
|
2929 |
-
// val is a list of ids
|
2930 |
-
this.setVal(val);
|
2931 |
-
|
2932 |
-
if (this.select) {
|
2933 |
-
this.opts.initSelection(this.select, this.bind(this.updateSelection));
|
2934 |
-
if (triggerChange) {
|
2935 |
-
this.triggerChange(this.buildChangeDetails(oldData, this.data()));
|
2936 |
-
}
|
2937 |
-
} else {
|
2938 |
-
if (this.opts.initSelection === undefined) {
|
2939 |
-
throw new Error("val() cannot be called if initSelection() is not defined");
|
2940 |
-
}
|
2941 |
-
|
2942 |
-
this.opts.initSelection(this.opts.element, function(data){
|
2943 |
-
var ids=$.map(data, self.id);
|
2944 |
-
self.setVal(ids);
|
2945 |
-
self.updateSelection(data);
|
2946 |
-
self.clearSearch();
|
2947 |
-
if (triggerChange) {
|
2948 |
-
self.triggerChange(this.buildChangeDetails(oldData, this.data()));
|
2949 |
-
}
|
2950 |
-
});
|
2951 |
-
}
|
2952 |
-
this.clearSearch();
|
2953 |
-
},
|
2954 |
-
|
2955 |
-
// multi
|
2956 |
-
onSortStart: function() {
|
2957 |
-
if (this.select) {
|
2958 |
-
throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
|
2959 |
-
}
|
2960 |
-
|
2961 |
-
// collapse search field into 0 width so its container can be collapsed as well
|
2962 |
-
this.search.width(0);
|
2963 |
-
// hide the container
|
2964 |
-
this.searchContainer.hide();
|
2965 |
-
},
|
2966 |
-
|
2967 |
-
// multi
|
2968 |
-
onSortEnd:function() {
|
2969 |
-
|
2970 |
-
var val=[], self=this;
|
2971 |
-
|
2972 |
-
// show search and move it to the end of the list
|
2973 |
-
this.searchContainer.show();
|
2974 |
-
// make sure the search container is the last item in the list
|
2975 |
-
this.searchContainer.appendTo(this.searchContainer.parent());
|
2976 |
-
// since we collapsed the width in dragStarted, we resize it here
|
2977 |
-
this.resizeSearch();
|
2978 |
-
|
2979 |
-
// update selection
|
2980 |
-
this.selection.find(".select2-search-choice").each(function() {
|
2981 |
-
val.push(self.opts.id($(this).data("select2-data")));
|
2982 |
-
});
|
2983 |
-
this.setVal(val);
|
2984 |
-
this.triggerChange();
|
2985 |
-
},
|
2986 |
-
|
2987 |
-
// multi
|
2988 |
-
data: function(values, triggerChange) {
|
2989 |
-
var self=this, ids, old;
|
2990 |
-
if (arguments.length === 0) {
|
2991 |
-
return this.selection
|
2992 |
-
.find(".select2-search-choice")
|
2993 |
-
.map(function() { return $(this).data("select2-data"); })
|
2994 |
-
.get();
|
2995 |
-
} else {
|
2996 |
-
old = this.data();
|
2997 |
-
if (!values) { values = []; }
|
2998 |
-
ids = $.map(values, function(e) { return self.opts.id(e); });
|
2999 |
-
this.setVal(ids);
|
3000 |
-
this.updateSelection(values);
|
3001 |
-
this.clearSearch();
|
3002 |
-
if (triggerChange) {
|
3003 |
-
this.triggerChange(this.buildChangeDetails(old, this.data()));
|
3004 |
-
}
|
3005 |
-
}
|
3006 |
-
}
|
3007 |
-
});
|
3008 |
-
|
3009 |
-
$.fn.select2 = function () {
|
3010 |
-
|
3011 |
-
var args = Array.prototype.slice.call(arguments, 0),
|
3012 |
-
opts,
|
3013 |
-
select2,
|
3014 |
-
method, value, multiple,
|
3015 |
-
allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "readonly", "positionDropdown", "data", "search"],
|
3016 |
-
valueMethods = ["val", "opened", "isFocused", "container", "data"],
|
3017 |
-
methodsMap = { search: "externalSearch" };
|
3018 |
-
|
3019 |
-
this.each(function () {
|
3020 |
-
if (args.length === 0 || typeof(args[0]) === "object") {
|
3021 |
-
opts = args.length === 0 ? {} : $.extend({}, args[0]);
|
3022 |
-
opts.element = $(this);
|
3023 |
-
|
3024 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
3025 |
-
multiple = opts.element.prop("multiple");
|
3026 |
-
} else {
|
3027 |
-
multiple = opts.multiple || false;
|
3028 |
-
if ("tags" in opts) {opts.multiple = multiple = true;}
|
3029 |
-
}
|
3030 |
-
|
3031 |
-
select2 = multiple ? new MultiSelect2() : new SingleSelect2();
|
3032 |
-
select2.init(opts);
|
3033 |
-
} else if (typeof(args[0]) === "string") {
|
3034 |
-
|
3035 |
-
if (indexOf(args[0], allowedMethods) < 0) {
|
3036 |
-
throw "Unknown method: " + args[0];
|
3037 |
-
}
|
3038 |
-
|
3039 |
-
value = undefined;
|
3040 |
-
select2 = $(this).data("select2");
|
3041 |
-
if (select2 === undefined) return;
|
3042 |
-
|
3043 |
-
method=args[0];
|
3044 |
-
|
3045 |
-
if (method === "container") {
|
3046 |
-
value = select2.container;
|
3047 |
-
} else if (method === "dropdown") {
|
3048 |
-
value = select2.dropdown;
|
3049 |
-
} else {
|
3050 |
-
if (methodsMap[method]) method = methodsMap[method];
|
3051 |
-
|
3052 |
-
value = select2[method].apply(select2, args.slice(1));
|
3053 |
-
}
|
3054 |
-
if (indexOf(args[0], valueMethods) >= 0) {
|
3055 |
-
return false;
|
3056 |
-
}
|
3057 |
-
} else {
|
3058 |
-
throw "Invalid arguments to select2 plugin: " + args;
|
3059 |
-
}
|
3060 |
-
});
|
3061 |
-
return (value === undefined) ? this : value;
|
3062 |
-
};
|
3063 |
-
|
3064 |
-
// plugin defaults, accessible to users
|
3065 |
-
$.fn.select2.defaults = {
|
3066 |
-
width: "copy",
|
3067 |
-
loadMorePadding: 0,
|
3068 |
-
closeOnSelect: true,
|
3069 |
-
openOnEnter: true,
|
3070 |
-
containerCss: {},
|
3071 |
-
dropdownCss: {},
|
3072 |
-
containerCssClass: "",
|
3073 |
-
dropdownCssClass: "",
|
3074 |
-
formatResult: function(result, container, query, escapeMarkup) {
|
3075 |
-
var markup=[];
|
3076 |
-
markMatch(result.text, query.term, markup, escapeMarkup);
|
3077 |
-
return markup.join("");
|
3078 |
-
},
|
3079 |
-
formatSelection: function (data, container, escapeMarkup) {
|
3080 |
-
return data ? escapeMarkup(data.text) : undefined;
|
3081 |
-
},
|
3082 |
-
sortResults: function (results, container, query) {
|
3083 |
-
return results;
|
3084 |
-
},
|
3085 |
-
formatResultCssClass: function(data) {return undefined;},
|
3086 |
-
formatSelectionCssClass: function(data, container) {return undefined;},
|
3087 |
-
formatNoMatches: function () { return "No matches found"; },
|
3088 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1? "" : "s"); },
|
3089 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1? "" : "s"); },
|
3090 |
-
formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
|
3091 |
-
formatLoadMore: function (pageNumber) { return "Loading more results..."; },
|
3092 |
-
formatSearching: function () { return "Searching..."; },
|
3093 |
-
minimumResultsForSearch: 0,
|
3094 |
-
minimumInputLength: 0,
|
3095 |
-
maximumInputLength: null,
|
3096 |
-
maximumSelectionSize: 0,
|
3097 |
-
id: function (e) { return e.id; },
|
3098 |
-
matcher: function(term, text) {
|
3099 |
-
return (''+text).toUpperCase().indexOf((''+term).toUpperCase()) >= 0;
|
3100 |
-
},
|
3101 |
-
separator: ",",
|
3102 |
-
tokenSeparators: [],
|
3103 |
-
tokenizer: defaultTokenizer,
|
3104 |
-
escapeMarkup: defaultEscapeMarkup,
|
3105 |
-
blurOnChange: false,
|
3106 |
-
selectOnBlur: false,
|
3107 |
-
adaptContainerCssClass: function(c) { return c; },
|
3108 |
-
adaptDropdownCssClass: function(c) { return null; }
|
3109 |
-
};
|
3110 |
-
|
3111 |
-
$.fn.select2.ajaxDefaults = {
|
3112 |
-
transport: $.ajax,
|
3113 |
-
params: {
|
3114 |
-
type: "GET",
|
3115 |
-
cache: false,
|
3116 |
-
dataType: "json"
|
3117 |
-
}
|
3118 |
-
};
|
3119 |
-
|
3120 |
-
// exports
|
3121 |
-
window.Select2 = {
|
3122 |
-
query: {
|
3123 |
-
ajax: ajax,
|
3124 |
-
local: local,
|
3125 |
-
tags: tags
|
3126 |
-
}, util: {
|
3127 |
-
debounce: debounce,
|
3128 |
-
markMatch: markMatch,
|
3129 |
-
escapeMarkup: defaultEscapeMarkup
|
3130 |
-
}, "class": {
|
3131 |
-
"abstract": AbstractSelect2,
|
3132 |
-
"single": SingleSelect2,
|
3133 |
-
"multi": MultiSelect2
|
3134 |
-
}
|
3135 |
-
};
|
3136 |
-
|
3137 |
-
}(jQuery));
|
1 |
+
/*
|
2 |
+
Copyright 2012 Igor Vaynberg
|
3 |
+
|
4 |
+
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
5 |
+
|
6 |
+
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
+
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
+
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
+
License or the GPL License.
|
10 |
+
|
11 |
+
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
+
|
13 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
+
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
+
|
16 |
+
Unless required by applicable law or agreed to in writing, software distributed under the
|
17 |
+
Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
18 |
+
CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
|
19 |
+
the specific language governing permissions and limitations under the Apache License and the GPL License.
|
20 |
+
*/
|
21 |
+
(function ($) {
|
22 |
+
if(typeof $.fn.each2 == "undefined") {
|
23 |
+
$.fn.extend({
|
24 |
+
/*
|
25 |
+
* 4-10 times faster .each replacement
|
26 |
+
* use it carefully, as it overrides jQuery context of element on each iteration
|
27 |
+
*/
|
28 |
+
each2 : function (c) {
|
29 |
+
var j = $([0]), i = -1, l = this.length;
|
30 |
+
while (
|
31 |
+
++i < l
|
32 |
+
&& (j.context = j[0] = this[i])
|
33 |
+
&& c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
|
34 |
+
);
|
35 |
+
return this;
|
36 |
+
}
|
37 |
+
});
|
38 |
+
}
|
39 |
+
})(jQuery);
|
40 |
+
|
41 |
+
(function ($, undefined) {
|
42 |
+
"use strict";
|
43 |
+
/*global document, window, jQuery, console */
|
44 |
+
|
45 |
+
if (window.Select2 !== undefined) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
|
49 |
+
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
|
50 |
+
lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
|
51 |
+
|
52 |
+
KEY = {
|
53 |
+
TAB: 9,
|
54 |
+
ENTER: 13,
|
55 |
+
ESC: 27,
|
56 |
+
SPACE: 32,
|
57 |
+
LEFT: 37,
|
58 |
+
UP: 38,
|
59 |
+
RIGHT: 39,
|
60 |
+
DOWN: 40,
|
61 |
+
SHIFT: 16,
|
62 |
+
CTRL: 17,
|
63 |
+
ALT: 18,
|
64 |
+
PAGE_UP: 33,
|
65 |
+
PAGE_DOWN: 34,
|
66 |
+
HOME: 36,
|
67 |
+
END: 35,
|
68 |
+
BACKSPACE: 8,
|
69 |
+
DELETE: 46,
|
70 |
+
isArrow: function (k) {
|
71 |
+
k = k.which ? k.which : k;
|
72 |
+
switch (k) {
|
73 |
+
case KEY.LEFT:
|
74 |
+
case KEY.RIGHT:
|
75 |
+
case KEY.UP:
|
76 |
+
case KEY.DOWN:
|
77 |
+
return true;
|
78 |
+
}
|
79 |
+
return false;
|
80 |
+
},
|
81 |
+
isControl: function (e) {
|
82 |
+
var k = e.which;
|
83 |
+
switch (k) {
|
84 |
+
case KEY.SHIFT:
|
85 |
+
case KEY.CTRL:
|
86 |
+
case KEY.ALT:
|
87 |
+
return true;
|
88 |
+
}
|
89 |
+
|
90 |
+
if (e.metaKey) return true;
|
91 |
+
|
92 |
+
return false;
|
93 |
+
},
|
94 |
+
isFunctionKey: function (k) {
|
95 |
+
k = k.which ? k.which : k;
|
96 |
+
return k >= 112 && k <= 123;
|
97 |
+
}
|
98 |
+
},
|
99 |
+
MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>";
|
100 |
+
|
101 |
+
$document = $(document);
|
102 |
+
|
103 |
+
nextUid=(function() { var counter=1; return function() { return counter++; }; }());
|
104 |
+
|
105 |
+
function indexOf(value, array) {
|
106 |
+
var i = 0, l = array.length;
|
107 |
+
for (; i < l; i = i + 1) {
|
108 |
+
if (equal(value, array[i])) return i;
|
109 |
+
}
|
110 |
+
return -1;
|
111 |
+
}
|
112 |
+
|
113 |
+
function measureScrollbar () {
|
114 |
+
var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
|
115 |
+
$template.appendTo('body');
|
116 |
+
|
117 |
+
var dim = {
|
118 |
+
width: $template.width() - $template[0].clientWidth,
|
119 |
+
height: $template.height() - $template[0].clientHeight
|
120 |
+
};
|
121 |
+
$template.remove();
|
122 |
+
|
123 |
+
return dim;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Compares equality of a and b
|
128 |
+
* @param a
|
129 |
+
* @param b
|
130 |
+
*/
|
131 |
+
function equal(a, b) {
|
132 |
+
if (a === b) return true;
|
133 |
+
if (a === undefined || b === undefined) return false;
|
134 |
+
if (a === null || b === null) return false;
|
135 |
+
// Check whether 'a' or 'b' is a string (primitive or object).
|
136 |
+
// The concatenation of an empty string (+'') converts its argument to a string's primitive.
|
137 |
+
if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
|
138 |
+
if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
|
139 |
+
return false;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
|
144 |
+
* strings
|
145 |
+
* @param string
|
146 |
+
* @param separator
|
147 |
+
*/
|
148 |
+
function splitVal(string, separator) {
|
149 |
+
var val, i, l;
|
150 |
+
if (string === null || string.length < 1) return [];
|
151 |
+
val = string.split(separator);
|
152 |
+
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
|
153 |
+
return val;
|
154 |
+
}
|
155 |
+
|
156 |
+
function getSideBorderPadding(element) {
|
157 |
+
return element.outerWidth(false) - element.width();
|
158 |
+
}
|
159 |
+
|
160 |
+
function installKeyUpChangeEvent(element) {
|
161 |
+
var key="keyup-change-value";
|
162 |
+
element.on("keydown", function () {
|
163 |
+
if ($.data(element, key) === undefined) {
|
164 |
+
$.data(element, key, element.val());
|
165 |
+
}
|
166 |
+
});
|
167 |
+
element.on("keyup", function () {
|
168 |
+
var val= $.data(element, key);
|
169 |
+
if (val !== undefined && element.val() !== val) {
|
170 |
+
$.removeData(element, key);
|
171 |
+
element.trigger("keyup-change");
|
172 |
+
}
|
173 |
+
});
|
174 |
+
}
|
175 |
+
|
176 |
+
$document.on("mousemove", function (e) {
|
177 |
+
lastMousePosition.x = e.pageX;
|
178 |
+
lastMousePosition.y = e.pageY;
|
179 |
+
});
|
180 |
+
|
181 |
+
/**
|
182 |
+
* filters mouse events so an event is fired only if the mouse moved.
|
183 |
+
*
|
184 |
+
* filters out mouse events that occur when mouse is stationary but
|
185 |
+
* the elements under the pointer are scrolled.
|
186 |
+
*/
|
187 |
+
function installFilteredMouseMove(element) {
|
188 |
+
element.on("mousemove", function (e) {
|
189 |
+
var lastpos = lastMousePosition;
|
190 |
+
if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
|
191 |
+
$(e.target).trigger("mousemove-filtered", e);
|
192 |
+
}
|
193 |
+
});
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
|
198 |
+
* within the last quietMillis milliseconds.
|
199 |
+
*
|
200 |
+
* @param quietMillis number of milliseconds to wait before invoking fn
|
201 |
+
* @param fn function to be debounced
|
202 |
+
* @param ctx object to be used as this reference within fn
|
203 |
+
* @return debounced version of fn
|
204 |
+
*/
|
205 |
+
function debounce(quietMillis, fn, ctx) {
|
206 |
+
ctx = ctx || undefined;
|
207 |
+
var timeout;
|
208 |
+
return function () {
|
209 |
+
var args = arguments;
|
210 |
+
window.clearTimeout(timeout);
|
211 |
+
timeout = window.setTimeout(function() {
|
212 |
+
fn.apply(ctx, args);
|
213 |
+
}, quietMillis);
|
214 |
+
};
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* A simple implementation of a thunk
|
219 |
+
* @param formula function used to lazily initialize the thunk
|
220 |
+
* @return {Function}
|
221 |
+
*/
|
222 |
+
function thunk(formula) {
|
223 |
+
var evaluated = false,
|
224 |
+
value;
|
225 |
+
return function() {
|
226 |
+
if (evaluated === false) { value = formula(); evaluated = true; }
|
227 |
+
return value;
|
228 |
+
};
|
229 |
+
};
|
230 |
+
|
231 |
+
function installDebouncedScroll(threshold, element) {
|
232 |
+
var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
|
233 |
+
element.on("scroll", function (e) {
|
234 |
+
if (indexOf(e.target, element.get()) >= 0) notify(e);
|
235 |
+
});
|
236 |
+
}
|
237 |
+
|
238 |
+
function focus($el) {
|
239 |
+
if ($el[0] === document.activeElement) return;
|
240 |
+
|
241 |
+
/* set the focus in a 0 timeout - that way the focus is set after the processing
|
242 |
+
of the current event has finished - which seems like the only reliable way
|
243 |
+
to set focus */
|
244 |
+
window.setTimeout(function() {
|
245 |
+
var el=$el[0], pos=$el.val().length, range;
|
246 |
+
|
247 |
+
$el.focus();
|
248 |
+
|
249 |
+
/* make sure el received focus so we do not error out when trying to manipulate the caret.
|
250 |
+
sometimes modals or others listeners may steal it after its set */
|
251 |
+
if ($el.is(":visible") && el === document.activeElement) {
|
252 |
+
|
253 |
+
/* after the focus is set move the caret to the end, necessary when we val()
|
254 |
+
just before setting focus */
|
255 |
+
if(el.setSelectionRange)
|
256 |
+
{
|
257 |
+
el.setSelectionRange(pos, pos);
|
258 |
+
}
|
259 |
+
else if (el.createTextRange) {
|
260 |
+
range = el.createTextRange();
|
261 |
+
range.collapse(false);
|
262 |
+
range.select();
|
263 |
+
}
|
264 |
+
}
|
265 |
+
}, 0);
|
266 |
+
}
|
267 |
+
|
268 |
+
function getCursorInfo(el) {
|
269 |
+
el = $(el)[0];
|
270 |
+
var offset = 0;
|
271 |
+
var length = 0;
|
272 |
+
if ('selectionStart' in el) {
|
273 |
+
offset = el.selectionStart;
|
274 |
+
length = el.selectionEnd - offset;
|
275 |
+
} else if ('selection' in document) {
|
276 |
+
el.focus();
|
277 |
+
var sel = document.selection.createRange();
|
278 |
+
length = document.selection.createRange().text.length;
|
279 |
+
sel.moveStart('character', -el.value.length);
|
280 |
+
offset = sel.text.length - length;
|
281 |
+
}
|
282 |
+
return { offset: offset, length: length };
|
283 |
+
}
|
284 |
+
|
285 |
+
function killEvent(event) {
|
286 |
+
event.preventDefault();
|
287 |
+
event.stopPropagation();
|
288 |
+
}
|
289 |
+
function killEventImmediately(event) {
|
290 |
+
event.preventDefault();
|
291 |
+
event.stopImmediatePropagation();
|
292 |
+
}
|
293 |
+
|
294 |
+
function measureTextWidth(e) {
|
295 |
+
if (!sizer){
|
296 |
+
var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
|
297 |
+
sizer = $(document.createElement("div")).css({
|
298 |
+
position: "absolute",
|
299 |
+
left: "-10000px",
|
300 |
+
top: "-10000px",
|
301 |
+
display: "none",
|
302 |
+
fontSize: style.fontSize,
|
303 |
+
fontFamily: style.fontFamily,
|
304 |
+
fontStyle: style.fontStyle,
|
305 |
+
fontWeight: style.fontWeight,
|
306 |
+
letterSpacing: style.letterSpacing,
|
307 |
+
textTransform: style.textTransform,
|
308 |
+
whiteSpace: "nowrap"
|
309 |
+
});
|
310 |
+
sizer.attr("class","select2-sizer");
|
311 |
+
$("body").append(sizer);
|
312 |
+
}
|
313 |
+
sizer.text(e.val());
|
314 |
+
return sizer.width();
|
315 |
+
}
|
316 |
+
|
317 |
+
function syncCssClasses(dest, src, adapter) {
|
318 |
+
var classes, replacements = [], adapted;
|
319 |
+
|
320 |
+
classes = dest.attr("class");
|
321 |
+
if (classes) {
|
322 |
+
classes = '' + classes; // for IE which returns object
|
323 |
+
$(classes.split(" ")).each2(function() {
|
324 |
+
if (this.indexOf("select2-") === 0) {
|
325 |
+
replacements.push(this);
|
326 |
+
}
|
327 |
+
});
|
328 |
+
}
|
329 |
+
classes = src.attr("class");
|
330 |
+
if (classes) {
|
331 |
+
classes = '' + classes; // for IE which returns object
|
332 |
+
$(classes.split(" ")).each2(function() {
|
333 |
+
if (this.indexOf("select2-") !== 0) {
|
334 |
+
adapted = adapter(this);
|
335 |
+
if (adapted) {
|
336 |
+
replacements.push(this);
|
337 |
+
}
|
338 |
+
}
|
339 |
+
});
|
340 |
+
}
|
341 |
+
dest.attr("class", replacements.join(" "));
|
342 |
+
}
|
343 |
+
|
344 |
+
|
345 |
+
function markMatch(text, term, markup, escapeMarkup) {
|
346 |
+
var match=text.toUpperCase().indexOf(term.toUpperCase()),
|
347 |
+
tl=term.length;
|
348 |
+
|
349 |
+
if (match<0) {
|
350 |
+
markup.push(escapeMarkup(text));
|
351 |
+
return;
|
352 |
+
}
|
353 |
+
|
354 |
+
markup.push(escapeMarkup(text.substring(0, match)));
|
355 |
+
markup.push("<span class='select2-match'>");
|
356 |
+
markup.push(escapeMarkup(text.substring(match, match + tl)));
|
357 |
+
markup.push("</span>");
|
358 |
+
markup.push(escapeMarkup(text.substring(match + tl, text.length)));
|
359 |
+
}
|
360 |
+
|
361 |
+
function defaultEscapeMarkup(markup) {
|
362 |
+
var replace_map = {
|
363 |
+
'\\': '\',
|
364 |
+
'&': '&',
|
365 |
+
'<': '<',
|
366 |
+
'>': '>',
|
367 |
+
'"': '"',
|
368 |
+
"'": ''',
|
369 |
+
"/": '/'
|
370 |
+
};
|
371 |
+
|
372 |
+
return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
|
373 |
+
return replace_map[match];
|
374 |
+
});
|
375 |
+
}
|
376 |
+
|
377 |
+
/**
|
378 |
+
* Produces an ajax-based query function
|
379 |
+
*
|
380 |
+
* @param options object containing configuration paramters
|
381 |
+
* @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
|
382 |
+
* @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
|
383 |
+
* @param options.url url for the data
|
384 |
+
* @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
|
385 |
+
* @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
|
386 |
+
* @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
|
387 |
+
* @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
|
388 |
+
* The expected format is an object containing the following keys:
|
389 |
+
* results array of objects that will be used as choices
|
390 |
+
* more (optional) boolean indicating whether there are more results available
|
391 |
+
* Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
|
392 |
+
*/
|
393 |
+
function ajax(options) {
|
394 |
+
var timeout, // current scheduled but not yet executed request
|
395 |
+
requestSequence = 0, // sequence used to drop out-of-order responses
|
396 |
+
handler = null,
|
397 |
+
quietMillis = options.quietMillis || 100,
|
398 |
+
ajaxUrl = options.url,
|
399 |
+
self = this;
|
400 |
+
|
401 |
+
return function (query) {
|
402 |
+
window.clearTimeout(timeout);
|
403 |
+
timeout = window.setTimeout(function () {
|
404 |
+
requestSequence += 1; // increment the sequence
|
405 |
+
var requestNumber = requestSequence, // this request's sequence number
|
406 |
+
data = options.data, // ajax data function
|
407 |
+
url = ajaxUrl, // ajax url string or function
|
408 |
+
transport = options.transport || $.fn.select2.ajaxDefaults.transport,
|
409 |
+
// deprecated - to be removed in 4.0 - use params instead
|
410 |
+
deprecated = {
|
411 |
+
type: options.type || 'GET', // set type of request (GET or POST)
|
412 |
+
cache: options.cache || false,
|
413 |
+
jsonpCallback: options.jsonpCallback||undefined,
|
414 |
+
dataType: options.dataType||"json"
|
415 |
+
},
|
416 |
+
params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
|
417 |
+
|
418 |
+
data = data ? data.call(self, query.term, query.page, query.context) : null;
|
419 |
+
url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
|
420 |
+
|
421 |
+
if (handler) { handler.abort(); }
|
422 |
+
|
423 |
+
if (options.params) {
|
424 |
+
if ($.isFunction(options.params)) {
|
425 |
+
$.extend(params, options.params.call(self));
|
426 |
+
} else {
|
427 |
+
$.extend(params, options.params);
|
428 |
+
}
|
429 |
+
}
|
430 |
+
|
431 |
+
$.extend(params, {
|
432 |
+
url: url,
|
433 |
+
dataType: options.dataType,
|
434 |
+
data: data,
|
435 |
+
success: function (data) {
|
436 |
+
if (requestNumber < requestSequence) {
|
437 |
+
return;
|
438 |
+
}
|
439 |
+
// TODO - replace query.page with query so users have access to term, page, etc.
|
440 |
+
var results = options.results(data, query.page);
|
441 |
+
query.callback(results);
|
442 |
+
}
|
443 |
+
});
|
444 |
+
handler = transport.call(self, params);
|
445 |
+
}, quietMillis);
|
446 |
+
};
|
447 |
+
}
|
448 |
+
|
449 |
+
/**
|
450 |
+
* Produces a query function that works with a local array
|
451 |
+
*
|
452 |
+
* @param options object containing configuration parameters. The options parameter can either be an array or an
|
453 |
+
* object.
|
454 |
+
*
|
455 |
+
* If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
|
456 |
+
*
|
457 |
+
* If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
|
458 |
+
* an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
|
459 |
+
* key can either be a String in which case it is expected that each element in the 'data' array has a key with the
|
460 |
+
* value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
|
461 |
+
* the text.
|
462 |
+
*/
|
463 |
+
function local(options) {
|
464 |
+
var data = options, // data elements
|
465 |
+
dataText,
|
466 |
+
tmp,
|
467 |
+
text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
|
468 |
+
|
469 |
+
if ($.isArray(data)) {
|
470 |
+
tmp = data;
|
471 |
+
data = { results: tmp };
|
472 |
+
}
|
473 |
+
|
474 |
+
if ($.isFunction(data) === false) {
|
475 |
+
tmp = data;
|
476 |
+
data = function() { return tmp; };
|
477 |
+
}
|
478 |
+
|
479 |
+
var dataItem = data();
|
480 |
+
if (dataItem.text) {
|
481 |
+
text = dataItem.text;
|
482 |
+
// if text is not a function we assume it to be a key name
|
483 |
+
if (!$.isFunction(text)) {
|
484 |
+
dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
|
485 |
+
text = function (item) { return item[dataText]; };
|
486 |
+
}
|
487 |
+
}
|
488 |
+
|
489 |
+
return function (query) {
|
490 |
+
var t = query.term, filtered = { results: [] }, process;
|
491 |
+
if (t === "") {
|
492 |
+
query.callback(data());
|
493 |
+
return;
|
494 |
+
}
|
495 |
+
|
496 |
+
process = function(datum, collection) {
|
497 |
+
var group, attr;
|
498 |
+
datum = datum[0];
|
499 |
+
if (datum.children) {
|
500 |
+
group = {};
|
501 |
+
for (attr in datum) {
|
502 |
+
if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
|
503 |
+
}
|
504 |
+
group.children=[];
|
505 |
+
$(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
|
506 |
+
if (group.children.length || query.matcher(t, text(group), datum)) {
|
507 |
+
collection.push(group);
|
508 |
+
}
|
509 |
+
} else {
|
510 |
+
if (query.matcher(t, text(datum), datum)) {
|
511 |
+
collection.push(datum);
|
512 |
+
}
|
513 |
+
}
|
514 |
+
};
|
515 |
+
|
516 |
+
$(data().results).each2(function(i, datum) { process(datum, filtered.results); });
|
517 |
+
query.callback(filtered);
|
518 |
+
};
|
519 |
+
}
|
520 |
+
|
521 |
+
// TODO javadoc
|
522 |
+
function tags(data) {
|
523 |
+
var isFunc = $.isFunction(data);
|
524 |
+
return function (query) {
|
525 |
+
var t = query.term, filtered = {results: []};
|
526 |
+
$(isFunc ? data() : data).each(function () {
|
527 |
+
var isObject = this.text !== undefined,
|
528 |
+
text = isObject ? this.text : this;
|
529 |
+
if (t === "" || query.matcher(t, text)) {
|
530 |
+
filtered.results.push(isObject ? this : {id: this, text: this});
|
531 |
+
}
|
532 |
+
});
|
533 |
+
query.callback(filtered);
|
534 |
+
};
|
535 |
+
}
|
536 |
+
|
537 |
+
/**
|
538 |
+
* Checks if the formatter function should be used.
|
539 |
+
*
|
540 |
+
* Throws an error if it is not a function. Returns true if it should be used,
|
541 |
+
* false if no formatting should be performed.
|
542 |
+
*
|
543 |
+
* @param formatter
|
544 |
+
*/
|
545 |
+
function checkFormatter(formatter, formatterName) {
|
546 |
+
if ($.isFunction(formatter)) return true;
|
547 |
+
if (!formatter) return false;
|
548 |
+
throw new Error(formatterName +" must be a function or a falsy value");
|
549 |
+
}
|
550 |
+
|
551 |
+
function evaluate(val) {
|
552 |
+
return $.isFunction(val) ? val() : val;
|
553 |
+
}
|
554 |
+
|
555 |
+
function countResults(results) {
|
556 |
+
var count = 0;
|
557 |
+
$.each(results, function(i, item) {
|
558 |
+
if (item.children) {
|
559 |
+
count += countResults(item.children);
|
560 |
+
} else {
|
561 |
+
count++;
|
562 |
+
}
|
563 |
+
});
|
564 |
+
return count;
|
565 |
+
}
|
566 |
+
|
567 |
+
/**
|
568 |
+
* Default tokenizer. This function uses breaks the input on substring match of any string from the
|
569 |
+
* opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
|
570 |
+
* two options have to be defined in order for the tokenizer to work.
|
571 |
+
*
|
572 |
+
* @param input text user has typed so far or pasted into the search field
|
573 |
+
* @param selection currently selected choices
|
574 |
+
* @param selectCallback function(choice) callback tho add the choice to selection
|
575 |
+
* @param opts select2's opts
|
576 |
+
* @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
|
577 |
+
*/
|
578 |
+
function defaultTokenizer(input, selection, selectCallback, opts) {
|
579 |
+
var original = input, // store the original so we can compare and know if we need to tell the search to update its text
|
580 |
+
dupe = false, // check for whether a token we extracted represents a duplicate selected choice
|
581 |
+
token, // token
|
582 |
+
index, // position at which the separator was found
|
583 |
+
i, l, // looping variables
|
584 |
+
separator; // the matched separator
|
585 |
+
|
586 |
+
if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
|
587 |
+
|
588 |
+
while (true) {
|
589 |
+
index = -1;
|
590 |
+
|
591 |
+
for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
|
592 |
+
separator = opts.tokenSeparators[i];
|
593 |
+
index = input.indexOf(separator);
|
594 |
+
if (index >= 0) break;
|
595 |
+
}
|
596 |
+
|
597 |
+
if (index < 0) break; // did not find any token separator in the input string, bail
|
598 |
+
|
599 |
+
token = input.substring(0, index);
|
600 |
+
input = input.substring(index + separator.length);
|
601 |
+
|
602 |
+
if (token.length > 0) {
|
603 |
+
token = opts.createSearchChoice.call(this, token, selection);
|
604 |
+
if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
|
605 |
+
dupe = false;
|
606 |
+
for (i = 0, l = selection.length; i < l; i++) {
|
607 |
+
if (equal(opts.id(token), opts.id(selection[i]))) {
|
608 |
+
dupe = true; break;
|
609 |
+
}
|
610 |
+
}
|
611 |
+
|
612 |
+
if (!dupe) selectCallback(token);
|
613 |
+
}
|
614 |
+
}
|
615 |
+
}
|
616 |
+
|
617 |
+
if (original!==input) return input;
|
618 |
+
}
|
619 |
+
|
620 |
+
/**
|
621 |
+
* Creates a new class
|
622 |
+
*
|
623 |
+
* @param superClass
|
624 |
+
* @param methods
|
625 |
+
*/
|
626 |
+
function clazz(SuperClass, methods) {
|
627 |
+
var constructor = function () {};
|
628 |
+
constructor.prototype = new SuperClass;
|
629 |
+
constructor.prototype.constructor = constructor;
|
630 |
+
constructor.prototype.parent = SuperClass.prototype;
|
631 |
+
constructor.prototype = $.extend(constructor.prototype, methods);
|
632 |
+
return constructor;
|
633 |
+
}
|
634 |
+
|
635 |
+
AbstractSelect2 = clazz(Object, {
|
636 |
+
|
637 |
+
// abstract
|
638 |
+
bind: function (func) {
|
639 |
+
var self = this;
|
640 |
+
return function () {
|
641 |
+
func.apply(self, arguments);
|
642 |
+
};
|
643 |
+
},
|
644 |
+
|
645 |
+
// abstract
|
646 |
+
init: function (opts) {
|
647 |
+
var results, search, resultsSelector = ".select2-results", disabled, readonly;
|
648 |
+
|
649 |
+
// prepare options
|
650 |
+
this.opts = opts = this.prepareOpts(opts);
|
651 |
+
|
652 |
+
this.id=opts.id;
|
653 |
+
|
654 |
+
// destroy if called on an existing component
|
655 |
+
if (opts.element.data("select2") !== undefined &&
|
656 |
+
opts.element.data("select2") !== null) {
|
657 |
+
opts.element.data("select2").destroy();
|
658 |
+
}
|
659 |
+
|
660 |
+
this.container = this.createContainer();
|
661 |
+
|
662 |
+
this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
|
663 |
+
this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
|
664 |
+
this.container.attr("id", this.containerId);
|
665 |
+
|
666 |
+
// cache the body so future lookups are cheap
|
667 |
+
this.body = thunk(function() { return opts.element.closest("body"); });
|
668 |
+
|
669 |
+
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
670 |
+
|
671 |
+
this.container.css(evaluate(opts.containerCss));
|
672 |
+
this.container.addClass(evaluate(opts.containerCssClass));
|
673 |
+
|
674 |
+
this.elementTabIndex = this.opts.element.attr("tabindex");
|
675 |
+
|
676 |
+
// swap container for the element
|
677 |
+
this.opts.element
|
678 |
+
.data("select2", this)
|
679 |
+
.attr("tabindex", "-1")
|
680 |
+
.before(this.container);
|
681 |
+
this.container.data("select2", this);
|
682 |
+
|
683 |
+
this.dropdown = this.container.find(".select2-drop");
|
684 |
+
this.dropdown.addClass(evaluate(opts.dropdownCssClass));
|
685 |
+
this.dropdown.data("select2", this);
|
686 |
+
|
687 |
+
this.results = results = this.container.find(resultsSelector);
|
688 |
+
this.search = search = this.container.find("input.select2-input");
|
689 |
+
|
690 |
+
this.resultsPage = 0;
|
691 |
+
this.context = null;
|
692 |
+
|
693 |
+
// initialize the container
|
694 |
+
this.initContainer();
|
695 |
+
|
696 |
+
installFilteredMouseMove(this.results);
|
697 |
+
this.dropdown.on("mousemove-filtered touchstart touchmove touchend", resultsSelector, this.bind(this.highlightUnderEvent));
|
698 |
+
|
699 |
+
installDebouncedScroll(80, this.results);
|
700 |
+
this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
|
701 |
+
|
702 |
+
// do not propagate change event from the search field out of the component
|
703 |
+
$(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
704 |
+
$(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
705 |
+
|
706 |
+
// if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
|
707 |
+
if ($.fn.mousewheel) {
|
708 |
+
results.mousewheel(function (e, delta, deltaX, deltaY) {
|
709 |
+
var top = results.scrollTop(), height;
|
710 |
+
if (deltaY > 0 && top - deltaY <= 0) {
|
711 |
+
results.scrollTop(0);
|
712 |
+
killEvent(e);
|
713 |
+
} else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
|
714 |
+
results.scrollTop(results.get(0).scrollHeight - results.height());
|
715 |
+
killEvent(e);
|
716 |
+
}
|
717 |
+
});
|
718 |
+
}
|
719 |
+
|
720 |
+
installKeyUpChangeEvent(search);
|
721 |
+
search.on("keyup-change input paste", this.bind(this.updateResults));
|
722 |
+
search.on("focus", function () { search.addClass("select2-focused"); });
|
723 |
+
search.on("blur", function () { search.removeClass("select2-focused");});
|
724 |
+
|
725 |
+
this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
|
726 |
+
if ($(e.target).closest(".select2-result-selectable").length > 0) {
|
727 |
+
this.highlightUnderEvent(e);
|
728 |
+
this.selectHighlighted(e);
|
729 |
+
}
|
730 |
+
}));
|
731 |
+
|
732 |
+
// trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
|
733 |
+
// for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
|
734 |
+
// dom it will trigger the popup close, which is not what we want
|
735 |
+
this.dropdown.on("click mouseup mousedown", function (e) { e.stopPropagation(); });
|
736 |
+
|
737 |
+
if ($.isFunction(this.opts.initSelection)) {
|
738 |
+
// initialize selection based on the current value of the source element
|
739 |
+
this.initSelection();
|
740 |
+
|
741 |
+
// if the user has provided a function that can set selection based on the value of the source element
|
742 |
+
// we monitor the change event on the element and trigger it, allowing for two way synchronization
|
743 |
+
this.monitorSource();
|
744 |
+
}
|
745 |
+
|
746 |
+
if (opts.maximumInputLength !== null) {
|
747 |
+
this.search.attr("maxlength", opts.maximumInputLength);
|
748 |
+
}
|
749 |
+
|
750 |
+
var disabled = opts.element.prop("disabled");
|
751 |
+
if (disabled === undefined) disabled = false;
|
752 |
+
this.enable(!disabled);
|
753 |
+
|
754 |
+
var readonly = opts.element.prop("readonly");
|
755 |
+
if (readonly === undefined) readonly = false;
|
756 |
+
this.readonly(readonly);
|
757 |
+
|
758 |
+
// Calculate size of scrollbar
|
759 |
+
scrollBarDimensions = scrollBarDimensions || measureScrollbar();
|
760 |
+
|
761 |
+
this.autofocus = opts.element.prop("autofocus")
|
762 |
+
opts.element.prop("autofocus", false);
|
763 |
+
if (this.autofocus) this.focus();
|
764 |
+
},
|
765 |
+
|
766 |
+
// abstract
|
767 |
+
destroy: function () {
|
768 |
+
var element=this.opts.element, select2 = element.data("select2");
|
769 |
+
|
770 |
+
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
|
771 |
+
|
772 |
+
if (select2 !== undefined) {
|
773 |
+
select2.container.remove();
|
774 |
+
select2.dropdown.remove();
|
775 |
+
element
|
776 |
+
.removeClass("select2-offscreen")
|
777 |
+
.removeData("select2")
|
778 |
+
.off(".select2")
|
779 |
+
.prop("autofocus", this.autofocus || false);
|
780 |
+
if (this.elementTabIndex) {
|
781 |
+
element.attr({tabindex: this.elementTabIndex});
|
782 |
+
} else {
|
783 |
+
element.removeAttr("tabindex");
|
784 |
+
}
|
785 |
+
element.show();
|
786 |
+
}
|
787 |
+
},
|
788 |
+
|
789 |
+
// abstract
|
790 |
+
optionToData: function(element) {
|
791 |
+
if (element.is("option")) {
|
792 |
+
return {
|
793 |
+
id:element.prop("value"),
|
794 |
+
text:element.text(),
|
795 |
+
element: element.get(),
|
796 |
+
css: element.attr("class"),
|
797 |
+
disabled: element.prop("disabled"),
|
798 |
+
locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
|
799 |
+
};
|
800 |
+
} else if (element.is("optgroup")) {
|
801 |
+
return {
|
802 |
+
text:element.attr("label"),
|
803 |
+
children:[],
|
804 |
+
element: element.get(),
|
805 |
+
css: element.attr("class")
|
806 |
+
};
|
807 |
+
}
|
808 |
+
},
|
809 |
+
|
810 |
+
// abstract
|
811 |
+
prepareOpts: function (opts) {
|
812 |
+
var element, select, idKey, ajaxUrl, self = this;
|
813 |
+
|
814 |
+
element = opts.element;
|
815 |
+
|
816 |
+
if (element.get(0).tagName.toLowerCase() === "select") {
|
817 |
+
this.select = select = opts.element;
|
818 |
+
}
|
819 |
+
|
820 |
+
if (select) {
|
821 |
+
// these options are not allowed when attached to a select because they are picked up off the element itself
|
822 |
+
$.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
|
823 |
+
if (this in opts) {
|
824 |
+
throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
|
825 |
+
}
|
826 |
+
});
|
827 |
+
}
|
828 |
+
|
829 |
+
opts = $.extend({}, {
|
830 |
+
populateResults: function(container, results, query) {
|
831 |
+
var populate, data, result, children, id=this.opts.id;
|
832 |
+
|
833 |
+
populate=function(results, container, depth) {
|
834 |
+
|
835 |
+
var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
|
836 |
+
|
837 |
+
results = opts.sortResults(results, container, query);
|
838 |
+
|
839 |
+
for (i = 0, l = results.length; i < l; i = i + 1) {
|
840 |
+
|
841 |
+
result=results[i];
|
842 |
+
|
843 |
+
disabled = (result.disabled === true);
|
844 |
+
selectable = (!disabled) && (id(result) !== undefined);
|
845 |
+
|
846 |
+
compound=result.children && result.children.length > 0;
|
847 |
+
|
848 |
+
node=$("<li></li>");
|
849 |
+
node.addClass("select2-results-dept-"+depth);
|
850 |
+
node.addClass("select2-result");
|
851 |
+
node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
|
852 |
+
if (disabled) { node.addClass("select2-disabled"); }
|
853 |
+
if (compound) { node.addClass("select2-result-with-children"); }
|
854 |
+
node.addClass(self.opts.formatResultCssClass(result));
|
855 |
+
|
856 |
+
label=$(document.createElement("div"));
|
857 |
+
label.addClass("select2-result-label");
|
858 |
+
|
859 |
+
formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
|
860 |
+
if (formatted!==undefined) {
|
861 |
+
label.html(formatted);
|
862 |
+
}
|
863 |
+
|
864 |
+
node.append(label);
|
865 |
+
|
866 |
+
if (compound) {
|
867 |
+
|
868 |
+
innerContainer=$("<ul></ul>");
|
869 |
+
innerContainer.addClass("select2-result-sub");
|
870 |
+
populate(result.children, innerContainer, depth+1);
|
871 |
+
node.append(innerContainer);
|
872 |
+
}
|
873 |
+
|
874 |
+
node.data("select2-data", result);
|
875 |
+
container.append(node);
|
876 |
+
}
|
877 |
+
};
|
878 |
+
|
879 |
+
populate(results, container, 0);
|
880 |
+
}
|
881 |
+
}, $.fn.select2.defaults, opts);
|
882 |
+
|
883 |
+
if (typeof(opts.id) !== "function") {
|
884 |
+
idKey = opts.id;
|
885 |
+
opts.id = function (e) { return e[idKey]; };
|
886 |
+
}
|
887 |
+
|
888 |
+
if ($.isArray(opts.element.data("select2Tags"))) {
|
889 |
+
if ("tags" in opts) {
|
890 |
+
throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
|
891 |
+
}
|
892 |
+
opts.tags=opts.element.data("select2Tags");
|
893 |
+
}
|
894 |
+
|
895 |
+
if (select) {
|
896 |
+
opts.query = this.bind(function (query) {
|
897 |
+
var data = { results: [], more: false },
|
898 |
+
term = query.term,
|
899 |
+
children, placeholderOption, process;
|
900 |
+
|
901 |
+
process=function(element, collection) {
|
902 |
+
var group;
|
903 |
+
if (element.is("option")) {
|
904 |
+
if (query.matcher(term, element.text(), element)) {
|
905 |
+
collection.push(self.optionToData(element));
|
906 |
+
}
|
907 |
+
} else if (element.is("optgroup")) {
|
908 |
+
group=self.optionToData(element);
|
909 |
+
element.children().each2(function(i, elm) { process(elm, group.children); });
|
910 |
+
if (group.children.length>0) {
|
911 |
+
collection.push(group);
|
912 |
+
}
|
913 |
+
}
|
914 |
+
};
|
915 |
+
|
916 |
+
children=element.children();
|
917 |
+
|
918 |
+
// ignore the placeholder option if there is one
|
919 |
+
if (this.getPlaceholder() !== undefined && children.length > 0) {
|
920 |
+
placeholderOption = this.getPlaceholderOption();
|
921 |
+
if (placeholderOption) {
|
922 |
+
children=children.not(placeholderOption);
|
923 |
+
}
|
924 |
+
}
|
925 |
+
|
926 |
+
children.each2(function(i, elm) { process(elm, data.results); });
|
927 |
+
|
928 |
+
query.callback(data);
|
929 |
+
});
|
930 |
+
// this is needed because inside val() we construct choices from options and there id is hardcoded
|
931 |
+
opts.id=function(e) { return e.id; };
|
932 |
+
opts.formatResultCssClass = function(data) { return data.css; };
|
933 |
+
} else {
|
934 |
+
if (!("query" in opts)) {
|
935 |
+
|
936 |
+
if ("ajax" in opts) {
|
937 |
+
ajaxUrl = opts.element.data("ajax-url");
|
938 |
+
if (ajaxUrl && ajaxUrl.length > 0) {
|
939 |
+
opts.ajax.url = ajaxUrl;
|
940 |
+
}
|
941 |
+
opts.query = ajax.call(opts.element, opts.ajax);
|
942 |
+
} else if ("data" in opts) {
|
943 |
+
opts.query = local(opts.data);
|
944 |
+
} else if ("tags" in opts) {
|
945 |
+
opts.query = tags(opts.tags);
|
946 |
+
if (opts.createSearchChoice === undefined) {
|
947 |
+
opts.createSearchChoice = function (term) { return {id: term, text: term}; };
|
948 |
+
}
|
949 |
+
if (opts.initSelection === undefined) {
|
950 |
+
opts.initSelection = function (element, callback) {
|
951 |
+
var data = [];
|
952 |
+
$(splitVal(element.val(), opts.separator)).each(function () {
|
953 |
+
var id = this, text = this, tags=opts.tags;
|
954 |
+
if ($.isFunction(tags)) tags=tags();
|
955 |
+
$(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } });
|
956 |
+
data.push({id: id, text: text});
|
957 |
+
});
|
958 |
+
|
959 |
+
callback(data);
|
960 |
+
};
|
961 |
+
}
|
962 |
+
}
|
963 |
+
}
|
964 |
+
}
|
965 |
+
if (typeof(opts.query) !== "function") {
|
966 |
+
throw "query function not defined for Select2 " + opts.element.attr("id");
|
967 |
+
}
|
968 |
+
|
969 |
+
return opts;
|
970 |
+
},
|
971 |
+
|
972 |
+
/**
|
973 |
+
* Monitor the original element for changes and update select2 accordingly
|
974 |
+
*/
|
975 |
+
// abstract
|
976 |
+
monitorSource: function () {
|
977 |
+
var el = this.opts.element, sync;
|
978 |
+
|
979 |
+
el.on("change.select2", this.bind(function (e) {
|
980 |
+
if (this.opts.element.data("select2-change-triggered") !== true) {
|
981 |
+
this.initSelection();
|
982 |
+
}
|
983 |
+
}));
|
984 |
+
|
985 |
+
sync = this.bind(function () {
|
986 |
+
|
987 |
+
var enabled, readonly, self = this;
|
988 |
+
|
989 |
+
// sync enabled state
|
990 |
+
var disabled = el.prop("disabled");
|
991 |
+
if (disabled === undefined) disabled = false;
|
992 |
+
this.enable(!disabled);
|
993 |
+
|
994 |
+
var readonly = el.prop("readonly");
|
995 |
+
if (readonly === undefined) readonly = false;
|
996 |
+
this.readonly(readonly);
|
997 |
+
|
998 |
+
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
999 |
+
this.container.addClass(evaluate(this.opts.containerCssClass));
|
1000 |
+
|
1001 |
+
syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
|
1002 |
+
this.dropdown.addClass(evaluate(this.opts.dropdownCssClass));
|
1003 |
+
|
1004 |
+
});
|
1005 |
+
|
1006 |
+
// mozilla and IE
|
1007 |
+
el.on("propertychange.select2 DOMAttrModified.select2", sync);
|
1008 |
+
|
1009 |
+
|
1010 |
+
// hold onto a reference of the callback to work around a chromium bug
|
1011 |
+
if (this.mutationCallback === undefined) {
|
1012 |
+
this.mutationCallback = function (mutations) {
|
1013 |
+
mutations.forEach(sync);
|
1014 |
+
}
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
// safari and chrome
|
1018 |
+
if (typeof WebKitMutationObserver !== "undefined") {
|
1019 |
+
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
|
1020 |
+
this.propertyObserver = new WebKitMutationObserver(this.mutationCallback);
|
1021 |
+
this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
|
1022 |
+
}
|
1023 |
+
},
|
1024 |
+
|
1025 |
+
// abstract
|
1026 |
+
triggerSelect: function(data) {
|
1027 |
+
var evt = $.Event("select2-selecting", { val: this.id(data), object: data });
|
1028 |
+
this.opts.element.trigger(evt);
|
1029 |
+
return !evt.isDefaultPrevented();
|
1030 |
+
},
|
1031 |
+
|
1032 |
+
/**
|
1033 |
+
* Triggers the change event on the source element
|
1034 |
+
*/
|
1035 |
+
// abstract
|
1036 |
+
triggerChange: function (details) {
|
1037 |
+
|
1038 |
+
details = details || {};
|
1039 |
+
details= $.extend({}, details, { type: "change", val: this.val() });
|
1040 |
+
// prevents recursive triggering
|
1041 |
+
this.opts.element.data("select2-change-triggered", true);
|
1042 |
+
this.opts.element.trigger(details);
|
1043 |
+
this.opts.element.data("select2-change-triggered", false);
|
1044 |
+
|
1045 |
+
// some validation frameworks ignore the change event and listen instead to keyup, click for selects
|
1046 |
+
// so here we trigger the click event manually
|
1047 |
+
this.opts.element.click();
|
1048 |
+
|
1049 |
+
// ValidationEngine ignorea the change event and listens instead to blur
|
1050 |
+
// so here we trigger the blur event manually if so desired
|
1051 |
+
if (this.opts.blurOnChange)
|
1052 |
+
this.opts.element.blur();
|
1053 |
+
},
|
1054 |
+
|
1055 |
+
//abstract
|
1056 |
+
isInterfaceEnabled: function()
|
1057 |
+
{
|
1058 |
+
return this.enabledInterface === true;
|
1059 |
+
},
|
1060 |
+
|
1061 |
+
// abstract
|
1062 |
+
enableInterface: function() {
|
1063 |
+
var enabled = this._enabled && !this._readonly,
|
1064 |
+
disabled = !enabled;
|
1065 |
+
|
1066 |
+
if (enabled === this.enabledInterface) return false;
|
1067 |
+
|
1068 |
+
this.container.toggleClass("select2-container-disabled", disabled);
|
1069 |
+
this.close();
|
1070 |
+
this.enabledInterface = enabled;
|
1071 |
+
|
1072 |
+
return true;
|
1073 |
+
},
|
1074 |
+
|
1075 |
+
// abstract
|
1076 |
+
enable: function(enabled) {
|
1077 |
+
if (enabled === undefined) enabled = true;
|
1078 |
+
if (this._enabled === enabled) return false;
|
1079 |
+
this._enabled = enabled;
|
1080 |
+
|
1081 |
+
this.opts.element.prop("disabled", !enabled);
|
1082 |
+
this.enableInterface();
|
1083 |
+
return true;
|
1084 |
+
},
|
1085 |
+
|
1086 |
+
// abstract
|
1087 |
+
readonly: function(enabled) {
|
1088 |
+
if (enabled === undefined) enabled = false;
|
1089 |
+
if (this._readonly === enabled) return false;
|
1090 |
+
this._readonly = enabled;
|
1091 |
+
|
1092 |
+
this.opts.element.prop("readonly", enabled);
|
1093 |
+
this.enableInterface();
|
1094 |
+
return true;
|
1095 |
+
},
|
1096 |
+
|
1097 |
+
// abstract
|
1098 |
+
opened: function () {
|
1099 |
+
return this.container.hasClass("select2-dropdown-open");
|
1100 |
+
},
|
1101 |
+
|
1102 |
+
// abstract
|
1103 |
+
positionDropdown: function() {
|
1104 |
+
var $dropdown = this.dropdown,
|
1105 |
+
offset = this.container.offset(),
|
1106 |
+
height = this.container.outerHeight(false),
|
1107 |
+
width = this.container.outerWidth(false),
|
1108 |
+
dropHeight = $dropdown.outerHeight(false),
|
1109 |
+
viewPortRight = $(window).scrollLeft() + $(window).width(),
|
1110 |
+
viewportBottom = $(window).scrollTop() + $(window).height(),
|
1111 |
+
dropTop = offset.top + height,
|
1112 |
+
dropLeft = offset.left,
|
1113 |
+
enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
|
1114 |
+
enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
|
1115 |
+
dropWidth = $dropdown.outerWidth(false),
|
1116 |
+
enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
|
1117 |
+
aboveNow = $dropdown.hasClass("select2-drop-above"),
|
1118 |
+
bodyOffset,
|
1119 |
+
above,
|
1120 |
+
css,
|
1121 |
+
resultsListNode;
|
1122 |
+
|
1123 |
+
if (this.opts.dropdownAutoWidth) {
|
1124 |
+
resultsListNode = $('.select2-results', $dropdown)[0];
|
1125 |
+
$dropdown.addClass('select2-drop-auto-width');
|
1126 |
+
$dropdown.css('width', '');
|
1127 |
+
// Add scrollbar width to dropdown if vertical scrollbar is present
|
1128 |
+
dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
|
1129 |
+
dropWidth > width ? width = dropWidth : dropWidth = width;
|
1130 |
+
enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
|
1131 |
+
}
|
1132 |
+
else {
|
1133 |
+
this.container.removeClass('select2-drop-auto-width');
|
1134 |
+
}
|
1135 |
+
|
1136 |
+
//console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
|
1137 |
+
//console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
|
1138 |
+
|
1139 |
+
// fix positioning when body has an offset and is not position: static
|
1140 |
+
if (this.body().css('position') !== 'static') {
|
1141 |
+
bodyOffset = this.body().offset();
|
1142 |
+
dropTop -= bodyOffset.top;
|
1143 |
+
dropLeft -= bodyOffset.left;
|
1144 |
+
}
|
1145 |
+
|
1146 |
+
// always prefer the current above/below alignment, unless there is not enough room
|
1147 |
+
if (aboveNow) {
|
1148 |
+
above = true;
|
1149 |
+
if (!enoughRoomAbove && enoughRoomBelow) above = false;
|
1150 |
+
} else {
|
1151 |
+
above = false;
|
1152 |
+
if (!enoughRoomBelow && enoughRoomAbove) above = true;
|
1153 |
+
}
|
1154 |
+
|
1155 |
+
if (!enoughRoomOnRight) {
|
1156 |
+
dropLeft = offset.left + width - dropWidth;
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
if (above) {
|
1160 |
+
dropTop = offset.top - dropHeight;
|
1161 |
+
this.container.addClass("select2-drop-above");
|
1162 |
+
$dropdown.addClass("select2-drop-above");
|
1163 |
+
}
|
1164 |
+
else {
|
1165 |
+
this.container.removeClass("select2-drop-above");
|
1166 |
+
$dropdown.removeClass("select2-drop-above");
|
1167 |
+
}
|
1168 |
+
|
1169 |
+
css = $.extend({
|
1170 |
+
top: dropTop,
|
1171 |
+
left: dropLeft,
|
1172 |
+
width: width
|
1173 |
+
}, evaluate(this.opts.dropdownCss));
|
1174 |
+
|
1175 |
+
$dropdown.css(css);
|
1176 |
+
},
|
1177 |
+
|
1178 |
+
// abstract
|
1179 |
+
shouldOpen: function() {
|
1180 |
+
var event;
|
1181 |
+
|
1182 |
+
if (this.opened()) return false;
|
1183 |
+
|
1184 |
+
if (this._enabled === false || this._readonly === true) return false;
|
1185 |
+
|
1186 |
+
event = $.Event("select2-opening");
|
1187 |
+
this.opts.element.trigger(event);
|
1188 |
+
return !event.isDefaultPrevented();
|
1189 |
+
},
|
1190 |
+
|
1191 |
+
// abstract
|
1192 |
+
clearDropdownAlignmentPreference: function() {
|
1193 |
+
// clear the classes used to figure out the preference of where the dropdown should be opened
|
1194 |
+
this.container.removeClass("select2-drop-above");
|
1195 |
+
this.dropdown.removeClass("select2-drop-above");
|
1196 |
+
},
|
1197 |
+
|
1198 |
+
/**
|
1199 |
+
* Opens the dropdown
|
1200 |
+
*
|
1201 |
+
* @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
|
1202 |
+
* the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
|
1203 |
+
*/
|
1204 |
+
// abstract
|
1205 |
+
open: function () {
|
1206 |
+
|
1207 |
+
if (!this.shouldOpen()) return false;
|
1208 |
+
|
1209 |
+
this.opening();
|
1210 |
+
|
1211 |
+
return true;
|
1212 |
+
},
|
1213 |
+
|
1214 |
+
/**
|
1215 |
+
* Performs the opening of the dropdown
|
1216 |
+
*/
|
1217 |
+
// abstract
|
1218 |
+
opening: function() {
|
1219 |
+
var cid = this.containerId,
|
1220 |
+
scroll = "scroll." + cid,
|
1221 |
+
resize = "resize."+cid,
|
1222 |
+
orient = "orientationchange."+cid,
|
1223 |
+
mask, maskCss;
|
1224 |
+
|
1225 |
+
this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
|
1226 |
+
|
1227 |
+
this.clearDropdownAlignmentPreference();
|
1228 |
+
|
1229 |
+
if(this.dropdown[0] !== this.body().children().last()[0]) {
|
1230 |
+
this.dropdown.detach().appendTo(this.body());
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
// create the dropdown mask if doesnt already exist
|
1234 |
+
mask = $("#select2-drop-mask");
|
1235 |
+
if (mask.length == 0) {
|
1236 |
+
mask = $(document.createElement("div"));
|
1237 |
+
mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
|
1238 |
+
mask.hide();
|
1239 |
+
mask.appendTo(this.body());
|
1240 |
+
mask.on("mousedown touchstart click", function (e) {
|
1241 |
+
var dropdown = $("#select2-drop"), self;
|
1242 |
+
if (dropdown.length > 0) {
|
1243 |
+
self=dropdown.data("select2");
|
1244 |
+
if (self.opts.selectOnBlur) {
|
1245 |
+
self.selectHighlighted({noFocus: true});
|
1246 |
+
}
|
1247 |
+
self.close();
|
1248 |
+
e.preventDefault();
|
1249 |
+
e.stopPropagation();
|
1250 |
+
}
|
1251 |
+
});
|
1252 |
+
}
|
1253 |
+
|
1254 |
+
// ensure the mask is always right before the dropdown
|
1255 |
+
if (this.dropdown.prev()[0] !== mask[0]) {
|
1256 |
+
this.dropdown.before(mask);
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
// move the global id to the correct dropdown
|
1260 |
+
$("#select2-drop").removeAttr("id");
|
1261 |
+
this.dropdown.attr("id", "select2-drop");
|
1262 |
+
|
1263 |
+
// show the elements
|
1264 |
+
maskCss=_makeMaskCss();
|
1265 |
+
|
1266 |
+
mask.css(maskCss).show();
|
1267 |
+
|
1268 |
+
this.dropdown.show();
|
1269 |
+
this.positionDropdown();
|
1270 |
+
|
1271 |
+
this.dropdown.addClass("select2-drop-active");
|
1272 |
+
|
1273 |
+
// attach listeners to events that can change the position of the container and thus require
|
1274 |
+
// the position of the dropdown to be updated as well so it does not come unglued from the container
|
1275 |
+
var that = this;
|
1276 |
+
this.container.parents().add(window).each(function () {
|
1277 |
+
$(this).on(resize+" "+scroll+" "+orient, function (e) {
|
1278 |
+
var maskCss=_makeMaskCss();
|
1279 |
+
$("#select2-drop-mask").css(maskCss);
|
1280 |
+
that.positionDropdown();
|
1281 |
+
});
|
1282 |
+
});
|
1283 |
+
|
1284 |
+
function _makeMaskCss() {
|
1285 |
+
return {
|
1286 |
+
width : Math.max(document.documentElement.scrollWidth, $(window).width()),
|
1287 |
+
height : Math.max(document.documentElement.scrollHeight, $(window).height())
|
1288 |
+
}
|
1289 |
+
}
|
1290 |
+
},
|
1291 |
+
|
1292 |
+
// abstract
|
1293 |
+
close: function () {
|
1294 |
+
if (!this.opened()) return;
|
1295 |
+
|
1296 |
+
var cid = this.containerId,
|
1297 |
+
scroll = "scroll." + cid,
|
1298 |
+
resize = "resize."+cid,
|
1299 |
+
orient = "orientationchange."+cid;
|
1300 |
+
|
1301 |
+
// unbind event listeners
|
1302 |
+
this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
|
1303 |
+
|
1304 |
+
this.clearDropdownAlignmentPreference();
|
1305 |
+
|
1306 |
+
$("#select2-drop-mask").hide();
|
1307 |
+
this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
|
1308 |
+
this.dropdown.hide();
|
1309 |
+
this.container.removeClass("select2-dropdown-open");
|
1310 |
+
this.results.empty();
|
1311 |
+
|
1312 |
+
|
1313 |
+
this.clearSearch();
|
1314 |
+
this.search.removeClass("select2-active");
|
1315 |
+
this.opts.element.trigger($.Event("select2-close"));
|
1316 |
+
},
|
1317 |
+
|
1318 |
+
/**
|
1319 |
+
* Opens control, sets input value, and updates results.
|
1320 |
+
*/
|
1321 |
+
// abstract
|
1322 |
+
externalSearch: function (term) {
|
1323 |
+
this.open();
|
1324 |
+
this.search.val(term);
|
1325 |
+
this.updateResults(false);
|
1326 |
+
},
|
1327 |
+
|
1328 |
+
// abstract
|
1329 |
+
clearSearch: function () {
|
1330 |
+
|
1331 |
+
},
|
1332 |
+
|
1333 |
+
//abstract
|
1334 |
+
getMaximumSelectionSize: function() {
|
1335 |
+
return evaluate(this.opts.maximumSelectionSize);
|
1336 |
+
},
|
1337 |
+
|
1338 |
+
// abstract
|
1339 |
+
ensureHighlightVisible: function () {
|
1340 |
+
var results = this.results, children, index, child, hb, rb, y, more;
|
1341 |
+
|
1342 |
+
index = this.highlight();
|
1343 |
+
|
1344 |
+
if (index < 0) return;
|
1345 |
+
|
1346 |
+
if (index == 0) {
|
1347 |
+
|
1348 |
+
// if the first element is highlighted scroll all the way to the top,
|
1349 |
+
// that way any unselectable headers above it will also be scrolled
|
1350 |
+
// into view
|
1351 |
+
|
1352 |
+
results.scrollTop(0);
|
1353 |
+
return;
|
1354 |
+
}
|
1355 |
+
|
1356 |
+
children = this.findHighlightableChoices().find('.select2-result-label');
|
1357 |
+
|
1358 |
+
child = $(children[index]);
|
1359 |
+
|
1360 |
+
hb = child.offset().top + child.outerHeight(true);
|
1361 |
+
|
1362 |
+
// if this is the last child lets also make sure select2-more-results is visible
|
1363 |
+
if (index === children.length - 1) {
|
1364 |
+
more = results.find("li.select2-more-results");
|
1365 |
+
if (more.length > 0) {
|
1366 |
+
hb = more.offset().top + more.outerHeight(true);
|
1367 |
+
}
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
rb = results.offset().top + results.outerHeight(true);
|
1371 |
+
if (hb > rb) {
|
1372 |
+
results.scrollTop(results.scrollTop() + (hb - rb));
|
1373 |
+
}
|
1374 |
+
y = child.offset().top - results.offset().top;
|
1375 |
+
|
1376 |
+
// make sure the top of the element is visible
|
1377 |
+
if (y < 0 && child.css('display') != 'none' ) {
|
1378 |
+
results.scrollTop(results.scrollTop() + y); // y is negative
|
1379 |
+
}
|
1380 |
+
},
|
1381 |
+
|
1382 |
+
// abstract
|
1383 |
+
findHighlightableChoices: function() {
|
1384 |
+
return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)");
|
1385 |
+
},
|
1386 |
+
|
1387 |
+
// abstract
|
1388 |
+
moveHighlight: function (delta) {
|
1389 |
+
var choices = this.findHighlightableChoices(),
|
1390 |
+
index = this.highlight();
|
1391 |
+
|
1392 |
+
while (index > -1 && index < choices.length) {
|
1393 |
+
index += delta;
|
1394 |
+
var choice = $(choices[index]);
|
1395 |
+
if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
|
1396 |
+
this.highlight(index);
|
1397 |
+
break;
|
1398 |
+
}
|
1399 |
+
}
|
1400 |
+
},
|
1401 |
+
|
1402 |
+
// abstract
|
1403 |
+
highlight: function (index) {
|
1404 |
+
var choices = this.findHighlightableChoices(),
|
1405 |
+
choice,
|
1406 |
+
data;
|
1407 |
+
|
1408 |
+
if (arguments.length === 0) {
|
1409 |
+
return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
|
1410 |
+
}
|
1411 |
+
|
1412 |
+
if (index >= choices.length) index = choices.length - 1;
|
1413 |
+
if (index < 0) index = 0;
|
1414 |
+
|
1415 |
+
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1416 |
+
|
1417 |
+
choice = $(choices[index]);
|
1418 |
+
choice.addClass("select2-highlighted");
|
1419 |
+
|
1420 |
+
this.ensureHighlightVisible();
|
1421 |
+
|
1422 |
+
data = choice.data("select2-data");
|
1423 |
+
if (data) {
|
1424 |
+
this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
|
1425 |
+
}
|
1426 |
+
},
|
1427 |
+
|
1428 |
+
// abstract
|
1429 |
+
countSelectableResults: function() {
|
1430 |
+
return this.findHighlightableChoices().length;
|
1431 |
+
},
|
1432 |
+
|
1433 |
+
// abstract
|
1434 |
+
highlightUnderEvent: function (event) {
|
1435 |
+
var el = $(event.target).closest(".select2-result-selectable");
|
1436 |
+
if (el.length > 0 && !el.is(".select2-highlighted")) {
|
1437 |
+
var choices = this.findHighlightableChoices();
|
1438 |
+
this.highlight(choices.index(el));
|
1439 |
+
} else if (el.length == 0) {
|
1440 |
+
// if we are over an unselectable item remove al highlights
|
1441 |
+
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1442 |
+
}
|
1443 |
+
},
|
1444 |
+
|
1445 |
+
// abstract
|
1446 |
+
loadMoreIfNeeded: function () {
|
1447 |
+
var results = this.results,
|
1448 |
+
more = results.find("li.select2-more-results"),
|
1449 |
+
below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
|
1450 |
+
offset = -1, // index of first element without data
|
1451 |
+
page = this.resultsPage + 1,
|
1452 |
+
self=this,
|
1453 |
+
term=this.search.val(),
|
1454 |
+
context=this.context;
|
1455 |
+
|
1456 |
+
if (more.length === 0) return;
|
1457 |
+
below = more.offset().top - results.offset().top - results.height();
|
1458 |
+
|
1459 |
+
if (below <= this.opts.loadMorePadding) {
|
1460 |
+
more.addClass("select2-active");
|
1461 |
+
this.opts.query({
|
1462 |
+
element: this.opts.element,
|
1463 |
+
term: term,
|
1464 |
+
page: page,
|
1465 |
+
context: context,
|
1466 |
+
matcher: this.opts.matcher,
|
1467 |
+
callback: this.bind(function (data) {
|
1468 |
+
|
1469 |
+
// ignore a response if the select2 has been closed before it was received
|
1470 |
+
if (!self.opened()) return;
|
1471 |
+
|
1472 |
+
|
1473 |
+
self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
|
1474 |
+
self.postprocessResults(data, false, false);
|
1475 |
+
|
1476 |
+
if (data.more===true) {
|
1477 |
+
more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
|
1478 |
+
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1479 |
+
} else {
|
1480 |
+
more.remove();
|
1481 |
+
}
|
1482 |
+
self.positionDropdown();
|
1483 |
+
self.resultsPage = page;
|
1484 |
+
self.context = data.context;
|
1485 |
+
})});
|
1486 |
+
}
|
1487 |
+
},
|
1488 |
+
|
1489 |
+
/**
|
1490 |
+
* Default tokenizer function which does nothing
|
1491 |
+
*/
|
1492 |
+
tokenize: function() {
|
1493 |
+
|
1494 |
+
},
|
1495 |
+
|
1496 |
+
/**
|
1497 |
+
* @param initial whether or not this is the call to this method right after the dropdown has been opened
|
1498 |
+
*/
|
1499 |
+
// abstract
|
1500 |
+
updateResults: function (initial) {
|
1501 |
+
var search = this.search,
|
1502 |
+
results = this.results,
|
1503 |
+
opts = this.opts,
|
1504 |
+
data,
|
1505 |
+
self = this,
|
1506 |
+
input,
|
1507 |
+
term = search.val(),
|
1508 |
+
lastTerm=$.data(this.container, "select2-last-term");
|
1509 |
+
|
1510 |
+
// prevent duplicate queries against the same term
|
1511 |
+
if (initial !== true && lastTerm && equal(term, lastTerm)) return;
|
1512 |
+
|
1513 |
+
$.data(this.container, "select2-last-term", term);
|
1514 |
+
|
1515 |
+
// if the search is currently hidden we do not alter the results
|
1516 |
+
if (initial !== true && (this.showSearchInput === false || !this.opened())) {
|
1517 |
+
return;
|
1518 |
+
}
|
1519 |
+
|
1520 |
+
function postRender() {
|
1521 |
+
search.removeClass("select2-active");
|
1522 |
+
self.positionDropdown();
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
function render(html) {
|
1526 |
+
results.html(html);
|
1527 |
+
postRender();
|
1528 |
+
}
|
1529 |
+
|
1530 |
+
var maxSelSize = this.getMaximumSelectionSize();
|
1531 |
+
if (maxSelSize >=1) {
|
1532 |
+
data = this.data();
|
1533 |
+
if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
|
1534 |
+
render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(maxSelSize) + "</li>");
|
1535 |
+
return;
|
1536 |
+
}
|
1537 |
+
}
|
1538 |
+
|
1539 |
+
if (search.val().length < opts.minimumInputLength) {
|
1540 |
+
if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
|
1541 |
+
render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
|
1542 |
+
} else {
|
1543 |
+
render("");
|
1544 |
+
}
|
1545 |
+
if (initial && this.showSearch) this.showSearch(true);
|
1546 |
+
return;
|
1547 |
+
}
|
1548 |
+
|
1549 |
+
if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
|
1550 |
+
if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
|
1551 |
+
render("<li class='select2-no-results'>" + opts.formatInputTooLong(search.val(), opts.maximumInputLength) + "</li>");
|
1552 |
+
} else {
|
1553 |
+
render("");
|
1554 |
+
}
|
1555 |
+
return;
|
1556 |
+
}
|
1557 |
+
|
1558 |
+
if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
|
1559 |
+
render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
|
1560 |
+
}
|
1561 |
+
|
1562 |
+
search.addClass("select2-active");
|
1563 |
+
|
1564 |
+
// give the tokenizer a chance to pre-process the input
|
1565 |
+
input = this.tokenize();
|
1566 |
+
if (input != undefined && input != null) {
|
1567 |
+
search.val(input);
|
1568 |
+
}
|
1569 |
+
|
1570 |
+
this.resultsPage = 1;
|
1571 |
+
|
1572 |
+
opts.query({
|
1573 |
+
element: opts.element,
|
1574 |
+
term: search.val(),
|
1575 |
+
page: this.resultsPage,
|
1576 |
+
context: null,
|
1577 |
+
matcher: opts.matcher,
|
1578 |
+
callback: this.bind(function (data) {
|
1579 |
+
var def; // default choice
|
1580 |
+
|
1581 |
+
// ignore a response if the select2 has been closed before it was received
|
1582 |
+
if (!this.opened()) {
|
1583 |
+
this.search.removeClass("select2-active");
|
1584 |
+
return;
|
1585 |
+
}
|
1586 |
+
|
1587 |
+
// save context, if any
|
1588 |
+
this.context = (data.context===undefined) ? null : data.context;
|
1589 |
+
// create a default choice and prepend it to the list
|
1590 |
+
if (this.opts.createSearchChoice && search.val() !== "") {
|
1591 |
+
def = this.opts.createSearchChoice.call(self, search.val(), data.results);
|
1592 |
+
if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
|
1593 |
+
if ($(data.results).filter(
|
1594 |
+
function () {
|
1595 |
+
return equal(self.id(this), self.id(def));
|
1596 |
+
}).length === 0) {
|
1597 |
+
data.results.unshift(def);
|
1598 |
+
}
|
1599 |
+
}
|
1600 |
+
}
|
1601 |
+
|
1602 |
+
if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
|
1603 |
+
render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
|
1604 |
+
return;
|
1605 |
+
}
|
1606 |
+
|
1607 |
+
results.empty();
|
1608 |
+
self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
|
1609 |
+
|
1610 |
+
if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
|
1611 |
+
results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
|
1612 |
+
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1613 |
+
}
|
1614 |
+
|
1615 |
+
this.postprocessResults(data, initial);
|
1616 |
+
|
1617 |
+
postRender();
|
1618 |
+
|
1619 |
+
this.opts.element.trigger({ type: "select2-loaded", items: data });
|
1620 |
+
})});
|
1621 |
+
},
|
1622 |
+
|
1623 |
+
// abstract
|
1624 |
+
cancel: function () {
|
1625 |
+
this.close();
|
1626 |
+
},
|
1627 |
+
|
1628 |
+
// abstract
|
1629 |
+
blur: function () {
|
1630 |
+
// if selectOnBlur == true, select the currently highlighted option
|
1631 |
+
if (this.opts.selectOnBlur)
|
1632 |
+
this.selectHighlighted({noFocus: true});
|
1633 |
+
|
1634 |
+
this.close();
|
1635 |
+
this.container.removeClass("select2-container-active");
|
1636 |
+
// synonymous to .is(':focus'), which is available in jquery >= 1.6
|
1637 |
+
if (this.search[0] === document.activeElement) { this.search.blur(); }
|
1638 |
+
this.clearSearch();
|
1639 |
+
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
1640 |
+
},
|
1641 |
+
|
1642 |
+
// abstract
|
1643 |
+
focusSearch: function () {
|
1644 |
+
focus(this.search);
|
1645 |
+
},
|
1646 |
+
|
1647 |
+
// abstract
|
1648 |
+
selectHighlighted: function (options) {
|
1649 |
+
var index=this.highlight(),
|
1650 |
+
highlighted=this.results.find(".select2-highlighted"),
|
1651 |
+
data = highlighted.closest('.select2-result').data("select2-data");
|
1652 |
+
|
1653 |
+
if (data) {
|
1654 |
+
this.highlight(index);
|
1655 |
+
this.onSelect(data, options);
|
1656 |
+
} else if (options && options.noFocus) {
|
1657 |
+
this.close();
|
1658 |
+
}
|
1659 |
+
},
|
1660 |
+
|
1661 |
+
// abstract
|
1662 |
+
getPlaceholder: function () {
|
1663 |
+
var placeholderOption;
|
1664 |
+
return this.opts.element.attr("placeholder") ||
|
1665 |
+
this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
|
1666 |
+
this.opts.element.data("placeholder") ||
|
1667 |
+
this.opts.placeholder ||
|
1668 |
+
((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
|
1669 |
+
},
|
1670 |
+
|
1671 |
+
// abstract
|
1672 |
+
getPlaceholderOption: function() {
|
1673 |
+
if (this.select) {
|
1674 |
+
var firstOption = this.select.children().first();
|
1675 |
+
if (this.opts.placeholderOption !== undefined ) {
|
1676 |
+
//Determine the placeholder option based on the specified placeholderOption setting
|
1677 |
+
return (this.opts.placeholderOption === "first" && firstOption) ||
|
1678 |
+
(typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
|
1679 |
+
} else if (firstOption.text() === "" && firstOption.val() === "") {
|
1680 |
+
//No explicit placeholder option specified, use the first if it's blank
|
1681 |
+
return firstOption;
|
1682 |
+
}
|
1683 |
+
}
|
1684 |
+
},
|
1685 |
+
|
1686 |
+
/**
|
1687 |
+
* Get the desired width for the container element. This is
|
1688 |
+
* derived first from option `width` passed to select2, then
|
1689 |
+
* the inline 'style' on the original element, and finally
|
1690 |
+
* falls back to the jQuery calculated element width.
|
1691 |
+
*/
|
1692 |
+
// abstract
|
1693 |
+
initContainerWidth: function () {
|
1694 |
+
function resolveContainerWidth() {
|
1695 |
+
var style, attrs, matches, i, l;
|
1696 |
+
|
1697 |
+
if (this.opts.width === "off") {
|
1698 |
+
return null;
|
1699 |
+
} else if (this.opts.width === "element"){
|
1700 |
+
return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
|
1701 |
+
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
1702 |
+
// check if there is inline style on the element that contains width
|
1703 |
+
style = this.opts.element.attr('style');
|
1704 |
+
if (style !== undefined) {
|
1705 |
+
attrs = style.split(';');
|
1706 |
+
for (i = 0, l = attrs.length; i < l; i = i + 1) {
|
1707 |
+
matches = attrs[i].replace(/\s/g, '')
|
1708 |
+
.match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
|
1709 |
+
if (matches !== null && matches.length >= 1)
|
1710 |
+
return matches[1];
|
1711 |
+
}
|
1712 |
+
}
|
1713 |
+
|
1714 |
+
if (this.opts.width === "resolve") {
|
1715 |
+
// next check if css('width') can resolve a width that is percent based, this is sometimes possible
|
1716 |
+
// when attached to input type=hidden or elements hidden via css
|
1717 |
+
style = this.opts.element.css('width');
|
1718 |
+
if (style.indexOf("%") > 0) return style;
|
1719 |
+
|
1720 |
+
// finally, fallback on the calculated width of the element
|
1721 |
+
return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
|
1722 |
+
}
|
1723 |
+
|
1724 |
+
return null;
|
1725 |
+
} else if ($.isFunction(this.opts.width)) {
|
1726 |
+
return this.opts.width();
|
1727 |
+
} else {
|
1728 |
+
return this.opts.width;
|
1729 |
+
}
|
1730 |
+
};
|
1731 |
+
|
1732 |
+
var width = resolveContainerWidth.call(this);
|
1733 |
+
if (width !== null) {
|
1734 |
+
this.container.css("width", width);
|
1735 |
+
}
|
1736 |
+
}
|
1737 |
+
});
|
1738 |
+
|
1739 |
+
SingleSelect2 = clazz(AbstractSelect2, {
|
1740 |
+
|
1741 |
+
// single
|
1742 |
+
|
1743 |
+
createContainer: function () {
|
1744 |
+
var container = $(document.createElement("div")).attr({
|
1745 |
+
"class": "select2-container"
|
1746 |
+
}).html([
|
1747 |
+
"<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>",
|
1748 |
+
" <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>",
|
1749 |
+
" <span class='select2-arrow'><b></b></span>",
|
1750 |
+
"</a>",
|
1751 |
+
"<input class='select2-focusser select2-offscreen' type='text'/>",
|
1752 |
+
"<div class='select2-drop select2-display-none'>",
|
1753 |
+
" <div class='select2-search'>",
|
1754 |
+
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>",
|
1755 |
+
" </div>",
|
1756 |
+
" <ul class='select2-results'>",
|
1757 |
+
" </ul>",
|
1758 |
+
"</div>"].join(""));
|
1759 |
+
return container;
|
1760 |
+
},
|
1761 |
+
|
1762 |
+
// single
|
1763 |
+
enableInterface: function() {
|
1764 |
+
if (this.parent.enableInterface.apply(this, arguments)) {
|
1765 |
+
this.focusser.prop("disabled", !this.isInterfaceEnabled());
|
1766 |
+
}
|
1767 |
+
},
|
1768 |
+
|
1769 |
+
// single
|
1770 |
+
opening: function () {
|
1771 |
+
var el, range, len;
|
1772 |
+
|
1773 |
+
if (this.opts.minimumResultsForSearch >= 0) {
|
1774 |
+
this.showSearch(true);
|
1775 |
+
}
|
1776 |
+
|
1777 |
+
this.parent.opening.apply(this, arguments);
|
1778 |
+
|
1779 |
+
if (this.showSearchInput !== false) {
|
1780 |
+
// IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
|
1781 |
+
// all other browsers handle this just fine
|
1782 |
+
|
1783 |
+
this.search.val(this.focusser.val());
|
1784 |
+
}
|
1785 |
+
this.search.focus();
|
1786 |
+
// move the cursor to the end after focussing, otherwise it will be at the beginning and
|
1787 |
+
// new text will appear *before* focusser.val()
|
1788 |
+
el = this.search.get(0);
|
1789 |
+
if (el.createTextRange) {
|
1790 |
+
range = el.createTextRange();
|
1791 |
+
range.collapse(false);
|
1792 |
+
range.select();
|
1793 |
+
} else if (el.setSelectionRange) {
|
1794 |
+
len = this.search.val().length;
|
1795 |
+
el.setSelectionRange(len, len);
|
1796 |
+
}
|
1797 |
+
|
1798 |
+
this.focusser.prop("disabled", true).val("");
|
1799 |
+
this.updateResults(true);
|
1800 |
+
this.opts.element.trigger($.Event("select2-open"));
|
1801 |
+
},
|
1802 |
+
|
1803 |
+
// single
|
1804 |
+
close: function () {
|
1805 |
+
if (!this.opened()) return;
|
1806 |
+
this.parent.close.apply(this, arguments);
|
1807 |
+
this.focusser.removeAttr("disabled");
|
1808 |
+
this.focusser.focus();
|
1809 |
+
},
|
1810 |
+
|
1811 |
+
// single
|
1812 |
+
focus: function () {
|
1813 |
+
if (this.opened()) {
|
1814 |
+
this.close();
|
1815 |
+
} else {
|
1816 |
+
this.focusser.removeAttr("disabled");
|
1817 |
+
this.focusser.focus();
|
1818 |
+
}
|
1819 |
+
},
|
1820 |
+
|
1821 |
+
// single
|
1822 |
+
isFocused: function () {
|
1823 |
+
return this.container.hasClass("select2-container-active");
|
1824 |
+
},
|
1825 |
+
|
1826 |
+
// single
|
1827 |
+
cancel: function () {
|
1828 |
+
this.parent.cancel.apply(this, arguments);
|
1829 |
+
this.focusser.removeAttr("disabled");
|
1830 |
+
this.focusser.focus();
|
1831 |
+
},
|
1832 |
+
|
1833 |
+
// single
|
1834 |
+
initContainer: function () {
|
1835 |
+
|
1836 |
+
var selection,
|
1837 |
+
container = this.container,
|
1838 |
+
dropdown = this.dropdown;
|
1839 |
+
|
1840 |
+
if (this.opts.minimumResultsForSearch < 0) {
|
1841 |
+
this.showSearch(false);
|
1842 |
+
} else {
|
1843 |
+
this.showSearch(true);
|
1844 |
+
}
|
1845 |
+
|
1846 |
+
this.selection = selection = container.find(".select2-choice");
|
1847 |
+
|
1848 |
+
this.focusser = container.find(".select2-focusser");
|
1849 |
+
|
1850 |
+
// rewrite labels from original element to focusser
|
1851 |
+
this.focusser.attr("id", "s2id_autogen"+nextUid());
|
1852 |
+
|
1853 |
+
$("label[for='" + this.opts.element.attr("id") + "']")
|
1854 |
+
.attr('for', this.focusser.attr('id'));
|
1855 |
+
|
1856 |
+
this.focusser.attr("tabindex", this.elementTabIndex);
|
1857 |
+
|
1858 |
+
this.search.on("keydown", this.bind(function (e) {
|
1859 |
+
if (!this.isInterfaceEnabled()) return;
|
1860 |
+
|
1861 |
+
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
1862 |
+
// prevent the page from scrolling
|
1863 |
+
killEvent(e);
|
1864 |
+
return;
|
1865 |
+
}
|
1866 |
+
|
1867 |
+
switch (e.which) {
|
1868 |
+
case KEY.UP:
|
1869 |
+
case KEY.DOWN:
|
1870 |
+
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
1871 |
+
killEvent(e);
|
1872 |
+
return;
|
1873 |
+
case KEY.ENTER:
|
1874 |
+
this.selectHighlighted();
|
1875 |
+
killEvent(e);
|
1876 |
+
return;
|
1877 |
+
case KEY.TAB:
|
1878 |
+
this.selectHighlighted({noFocus: true});
|
1879 |
+
return;
|
1880 |
+
case KEY.ESC:
|
1881 |
+
this.cancel(e);
|
1882 |
+
killEvent(e);
|
1883 |
+
return;
|
1884 |
+
}
|
1885 |
+
}));
|
1886 |
+
|
1887 |
+
this.search.on("blur", this.bind(function(e) {
|
1888 |
+
// a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
|
1889 |
+
// without this the search field loses focus which is annoying
|
1890 |
+
if (document.activeElement === this.body().get(0)) {
|
1891 |
+
window.setTimeout(this.bind(function() {
|
1892 |
+
this.search.focus();
|
1893 |
+
}), 0);
|
1894 |
+
}
|
1895 |
+
}));
|
1896 |
+
|
1897 |
+
this.focusser.on("keydown", this.bind(function (e) {
|
1898 |
+
if (!this.isInterfaceEnabled()) return;
|
1899 |
+
|
1900 |
+
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
|
1901 |
+
return;
|
1902 |
+
}
|
1903 |
+
|
1904 |
+
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
1905 |
+
killEvent(e);
|
1906 |
+
return;
|
1907 |
+
}
|
1908 |
+
|
1909 |
+
if (e.which == KEY.DOWN || e.which == KEY.UP
|
1910 |
+
|| (e.which == KEY.ENTER && this.opts.openOnEnter)) {
|
1911 |
+
|
1912 |
+
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
|
1913 |
+
|
1914 |
+
this.open();
|
1915 |
+
killEvent(e);
|
1916 |
+
return;
|
1917 |
+
}
|
1918 |
+
|
1919 |
+
if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
|
1920 |
+
if (this.opts.allowClear) {
|
1921 |
+
this.clear();
|
1922 |
+
}
|
1923 |
+
killEvent(e);
|
1924 |
+
return;
|
1925 |
+
}
|
1926 |
+
}));
|
1927 |
+
|
1928 |
+
|
1929 |
+
installKeyUpChangeEvent(this.focusser);
|
1930 |
+
this.focusser.on("keyup-change input", this.bind(function(e) {
|
1931 |
+
if (this.opts.minimumResultsForSearch >= 0) {
|
1932 |
+
e.stopPropagation();
|
1933 |
+
if (this.opened()) return;
|
1934 |
+
this.open();
|
1935 |
+
}
|
1936 |
+
}));
|
1937 |
+
|
1938 |
+
selection.on("mousedown", "abbr", this.bind(function (e) {
|
1939 |
+
if (!this.isInterfaceEnabled()) return;
|
1940 |
+
this.clear();
|
1941 |
+
killEventImmediately(e);
|
1942 |
+
this.close();
|
1943 |
+
this.selection.focus();
|
1944 |
+
}));
|
1945 |
+
|
1946 |
+
selection.on("mousedown", this.bind(function (e) {
|
1947 |
+
|
1948 |
+
if (!this.container.hasClass("select2-container-active")) {
|
1949 |
+
this.opts.element.trigger($.Event("select2-focus"));
|
1950 |
+
}
|
1951 |
+
|
1952 |
+
if (this.opened()) {
|
1953 |
+
this.close();
|
1954 |
+
} else if (this.isInterfaceEnabled()) {
|
1955 |
+
this.open();
|
1956 |
+
}
|
1957 |
+
|
1958 |
+
killEvent(e);
|
1959 |
+
}));
|
1960 |
+
|
1961 |
+
dropdown.on("mousedown", this.bind(function() { this.search.focus(); }));
|
1962 |
+
|
1963 |
+
selection.on("focus", this.bind(function(e) {
|
1964 |
+
killEvent(e);
|
1965 |
+
}));
|
1966 |
+
|
1967 |
+
this.focusser.on("focus", this.bind(function(){
|
1968 |
+
if (!this.container.hasClass("select2-container-active")) {
|
1969 |
+
this.opts.element.trigger($.Event("select2-focus"));
|
1970 |
+
}
|
1971 |
+
this.container.addClass("select2-container-active");
|
1972 |
+
})).on("blur", this.bind(function() {
|
1973 |
+
if (!this.opened()) {
|
1974 |
+
this.container.removeClass("select2-container-active");
|
1975 |
+
this.opts.element.trigger($.Event("select2-blur"));
|
1976 |
+
}
|
1977 |
+
}));
|
1978 |
+
this.search.on("focus", this.bind(function(){
|
1979 |
+
if (!this.container.hasClass("select2-container-active")) {
|
1980 |
+
this.opts.element.trigger($.Event("select2-focus"));
|
1981 |
+
}
|
1982 |
+
this.container.addClass("select2-container-active");
|
1983 |
+
}));
|
1984 |
+
|
1985 |
+
this.initContainerWidth();
|
1986 |
+
this.opts.element.addClass("select2-offscreen");
|
1987 |
+
this.setPlaceholder();
|
1988 |
+
|
1989 |
+
},
|
1990 |
+
|
1991 |
+
// single
|
1992 |
+
clear: function(triggerChange) {
|
1993 |
+
var data=this.selection.data("select2-data");
|
1994 |
+
if (data) { // guard against queued quick consecutive clicks
|
1995 |
+
var placeholderOption = this.getPlaceholderOption();
|
1996 |
+
this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
|
1997 |
+
this.selection.find(".select2-chosen").empty();
|
1998 |
+
this.selection.removeData("select2-data");
|
1999 |
+
this.setPlaceholder();
|
2000 |
+
|
2001 |
+
if (triggerChange !== false){
|
2002 |
+
this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
|
2003 |
+
this.triggerChange({removed:data});
|
2004 |
+
}
|
2005 |
+
}
|
2006 |
+
},
|
2007 |
+
|
2008 |
+
/**
|
2009 |
+
* Sets selection based on source element's value
|
2010 |
+
*/
|
2011 |
+
// single
|
2012 |
+
initSelection: function () {
|
2013 |
+
var selected;
|
2014 |
+
if (this.isPlaceholderOptionSelected()) {
|
2015 |
+
this.updateSelection([]);
|
2016 |
+
this.close();
|
2017 |
+
this.setPlaceholder();
|
2018 |
+
} else {
|
2019 |
+
var self = this;
|
2020 |
+
this.opts.initSelection.call(null, this.opts.element, function(selected){
|
2021 |
+
if (selected !== undefined && selected !== null) {
|
2022 |
+
self.updateSelection(selected);
|
2023 |
+
self.close();
|
2024 |
+
self.setPlaceholder();
|
2025 |
+
}
|
2026 |
+
});
|
2027 |
+
}
|
2028 |
+
},
|
2029 |
+
|
2030 |
+
isPlaceholderOptionSelected: function() {
|
2031 |
+
var placeholderOption;
|
2032 |
+
return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.is(':selected')) ||
|
2033 |
+
(this.opts.element.val() === "") ||
|
2034 |
+
(this.opts.element.val() === undefined) ||
|
2035 |
+
(this.opts.element.val() === null);
|
2036 |
+
},
|
2037 |
+
|
2038 |
+
// single
|
2039 |
+
prepareOpts: function () {
|
2040 |
+
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2041 |
+
self=this;
|
2042 |
+
|
2043 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2044 |
+
// install the selection initializer
|
2045 |
+
opts.initSelection = function (element, callback) {
|
2046 |
+
var selected = element.find(":selected");
|
2047 |
+
// a single select box always has a value, no need to null check 'selected'
|
2048 |
+
callback(self.optionToData(selected));
|
2049 |
+
};
|
2050 |
+
} else if ("data" in opts) {
|
2051 |
+
// install default initSelection when applied to hidden input and data is local
|
2052 |
+
opts.initSelection = opts.initSelection || function (element, callback) {
|
2053 |
+
var id = element.val();
|
2054 |
+
//search in data by id, storing the actual matching item
|
2055 |
+
var match = null;
|
2056 |
+
opts.query({
|
2057 |
+
matcher: function(term, text, el){
|
2058 |
+
var is_match = equal(id, opts.id(el));
|
2059 |
+
if (is_match) {
|
2060 |
+
match = el;
|
2061 |
+
}
|
2062 |
+
return is_match;
|
2063 |
+
},
|
2064 |
+
callback: !$.isFunction(callback) ? $.noop : function() {
|
2065 |
+
callback(match);
|
2066 |
+
}
|
2067 |
+
});
|
2068 |
+
};
|
2069 |
+
}
|
2070 |
+
|
2071 |
+
return opts;
|
2072 |
+
},
|
2073 |
+
|
2074 |
+
// single
|
2075 |
+
getPlaceholder: function() {
|
2076 |
+
// if a placeholder is specified on a single select without a valid placeholder option ignore it
|
2077 |
+
if (this.select) {
|
2078 |
+
if (this.getPlaceholderOption() === undefined) {
|
2079 |
+
return undefined;
|
2080 |
+
}
|
2081 |
+
}
|
2082 |
+
|
2083 |
+
return this.parent.getPlaceholder.apply(this, arguments);
|
2084 |
+
},
|
2085 |
+
|
2086 |
+
// single
|
2087 |
+
setPlaceholder: function () {
|
2088 |
+
var placeholder = this.getPlaceholder();
|
2089 |
+
|
2090 |
+
if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
|
2091 |
+
|
2092 |
+
// check for a placeholder option if attached to a select
|
2093 |
+
if (this.select && this.getPlaceholderOption() === undefined) return;
|
2094 |
+
|
2095 |
+
this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
|
2096 |
+
|
2097 |
+
this.selection.addClass("select2-default");
|
2098 |
+
|
2099 |
+
this.container.removeClass("select2-allowclear");
|
2100 |
+
}
|
2101 |
+
},
|
2102 |
+
|
2103 |
+
// single
|
2104 |
+
postprocessResults: function (data, initial, noHighlightUpdate) {
|
2105 |
+
var selected = 0, self = this, showSearchInput = true;
|
2106 |
+
|
2107 |
+
// find the selected element in the result list
|
2108 |
+
|
2109 |
+
this.findHighlightableChoices().each2(function (i, elm) {
|
2110 |
+
if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
|
2111 |
+
selected = i;
|
2112 |
+
return false;
|
2113 |
+
}
|
2114 |
+
});
|
2115 |
+
|
2116 |
+
// and highlight it
|
2117 |
+
if (noHighlightUpdate !== false) {
|
2118 |
+
if (initial === true && selected >= 0) {
|
2119 |
+
this.highlight(selected);
|
2120 |
+
} else {
|
2121 |
+
this.highlight(0);
|
2122 |
+
}
|
2123 |
+
}
|
2124 |
+
|
2125 |
+
// hide the search box if this is the first we got the results and there are enough of them for search
|
2126 |
+
|
2127 |
+
if (initial === true) {
|
2128 |
+
var min = this.opts.minimumResultsForSearch;
|
2129 |
+
if (min >= 0) {
|
2130 |
+
this.showSearch(countResults(data.results) >= min);
|
2131 |
+
}
|
2132 |
+
}
|
2133 |
+
},
|
2134 |
+
|
2135 |
+
// single
|
2136 |
+
showSearch: function(showSearchInput) {
|
2137 |
+
if (this.showSearchInput === showSearchInput) return;
|
2138 |
+
|
2139 |
+
this.showSearchInput = showSearchInput;
|
2140 |
+
|
2141 |
+
this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
|
2142 |
+
this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
|
2143 |
+
//add "select2-with-searchbox" to the container if search box is shown
|
2144 |
+
$(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
|
2145 |
+
},
|
2146 |
+
|
2147 |
+
// single
|
2148 |
+
onSelect: function (data, options) {
|
2149 |
+
|
2150 |
+
if (!this.triggerSelect(data)) { return; }
|
2151 |
+
|
2152 |
+
var old = this.opts.element.val(),
|
2153 |
+
oldData = this.data();
|
2154 |
+
|
2155 |
+
this.opts.element.val(this.id(data));
|
2156 |
+
this.updateSelection(data);
|
2157 |
+
|
2158 |
+
this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
|
2159 |
+
|
2160 |
+
this.close();
|
2161 |
+
|
2162 |
+
if (!options || !options.noFocus)
|
2163 |
+
this.selection.focus();
|
2164 |
+
|
2165 |
+
if (!equal(old, this.id(data))) { this.triggerChange({added:data,removed:oldData}); }
|
2166 |
+
},
|
2167 |
+
|
2168 |
+
// single
|
2169 |
+
updateSelection: function (data) {
|
2170 |
+
|
2171 |
+
var container=this.selection.find(".select2-chosen"), formatted, cssClass;
|
2172 |
+
|
2173 |
+
this.selection.data("select2-data", data);
|
2174 |
+
|
2175 |
+
container.empty();
|
2176 |
+
formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
|
2177 |
+
if (formatted !== undefined) {
|
2178 |
+
container.append(formatted);
|
2179 |
+
}
|
2180 |
+
cssClass=this.opts.formatSelectionCssClass(data, container);
|
2181 |
+
if (cssClass !== undefined) {
|
2182 |
+
container.addClass(cssClass);
|
2183 |
+
}
|
2184 |
+
|
2185 |
+
this.selection.removeClass("select2-default");
|
2186 |
+
|
2187 |
+
if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
|
2188 |
+
this.container.addClass("select2-allowclear");
|
2189 |
+
}
|
2190 |
+
},
|
2191 |
+
|
2192 |
+
// single
|
2193 |
+
val: function () {
|
2194 |
+
var val,
|
2195 |
+
triggerChange = false,
|
2196 |
+
data = null,
|
2197 |
+
self = this,
|
2198 |
+
oldData = this.data();
|
2199 |
+
|
2200 |
+
if (arguments.length === 0) {
|
2201 |
+
return this.opts.element.val();
|
2202 |
+
}
|
2203 |
+
|
2204 |
+
val = arguments[0];
|
2205 |
+
|
2206 |
+
if (arguments.length > 1) {
|
2207 |
+
triggerChange = arguments[1];
|
2208 |
+
}
|
2209 |
+
|
2210 |
+
if (this.select) {
|
2211 |
+
this.select
|
2212 |
+
.val(val)
|
2213 |
+
.find(":selected").each2(function (i, elm) {
|
2214 |
+
data = self.optionToData(elm);
|
2215 |
+
return false;
|
2216 |
+
});
|
2217 |
+
this.updateSelection(data);
|
2218 |
+
this.setPlaceholder();
|
2219 |
+
if (triggerChange) {
|
2220 |
+
this.triggerChange({added: data, removed:oldData});
|
2221 |
+
}
|
2222 |
+
} else {
|
2223 |
+
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
2224 |
+
if (!val && val !== 0) {
|
2225 |
+
this.clear(triggerChange);
|
2226 |
+
return;
|
2227 |
+
}
|
2228 |
+
if (this.opts.initSelection === undefined) {
|
2229 |
+
throw new Error("cannot call val() if initSelection() is not defined");
|
2230 |
+
}
|
2231 |
+
this.opts.element.val(val);
|
2232 |
+
this.opts.initSelection(this.opts.element, function(data){
|
2233 |
+
self.opts.element.val(!data ? "" : self.id(data));
|
2234 |
+
self.updateSelection(data);
|
2235 |
+
self.setPlaceholder();
|
2236 |
+
if (triggerChange) {
|
2237 |
+
self.triggerChange({added: data, removed:oldData});
|
2238 |
+
}
|
2239 |
+
});
|
2240 |
+
}
|
2241 |
+
},
|
2242 |
+
|
2243 |
+
// single
|
2244 |
+
clearSearch: function () {
|
2245 |
+
this.search.val("");
|
2246 |
+
this.focusser.val("");
|
2247 |
+
},
|
2248 |
+
|
2249 |
+
// single
|
2250 |
+
data: function(value, triggerChange) {
|
2251 |
+
var data;
|
2252 |
+
|
2253 |
+
if (arguments.length === 0) {
|
2254 |
+
data = this.selection.data("select2-data");
|
2255 |
+
if (data == undefined) data = null;
|
2256 |
+
return data;
|
2257 |
+
} else {
|
2258 |
+
if (!value || value === "") {
|
2259 |
+
this.clear(triggerChange);
|
2260 |
+
} else {
|
2261 |
+
data = this.data();
|
2262 |
+
this.opts.element.val(!value ? "" : this.id(value));
|
2263 |
+
this.updateSelection(value);
|
2264 |
+
if (triggerChange) {
|
2265 |
+
this.triggerChange({added: value, removed:data});
|
2266 |
+
}
|
2267 |
+
}
|
2268 |
+
}
|
2269 |
+
}
|
2270 |
+
});
|
2271 |
+
|
2272 |
+
MultiSelect2 = clazz(AbstractSelect2, {
|
2273 |
+
|
2274 |
+
// multi
|
2275 |
+
createContainer: function () {
|
2276 |
+
var container = $(document.createElement("div")).attr({
|
2277 |
+
"class": "select2-container select2-container-multi"
|
2278 |
+
}).html([
|
2279 |
+
"<ul class='select2-choices'>",
|
2280 |
+
" <li class='select2-search-field'>",
|
2281 |
+
" <input type='text' autocomplete='off' autocorrect='off' autocapitilize='off' spellcheck='false' class='select2-input'>",
|
2282 |
+
" </li>",
|
2283 |
+
"</ul>",
|
2284 |
+
"<div class='select2-drop select2-drop-multi select2-display-none'>",
|
2285 |
+
" <ul class='select2-results'>",
|
2286 |
+
" </ul>",
|
2287 |
+
"</div>"].join(""));
|
2288 |
+
return container;
|
2289 |
+
},
|
2290 |
+
|
2291 |
+
// multi
|
2292 |
+
prepareOpts: function () {
|
2293 |
+
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2294 |
+
self=this;
|
2295 |
+
|
2296 |
+
// TODO validate placeholder is a string if specified
|
2297 |
+
|
2298 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2299 |
+
// install sthe selection initializer
|
2300 |
+
opts.initSelection = function (element, callback) {
|
2301 |
+
|
2302 |
+
var data = [];
|
2303 |
+
|
2304 |
+
element.find(":selected").each2(function (i, elm) {
|
2305 |
+
data.push(self.optionToData(elm));
|
2306 |
+
});
|
2307 |
+
callback(data);
|
2308 |
+
};
|
2309 |
+
} else if ("data" in opts) {
|
2310 |
+
// install default initSelection when applied to hidden input and data is local
|
2311 |
+
opts.initSelection = opts.initSelection || function (element, callback) {
|
2312 |
+
var ids = splitVal(element.val(), opts.separator);
|
2313 |
+
//search in data by array of ids, storing matching items in a list
|
2314 |
+
var matches = [];
|
2315 |
+
opts.query({
|
2316 |
+
matcher: function(term, text, el){
|
2317 |
+
var is_match = $.grep(ids, function(id) {
|
2318 |
+
return equal(id, opts.id(el));
|
2319 |
+
}).length;
|
2320 |
+
if (is_match) {
|
2321 |
+
matches.push(el);
|
2322 |
+
}
|
2323 |
+
return is_match;
|
2324 |
+
},
|
2325 |
+
callback: !$.isFunction(callback) ? $.noop : function() {
|
2326 |
+
// reorder matches based on the order they appear in the ids array because right now
|
2327 |
+
// they are in the order in which they appear in data array
|
2328 |
+
var ordered = [];
|
2329 |
+
for (var i = 0; i < ids.length; i++) {
|
2330 |
+
var id = ids[i];
|
2331 |
+
for (var j = 0; j < matches.length; j++) {
|
2332 |
+
var match = matches[j];
|
2333 |
+
if (equal(id, opts.id(match))) {
|
2334 |
+
ordered.push(match);
|
2335 |
+
matches.splice(j, 1);
|
2336 |
+
break;
|
2337 |
+
}
|
2338 |
+
}
|
2339 |
+
}
|
2340 |
+
callback(ordered);
|
2341 |
+
}
|
2342 |
+
});
|
2343 |
+
};
|
2344 |
+
}
|
2345 |
+
|
2346 |
+
return opts;
|
2347 |
+
},
|
2348 |
+
|
2349 |
+
selectChoice: function (choice) {
|
2350 |
+
|
2351 |
+
var selected = this.container.find(".select2-search-choice-focus");
|
2352 |
+
if (selected.length && choice && choice[0] == selected[0]) {
|
2353 |
+
|
2354 |
+
} else {
|
2355 |
+
if (selected.length) {
|
2356 |
+
this.opts.element.trigger("choice-deselected", selected);
|
2357 |
+
}
|
2358 |
+
selected.removeClass("select2-search-choice-focus");
|
2359 |
+
if (choice && choice.length) {
|
2360 |
+
this.close();
|
2361 |
+
choice.addClass("select2-search-choice-focus");
|
2362 |
+
this.opts.element.trigger("choice-selected", choice);
|
2363 |
+
}
|
2364 |
+
}
|
2365 |
+
},
|
2366 |
+
|
2367 |
+
// multi
|
2368 |
+
initContainer: function () {
|
2369 |
+
|
2370 |
+
var selector = ".select2-choices", selection;
|
2371 |
+
|
2372 |
+
this.searchContainer = this.container.find(".select2-search-field");
|
2373 |
+
this.selection = selection = this.container.find(selector);
|
2374 |
+
|
2375 |
+
var _this = this;
|
2376 |
+
this.selection.on("mousedown", ".select2-search-choice", function (e) {
|
2377 |
+
//killEvent(e);
|
2378 |
+
_this.search[0].focus();
|
2379 |
+
_this.selectChoice($(this));
|
2380 |
+
})
|
2381 |
+
|
2382 |
+
// rewrite labels from original element to focusser
|
2383 |
+
this.search.attr("id", "s2id_autogen"+nextUid());
|
2384 |
+
$("label[for='" + this.opts.element.attr("id") + "']")
|
2385 |
+
.attr('for', this.search.attr('id'));
|
2386 |
+
|
2387 |
+
this.search.on("input paste", this.bind(function() {
|
2388 |
+
if (!this.isInterfaceEnabled()) return;
|
2389 |
+
if (!this.opened()) {
|
2390 |
+
this.open();
|
2391 |
+
}
|
2392 |
+
}));
|
2393 |
+
|
2394 |
+
this.search.attr("tabindex", this.elementTabIndex);
|
2395 |
+
|
2396 |
+
this.keydowns = 0;
|
2397 |
+
this.search.on("keydown", this.bind(function (e) {
|
2398 |
+
if (!this.isInterfaceEnabled()) return;
|
2399 |
+
|
2400 |
+
++this.keydowns;
|
2401 |
+
var selected = selection.find(".select2-search-choice-focus");
|
2402 |
+
var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
|
2403 |
+
var next = selected.next(".select2-search-choice:not(.select2-locked)");
|
2404 |
+
var pos = getCursorInfo(this.search);
|
2405 |
+
|
2406 |
+
if (selected.length &&
|
2407 |
+
(e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
|
2408 |
+
var selectedChoice = selected;
|
2409 |
+
if (e.which == KEY.LEFT && prev.length) {
|
2410 |
+
selectedChoice = prev;
|
2411 |
+
}
|
2412 |
+
else if (e.which == KEY.RIGHT) {
|
2413 |
+
selectedChoice = next.length ? next : null;
|
2414 |
+
}
|
2415 |
+
else if (e.which === KEY.BACKSPACE) {
|
2416 |
+
this.unselect(selected.first());
|
2417 |
+
this.search.width(10);
|
2418 |
+
selectedChoice = prev.length ? prev : next;
|
2419 |
+
} else if (e.which == KEY.DELETE) {
|
2420 |
+
this.unselect(selected.first());
|
2421 |
+
this.search.width(10);
|
2422 |
+
selectedChoice = next.length ? next : null;
|
2423 |
+
} else if (e.which == KEY.ENTER) {
|
2424 |
+
selectedChoice = null;
|
2425 |
+
}
|
2426 |
+
|
2427 |
+
this.selectChoice(selectedChoice);
|
2428 |
+
killEvent(e);
|
2429 |
+
if (!selectedChoice || !selectedChoice.length) {
|
2430 |
+
this.open();
|
2431 |
+
}
|
2432 |
+
return;
|
2433 |
+
} else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
|
2434 |
+
|| e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
|
2435 |
+
|
2436 |
+
this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
|
2437 |
+
killEvent(e);
|
2438 |
+
return;
|
2439 |
+
} else {
|
2440 |
+
this.selectChoice(null);
|
2441 |
+
}
|
2442 |
+
|
2443 |
+
if (this.opened()) {
|
2444 |
+
switch (e.which) {
|
2445 |
+
case KEY.UP:
|
2446 |
+
case KEY.DOWN:
|
2447 |
+
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
2448 |
+
killEvent(e);
|
2449 |
+
return;
|
2450 |
+
case KEY.ENTER:
|
2451 |
+
this.selectHighlighted();
|
2452 |
+
killEvent(e);
|
2453 |
+
return;
|
2454 |
+
case KEY.TAB:
|
2455 |
+
this.selectHighlighted({noFocus:true});
|
2456 |
+
this.close();
|
2457 |
+
return;
|
2458 |
+
case KEY.ESC:
|
2459 |
+
this.cancel(e);
|
2460 |
+
killEvent(e);
|
2461 |
+
return;
|
2462 |
+
}
|
2463 |
+
}
|
2464 |
+
|
2465 |
+
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
|
2466 |
+
|| e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
|
2467 |
+
return;
|
2468 |
+
}
|
2469 |
+
|
2470 |
+
if (e.which === KEY.ENTER) {
|
2471 |
+
if (this.opts.openOnEnter === false) {
|
2472 |
+
return;
|
2473 |
+
} else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
|
2474 |
+
return;
|
2475 |
+
}
|
2476 |
+
}
|
2477 |
+
|
2478 |
+
this.open();
|
2479 |
+
|
2480 |
+
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
2481 |
+
// prevent the page from scrolling
|
2482 |
+
killEvent(e);
|
2483 |
+
}
|
2484 |
+
|
2485 |
+
if (e.which === KEY.ENTER) {
|
2486 |
+
// prevent form from being submitted
|
2487 |
+
killEvent(e);
|
2488 |
+
}
|
2489 |
+
|
2490 |
+
}));
|
2491 |
+
|
2492 |
+
this.search.on("keyup", this.bind(function (e) {
|
2493 |
+
this.keydowns = 0;
|
2494 |
+
this.resizeSearch();
|
2495 |
+
})
|
2496 |
+
);
|
2497 |
+
|
2498 |
+
this.search.on("blur", this.bind(function(e) {
|
2499 |
+
this.container.removeClass("select2-container-active");
|
2500 |
+
this.search.removeClass("select2-focused");
|
2501 |
+
this.selectChoice(null);
|
2502 |
+
if (!this.opened()) this.clearSearch();
|
2503 |
+
e.stopImmediatePropagation();
|
2504 |
+
this.opts.element.trigger($.Event("select2-blur"));
|
2505 |
+
}));
|
2506 |
+
|
2507 |
+
this.container.on("click", selector, this.bind(function (e) {
|
2508 |
+
if (!this.isInterfaceEnabled()) return;
|
2509 |
+
if ($(e.target).closest(".select2-search-choice").length > 0) {
|
2510 |
+
// clicked inside a select2 search choice, do not open
|
2511 |
+
return;
|
2512 |
+
}
|
2513 |
+
this.selectChoice(null);
|
2514 |
+
this.clearPlaceholder();
|
2515 |
+
if (!this.container.hasClass("select2-container-active")) {
|
2516 |
+
this.opts.element.trigger($.Event("select2-focus"));
|
2517 |
+
}
|
2518 |
+
this.open();
|
2519 |
+
this.focusSearch();
|
2520 |
+
e.preventDefault();
|
2521 |
+
}));
|
2522 |
+
|
2523 |
+
this.container.on("focus", selector, this.bind(function () {
|
2524 |
+
if (!this.isInterfaceEnabled()) return;
|
2525 |
+
if (!this.container.hasClass("select2-container-active")) {
|
2526 |
+
this.opts.element.trigger($.Event("select2-focus"));
|
2527 |
+
}
|
2528 |
+
this.container.addClass("select2-container-active");
|
2529 |
+
this.dropdown.addClass("select2-drop-active");
|
2530 |
+
this.clearPlaceholder();
|
2531 |
+
}));
|
2532 |
+
|
2533 |
+
this.initContainerWidth();
|
2534 |
+
this.opts.element.addClass("select2-offscreen");
|
2535 |
+
|
2536 |
+
// set the placeholder if necessary
|
2537 |
+
this.clearSearch();
|
2538 |
+
},
|
2539 |
+
|
2540 |
+
// multi
|
2541 |
+
enableInterface: function() {
|
2542 |
+
if (this.parent.enableInterface.apply(this, arguments)) {
|
2543 |
+
this.search.prop("disabled", !this.isInterfaceEnabled());
|
2544 |
+
}
|
2545 |
+
},
|
2546 |
+
|
2547 |
+
// multi
|
2548 |
+
initSelection: function () {
|
2549 |
+
var data;
|
2550 |
+
if (this.opts.element.val() === "" && this.opts.element.text() === "") {
|
2551 |
+
this.updateSelection([]);
|
2552 |
+
this.close();
|
2553 |
+
// set the placeholder if necessary
|
2554 |
+
this.clearSearch();
|
2555 |
+
}
|
2556 |
+
if (this.select || this.opts.element.val() !== "") {
|
2557 |
+
var self = this;
|
2558 |
+
this.opts.initSelection.call(null, this.opts.element, function(data){
|
2559 |
+
if (data !== undefined && data !== null) {
|
2560 |
+
self.updateSelection(data);
|
2561 |
+
self.close();
|
2562 |
+
// set the placeholder if necessary
|
2563 |
+
self.clearSearch();
|
2564 |
+
}
|
2565 |
+
});
|
2566 |
+
}
|
2567 |
+
},
|
2568 |
+
|
2569 |
+
// multi
|
2570 |
+
clearSearch: function () {
|
2571 |
+
var placeholder = this.getPlaceholder(),
|
2572 |
+
maxWidth = this.getMaxSearchWidth();
|
2573 |
+
|
2574 |
+
if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
|
2575 |
+
this.search.val(placeholder).addClass("select2-default");
|
2576 |
+
// stretch the search box to full width of the container so as much of the placeholder is visible as possible
|
2577 |
+
// we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
|
2578 |
+
this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
|
2579 |
+
} else {
|
2580 |
+
this.search.val("").width(10);
|
2581 |
+
}
|
2582 |
+
},
|
2583 |
+
|
2584 |
+
// multi
|
2585 |
+
clearPlaceholder: function () {
|
2586 |
+
if (this.search.hasClass("select2-default")) {
|
2587 |
+
this.search.val("").removeClass("select2-default");
|
2588 |
+
}
|
2589 |
+
},
|
2590 |
+
|
2591 |
+
// multi
|
2592 |
+
opening: function () {
|
2593 |
+
this.clearPlaceholder(); // should be done before super so placeholder is not used to search
|
2594 |
+
this.resizeSearch();
|
2595 |
+
|
2596 |
+
this.parent.opening.apply(this, arguments);
|
2597 |
+
|
2598 |
+
this.focusSearch();
|
2599 |
+
|
2600 |
+
this.updateResults(true);
|
2601 |
+
this.search.focus();
|
2602 |
+
this.opts.element.trigger($.Event("select2-open"));
|
2603 |
+
},
|
2604 |
+
|
2605 |
+
// multi
|
2606 |
+
close: function () {
|
2607 |
+
if (!this.opened()) return;
|
2608 |
+
this.parent.close.apply(this, arguments);
|
2609 |
+
},
|
2610 |
+
|
2611 |
+
// multi
|
2612 |
+
focus: function () {
|
2613 |
+
this.close();
|
2614 |
+
this.search.focus();
|
2615 |
+
},
|
2616 |
+
|
2617 |
+
// multi
|
2618 |
+
isFocused: function () {
|
2619 |
+
return this.search.hasClass("select2-focused");
|
2620 |
+
},
|
2621 |
+
|
2622 |
+
// multi
|
2623 |
+
updateSelection: function (data) {
|
2624 |
+
var ids = [], filtered = [], self = this;
|
2625 |
+
|
2626 |
+
// filter out duplicates
|
2627 |
+
$(data).each(function () {
|
2628 |
+
if (indexOf(self.id(this), ids) < 0) {
|
2629 |
+
ids.push(self.id(this));
|
2630 |
+
filtered.push(this);
|
2631 |
+
}
|
2632 |
+
});
|
2633 |
+
data = filtered;
|
2634 |
+
|
2635 |
+
this.selection.find(".select2-search-choice").remove();
|
2636 |
+
$(data).each(function () {
|
2637 |
+
self.addSelectedChoice(this);
|
2638 |
+
});
|
2639 |
+
self.postprocessResults();
|
2640 |
+
},
|
2641 |
+
|
2642 |
+
// multi
|
2643 |
+
tokenize: function() {
|
2644 |
+
var input = this.search.val();
|
2645 |
+
input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
|
2646 |
+
if (input != null && input != undefined) {
|
2647 |
+
this.search.val(input);
|
2648 |
+
if (input.length > 0) {
|
2649 |
+
this.open();
|
2650 |
+
}
|
2651 |
+
}
|
2652 |
+
|
2653 |
+
},
|
2654 |
+
|
2655 |
+
// multi
|
2656 |
+
onSelect: function (data, options) {
|
2657 |
+
|
2658 |
+
if (!this.triggerSelect(data)) { return; }
|
2659 |
+
|
2660 |
+
this.addSelectedChoice(data);
|
2661 |
+
|
2662 |
+
this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
|
2663 |
+
|
2664 |
+
if (this.select || !this.opts.closeOnSelect) this.postprocessResults();
|
2665 |
+
|
2666 |
+
if (this.opts.closeOnSelect) {
|
2667 |
+
this.close();
|
2668 |
+
this.search.width(10);
|
2669 |
+
} else {
|
2670 |
+
if (this.countSelectableResults()>0) {
|
2671 |
+
this.search.width(10);
|
2672 |
+
this.resizeSearch();
|
2673 |
+
if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
|
2674 |
+
// if we reached max selection size repaint the results so choices
|
2675 |
+
// are replaced with the max selection reached message
|
2676 |
+
this.updateResults(true);
|
2677 |
+
}
|
2678 |
+
this.positionDropdown();
|
2679 |
+
} else {
|
2680 |
+
// if nothing left to select close
|
2681 |
+
this.close();
|
2682 |
+
this.search.width(10);
|
2683 |
+
}
|
2684 |
+
}
|
2685 |
+
|
2686 |
+
// since its not possible to select an element that has already been
|
2687 |
+
// added we do not need to check if this is a new element before firing change
|
2688 |
+
this.triggerChange({ added: data });
|
2689 |
+
|
2690 |
+
if (!options || !options.noFocus)
|
2691 |
+
this.focusSearch();
|
2692 |
+
},
|
2693 |
+
|
2694 |
+
// multi
|
2695 |
+
cancel: function () {
|
2696 |
+
this.close();
|
2697 |
+
this.focusSearch();
|
2698 |
+
},
|
2699 |
+
|
2700 |
+
addSelectedChoice: function (data) {
|
2701 |
+
var enableChoice = !data.locked,
|
2702 |
+
enabledItem = $(
|
2703 |
+
"<li class='select2-search-choice'>" +
|
2704 |
+
" <div></div>" +
|
2705 |
+
" <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" +
|
2706 |
+
"</li>"),
|
2707 |
+
disabledItem = $(
|
2708 |
+
"<li class='select2-search-choice select2-locked'>" +
|
2709 |
+
"<div></div>" +
|
2710 |
+
"</li>");
|
2711 |
+
var choice = enableChoice ? enabledItem : disabledItem,
|
2712 |
+
id = this.id(data),
|
2713 |
+
val = this.getVal(),
|
2714 |
+
formatted,
|
2715 |
+
cssClass;
|
2716 |
+
|
2717 |
+
formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
|
2718 |
+
if (formatted != undefined) {
|
2719 |
+
choice.find("div").replaceWith("<div>"+formatted+"</div>");
|
2720 |
+
}
|
2721 |
+
cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
|
2722 |
+
if (cssClass != undefined) {
|
2723 |
+
choice.addClass(cssClass);
|
2724 |
+
}
|
2725 |
+
|
2726 |
+
if(enableChoice){
|
2727 |
+
choice.find(".select2-search-choice-close")
|
2728 |
+
.on("mousedown", killEvent)
|
2729 |
+
.on("click dblclick", this.bind(function (e) {
|
2730 |
+
if (!this.isInterfaceEnabled()) return;
|
2731 |
+
|
2732 |
+
$(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
|
2733 |
+
this.unselect($(e.target));
|
2734 |
+
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
2735 |
+
this.close();
|
2736 |
+
this.focusSearch();
|
2737 |
+
})).dequeue();
|
2738 |
+
killEvent(e);
|
2739 |
+
})).on("focus", this.bind(function () {
|
2740 |
+
if (!this.isInterfaceEnabled()) return;
|
2741 |
+
this.container.addClass("select2-container-active");
|
2742 |
+
this.dropdown.addClass("select2-drop-active");
|
2743 |
+
}));
|
2744 |
+
}
|
2745 |
+
|
2746 |
+
choice.data("select2-data", data);
|
2747 |
+
choice.insertBefore(this.searchContainer);
|
2748 |
+
|
2749 |
+
val.push(id);
|
2750 |
+
this.setVal(val);
|
2751 |
+
},
|
2752 |
+
|
2753 |
+
// multi
|
2754 |
+
unselect: function (selected) {
|
2755 |
+
var val = this.getVal(),
|
2756 |
+
data,
|
2757 |
+
index;
|
2758 |
+
|
2759 |
+
selected = selected.closest(".select2-search-choice");
|
2760 |
+
|
2761 |
+
if (selected.length === 0) {
|
2762 |
+
throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
|
2763 |
+
}
|
2764 |
+
|
2765 |
+
data = selected.data("select2-data");
|
2766 |
+
|
2767 |
+
if (!data) {
|
2768 |
+
// prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
|
2769 |
+
// and invoked on an element already removed
|
2770 |
+
return;
|
2771 |
+
}
|
2772 |
+
|
2773 |
+
index = indexOf(this.id(data), val);
|
2774 |
+
|
2775 |
+
if (index >= 0) {
|
2776 |
+
val.splice(index, 1);
|
2777 |
+
this.setVal(val);
|
2778 |
+
if (this.select) this.postprocessResults();
|
2779 |
+
}
|
2780 |
+
selected.remove();
|
2781 |
+
|
2782 |
+
this.opts.element.trigger({ type: "removed", val: this.id(data), choice: data });
|
2783 |
+
this.triggerChange({ removed: data });
|
2784 |
+
},
|
2785 |
+
|
2786 |
+
// multi
|
2787 |
+
postprocessResults: function (data, initial, noHighlightUpdate) {
|
2788 |
+
var val = this.getVal(),
|
2789 |
+
choices = this.results.find(".select2-result"),
|
2790 |
+
compound = this.results.find(".select2-result-with-children"),
|
2791 |
+
self = this;
|
2792 |
+
|
2793 |
+
choices.each2(function (i, choice) {
|
2794 |
+
var id = self.id(choice.data("select2-data"));
|
2795 |
+
if (indexOf(id, val) >= 0) {
|
2796 |
+
choice.addClass("select2-selected");
|
2797 |
+
// mark all children of the selected parent as selected
|
2798 |
+
choice.find(".select2-result-selectable").addClass("select2-selected");
|
2799 |
+
}
|
2800 |
+
});
|
2801 |
+
|
2802 |
+
compound.each2(function(i, choice) {
|
2803 |
+
// hide an optgroup if it doesnt have any selectable children
|
2804 |
+
if (!choice.is('.select2-result-selectable')
|
2805 |
+
&& choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
|
2806 |
+
choice.addClass("select2-selected");
|
2807 |
+
}
|
2808 |
+
});
|
2809 |
+
|
2810 |
+
if (this.highlight() == -1 && noHighlightUpdate !== false){
|
2811 |
+
self.highlight(0);
|
2812 |
+
}
|
2813 |
+
|
2814 |
+
//If all results are chosen render formatNoMAtches
|
2815 |
+
if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
|
2816 |
+
if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
|
2817 |
+
if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
|
2818 |
+
this.results.append("<li class='select2-no-results'>" + self.opts.formatNoMatches(self.search.val()) + "</li>");
|
2819 |
+
}
|
2820 |
+
}
|
2821 |
+
}
|
2822 |
+
|
2823 |
+
},
|
2824 |
+
|
2825 |
+
// multi
|
2826 |
+
getMaxSearchWidth: function() {
|
2827 |
+
return this.selection.width() - getSideBorderPadding(this.search);
|
2828 |
+
},
|
2829 |
+
|
2830 |
+
// multi
|
2831 |
+
resizeSearch: function () {
|
2832 |
+
var minimumWidth, left, maxWidth, containerLeft, searchWidth,
|
2833 |
+
sideBorderPadding = getSideBorderPadding(this.search);
|
2834 |
+
|
2835 |
+
minimumWidth = measureTextWidth(this.search) + 10;
|
2836 |
+
|
2837 |
+
left = this.search.offset().left;
|
2838 |
+
|
2839 |
+
maxWidth = this.selection.width();
|
2840 |
+
containerLeft = this.selection.offset().left;
|
2841 |
+
|
2842 |
+
searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
|
2843 |
+
|
2844 |
+
if (searchWidth < minimumWidth) {
|
2845 |
+
searchWidth = maxWidth - sideBorderPadding;
|
2846 |
+
}
|
2847 |
+
|
2848 |
+
if (searchWidth < 40) {
|
2849 |
+
searchWidth = maxWidth - sideBorderPadding;
|
2850 |
+
}
|
2851 |
+
|
2852 |
+
if (searchWidth <= 0) {
|
2853 |
+
searchWidth = minimumWidth;
|
2854 |
+
}
|
2855 |
+
|
2856 |
+
this.search.width(searchWidth);
|
2857 |
+
},
|
2858 |
+
|
2859 |
+
// multi
|
2860 |
+
getVal: function () {
|
2861 |
+
var val;
|
2862 |
+
if (this.select) {
|
2863 |
+
val = this.select.val();
|
2864 |
+
return val === null ? [] : val;
|
2865 |
+
} else {
|
2866 |
+
val = this.opts.element.val();
|
2867 |
+
return splitVal(val, this.opts.separator);
|
2868 |
+
}
|
2869 |
+
},
|
2870 |
+
|
2871 |
+
// multi
|
2872 |
+
setVal: function (val) {
|
2873 |
+
var unique;
|
2874 |
+
if (this.select) {
|
2875 |
+
this.select.val(val);
|
2876 |
+
} else {
|
2877 |
+
unique = [];
|
2878 |
+
// filter out duplicates
|
2879 |
+
$(val).each(function () {
|
2880 |
+
if (indexOf(this, unique) < 0) unique.push(this);
|
2881 |
+
});
|
2882 |
+
this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
|
2883 |
+
}
|
2884 |
+
},
|
2885 |
+
|
2886 |
+
// multi
|
2887 |
+
buildChangeDetails: function (old, current) {
|
2888 |
+
var current = current.slice(0),
|
2889 |
+
old = old.slice(0);
|
2890 |
+
|
2891 |
+
// remove intersection from each array
|
2892 |
+
for (var i = 0; i < current.length; i++) {
|
2893 |
+
for (var j = 0; j < old.length; j++) {
|
2894 |
+
if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
|
2895 |
+
current.splice(i, 1);
|
2896 |
+
i--;
|
2897 |
+
old.splice(j, 1);
|
2898 |
+
j--;
|
2899 |
+
}
|
2900 |
+
}
|
2901 |
+
}
|
2902 |
+
|
2903 |
+
return {added: current, removed: old};
|
2904 |
+
},
|
2905 |
+
|
2906 |
+
|
2907 |
+
// multi
|
2908 |
+
val: function (val, triggerChange) {
|
2909 |
+
var oldData, self=this, changeDetails;
|
2910 |
+
|
2911 |
+
if (arguments.length === 0) {
|
2912 |
+
return this.getVal();
|
2913 |
+
}
|
2914 |
+
|
2915 |
+
oldData=this.data();
|
2916 |
+
if (!oldData.length) oldData=[];
|
2917 |
+
|
2918 |
+
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
2919 |
+
if (!val && val !== 0) {
|
2920 |
+
this.opts.element.val("");
|
2921 |
+
this.updateSelection([]);
|
2922 |
+
this.clearSearch();
|
2923 |
+
if (triggerChange) {
|
2924 |
+
this.triggerChange({added: this.data(), removed: oldData});
|
2925 |
+
}
|
2926 |
+
return;
|
2927 |
+
}
|
2928 |
+
|
2929 |
+
// val is a list of ids
|
2930 |
+
this.setVal(val);
|
2931 |
+
|
2932 |
+
if (this.select) {
|
2933 |
+
this.opts.initSelection(this.select, this.bind(this.updateSelection));
|
2934 |
+
if (triggerChange) {
|
2935 |
+
this.triggerChange(this.buildChangeDetails(oldData, this.data()));
|
2936 |
+
}
|
2937 |
+
} else {
|
2938 |
+
if (this.opts.initSelection === undefined) {
|
2939 |
+
throw new Error("val() cannot be called if initSelection() is not defined");
|
2940 |
+
}
|
2941 |
+
|
2942 |
+
this.opts.initSelection(this.opts.element, function(data){
|
2943 |
+
var ids=$.map(data, self.id);
|
2944 |
+
self.setVal(ids);
|
2945 |
+
self.updateSelection(data);
|
2946 |
+
self.clearSearch();
|
2947 |
+
if (triggerChange) {
|
2948 |
+
self.triggerChange(this.buildChangeDetails(oldData, this.data()));
|
2949 |
+
}
|
2950 |
+
});
|
2951 |
+
}
|
2952 |
+
this.clearSearch();
|
2953 |
+
},
|
2954 |
+
|
2955 |
+
// multi
|
2956 |
+
onSortStart: function() {
|
2957 |
+
if (this.select) {
|
2958 |
+
throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
|
2959 |
+
}
|
2960 |
+
|
2961 |
+
// collapse search field into 0 width so its container can be collapsed as well
|
2962 |
+
this.search.width(0);
|
2963 |
+
// hide the container
|
2964 |
+
this.searchContainer.hide();
|
2965 |
+
},
|
2966 |
+
|
2967 |
+
// multi
|
2968 |
+
onSortEnd:function() {
|
2969 |
+
|
2970 |
+
var val=[], self=this;
|
2971 |
+
|
2972 |
+
// show search and move it to the end of the list
|
2973 |
+
this.searchContainer.show();
|
2974 |
+
// make sure the search container is the last item in the list
|
2975 |
+
this.searchContainer.appendTo(this.searchContainer.parent());
|
2976 |
+
// since we collapsed the width in dragStarted, we resize it here
|
2977 |
+
this.resizeSearch();
|
2978 |
+
|
2979 |
+
// update selection
|
2980 |
+
this.selection.find(".select2-search-choice").each(function() {
|
2981 |
+
val.push(self.opts.id($(this).data("select2-data")));
|
2982 |
+
});
|
2983 |
+
this.setVal(val);
|
2984 |
+
this.triggerChange();
|
2985 |
+
},
|
2986 |
+
|
2987 |
+
// multi
|
2988 |
+
data: function(values, triggerChange) {
|
2989 |
+
var self=this, ids, old;
|
2990 |
+
if (arguments.length === 0) {
|
2991 |
+
return this.selection
|
2992 |
+
.find(".select2-search-choice")
|
2993 |
+
.map(function() { return $(this).data("select2-data"); })
|
2994 |
+
.get();
|
2995 |
+
} else {
|
2996 |
+
old = this.data();
|
2997 |
+
if (!values) { values = []; }
|
2998 |
+
ids = $.map(values, function(e) { return self.opts.id(e); });
|
2999 |
+
this.setVal(ids);
|
3000 |
+
this.updateSelection(values);
|
3001 |
+
this.clearSearch();
|
3002 |
+
if (triggerChange) {
|
3003 |
+
this.triggerChange(this.buildChangeDetails(old, this.data()));
|
3004 |
+
}
|
3005 |
+
}
|
3006 |
+
}
|
3007 |
+
});
|
3008 |
+
|
3009 |
+
$.fn.select2 = function () {
|
3010 |
+
|
3011 |
+
var args = Array.prototype.slice.call(arguments, 0),
|
3012 |
+
opts,
|
3013 |
+
select2,
|
3014 |
+
method, value, multiple,
|
3015 |
+
allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "readonly", "positionDropdown", "data", "search"],
|
3016 |
+
valueMethods = ["val", "opened", "isFocused", "container", "data"],
|
3017 |
+
methodsMap = { search: "externalSearch" };
|
3018 |
+
|
3019 |
+
this.each(function () {
|
3020 |
+
if (args.length === 0 || typeof(args[0]) === "object") {
|
3021 |
+
opts = args.length === 0 ? {} : $.extend({}, args[0]);
|
3022 |
+
opts.element = $(this);
|
3023 |
+
|
3024 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
3025 |
+
multiple = opts.element.prop("multiple");
|
3026 |
+
} else {
|
3027 |
+
multiple = opts.multiple || false;
|
3028 |
+
if ("tags" in opts) {opts.multiple = multiple = true;}
|
3029 |
+
}
|
3030 |
+
|
3031 |
+
select2 = multiple ? new MultiSelect2() : new SingleSelect2();
|
3032 |
+
select2.init(opts);
|
3033 |
+
} else if (typeof(args[0]) === "string") {
|
3034 |
+
|
3035 |
+
if (indexOf(args[0], allowedMethods) < 0) {
|
3036 |
+
throw "Unknown method: " + args[0];
|
3037 |
+
}
|
3038 |
+
|
3039 |
+
value = undefined;
|
3040 |
+
select2 = $(this).data("select2");
|
3041 |
+
if (select2 === undefined) return;
|
3042 |
+
|
3043 |
+
method=args[0];
|
3044 |
+
|
3045 |
+
if (method === "container") {
|
3046 |
+
value = select2.container;
|
3047 |
+
} else if (method === "dropdown") {
|
3048 |
+
value = select2.dropdown;
|
3049 |
+
} else {
|
3050 |
+
if (methodsMap[method]) method = methodsMap[method];
|
3051 |
+
|
3052 |
+
value = select2[method].apply(select2, args.slice(1));
|
3053 |
+
}
|
3054 |
+
if (indexOf(args[0], valueMethods) >= 0) {
|
3055 |
+
return false;
|
3056 |
+
}
|
3057 |
+
} else {
|
3058 |
+
throw "Invalid arguments to select2 plugin: " + args;
|
3059 |
+
}
|
3060 |
+
});
|
3061 |
+
return (value === undefined) ? this : value;
|
3062 |
+
};
|
3063 |
+
|
3064 |
+
// plugin defaults, accessible to users
|
3065 |
+
$.fn.select2.defaults = {
|
3066 |
+
width: "copy",
|
3067 |
+
loadMorePadding: 0,
|
3068 |
+
closeOnSelect: true,
|
3069 |
+
openOnEnter: true,
|
3070 |
+
containerCss: {},
|
3071 |
+
dropdownCss: {},
|
3072 |
+
containerCssClass: "",
|
3073 |
+
dropdownCssClass: "",
|
3074 |
+
formatResult: function(result, container, query, escapeMarkup) {
|
3075 |
+
var markup=[];
|
3076 |
+
markMatch(result.text, query.term, markup, escapeMarkup);
|
3077 |
+
return markup.join("");
|
3078 |
+
},
|
3079 |
+
formatSelection: function (data, container, escapeMarkup) {
|
3080 |
+
return data ? escapeMarkup(data.text) : undefined;
|
3081 |
+
},
|
3082 |
+
sortResults: function (results, container, query) {
|
3083 |
+
return results;
|
3084 |
+
},
|
3085 |
+
formatResultCssClass: function(data) {return undefined;},
|
3086 |
+
formatSelectionCssClass: function(data, container) {return undefined;},
|
3087 |
+
formatNoMatches: function () { return "No matches found"; },
|
3088 |
+
formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1? "" : "s"); },
|
3089 |
+
formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1? "" : "s"); },
|
3090 |
+
formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
|
3091 |
+
formatLoadMore: function (pageNumber) { return "Loading more results..."; },
|
3092 |
+
formatSearching: function () { return "Searching..."; },
|
3093 |
+
minimumResultsForSearch: 0,
|
3094 |
+
minimumInputLength: 0,
|
3095 |
+
maximumInputLength: null,
|
3096 |
+
maximumSelectionSize: 0,
|
3097 |
+
id: function (e) { return e.id; },
|
3098 |
+
matcher: function(term, text) {
|
3099 |
+
return (''+text).toUpperCase().indexOf((''+term).toUpperCase()) >= 0;
|
3100 |
+
},
|
3101 |
+
separator: ",",
|
3102 |
+
tokenSeparators: [],
|
3103 |
+
tokenizer: defaultTokenizer,
|
3104 |
+
escapeMarkup: defaultEscapeMarkup,
|
3105 |
+
blurOnChange: false,
|
3106 |
+
selectOnBlur: false,
|
3107 |
+
adaptContainerCssClass: function(c) { return c; },
|
3108 |
+
adaptDropdownCssClass: function(c) { return null; }
|
3109 |
+
};
|
3110 |
+
|
3111 |
+
$.fn.select2.ajaxDefaults = {
|
3112 |
+
transport: $.ajax,
|
3113 |
+
params: {
|
3114 |
+
type: "GET",
|
3115 |
+
cache: false,
|
3116 |
+
dataType: "json"
|
3117 |
+
}
|
3118 |
+
};
|
3119 |
+
|
3120 |
+
// exports
|
3121 |
+
window.Select2 = {
|
3122 |
+
query: {
|
3123 |
+
ajax: ajax,
|
3124 |
+
local: local,
|
3125 |
+
tags: tags
|
3126 |
+
}, util: {
|
3127 |
+
debounce: debounce,
|
3128 |
+
markMatch: markMatch,
|
3129 |
+
escapeMarkup: defaultEscapeMarkup
|
3130 |
+
}, "class": {
|
3131 |
+
"abstract": AbstractSelect2,
|
3132 |
+
"single": SingleSelect2,
|
3133 |
+
"multi": MultiSelect2
|
3134 |
+
}
|
3135 |
+
};
|
3136 |
+
|
3137 |
+
}(jQuery));
|
shared/assets/admin/js/select2.min.js
CHANGED
@@ -1,22 +1,22 @@
|
|
1 |
-
/*
|
2 |
-
Copyright 2012 Igor Vaynberg
|
3 |
-
|
4 |
-
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
5 |
-
|
6 |
-
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
-
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
-
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
-
License or the GPL License.
|
10 |
-
|
11 |
-
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
-
|
13 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
-
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
-
|
16 |
-
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
|
17 |
-
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
18 |
-
either express or implied. See the Apache License and the GPL License for the specific language governing
|
19 |
-
permissions and limitations under the Apache License and the GPL License.
|
20 |
-
*/
|
21 |
-
(function(a){a.fn.each2===void 0&&a.fn.extend({each2:function(b){for(var c=a([0]),d=-1,e=this.length;e>++d&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})})(jQuery),function(a,b){"use strict";function m(a,b){for(var c=0,d=b.length;d>c;c+=1)if(o(a,b[c]))return c;return-1}function n(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function o(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function p(b,c){var d,e,f;if(null===b||1>b.length)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function q(a){return a.outerWidth(!1)-a.width()}function r(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function s(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function t(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function u(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function v(a,b){var c=t(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){m(a.target,b.get())>=0&&c(a)})}function w(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus(),a.is(":visible")&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function x(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function y(a){a.preventDefault(),a.stopPropagation()}function z(a){a.preventDefault(),a.stopImmediatePropagation()}function A(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function B(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(this))})),b.attr("class",f.join(" "))}function C(a,c,d,e){var f=a.toUpperCase().indexOf(c.toUpperCase()),g=c.length;return 0>f?(d.push(e(a)),b):(d.push(e(a.substring(0,f))),d.push("<span class='select2-match'>"),d.push(e(a.substring(f,f+g))),d.push("</span>"),d.push(e(a.substring(f+g,a.length))),b)}function D(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return(a+"").replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function E(c){var d,e=0,f=null,g=c.quietMillis||100,h=c.url,i=this;return function(j){window.clearTimeout(d),d=window.setTimeout(function(){e+=1;var d=e,g=c.data,k=h,l=c.transport||a.fn.select2.ajaxDefaults.transport,m={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},n=a.extend({},a.fn.select2.ajaxDefaults.params,m);g=g?g.call(i,j.term,j.page,j.context):null,k="function"==typeof k?k.call(i,j.term,j.page,j.context):k,f&&f.abort(),c.params&&(a.isFunction(c.params)?a.extend(n,c.params.call(i)):a.extend(n,c.params)),a.extend(n,{url:k,dataType:c.dataType,data:g,success:function(a){if(!(e>d)){var b=c.results(a,j.page);j.callback(b)}}}),f=l.call(i,n)},g)}}function F(c){var e,f,d=c,g=function(a){return""+a.text};a.isArray(d)&&(f=d,d={results:f}),a.isFunction(d)===!1&&(f=d,d=function(){return f});var h=d();return h.text&&(g=h.text,a.isFunction(g)||(e=h.text,g=function(a){return a[e]})),function(c){var h,e=c.term,f={results:[]};return""===e?(c.callback(d()),b):(h=function(b,d){var f,i;if(b=b[0],b.children){f={};for(i in b)b.hasOwnProperty(i)&&(f[i]=b[i]);f.children=[],a(b.children).each2(function(a,b){h(b,f.children)}),(f.children.length||c.matcher(e,g(f),b))&&d.push(f)}else c.matcher(e,g(b),b)&&d.push(b)},a(d().results).each2(function(a,b){h(b,f.results)}),c.callback(f),b)}}function G(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function H(b,c){if(a.isFunction(b))return!0;if(!b)return!1;throw Error(c+" must be a function or a falsy value")}function I(b){return a.isFunction(b)?b():b}function J(b){var c=0;return a.each(b,function(a,b){b.children?c+=J(b.children):c++}),c}function K(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||1>e.tokenSeparators.length)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(o(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:b}function L(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>";j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=L(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,h,i,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=u(function(){return c.element.closest("body")}),B(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.css(I(c.containerCss)),this.container.addClass(I(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),this.dropdown.addClass(I(c.dropdownCssClass)),this.dropdown.data("select2",this),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.resultsPage=0,this.context=null,this.initContainer(),s(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),v(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),y(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),y(a))}),r(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown",function(a){a.stopPropagation()}),a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||n(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus()},destroy:function(){var a=this.opts.element,c=a.data("select2");this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:o(a.attr("locked"),"locked")||o(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:b},prepareOpts:function(c){var d,e,f,g,h=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var g,l=this.opts.id;g=function(d,e,i){var j,k,m,n,o,p,q,r,s,t;for(d=c.sortResults(d,e,f),j=0,k=d.length;k>j;j+=1)m=d[j],o=m.disabled===!0,n=!o&&l(m)!==b,p=m.children&&m.children.length>0,q=a("<li></li>"),q.addClass("select2-results-dept-"+i),q.addClass("select2-result"),q.addClass(n?"select2-result-selectable":"select2-result-unselectable"),o&&q.addClass("select2-disabled"),p&&q.addClass("select2-result-with-children"),q.addClass(h.opts.formatResultCssClass(m)),r=a(document.createElement("div")),r.addClass("select2-result-label"),t=c.formatResult(m,r,f,h.opts.escapeMarkup),t!==b&&r.html(t),q.append(r),p&&(s=a("<ul></ul>"),s.addClass("select2-result-sub"),g(m.children,s,i+1),q.append(s)),q.data("select2-data",m),e.append(q)},g(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,i,c={results:[],more:!1},e=a.term;i=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(h.optionToData(b)):b.is("optgroup")&&(d=h.optionToData(b),b.children().each2(function(a,b){i(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){i(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id},c.formatResultCssClass=function(a){return a.css}):"query"in c||("ajax"in c?(g=c.element.data("ajax-url"),g&&g.length>0&&(c.ajax.url=g),c.query=E.call(c.element,c.ajax)):"data"in c?c.query=F(c.data):"tags"in c&&(c.query=G(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(a){return{id:a,text:a}}),c.initSelection===b&&(c.initSelection=function(d,e){var f=[];a(p(d.val(),c.separator)).each(function(){var d=this,e=this,g=c.tags;a.isFunction(g)&&(g=g()),a(g).each(function(){return o(this.id,d)?(e=this.text,!1):b}),f.push({id:d,text:e})}),e(f)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");return c},monitorSource:function(){var c,a=this.opts.element;a.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),c=this.bind(function(){var d,f=a.prop("disabled");f===b&&(f=!1),this.enable(!f);var d=a.prop("readonly");d===b&&(d=!1),this.readonly(d),B(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(I(this.opts.containerCssClass)),B(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(I(this.opts.dropdownCssClass))}),a.on("propertychange.select2 DOMAttrModified.select2",c),this.mutationCallback===b&&(this.mutationCallback=function(a){a.forEach(c)}),"undefined"!=typeof WebKitMutationObserver&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new WebKitMutationObserver(this.mutationCallback),this.propertyObserver.observe(a.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){return a===b&&(a=!0),this._enabled===a?!1:(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface(),!0)},readonly:function(a){return a===b&&(a=!1),this._readonly===a?!1:(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface(),!0)},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var q,r,s,t,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window).scrollLeft()+a(window).width(),h=a(window).scrollTop()+a(window).height(),i=c.top+d,j=c.left,l=h>=i+f,m=c.top-f>=this.body().scrollTop(),n=b.outerWidth(!1),o=g>=j+n,p=b.hasClass("select2-drop-above");this.opts.dropdownAutoWidth?(t=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),n=b.outerWidth(!1)+(t.scrollHeight===t.clientHeight?0:k.width),n>e?e=n:n=e,o=g>=j+n):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body().css("position")&&(q=this.body().offset(),i-=q.top,j-=q.left),p?(r=!0,!m&&l&&(r=!1)):(r=!1,!l&&m&&(r=!0)),o||(j=c.left+e-n),r?(i=c.top-f,this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),s=a.extend({top:i,left:j,width:e},I(this.opts.dropdownCss)),b.css(s)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),!0):!1},opening:function(){function i(){return{width:Math.max(document.documentElement.scrollWidth,a(window).width()),height:Math.max(document.documentElement.scrollHeight,a(window).height())}}var f,g,b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body()),f.on("mousedown touchstart click",function(b){var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),g=i(),f.css(g).show(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var h=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){var c=i();a("#select2-drop-mask").css(c),h.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return I(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var d,e,f,g,h,i,j,c=this.results;if(e=this.highlight(),!(0>e)){if(0==e)return c.scrollTop(0),b;d=this.findHighlightableChoices().find(".select2-result-label"),f=a(d[e]),g=f.offset().top+f.outerHeight(!0),e===d.length-1&&(j=c.find("li.select2-more-results"),j.length>0&&(g=j.offset().top+j.outerHeight(!0))),h=c.offset().top+c.outerHeight(!0),g>h&&c.scrollTop(c.scrollTop()+(g-h)),i=f.offset().top-c.offset().top,0>i&&"none"!=f.css("display")&&c.scrollTop(c.scrollTop()+i)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&c.length>d;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(c){var e,f,d=this.findHighlightableChoices();return 0===arguments.length?m(d.filter(".select2-highlighted")[0],d.get()):(c>=d.length&&(c=d.length-1),0>c&&(c=0),this.results.find(".select2-highlighted").removeClass("select2-highlighted"),e=a(d[c]),e.addClass("select2-highlighted"),this.ensureHighlightVisible(),f=e.data("select2-data"),f&&this.opts.element.trigger({type:"select2-highlight",val:this.id(f),choice:f}),b)},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.results.find(".select2-highlighted").removeClass("select2-highlighted")},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),e=this.resultsPage+1,f=this,g=this.search.val(),h=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),this.opts.loadMorePadding>=c&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:g,page:e,context:h,matcher:this.opts.matcher,callback:this.bind(function(c){f.opened()&&(f.opts.populateResults.call(this,a,c.results,{term:g,page:e,context:h}),f.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(f.opts.formatLoadMore(e+1)),window.setTimeout(function(){f.loadMoreIfNeeded()},10)):b.remove(),f.positionDropdown(),f.resultsPage=e,f.context=c.context)})})))},tokenize:function(){},updateResults:function(c){function l(){d.removeClass("select2-active"),h.positionDropdown()}function m(a){e.html(a),l()}var g,i,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!o(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){var n=this.getMaximumSelectionSize();if(n>=1&&(g=this.data(),a.isArray(g)&&g.length>=n&&H(f.formatSelectionTooBig,"formatSelectionTooBig")))return m("<li class='select2-selection-limit'>"+f.formatSelectionTooBig(n)+"</li>"),b;if(d.val().length<f.minimumInputLength)return H(f.formatInputTooShort,"formatInputTooShort")?m("<li class='select2-no-results'>"+f.formatInputTooShort(d.val(),f.minimumInputLength)+"</li>"):m(""),c&&this.showSearch&&this.showSearch(!0),b;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return H(f.formatInputTooLong,"formatInputTooLong")?m("<li class='select2-no-results'>"+f.formatInputTooLong(d.val(),f.maximumInputLength)+"</li>"):m(""),b;f.formatSearching&&0===this.findHighlightableChoices().length&&m("<li class='select2-searching'>"+f.formatSearching()+"</li>"),d.addClass("select2-active"),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;return this.opened()?(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return o(h.id(this),h.id(i))}).length&&g.results.unshift(i)),0===g.results.length&&H(f.formatNoMatches,"formatNoMatches")?(m("<li class='select2-no-results'>"+f.formatNoMatches(d.val())+"</li>"),b):(e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&H(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+h.opts.escapeMarkup(f.formatLoadMore(this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),l(),this.opts.element.trigger({type:"select2-loaded",items:g}),b)):(this.search.removeClass("select2-active"),b)})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){w(this.search)},selectHighlighted:function(a){var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var a=this.select.children().first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&a||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.text()&&""===a.val())return a}},initContainerWidth:function(){function c(){var c,d,e,f,g;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(e=d[f].replace(/\s/g,"").match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=L(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow'><b></b></span>","</a>","<input class='select2-focusser select2-offscreen' type='text'/>","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>"," </div>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var b,c,d;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),b=this.search.get(0),b.createTextRange?(c=b.createTextRange(),c.collapse(!1),c.select()):b.setSelectionRange&&(d=this.search.val().length,b.setSelectionRange(d,d)),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},initContainer:function(){var d,e=this.container,f=this.dropdown;0>this.opts.minimumResultsForSearch?this.showSearch(!1):this.showSearch(!0),this.selection=d=e.find(".select2-choice"),this.focusser=e.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.focusser.attr("tabindex",this.elementTabIndex),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return y(a),b;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),y(a),b;case c.ENTER:return this.selectHighlighted(),y(a),b;case c.TAB:return this.selectHighlighted({noFocus:!0}),b;case c.ESC:return this.cancel(a),y(a),b}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return y(a),b;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),y(a),b}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),y(a),b):b}})),r(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),d.on("mousedown","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),z(a),this.close(),this.selection.focus())})),d.on("mousedown",this.bind(function(b){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),y(b)})),f.on("mousedown",this.bind(function(){this.search.focus()})),d.on("focus",this.bind(function(a){y(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(a){var b=this.selection.data("select2-data");if(b){var c=this.getPlaceholderOption();this.opts.element.val(c?c.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),a!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(b),choice:b}),this.triggerChange({removed:b}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection([]),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder())})}},isPlaceholderOptionSelected:function(){var a;return(a=this.getPlaceholderOption())!==b&&a.is(":selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find(":selected");b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=o(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,c,d){var e=0,f=this;if(this.findHighlightableChoices().each2(function(a,c){return o(f.id(c.data("select2-data")),f.opts.element.val())?(e=a,!1):b}),d!==!1&&(c===!0&&e>=0?this.highlight(e):this.highlight(0)),c===!0){var h=this.opts.minimumResultsForSearch;h>=0&&this.showSearch(J(a.results)>=h)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.close(),b&&b.noFocus||this.selection.focus(),o(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),d=this.opts.formatSelection(a,c,this.opts.escapeMarkup),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")
|
22 |
},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find(":selected").each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),b;if(this.opts.initSelection===b)throw Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a,c){var d;return 0===arguments.length?(d=this.selection.data("select2-data"),d==b&&(d=null),d):(a&&""!==a?(d=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),c&&this.triggerChange({added:a,removed:d})):this.clear(c),b)}}),f=L(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitilize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find(":selected").each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=p(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return o(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;e.length>c;c++)for(var g=e[c],h=0;f.length>h;h++){var i=f[h];if(o(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},initContainer:function(){var e,d=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=e=this.container.find(d);var f=this;this.selection.on("mousedown",".select2-search-choice",function(){f.search[0].focus(),f.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var d=e.find(".select2-search-choice-focus"),f=d.prev(".select2-search-choice:not(.select2-locked)"),g=d.next(".select2-search-choice:not(.select2-locked)"),h=x(this.search);if(d.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var i=d;return a.which==c.LEFT&&f.length?i=f:a.which==c.RIGHT?i=g.length?g:null:a.which===c.BACKSPACE?(this.unselect(d.first()),this.search.width(10),i=f.length?f:g):a.which==c.DELETE?(this.unselect(d.first()),this.search.width(10),i=g.length?g:null):a.which==c.ENTER&&(i=null),this.selectChoice(i),y(a),i&&i.length||this.open(),b}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==h.offset&&!h.length)return this.selectChoice(e.find(".select2-search-choice:not(.select2-locked)").last()),y(a),b;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),y(a),b;case c.ENTER:return this.selectHighlighted(),y(a),b;case c.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),b;case c.ESC:return this.cancel(a),y(a),b}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&y(a),a.which===c.ENTER&&y(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",d,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",d,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){0>m(e.id(this),c)&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",y).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),y(b))})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(a){var c,d,b=this.getVal();if(a=a.closest(".select2-search-choice"),0===a.length)throw"Invalid argument: "+a+". Must be .select2-search-choice";c=a.data("select2-data"),c&&(d=m(this.id(c),b),d>=0&&(b.splice(d,1),this.setVal(b),this.select&&this.postprocessResults()),a.remove(),this.opts.element.trigger({type:"removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));m(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&H(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+g.opts.formatNoMatches(g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-q(this.search)},resizeSearch:function(){var a,b,c,d,e,f=q(this.search);a=A(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(e)},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),p(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){0>m(this,c)&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;b.length>c;c++)for(var d=0;a.length>d;d++)o(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),b;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(this.buildChangeDetails(e,this.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(c,d){var f,g,e=this;return 0===arguments.length?this.selection.find(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(g=this.data(),c||(c=[]),f=a.map(c,function(a){return e.opts.id(a)}),this.setVal(f),this.updateSelection(c),this.clearSearch(),d&&this.triggerChange(this.buildChangeDetails(g,this.data())),b)}}),a.fn.select2=function(){var d,g,h,i,j,c=Array.prototype.slice.call(arguments,0),k=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","readonly","positionDropdown","data","search"],l=["val","opened","isFocused","container","data"],n={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?j=d.element.prop("multiple"):(j=d.multiple||!1,"tags"in d&&(d.multiple=j=!0)),g=j?new f:new e,g.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(0>m(c[0],k))throw"Unknown method: "+c[0];if(i=b,g=a(this).data("select2"),g===b)return;if(h=c[0],"container"===h?i=g.container:"dropdown"===h?i=g.dropdown:(n[h]&&(h=n[h]),i=g[h].apply(g,c.slice(1))),m(c[0],l)>=0)return!1}}),i===b?this:i},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return C(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(){return b},formatSelectionCssClass:function(){return b},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return(""+b).toUpperCase().indexOf((""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:K,escapeMarkup:D,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:E,local:F,tags:G},util:{debounce:t,markMatch:C,escapeMarkup:D},"class":{"abstract":d,single:e,multi:f}}}}(jQuery);
|
1 |
+
/*
|
2 |
+
Copyright 2012 Igor Vaynberg
|
3 |
+
|
4 |
+
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
5 |
+
|
6 |
+
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
+
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
+
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
+
License or the GPL License.
|
10 |
+
|
11 |
+
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
+
|
13 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
+
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
+
|
16 |
+
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
|
17 |
+
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
18 |
+
either express or implied. See the Apache License and the GPL License for the specific language governing
|
19 |
+
permissions and limitations under the Apache License and the GPL License.
|
20 |
+
*/
|
21 |
+
(function(a){a.fn.each2===void 0&&a.fn.extend({each2:function(b){for(var c=a([0]),d=-1,e=this.length;e>++d&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})})(jQuery),function(a,b){"use strict";function m(a,b){for(var c=0,d=b.length;d>c;c+=1)if(o(a,b[c]))return c;return-1}function n(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function o(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function p(b,c){var d,e,f;if(null===b||1>b.length)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function q(a){return a.outerWidth(!1)-a.width()}function r(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function s(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function t(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function u(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function v(a,b){var c=t(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){m(a.target,b.get())>=0&&c(a)})}function w(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus(),a.is(":visible")&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function x(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function y(a){a.preventDefault(),a.stopPropagation()}function z(a){a.preventDefault(),a.stopImmediatePropagation()}function A(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function B(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(this))})),b.attr("class",f.join(" "))}function C(a,c,d,e){var f=a.toUpperCase().indexOf(c.toUpperCase()),g=c.length;return 0>f?(d.push(e(a)),b):(d.push(e(a.substring(0,f))),d.push("<span class='select2-match'>"),d.push(e(a.substring(f,f+g))),d.push("</span>"),d.push(e(a.substring(f+g,a.length))),b)}function D(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return(a+"").replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function E(c){var d,e=0,f=null,g=c.quietMillis||100,h=c.url,i=this;return function(j){window.clearTimeout(d),d=window.setTimeout(function(){e+=1;var d=e,g=c.data,k=h,l=c.transport||a.fn.select2.ajaxDefaults.transport,m={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},n=a.extend({},a.fn.select2.ajaxDefaults.params,m);g=g?g.call(i,j.term,j.page,j.context):null,k="function"==typeof k?k.call(i,j.term,j.page,j.context):k,f&&f.abort(),c.params&&(a.isFunction(c.params)?a.extend(n,c.params.call(i)):a.extend(n,c.params)),a.extend(n,{url:k,dataType:c.dataType,data:g,success:function(a){if(!(e>d)){var b=c.results(a,j.page);j.callback(b)}}}),f=l.call(i,n)},g)}}function F(c){var e,f,d=c,g=function(a){return""+a.text};a.isArray(d)&&(f=d,d={results:f}),a.isFunction(d)===!1&&(f=d,d=function(){return f});var h=d();return h.text&&(g=h.text,a.isFunction(g)||(e=h.text,g=function(a){return a[e]})),function(c){var h,e=c.term,f={results:[]};return""===e?(c.callback(d()),b):(h=function(b,d){var f,i;if(b=b[0],b.children){f={};for(i in b)b.hasOwnProperty(i)&&(f[i]=b[i]);f.children=[],a(b.children).each2(function(a,b){h(b,f.children)}),(f.children.length||c.matcher(e,g(f),b))&&d.push(f)}else c.matcher(e,g(b),b)&&d.push(b)},a(d().results).each2(function(a,b){h(b,f.results)}),c.callback(f),b)}}function G(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function H(b,c){if(a.isFunction(b))return!0;if(!b)return!1;throw Error(c+" must be a function or a falsy value")}function I(b){return a.isFunction(b)?b():b}function J(b){var c=0;return a.each(b,function(a,b){b.children?c+=J(b.children):c++}),c}function K(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||1>e.tokenSeparators.length)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(o(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:b}function L(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>";j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=L(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,h,i,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=u(function(){return c.element.closest("body")}),B(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.css(I(c.containerCss)),this.container.addClass(I(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),this.dropdown.addClass(I(c.dropdownCssClass)),this.dropdown.data("select2",this),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.resultsPage=0,this.context=null,this.initContainer(),s(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),v(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),y(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),y(a))}),r(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown",function(a){a.stopPropagation()}),a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||n(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus()},destroy:function(){var a=this.opts.element,c=a.data("select2");this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:o(a.attr("locked"),"locked")||o(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:b},prepareOpts:function(c){var d,e,f,g,h=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var g,l=this.opts.id;g=function(d,e,i){var j,k,m,n,o,p,q,r,s,t;for(d=c.sortResults(d,e,f),j=0,k=d.length;k>j;j+=1)m=d[j],o=m.disabled===!0,n=!o&&l(m)!==b,p=m.children&&m.children.length>0,q=a("<li></li>"),q.addClass("select2-results-dept-"+i),q.addClass("select2-result"),q.addClass(n?"select2-result-selectable":"select2-result-unselectable"),o&&q.addClass("select2-disabled"),p&&q.addClass("select2-result-with-children"),q.addClass(h.opts.formatResultCssClass(m)),r=a(document.createElement("div")),r.addClass("select2-result-label"),t=c.formatResult(m,r,f,h.opts.escapeMarkup),t!==b&&r.html(t),q.append(r),p&&(s=a("<ul></ul>"),s.addClass("select2-result-sub"),g(m.children,s,i+1),q.append(s)),q.data("select2-data",m),e.append(q)},g(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,i,c={results:[],more:!1},e=a.term;i=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(h.optionToData(b)):b.is("optgroup")&&(d=h.optionToData(b),b.children().each2(function(a,b){i(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){i(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id},c.formatResultCssClass=function(a){return a.css}):"query"in c||("ajax"in c?(g=c.element.data("ajax-url"),g&&g.length>0&&(c.ajax.url=g),c.query=E.call(c.element,c.ajax)):"data"in c?c.query=F(c.data):"tags"in c&&(c.query=G(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(a){return{id:a,text:a}}),c.initSelection===b&&(c.initSelection=function(d,e){var f=[];a(p(d.val(),c.separator)).each(function(){var d=this,e=this,g=c.tags;a.isFunction(g)&&(g=g()),a(g).each(function(){return o(this.id,d)?(e=this.text,!1):b}),f.push({id:d,text:e})}),e(f)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");return c},monitorSource:function(){var c,a=this.opts.element;a.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),c=this.bind(function(){var d,f=a.prop("disabled");f===b&&(f=!1),this.enable(!f);var d=a.prop("readonly");d===b&&(d=!1),this.readonly(d),B(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(I(this.opts.containerCssClass)),B(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(I(this.opts.dropdownCssClass))}),a.on("propertychange.select2 DOMAttrModified.select2",c),this.mutationCallback===b&&(this.mutationCallback=function(a){a.forEach(c)}),"undefined"!=typeof WebKitMutationObserver&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new WebKitMutationObserver(this.mutationCallback),this.propertyObserver.observe(a.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){return a===b&&(a=!0),this._enabled===a?!1:(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface(),!0)},readonly:function(a){return a===b&&(a=!1),this._readonly===a?!1:(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface(),!0)},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var q,r,s,t,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window).scrollLeft()+a(window).width(),h=a(window).scrollTop()+a(window).height(),i=c.top+d,j=c.left,l=h>=i+f,m=c.top-f>=this.body().scrollTop(),n=b.outerWidth(!1),o=g>=j+n,p=b.hasClass("select2-drop-above");this.opts.dropdownAutoWidth?(t=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),n=b.outerWidth(!1)+(t.scrollHeight===t.clientHeight?0:k.width),n>e?e=n:n=e,o=g>=j+n):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body().css("position")&&(q=this.body().offset(),i-=q.top,j-=q.left),p?(r=!0,!m&&l&&(r=!1)):(r=!1,!l&&m&&(r=!0)),o||(j=c.left+e-n),r?(i=c.top-f,this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),s=a.extend({top:i,left:j,width:e},I(this.opts.dropdownCss)),b.css(s)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),!0):!1},opening:function(){function i(){return{width:Math.max(document.documentElement.scrollWidth,a(window).width()),height:Math.max(document.documentElement.scrollHeight,a(window).height())}}var f,g,b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body()),f.on("mousedown touchstart click",function(b){var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),g=i(),f.css(g).show(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var h=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){var c=i();a("#select2-drop-mask").css(c),h.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return I(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var d,e,f,g,h,i,j,c=this.results;if(e=this.highlight(),!(0>e)){if(0==e)return c.scrollTop(0),b;d=this.findHighlightableChoices().find(".select2-result-label"),f=a(d[e]),g=f.offset().top+f.outerHeight(!0),e===d.length-1&&(j=c.find("li.select2-more-results"),j.length>0&&(g=j.offset().top+j.outerHeight(!0))),h=c.offset().top+c.outerHeight(!0),g>h&&c.scrollTop(c.scrollTop()+(g-h)),i=f.offset().top-c.offset().top,0>i&&"none"!=f.css("display")&&c.scrollTop(c.scrollTop()+i)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&c.length>d;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(c){var e,f,d=this.findHighlightableChoices();return 0===arguments.length?m(d.filter(".select2-highlighted")[0],d.get()):(c>=d.length&&(c=d.length-1),0>c&&(c=0),this.results.find(".select2-highlighted").removeClass("select2-highlighted"),e=a(d[c]),e.addClass("select2-highlighted"),this.ensureHighlightVisible(),f=e.data("select2-data"),f&&this.opts.element.trigger({type:"select2-highlight",val:this.id(f),choice:f}),b)},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.results.find(".select2-highlighted").removeClass("select2-highlighted")},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),e=this.resultsPage+1,f=this,g=this.search.val(),h=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),this.opts.loadMorePadding>=c&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:g,page:e,context:h,matcher:this.opts.matcher,callback:this.bind(function(c){f.opened()&&(f.opts.populateResults.call(this,a,c.results,{term:g,page:e,context:h}),f.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(f.opts.formatLoadMore(e+1)),window.setTimeout(function(){f.loadMoreIfNeeded()},10)):b.remove(),f.positionDropdown(),f.resultsPage=e,f.context=c.context)})})))},tokenize:function(){},updateResults:function(c){function l(){d.removeClass("select2-active"),h.positionDropdown()}function m(a){e.html(a),l()}var g,i,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!o(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){var n=this.getMaximumSelectionSize();if(n>=1&&(g=this.data(),a.isArray(g)&&g.length>=n&&H(f.formatSelectionTooBig,"formatSelectionTooBig")))return m("<li class='select2-selection-limit'>"+f.formatSelectionTooBig(n)+"</li>"),b;if(d.val().length<f.minimumInputLength)return H(f.formatInputTooShort,"formatInputTooShort")?m("<li class='select2-no-results'>"+f.formatInputTooShort(d.val(),f.minimumInputLength)+"</li>"):m(""),c&&this.showSearch&&this.showSearch(!0),b;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return H(f.formatInputTooLong,"formatInputTooLong")?m("<li class='select2-no-results'>"+f.formatInputTooLong(d.val(),f.maximumInputLength)+"</li>"):m(""),b;f.formatSearching&&0===this.findHighlightableChoices().length&&m("<li class='select2-searching'>"+f.formatSearching()+"</li>"),d.addClass("select2-active"),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;return this.opened()?(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return o(h.id(this),h.id(i))}).length&&g.results.unshift(i)),0===g.results.length&&H(f.formatNoMatches,"formatNoMatches")?(m("<li class='select2-no-results'>"+f.formatNoMatches(d.val())+"</li>"),b):(e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&H(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+h.opts.escapeMarkup(f.formatLoadMore(this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),l(),this.opts.element.trigger({type:"select2-loaded",items:g}),b)):(this.search.removeClass("select2-active"),b)})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){w(this.search)},selectHighlighted:function(a){var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var a=this.select.children().first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&a||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.text()&&""===a.val())return a}},initContainerWidth:function(){function c(){var c,d,e,f,g;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(e=d[f].replace(/\s/g,"").match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=L(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow'><b></b></span>","</a>","<input class='select2-focusser select2-offscreen' type='text'/>","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>"," </div>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var b,c,d;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),b=this.search.get(0),b.createTextRange?(c=b.createTextRange(),c.collapse(!1),c.select()):b.setSelectionRange&&(d=this.search.val().length,b.setSelectionRange(d,d)),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},initContainer:function(){var d,e=this.container,f=this.dropdown;0>this.opts.minimumResultsForSearch?this.showSearch(!1):this.showSearch(!0),this.selection=d=e.find(".select2-choice"),this.focusser=e.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.focusser.attr("tabindex",this.elementTabIndex),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return y(a),b;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),y(a),b;case c.ENTER:return this.selectHighlighted(),y(a),b;case c.TAB:return this.selectHighlighted({noFocus:!0}),b;case c.ESC:return this.cancel(a),y(a),b}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return y(a),b;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),y(a),b}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),y(a),b):b}})),r(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),d.on("mousedown","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),z(a),this.close(),this.selection.focus())})),d.on("mousedown",this.bind(function(b){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),y(b)})),f.on("mousedown",this.bind(function(){this.search.focus()})),d.on("focus",this.bind(function(a){y(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(a){var b=this.selection.data("select2-data");if(b){var c=this.getPlaceholderOption();this.opts.element.val(c?c.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),a!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(b),choice:b}),this.triggerChange({removed:b}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection([]),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder())})}},isPlaceholderOptionSelected:function(){var a;return(a=this.getPlaceholderOption())!==b&&a.is(":selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find(":selected");b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=o(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,c,d){var e=0,f=this;if(this.findHighlightableChoices().each2(function(a,c){return o(f.id(c.data("select2-data")),f.opts.element.val())?(e=a,!1):b}),d!==!1&&(c===!0&&e>=0?this.highlight(e):this.highlight(0)),c===!0){var h=this.opts.minimumResultsForSearch;h>=0&&this.showSearch(J(a.results)>=h)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.close(),b&&b.noFocus||this.selection.focus(),o(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),d=this.opts.formatSelection(a,c,this.opts.escapeMarkup),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")
|
22 |
},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find(":selected").each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),b;if(this.opts.initSelection===b)throw Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a,c){var d;return 0===arguments.length?(d=this.selection.data("select2-data"),d==b&&(d=null),d):(a&&""!==a?(d=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),c&&this.triggerChange({added:a,removed:d})):this.clear(c),b)}}),f=L(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitilize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find(":selected").each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=p(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return o(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;e.length>c;c++)for(var g=e[c],h=0;f.length>h;h++){var i=f[h];if(o(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},initContainer:function(){var e,d=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=e=this.container.find(d);var f=this;this.selection.on("mousedown",".select2-search-choice",function(){f.search[0].focus(),f.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var d=e.find(".select2-search-choice-focus"),f=d.prev(".select2-search-choice:not(.select2-locked)"),g=d.next(".select2-search-choice:not(.select2-locked)"),h=x(this.search);if(d.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var i=d;return a.which==c.LEFT&&f.length?i=f:a.which==c.RIGHT?i=g.length?g:null:a.which===c.BACKSPACE?(this.unselect(d.first()),this.search.width(10),i=f.length?f:g):a.which==c.DELETE?(this.unselect(d.first()),this.search.width(10),i=g.length?g:null):a.which==c.ENTER&&(i=null),this.selectChoice(i),y(a),i&&i.length||this.open(),b}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==h.offset&&!h.length)return this.selectChoice(e.find(".select2-search-choice:not(.select2-locked)").last()),y(a),b;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),y(a),b;case c.ENTER:return this.selectHighlighted(),y(a),b;case c.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),b;case c.ESC:return this.cancel(a),y(a),b}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&y(a),a.which===c.ENTER&&y(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",d,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",d,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){0>m(e.id(this),c)&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",y).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),y(b))})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(a){var c,d,b=this.getVal();if(a=a.closest(".select2-search-choice"),0===a.length)throw"Invalid argument: "+a+". Must be .select2-search-choice";c=a.data("select2-data"),c&&(d=m(this.id(c),b),d>=0&&(b.splice(d,1),this.setVal(b),this.select&&this.postprocessResults()),a.remove(),this.opts.element.trigger({type:"removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));m(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&H(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+g.opts.formatNoMatches(g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-q(this.search)},resizeSearch:function(){var a,b,c,d,e,f=q(this.search);a=A(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(e)},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),p(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){0>m(this,c)&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;b.length>c;c++)for(var d=0;a.length>d;d++)o(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),b;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(this.buildChangeDetails(e,this.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(c,d){var f,g,e=this;return 0===arguments.length?this.selection.find(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(g=this.data(),c||(c=[]),f=a.map(c,function(a){return e.opts.id(a)}),this.setVal(f),this.updateSelection(c),this.clearSearch(),d&&this.triggerChange(this.buildChangeDetails(g,this.data())),b)}}),a.fn.select2=function(){var d,g,h,i,j,c=Array.prototype.slice.call(arguments,0),k=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","readonly","positionDropdown","data","search"],l=["val","opened","isFocused","container","data"],n={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?j=d.element.prop("multiple"):(j=d.multiple||!1,"tags"in d&&(d.multiple=j=!0)),g=j?new f:new e,g.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(0>m(c[0],k))throw"Unknown method: "+c[0];if(i=b,g=a(this).data("select2"),g===b)return;if(h=c[0],"container"===h?i=g.container:"dropdown"===h?i=g.dropdown:(n[h]&&(h=n[h]),i=g[h].apply(g,c.slice(1))),m(c[0],l)>=0)return!1}}),i===b?this:i},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return C(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(){return b},formatSelectionCssClass:function(){return b},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return(""+b).toUpperCase().indexOf((""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:K,escapeMarkup:D,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:E,local:F,tags:G},util:{debounce:t,markMatch:C,escapeMarkup:D},"class":{"abstract":d,single:e,multi:f}}}}(jQuery);
|
shared/assets/assets.loader.class.php
CHANGED
@@ -1,193 +1,193 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
Inbound Scripts and CSS Enqueue
|
4 |
-
*/
|
5 |
-
|
6 |
-
|
7 |
-
if (!class_exists('Inbound_Asset_Loader')) {
|
8 |
-
class Inbound_Asset_Loader {
|
9 |
-
static $load_assets;
|
10 |
-
|
11 |
-
static function load_inbound_assets() {
|
12 |
-
self::$load_assets = true;
|
13 |
-
add_action('wp_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
14 |
-
add_action('admin_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
15 |
-
}
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Registers and enqueues stylesheets for the administration panel and the
|
19 |
-
* public facing site.
|
20 |
-
*
|
21 |
-
* Example:
|
22 |
-
* self::load_file('SCRIPT-ID', 'frontend/js/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
|
23 |
-
*/
|
24 |
-
static function register_scripts_and_styles() {
|
25 |
-
/* Frontent and Backend Files */
|
26 |
-
self::load_file('jquery-cookie', 'global/js/jquery.cookie.js', array( 'jquery' ));
|
27 |
-
self::load_file('jquery-total-storage', 'global/js/jquery.total-storage.min.js', array( 'jquery' ));
|
28 |
-
if(is_user_logged_in()){
|
29 |
-
self::load_file('inbound-admin', 'admin/css/global-inbound-admin.css');
|
30 |
-
}
|
31 |
-
|
32 |
-
/* Conditionals for admin or frontend */
|
33 |
-
if(is_admin()) {
|
34 |
-
|
35 |
-
$inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
|
36 |
-
$screen = get_current_screen();
|
37 |
-
|
38 |
-
/* Target Specific screen with // echo $screen->id; */
|
39 |
-
|
40 |
-
if ( $screen->id == 'wp-call-to-action') {
|
41 |
-
self::load_file('image-picker-js', 'admin/js/image-picker.js');
|
42 |
-
self::load_file('image-picker-css', 'admin/css/image-picker.css');
|
43 |
-
}
|
44 |
-
/* Metabox CSS */
|
45 |
-
self::load_file('inbound-metaboxes', 'admin/css/inbound-metaboxes.css');
|
46 |
-
|
47 |
-
//self::load_file('script-test', 'admin/js/test.js');
|
48 |
-
} else {
|
49 |
-
|
50 |
-
global $wp_scripts;
|
51 |
-
|
52 |
-
if ( !empty( $wp_scripts->queue ) ) {
|
53 |
-
$store = $wp_scripts->queue; // store the scripts
|
54 |
-
foreach ( $wp_scripts->queue as $handle ) {
|
55 |
-
wp_dequeue_script( $handle );
|
56 |
-
}
|
57 |
-
}
|
58 |
-
/*if (!defined('InboundAnalytics_v2')) {
|
59 |
-
self::load_file('funnel-tracking', 'frontend/js/inbound.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'wplft', self::localize_lead_data());
|
60 |
-
self::load_file('store-lead-ajax', 'frontend/js/store.lead.ajax.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'inbound_ajax', self::localize_lead_data());
|
61 |
-
} else {
|
62 |
-
*/
|
63 |
-
|
64 |
-
self::load_file('funnel-tracking', 'frontend/js/analytics/inboundAnalytics.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
|
65 |
-
/* } */
|
66 |
-
|
67 |
-
if (is_array($store)) {
|
68 |
-
foreach ( $store as $handle ) {
|
69 |
-
wp_enqueue_script( $handle );
|
70 |
-
}
|
71 |
-
}
|
72 |
-
/* Target Specific post type with
|
73 |
-
if ( is_singular( 'landing-page' ) ) {
|
74 |
-
|
75 |
-
} */
|
76 |
-
//self::load_file('test-css', 'frontend/css/test.css');
|
77 |
-
}
|
78 |
-
} // end register_scripts_and_styles
|
79 |
-
|
80 |
-
/**
|
81 |
-
* Helper function for registering and enqueueing scripts and styles.
|
82 |
-
*
|
83 |
-
* @name The ID to register with WordPress
|
84 |
-
* @file_path The path to the actual file inside /shared/assets/
|
85 |
-
* @localize_array Optional argument for the localized array
|
86 |
-
* @deps js dependancies by name example 'jquery'
|
87 |
-
* @localize_var the localized variable name
|
88 |
-
*/
|
89 |
-
static function load_file($name, $file_name, $deps = array(), $localize_var = null, $localize_array = array()) {
|
90 |
-
$is_script = false;
|
91 |
-
$deps = (empty($deps)) ? array() : $deps;
|
92 |
-
$url = INBOUDNOW_SHARED_URLPATH . 'assets/' . $file_name;
|
93 |
-
$file = INBOUDNOW_SHARED_PATH . 'assets/' . $file_name;
|
94 |
-
|
95 |
-
$file_type = strpos($file_name, '.js');
|
96 |
-
if (!(false === $file_type)) { $is_script = true; }
|
97 |
-
|
98 |
-
if(file_exists($file)) {
|
99 |
-
if($is_script) {
|
100 |
-
wp_register_script($name, $url, $deps);
|
101 |
-
wp_enqueue_script($name);
|
102 |
-
|
103 |
-
if ($localize_var != null) {
|
104 |
-
wp_localize_script( $name , $localize_var, $localize_array );
|
105 |
-
}
|
106 |
-
} else {
|
107 |
-
wp_register_style($name, $url);
|
108 |
-
wp_enqueue_style($name);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
|
112 |
-
} // end load_file
|
113 |
-
|
114 |
-
/* Global Specific localize functions */
|
115 |
-
static function localize_lead_data() {
|
116 |
-
global $post;
|
117 |
-
$post_id = null;
|
118 |
-
$id_check = false;
|
119 |
-
$page_tracking = 'on';
|
120 |
-
$search_tracking = 'on';
|
121 |
-
$comment_tracking = 'on';
|
122 |
-
$post_type = isset($post) ? get_post_type( $post ) : null;
|
123 |
-
$current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
|
124 |
-
$ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
|
125 |
-
$lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
|
126 |
-
$lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
|
127 |
-
$lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
|
128 |
-
$custom_map_values = array();
|
129 |
-
$custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
|
130 |
-
// Get correct post ID
|
131 |
-
|
132 |
-
global $wp_query;
|
133 |
-
$current_page_id = $wp_query->get_queried_object_id();
|
134 |
-
$post_id = $current_page_id;
|
135 |
-
$id_check = ($post_id != null) ? true : false;
|
136 |
-
|
137 |
-
if (!is_archive() && !$id_check){
|
138 |
-
$post_id = (isset($post)) ? $post->ID : false;
|
139 |
-
$id_check = ($post_id != null) ? true : false;
|
140 |
-
}
|
141 |
-
if (!$id_check) {
|
142 |
-
$post_id = wpl_url_to_postid($current_page);
|
143 |
-
$id_check = ($post_id != null) ? true : false;
|
144 |
-
}
|
145 |
-
if(!$id_check){
|
146 |
-
$post_id = wp_leads_get_page_final_id();
|
147 |
-
$id_check = ($post_id != null) ? true : false;
|
148 |
-
}
|
149 |
-
|
150 |
-
// If page tracking on
|
151 |
-
$lead_page_view_tracking = get_option( 'wpl-main-page-view-tracking', 1);
|
152 |
-
$lead_search_tracking = get_option( 'wpl-main-search-tracking', 1);
|
153 |
-
$lead_comment_tracking = get_option( 'wpl-main-comment-tracking', 1);
|
154 |
-
if (!$lead_search_tracking) {
|
155 |
-
$search_tracking = 'off';
|
156 |
-
}
|
157 |
-
if (!$lead_comment_tracking) {
|
158 |
-
$comment_tracking = 'off';
|
159 |
-
}
|
160 |
-
if (!$lead_page_view_tracking) {
|
161 |
-
$page_tracking = 'off';
|
162 |
-
}
|
163 |
-
|
164 |
-
// Localize lead data
|
165 |
-
$lead_data_array = array();
|
166 |
-
$lead_data_array['lead_id'] = ($lead_id) ? $lead_id : null;
|
167 |
-
$lead_data_array['lead_email'] = ($lead_email) ? $lead_email : null;
|
168 |
-
$lead_data_array['lead_uid'] = ($lead_uid) ? $lead_uid : null;
|
169 |
-
$time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
|
170 |
-
$wordpress_date_time = date("Y/m/d G:i:s", $time);
|
171 |
-
$inbound_track_include = get_option( 'wpl-main-tracking-ids');
|
172 |
-
$inbound_track_exclude = get_option( 'wpl-main-exclude-tracking-ids');
|
173 |
-
$inbound_localized_data = array('post_id' => $post_id,
|
174 |
-
'ip_address' => $ip_address,
|
175 |
-
'wp_lead_data' => $lead_data_array,
|
176 |
-
'admin_url' => admin_url('admin-ajax.php'),
|
177 |
-
'track_time' => $wordpress_date_time,
|
178 |
-
'post_type' => $post_type,
|
179 |
-
'page_tracking' => $page_tracking,
|
180 |
-
'search_tracking' => $search_tracking,
|
181 |
-
'comment_tracking' => $comment_tracking,
|
182 |
-
'custom_mapping' => $custom_map_values,
|
183 |
-
'inbound_track_exclude' => $inbound_track_exclude,
|
184 |
-
'inbound_track_include' => $inbound_track_include
|
185 |
-
);
|
186 |
-
|
187 |
-
return $inbound_localized_data;
|
188 |
-
} // end localize lead data
|
189 |
-
|
190 |
-
} // end class
|
191 |
-
}
|
192 |
-
|
193 |
-
Inbound_Asset_Loader::load_inbound_assets();
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Inbound Scripts and CSS Enqueue
|
4 |
+
*/
|
5 |
+
|
6 |
+
|
7 |
+
if (!class_exists('Inbound_Asset_Loader')) {
|
8 |
+
class Inbound_Asset_Loader {
|
9 |
+
static $load_assets;
|
10 |
+
|
11 |
+
static function load_inbound_assets() {
|
12 |
+
self::$load_assets = true;
|
13 |
+
add_action('wp_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
14 |
+
add_action('admin_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Registers and enqueues stylesheets for the administration panel and the
|
19 |
+
* public facing site.
|
20 |
+
*
|
21 |
+
* Example:
|
22 |
+
* self::load_file('SCRIPT-ID', 'frontend/js/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
|
23 |
+
*/
|
24 |
+
static function register_scripts_and_styles() {
|
25 |
+
/* Frontent and Backend Files */
|
26 |
+
self::load_file('jquery-cookie', 'global/js/jquery.cookie.js', array( 'jquery' ));
|
27 |
+
self::load_file('jquery-total-storage', 'global/js/jquery.total-storage.min.js', array( 'jquery' ));
|
28 |
+
if(is_user_logged_in()){
|
29 |
+
self::load_file('inbound-admin', 'admin/css/global-inbound-admin.css');
|
30 |
+
}
|
31 |
+
|
32 |
+
/* Conditionals for admin or frontend */
|
33 |
+
if(is_admin()) {
|
34 |
+
|
35 |
+
$inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
|
36 |
+
$screen = get_current_screen();
|
37 |
+
|
38 |
+
/* Target Specific screen with // echo $screen->id; */
|
39 |
+
|
40 |
+
if ( $screen->id == 'wp-call-to-action') {
|
41 |
+
self::load_file('image-picker-js', 'admin/js/image-picker.js');
|
42 |
+
self::load_file('image-picker-css', 'admin/css/image-picker.css');
|
43 |
+
}
|
44 |
+
/* Metabox CSS */
|
45 |
+
self::load_file('inbound-metaboxes', 'admin/css/inbound-metaboxes.css');
|
46 |
+
|
47 |
+
//self::load_file('script-test', 'admin/js/test.js');
|
48 |
+
} else {
|
49 |
+
|
50 |
+
global $wp_scripts;
|
51 |
+
|
52 |
+
if ( !empty( $wp_scripts->queue ) ) {
|
53 |
+
$store = $wp_scripts->queue; // store the scripts
|
54 |
+
foreach ( $wp_scripts->queue as $handle ) {
|
55 |
+
wp_dequeue_script( $handle );
|
56 |
+
}
|
57 |
+
}
|
58 |
+
/*if (!defined('InboundAnalytics_v2')) {
|
59 |
+
self::load_file('funnel-tracking', 'frontend/js/inbound.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'wplft', self::localize_lead_data());
|
60 |
+
self::load_file('store-lead-ajax', 'frontend/js/store.lead.ajax.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'inbound_ajax', self::localize_lead_data());
|
61 |
+
} else {
|
62 |
+
*/
|
63 |
+
|
64 |
+
self::load_file('funnel-tracking', 'frontend/js/analytics/inboundAnalytics.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
|
65 |
+
/* } */
|
66 |
+
|
67 |
+
if (is_array($store)) {
|
68 |
+
foreach ( $store as $handle ) {
|
69 |
+
wp_enqueue_script( $handle );
|
70 |
+
}
|
71 |
+
}
|
72 |
+
/* Target Specific post type with
|
73 |
+
if ( is_singular( 'landing-page' ) ) {
|
74 |
+
|
75 |
+
} */
|
76 |
+
//self::load_file('test-css', 'frontend/css/test.css');
|
77 |
+
}
|
78 |
+
} // end register_scripts_and_styles
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Helper function for registering and enqueueing scripts and styles.
|
82 |
+
*
|
83 |
+
* @name The ID to register with WordPress
|
84 |
+
* @file_path The path to the actual file inside /shared/assets/
|
85 |
+
* @localize_array Optional argument for the localized array
|
86 |
+
* @deps js dependancies by name example 'jquery'
|
87 |
+
* @localize_var the localized variable name
|
88 |
+
*/
|
89 |
+
static function load_file($name, $file_name, $deps = array(), $localize_var = null, $localize_array = array()) {
|
90 |
+
$is_script = false;
|
91 |
+
$deps = (empty($deps)) ? array() : $deps;
|
92 |
+
$url = INBOUDNOW_SHARED_URLPATH . 'assets/' . $file_name;
|
93 |
+
$file = INBOUDNOW_SHARED_PATH . 'assets/' . $file_name;
|
94 |
+
|
95 |
+
$file_type = strpos($file_name, '.js');
|
96 |
+
if (!(false === $file_type)) { $is_script = true; }
|
97 |
+
|
98 |
+
if(file_exists($file)) {
|
99 |
+
if($is_script) {
|
100 |
+
wp_register_script($name, $url, $deps);
|
101 |
+
wp_enqueue_script($name);
|
102 |
+
|
103 |
+
if ($localize_var != null) {
|
104 |
+
wp_localize_script( $name , $localize_var, $localize_array );
|
105 |
+
}
|
106 |
+
} else {
|
107 |
+
wp_register_style($name, $url);
|
108 |
+
wp_enqueue_style($name);
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
} // end load_file
|
113 |
+
|
114 |
+
/* Global Specific localize functions */
|
115 |
+
static function localize_lead_data() {
|
116 |
+
global $post;
|
117 |
+
$post_id = null;
|
118 |
+
$id_check = false;
|
119 |
+
$page_tracking = 'on';
|
120 |
+
$search_tracking = 'on';
|
121 |
+
$comment_tracking = 'on';
|
122 |
+
$post_type = isset($post) ? get_post_type( $post ) : null;
|
123 |
+
$current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
|
124 |
+
$ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
|
125 |
+
$lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
|
126 |
+
$lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
|
127 |
+
$lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
|
128 |
+
$custom_map_values = array();
|
129 |
+
$custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
|
130 |
+
// Get correct post ID
|
131 |
+
|
132 |
+
global $wp_query;
|
133 |
+
$current_page_id = $wp_query->get_queried_object_id();
|
134 |
+
$post_id = $current_page_id;
|
135 |
+
$id_check = ($post_id != null) ? true : false;
|
136 |
+
|
137 |
+
if (!is_archive() && !$id_check){
|
138 |
+
$post_id = (isset($post)) ? $post->ID : false;
|
139 |
+
$id_check = ($post_id != null) ? true : false;
|
140 |
+
}
|
141 |
+
if (!$id_check) {
|
142 |
+
$post_id = wpl_url_to_postid($current_page);
|
143 |
+
$id_check = ($post_id != null) ? true : false;
|
144 |
+
}
|
145 |
+
if(!$id_check){
|
146 |
+
$post_id = wp_leads_get_page_final_id();
|
147 |
+
$id_check = ($post_id != null) ? true : false;
|
148 |
+
}
|
149 |
+
|
150 |
+
// If page tracking on
|
151 |
+
$lead_page_view_tracking = get_option( 'wpl-main-page-view-tracking', 1);
|
152 |
+
$lead_search_tracking = get_option( 'wpl-main-search-tracking', 1);
|
153 |
+
$lead_comment_tracking = get_option( 'wpl-main-comment-tracking', 1);
|
154 |
+
if (!$lead_search_tracking) {
|
155 |
+
$search_tracking = 'off';
|
156 |
+
}
|
157 |
+
if (!$lead_comment_tracking) {
|
158 |
+
$comment_tracking = 'off';
|
159 |
+
}
|
160 |
+
if (!$lead_page_view_tracking) {
|
161 |
+
$page_tracking = 'off';
|
162 |
+
}
|
163 |
+
|
164 |
+
// Localize lead data
|
165 |
+
$lead_data_array = array();
|
166 |
+
$lead_data_array['lead_id'] = ($lead_id) ? $lead_id : null;
|
167 |
+
$lead_data_array['lead_email'] = ($lead_email) ? $lead_email : null;
|
168 |
+
$lead_data_array['lead_uid'] = ($lead_uid) ? $lead_uid : null;
|
169 |
+
$time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
|
170 |
+
$wordpress_date_time = date("Y/m/d G:i:s", $time);
|
171 |
+
$inbound_track_include = get_option( 'wpl-main-tracking-ids');
|
172 |
+
$inbound_track_exclude = get_option( 'wpl-main-exclude-tracking-ids');
|
173 |
+
$inbound_localized_data = array('post_id' => $post_id,
|
174 |
+
'ip_address' => $ip_address,
|
175 |
+
'wp_lead_data' => $lead_data_array,
|
176 |
+
'admin_url' => admin_url('admin-ajax.php'),
|
177 |
+
'track_time' => $wordpress_date_time,
|
178 |
+
'post_type' => $post_type,
|
179 |
+
'page_tracking' => $page_tracking,
|
180 |
+
'search_tracking' => $search_tracking,
|
181 |
+
'comment_tracking' => $comment_tracking,
|
182 |
+
'custom_mapping' => $custom_map_values,
|
183 |
+
'inbound_track_exclude' => $inbound_track_exclude,
|
184 |
+
'inbound_track_include' => $inbound_track_include
|
185 |
+
);
|
186 |
+
|
187 |
+
return $inbound_localized_data;
|
188 |
+
} // end localize lead data
|
189 |
+
|
190 |
+
} // end class
|
191 |
+
}
|
192 |
+
|
193 |
+
Inbound_Asset_Loader::load_inbound_assets();
|
shared/assets/frontend/js/analytics-src/analytics.events.js
CHANGED
@@ -62,7 +62,12 @@ var _inboundEvents = (function(_inbound) {
|
|
62 |
|
63 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
64 |
|
65 |
-
if(
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
var TriggerEvent = new CustomEvent(eventName, {
|
68 |
detail: data,
|
@@ -70,11 +75,7 @@ var _inboundEvents = (function(_inbound) {
|
|
70 |
cancelable: options.cancelable
|
71 |
});
|
72 |
|
73 |
-
} else {
|
74 |
-
var TriggerEvent = document.createEvent("Event");
|
75 |
-
TriggerEvent.initEvent(eventName, true, true);
|
76 |
}
|
77 |
-
|
78 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
79 |
window.dispatchEvent(TriggerEvent);
|
80 |
/*! 2. Trigger _inbound action */
|
@@ -89,7 +90,6 @@ var _inboundEvents = (function(_inbound) {
|
|
89 |
function triggerJQueryEvent(eventName, data) {
|
90 |
if (window.jQuery) {
|
91 |
var data = data || {};
|
92 |
-
/*! try catch here */
|
93 |
jQuery(document).trigger(eventName, data);
|
94 |
}
|
95 |
};
|
@@ -520,7 +520,7 @@ var _inboundEvents = (function(_inbound) {
|
|
520 |
});
|
521 |
window.dispatchEvent(error);
|
522 |
console.log('Page Save Error');
|
523 |
-
}
|
524 |
|
525 |
};
|
526 |
|
62 |
|
63 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
64 |
|
65 |
+
if(is_IE_11){
|
66 |
+
|
67 |
+
var TriggerEvent = document.createEvent("Event");
|
68 |
+
TriggerEvent.initEvent(eventName, true, true);
|
69 |
+
|
70 |
+
} else {
|
71 |
|
72 |
var TriggerEvent = new CustomEvent(eventName, {
|
73 |
detail: data,
|
75 |
cancelable: options.cancelable
|
76 |
});
|
77 |
|
|
|
|
|
|
|
78 |
}
|
|
|
79 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
80 |
window.dispatchEvent(TriggerEvent);
|
81 |
/*! 2. Trigger _inbound action */
|
90 |
function triggerJQueryEvent(eventName, data) {
|
91 |
if (window.jQuery) {
|
92 |
var data = data || {};
|
|
|
93 |
jQuery(document).trigger(eventName, data);
|
94 |
}
|
95 |
};
|
520 |
});
|
521 |
window.dispatchEvent(error);
|
522 |
console.log('Page Save Error');
|
523 |
+
},
|
524 |
|
525 |
};
|
526 |
|
shared/assets/frontend/js/analytics-src/analytics.forms.js
CHANGED
@@ -75,19 +75,18 @@ var InboundForms = (function(_inbound) {
|
|
75 |
debug: function(msg, callback) {
|
76 |
//if app not in debug mode, exit immediately
|
77 |
if (!debugMode || !console) {
|
78 |
-
return
|
79 |
-
}
|
80 |
-
|
81 |
var msg = msg || false;
|
82 |
//console.log the message
|
83 |
if (msg && (typeof msg === 'string')) {
|
84 |
-
console.log(msg)
|
85 |
-
}
|
86 |
|
87 |
//execute the callback if one was passed-in
|
88 |
if (callback && (callback instanceof Function)) {
|
89 |
callback();
|
90 |
-
}
|
91 |
},
|
92 |
formTrackInit: function() {
|
93 |
|
@@ -114,7 +113,9 @@ var InboundForms = (function(_inbound) {
|
|
114 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
115 |
return true;
|
116 |
} else {
|
117 |
-
cb = function()
|
|
|
|
|
118 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
119 |
return false;
|
120 |
}
|
@@ -157,7 +158,7 @@ var InboundForms = (function(_inbound) {
|
|
157 |
_inbound.Utils.removeClass('inbound-track', selector);
|
158 |
}
|
159 |
}
|
160 |
-
}
|
161 |
},
|
162 |
/* Map field fields on load */
|
163 |
initFormMapping: function(form) {
|
@@ -171,6 +172,7 @@ var InboundForms = (function(_inbound) {
|
|
171 |
continue;
|
172 |
}
|
173 |
|
|
|
174 |
//this.ignoreFields(formInput);
|
175 |
/* Map form fields */
|
176 |
this.mapField(formInput);
|
@@ -182,12 +184,10 @@ var InboundForms = (function(_inbound) {
|
|
182 |
}
|
183 |
|
184 |
}
|
185 |
-
|
186 |
-
|
187 |
-
for (var n = hiddenInputs.length - 1; n >= 0; n--) {
|
188 |
-
formInput = hiddenInputs[n];
|
189 |
this.mapField(formInput);
|
190 |
-
}
|
191 |
|
192 |
//console.log('mapping on load completed');
|
193 |
},
|
@@ -241,8 +241,8 @@ var InboundForms = (function(_inbound) {
|
|
241 |
//console.log('label', label);
|
242 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
243 |
|
244 |
-
|
245 |
-
|
246 |
|
247 |
}
|
248 |
|
@@ -312,7 +312,7 @@ var InboundForms = (function(_inbound) {
|
|
312 |
ignoreFieldByValue: function(value){
|
313 |
var ignore_field = false;
|
314 |
|
315 |
-
if(!value){ return false
|
316 |
|
317 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
318 |
ignore_field = true;
|
@@ -340,29 +340,17 @@ var InboundForms = (function(_inbound) {
|
|
340 |
document.body.style.cursor = "default";
|
341 |
utils.removeClass('wpl-track-me', form);
|
342 |
utils.removeListener(form, 'submit', this.formListener);
|
343 |
-
var formClass = form.getAttribute('class');
|
344 |
-
if (formClass !== "" && formClass !== null) {
|
345 |
-
/* If contact form 7 do this */
|
346 |
-
if (formClass.toLowerCase().indexOf("wpcf7-form") != -1) {
|
347 |
-
//alert('release')
|
348 |
-
setTimeout(function() {
|
349 |
-
document.body.style.cursor = "default";
|
350 |
-
}, 300);
|
351 |
-
return true;
|
352 |
-
}
|
353 |
-
}
|
354 |
-
|
355 |
form.submit();
|
356 |
/* fallback if submit name="submit" */
|
357 |
setTimeout(function() {
|
358 |
for (var i = 0; i < form.elements.length; i++) {
|
359 |
formInput = form.elements[i];
|
360 |
type = formInput.type || false;
|
361 |
-
if (type === "submit"
|
362 |
form.elements[i].click();
|
363 |
}
|
364 |
}
|
365 |
-
},
|
366 |
|
367 |
},
|
368 |
saveFormData: function(form) {
|
@@ -430,7 +418,7 @@ var InboundForms = (function(_inbound) {
|
|
430 |
value = (formInput.value);
|
431 |
}
|
432 |
|
433 |
-
|
434 |
break;
|
435 |
}
|
436 |
|
@@ -522,8 +510,6 @@ var InboundForms = (function(_inbound) {
|
|
522 |
|
523 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
524 |
|
525 |
-
if(!fName) { fName = "n/a"; }
|
526 |
-
|
527 |
_inbound.deBugger('forms', "fName = " + fName);
|
528 |
_inbound.deBugger('forms', "lName = " + lName);
|
529 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
@@ -823,7 +809,7 @@ var InboundForms = (function(_inbound) {
|
|
823 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
824 |
],
|
825 |
|
826 |
-
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"
|
827 |
|
828 |
run: function(opts) {
|
829 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
@@ -831,14 +817,14 @@ var InboundForms = (function(_inbound) {
|
|
831 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
832 |
|
833 |
var defaultCallback = function(result) {
|
834 |
-
return result
|
835 |
};
|
836 |
var suggestedCallback = opts.suggested || defaultCallback;
|
837 |
var emptyCallback = opts.empty || defaultCallback;
|
838 |
|
839 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
840 |
|
841 |
-
return result ? suggestedCallback(result) : emptyCallback()
|
842 |
},
|
843 |
|
844 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
@@ -911,15 +897,15 @@ var InboundForms = (function(_inbound) {
|
|
911 |
|
912 |
sift3Distance: function(s1, s2) {
|
913 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
914 |
-
if (s1
|
915 |
-
if (s2
|
916 |
return 0;
|
917 |
} else {
|
918 |
return s2.length;
|
919 |
}
|
920 |
}
|
921 |
|
922 |
-
if (s2
|
923 |
return s1.length;
|
924 |
}
|
925 |
|
@@ -968,7 +954,7 @@ var InboundForms = (function(_inbound) {
|
|
968 |
var domainParts = domain.split(".");
|
969 |
var tld = "";
|
970 |
|
971 |
-
if (domainParts.length
|
972 |
// The address does not have a top-level domain
|
973 |
return false;
|
974 |
} else if (domainParts.length == 1) {
|
@@ -988,7 +974,7 @@ var InboundForms = (function(_inbound) {
|
|
988 |
topLevelDomain: tld,
|
989 |
domain: domain,
|
990 |
address: parts.join("@")
|
991 |
-
}
|
992 |
},
|
993 |
|
994 |
// Encode the email address to prevent XSS but leave in valid
|
@@ -1001,7 +987,7 @@ var InboundForms = (function(_inbound) {
|
|
1001 |
.replace("%7D", "}");
|
1002 |
return result;
|
1003 |
}
|
1004 |
-
}
|
1005 |
} // End Mailcheck
|
1006 |
|
1007 |
|
75 |
debug: function(msg, callback) {
|
76 |
//if app not in debug mode, exit immediately
|
77 |
if (!debugMode || !console) {
|
78 |
+
return
|
79 |
+
};
|
|
|
80 |
var msg = msg || false;
|
81 |
//console.log the message
|
82 |
if (msg && (typeof msg === 'string')) {
|
83 |
+
console.log(msg)
|
84 |
+
};
|
85 |
|
86 |
//execute the callback if one was passed-in
|
87 |
if (callback && (callback instanceof Function)) {
|
88 |
callback();
|
89 |
+
};
|
90 |
},
|
91 |
formTrackInit: function() {
|
92 |
|
113 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
114 |
return true;
|
115 |
} else {
|
116 |
+
cb = function(){
|
117 |
+
console.log(form);
|
118 |
+
}
|
119 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
120 |
return false;
|
121 |
}
|
158 |
_inbound.Utils.removeClass('inbound-track', selector);
|
159 |
}
|
160 |
}
|
161 |
+
};
|
162 |
},
|
163 |
/* Map field fields on load */
|
164 |
initFormMapping: function(form) {
|
172 |
continue;
|
173 |
}
|
174 |
|
175 |
+
|
176 |
//this.ignoreFields(formInput);
|
177 |
/* Map form fields */
|
178 |
this.mapField(formInput);
|
184 |
}
|
185 |
|
186 |
}
|
187 |
+
for (var i = hiddenInputs.length - 1; i >= 0; i--) {
|
188 |
+
formInput = hiddenInputs[i];
|
|
|
|
|
189 |
this.mapField(formInput);
|
190 |
+
};
|
191 |
|
192 |
//console.log('mapping on load completed');
|
193 |
},
|
241 |
//console.log('label', label);
|
242 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
243 |
|
244 |
+
found = true;
|
245 |
+
_inbound.deBugger('forms', 'Found matching sibling label for -> ' + lookingFor);
|
246 |
|
247 |
}
|
248 |
|
312 |
ignoreFieldByValue: function(value){
|
313 |
var ignore_field = false;
|
314 |
|
315 |
+
if(!value){ return false };
|
316 |
|
317 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
318 |
ignore_field = true;
|
340 |
document.body.style.cursor = "default";
|
341 |
utils.removeClass('wpl-track-me', form);
|
342 |
utils.removeListener(form, 'submit', this.formListener);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
form.submit();
|
344 |
/* fallback if submit name="submit" */
|
345 |
setTimeout(function() {
|
346 |
for (var i = 0; i < form.elements.length; i++) {
|
347 |
formInput = form.elements[i];
|
348 |
type = formInput.type || false;
|
349 |
+
if (type === "submit") {
|
350 |
form.elements[i].click();
|
351 |
}
|
352 |
}
|
353 |
+
}, 1300);
|
354 |
|
355 |
},
|
356 |
saveFormData: function(form) {
|
418 |
value = (formInput.value);
|
419 |
}
|
420 |
|
421 |
+
console.log('select val', value);
|
422 |
break;
|
423 |
}
|
424 |
|
510 |
|
511 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
512 |
|
|
|
|
|
513 |
_inbound.deBugger('forms', "fName = " + fName);
|
514 |
_inbound.deBugger('forms', "lName = " + lName);
|
515 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
809 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
810 |
],
|
811 |
|
812 |
+
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"],
|
813 |
|
814 |
run: function(opts) {
|
815 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
817 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
818 |
|
819 |
var defaultCallback = function(result) {
|
820 |
+
return result
|
821 |
};
|
822 |
var suggestedCallback = opts.suggested || defaultCallback;
|
823 |
var emptyCallback = opts.empty || defaultCallback;
|
824 |
|
825 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
826 |
|
827 |
+
return result ? suggestedCallback(result) : emptyCallback()
|
828 |
},
|
829 |
|
830 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
897 |
|
898 |
sift3Distance: function(s1, s2) {
|
899 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
900 |
+
if (s1 == null || s1.length === 0) {
|
901 |
+
if (s2 == null || s2.length === 0) {
|
902 |
return 0;
|
903 |
} else {
|
904 |
return s2.length;
|
905 |
}
|
906 |
}
|
907 |
|
908 |
+
if (s2 == null || s2.length === 0) {
|
909 |
return s1.length;
|
910 |
}
|
911 |
|
954 |
var domainParts = domain.split(".");
|
955 |
var tld = "";
|
956 |
|
957 |
+
if (domainParts.length == 0) {
|
958 |
// The address does not have a top-level domain
|
959 |
return false;
|
960 |
} else if (domainParts.length == 1) {
|
974 |
topLevelDomain: tld,
|
975 |
domain: domain,
|
976 |
address: parts.join("@")
|
977 |
+
}
|
978 |
},
|
979 |
|
980 |
// Encode the email address to prevent XSS but leave in valid
|
987 |
.replace("%7D", "}");
|
988 |
return result;
|
989 |
}
|
990 |
+
}
|
991 |
} // End Mailcheck
|
992 |
|
993 |
|
shared/assets/frontend/js/analytics-src/analytics.lead.js
CHANGED
@@ -33,7 +33,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
33 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
34 |
data = {
|
35 |
action: 'inbound_get_all_lead_data',
|
36 |
-
wp_lead_id: wp_lead_id
|
37 |
},
|
38 |
success = function(returnData) {
|
39 |
var leadData = JSON.parse(returnData);
|
@@ -70,7 +70,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
70 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
71 |
var data = {
|
72 |
action: 'wpl_check_lists',
|
73 |
-
wp_lead_id: wp_lead_id
|
74 |
};
|
75 |
var success = function(user_id) {
|
76 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
33 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
34 |
data = {
|
35 |
action: 'inbound_get_all_lead_data',
|
36 |
+
wp_lead_id: wp_lead_id,
|
37 |
},
|
38 |
success = function(returnData) {
|
39 |
var leadData = JSON.parse(returnData);
|
70 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
71 |
var data = {
|
72 |
action: 'wpl_check_lists',
|
73 |
+
wp_lead_id: wp_lead_id,
|
74 |
};
|
75 |
var success = function(user_id) {
|
76 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
shared/assets/frontend/js/analytics-src/analytics.utils.js
CHANGED
@@ -343,32 +343,6 @@ var _inboundUtils = (function(_inbound) {
|
|
343 |
};
|
344 |
*/
|
345 |
},
|
346 |
-
// http://stackoverflow.com/questions/4391575/how-to-find-the-size-of-localstorage
|
347 |
-
showLocalStorageSize: function() {
|
348 |
-
function stringSizeBytes(str) {
|
349 |
-
return str.length * 2;
|
350 |
-
}
|
351 |
-
|
352 |
-
function toMB(bytes) {
|
353 |
-
return bytes / 1024 / 1024;
|
354 |
-
}
|
355 |
-
|
356 |
-
function toSize(key) {
|
357 |
-
return {
|
358 |
-
name: key,
|
359 |
-
size: stringSizeBytes(localStorage[key])
|
360 |
-
};
|
361 |
-
}
|
362 |
-
|
363 |
-
function toSizeMB(info) {
|
364 |
-
info.size = toMB(info.size).toFixed(2) + ' MB';
|
365 |
-
return info;
|
366 |
-
}
|
367 |
-
|
368 |
-
var sizes = Object.keys(localStorage).map(toSize).map(toSizeMB);
|
369 |
-
|
370 |
-
//console.table(sizes);
|
371 |
-
},
|
372 |
/* Add days to datetime */
|
373 |
addDays: function(myDate, days) {
|
374 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
@@ -519,19 +493,16 @@ var _inboundUtils = (function(_inbound) {
|
|
519 |
},
|
520 |
ajaxSendData: function(url, callback, method, data, sync) {
|
521 |
var x = this.ajaxPolyFill();
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
}
|
533 |
-
x.send(data);
|
534 |
-
}, 100);
|
535 |
},
|
536 |
ajaxGet: function(url, data, callback, sync) {
|
537 |
var query = [];
|
343 |
};
|
344 |
*/
|
345 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
/* Add days to datetime */
|
347 |
addDays: function(myDate, days) {
|
348 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
493 |
},
|
494 |
ajaxSendData: function(url, callback, method, data, sync) {
|
495 |
var x = this.ajaxPolyFill();
|
496 |
+
x.open(method, url, sync);
|
497 |
+
x.onreadystatechange = function() {
|
498 |
+
if (x.readyState == 4) {
|
499 |
+
callback(x.responseText)
|
500 |
+
}
|
501 |
+
};
|
502 |
+
if (method == 'POST') {
|
503 |
+
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
504 |
+
}
|
505 |
+
x.send(data);
|
|
|
|
|
|
|
506 |
},
|
507 |
ajaxGet: function(url, data, callback, sync) {
|
508 |
var query = [];
|
shared/assets/frontend/js/analytics/closurecompiled.js
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
var n=n||{},w=w||{},x=x||[],y=function(a){var g={h:function(){y.a.h();y.a.Ca(window,function(){y.ka()})},ka:function(){y.f.h();y.i.h();y.a.ib();y.k.h();setTimeout(function(){y.i.h()},2E3);y.e("analytics_ready")},extend:function(c,a){var b={},d;for(d in c)Object.prototype.hasOwnProperty.call(c,d)&&(b[d]=c[d]);for(d in a)Object.prototype.hasOwnProperty.call(a,d)&&(b[d]=a[d]);return b},debug:function(){},b:function(c,a,b){if(console){var d=document.location.hash?document.location.hash:"",p=-1<d.indexOf("#debug");
|
2 |
-
a=a||!1;var h,f;d&&d.match(/debug/)&&(d=d.split("-"),f=d[1]);h="true"===y.a.d("inbound_debug")?!0:!1;if((d="true"===y.a.d("inbound_debug_"+c)?!0:!1)||p||h)a&&"string"===typeof a&&(h||"all"===f?console.log('logAll "'+c+'" =>',a):d?console.log('log "'+c+'" =>',a):c===f&&console.log('#log "'+c+'" =>',a)),b&&b instanceof Function&&b()}}};a=g.extend({timeout:3E4,Fb:!0,Ha:!0},a);g.D=a||{};return g}(w);
|
3 |
-
(function(a){a.j=new function(){function a(c,b,f){if(d[c][b])if(f)for(c=d[c][b],b=c.length;b--;)c[b].v===f&&c.splice(b,1);else d[c][b]=[]}function c(c,a,f,l,b){f={v:f,$:l,K:b};if(l=d[c][a]){l.push(f);f=l;for(var e,g=1,v=f.length;g<v;g++){l=f[g];for(b=g;(e=f[b-1])&&e.$>l.$;)f[b]=f[b-1],--b;f[b]=l}l=f}else l=[f];d[c][a]=l}function e(c,a,f){a=d[c][a];if(!a)return"filters"===c?f[0]:!1;var l=0,b=a.length;if("filters"===c)for(;l<b;l++)f[0]=a[l].v.apply(a[l].K,f);else for(;l<b;l++)a[l].v.apply(a[l].K,f);
|
4 |
-
return"filters"===c?f[0]:!0}var b={cb:function(c,d){"string"===typeof c&&a("filters",c,d);return b},H:function(){var c=Array.prototype.slice.call(arguments),a=c.shift();return"string"===typeof a?e("filters",a,c):b},ra:function(a,d,f){"string"===typeof a&&"function"===typeof d&&(f=parseInt(f||10,10),c("filters",a,d,f));return b},$a:function(c,d){"string"===typeof c&&a("actions",c,d);return b},Aa:function(){var c=Array.prototype.slice.call(arguments),a=c.shift();"string"===typeof a&&e("actions",a,c);
|
5 |
-
return b},oa:function(a,d,f,l){"string"===typeof a&&"function"===typeof d&&(f=parseInt(f||10,10),c("actions",a,d,f,l));return b}},d={tb:{},filters:{}};return b};a.ub=function(){var g=arguments[0].split(" ");for(k in g)arguments[0]="inbound."+g[k],a.j.oa.apply(this,arguments);return this};a.ac=function(){arguments[0]="inbound."+arguments[0];a.j.$a.apply(this,arguments);return this};a.Ba=function(){arguments[0]="inbound."+arguments[0];a.j.Aa.apply(this,arguments)};a.vb=function(){arguments[0]="inbound."+
|
6 |
-
arguments[0];a.j.ra.apply(this,arguments);return this};a.bc=function(){arguments[0]="inbound."+arguments[0];a.j.cb.apply(this,arguments);return this};a.ta=function(){arguments[0]="inbound."+arguments[0];return a.j.H.apply(this,arguments)};return a})(y||{});
|
7 |
-
(function(a){var g;a.a={h:function(){this.Xa();this.I();this.na();this.nb()},Xa:function(){window.console||(window.console={});for(var c="log info warn error debug trace dir group groupCollapsed groupEnd time timeEnd profile profileEnd dirxml assert count markTimeline timeStamp clear".split(" "),a=0;a<c.length;a++)window.console[c[a]]||(window.console[c[a]]=function(){});try{new CustomEvent("?")}catch(b){this.CustomEvent=function(a,c){function b(f,c,q,e){this["init"+a](f,c,q,e);"detail"in this||(this.detail=
|
8 |
-
e)}return function(f,l){var q=document.createEvent(a);null!==f?b.call(q,f,(l||(l=c)).bubbles,l.cancelable,l.detail):q.initCustomEvent=b;return q}}(this.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}document.querySelectorAll||(document.querySelectorAll=function(c){var a=document.createElement("style"),b=[];document.documentElement.firstChild.appendChild(a);document.u=[];a.styleSheet.cssText=c+"{x-qsa:expression(document._qsa && document._qsa.push(this))}";window.scrollBy(0,
|
9 |
-
0);for(a.parentNode.removeChild(a);document.u.length;)c=document.u.shift(),c.style.removeAttribute("x-qsa"),b.push(c);document.u=null;return b});document.querySelector||(document.querySelector=function(c){c=document.querySelectorAll(c);return c.length?c[0]:null});!("innerText"in document.createElement("a"))&&"getSelection"in window&&HTMLElement.prototype.__defineGetter__("innerText",function(){for(var c=window.getSelection(),a=[],b,f=0;f<c.rangeCount;f++)a[f]=c.getRangeAt(f);c.removeAllRanges();c.selectAllChildren(this);
|
10 |
-
b=c.toString();c.removeAllRanges();for(f=0;f<a.length;f++)c.addRange(a[f]);return b})},g:function(c,a,b){var d="";b&&(d=new Date,d.setTime(d.getTime()+864E5*b),d="; expires="+d.toGMTString());document.cookie=c+"="+a+d+"; path=/"},d:function(c){c+="=";for(var a=document.cookie.split(";"),b=0;b<a.length;b++){for(var d=a[b];" "===d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(c))return d.substring(c.length,d.length)}return null},N:function(c){this.g(c,"",-1)},Jb:function(){var c={};if(document.cookie&&
|
11 |
-
""!==document.cookie)for(var e=document.cookie.split(";"),b=0;b<e.length;b++){var d=e[b].split("=");d[0]=d[0].replace(/^ /,"");c[decodeURIComponent(d[0])]=decodeURIComponent(d[1])}a.c("inbound_cookies",c);return c},ib:function(){var c={};(function(){function a(f){return decodeURIComponent(f).replace(/\+/g," ")}for(var b,e=window.location.search.substring(1),f=/([^&=]+)=?([^&]*)/g;b=f.exec(e);)if("-1"==b[1].indexOf("["))c[a(b[1])]=a(b[2]);else{var l=b[1].indexOf("["),q=b[1].slice(l+1,b[1].indexOf("]",
|
12 |
-
l)),l=a(b[1].slice(0,l));"object"!=typeof c[l]&&(c[a(l)]={},c[a(l)].length=0);q?c[a(l)][a(q)]=a(b[2]):Array.prototype.push.call(c[a(l)],a(b[2]))}})();for(var e in c)if("object"==typeof c[e])for(var b in c[e])this.g(b,c[e][b],30);else this.g(e,c[e],30);g&&(e=a.c("inbound_url_params")||{},a.c("inbound_url_params",this.Va(e,c)));a.e("url_parameters",c)},Kb:function(){var c={};g&&(c=a.c("inbound_url_params"));return c},n:function(a,e){return(RegExp(a+"=(.+?)(&|$)").exec(e)||[,!1])[1]},I:function(){if("localStorage"in
|
13 |
-
window)try{ls="undefined"===typeof window.localStorage?void 0:window.localStorage,g="undefined"==typeof ls||"undefined"==typeof window.JSON?!1:!0}catch(a){g=!1}return g},qa:function(a,e){return new Date(a.getTime()+864E5*e)},ma:function(){var a=new Date,e=a.getDate(),b=a.getHours(),d=a.getMinutes(),g=a.getSeconds(),h=a.getMonth()+1;return a.getFullYear()+"/"+(10>h?"0":"")+h+"/"+(10>e?"0":"")+e+" "+(10>b?"0":"")+b+":"+(10>d?"0":"")+d+":"+(10>g?"0":"")+g},sb:function(){var a=new Date;a.setTime(a.getTime()+
|
14 |
-
18E5);this.g("lead_session_expire",!0,a,!0)},nb:function(){var c=new Date,e=document.referrer||"Direct Traffic",b=a.a.d("inbound_referral_site"),d=a.c("inbound_original_referral");c.setTime(c.getTime()+18E5);b||this.g("inbound_referral_site",e,c,!0);d||a.c("inbound_original_referral",d)},ja:function(a){var e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),b="";a||(a=Math.floor(Math.random()*e.length));for(var d=0;d<a;d++)b+=e[Math.floor(Math.random()*e.length)];return b},
|
15 |
-
na:function(a){this.d("wp_lead_uid")||this.g("wp_lead_uid",a||this.ja(35))},Bb:function(a){var e=0,b;for(b in a)a.hasOwnProperty(b)&&++e;return e},Va:function(a,e){var b={},d;for(d in a)b[d]=a[d];for(d in e)b[d]=e[d];return b},S:function(a,e){var b=!1;return b="classList"in document.documentElement?e.classList.contains(a):(new RegExp("(^|\\s)"+a+"(\\s|$)")).test(e.className)},F:function(a,e){"classList"in document.documentElement?e.classList.add(a):this.S(e,a)||(e.className+=(e.className?" ":"")+
|
16 |
-
a)},w:function(a,e){"classList"in document.documentElement?e.classList.remove(a):this.S(e,a)&&(e.className=e.className.replace(new RegExp("(^|\\s)*"+a+"(\\s|$)*","g"),""))},bb:function(a){a.parentNode.removeChild(a)},trim:function(a){a=a.replace(/(^\s*)|(\s*$)/gi,"");a=a.replace(/[ ]{2,}/gi," ");return a=a.replace(/\n /,"\n")},sa:function(){if("undefined"!==typeof XMLHttpRequest)return new XMLHttpRequest;for(var a=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0",
|
17 |
-
"Microsoft.XmlHttp"],e,b=0;b<a.length;b++)try{e=new ActiveXObject(a[b]);break}catch(d){}return e},G:function(a,e,b,d,g){var h=this.sa();h.open(b,a,g);h.onreadystatechange=function(){4==h.readyState&&e(h.responseText)};"POST"==b&&h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(d)},wb:function(a,e,b,d){var g=[],h;for(h in e)g.push(encodeURIComponent(h)+"="+encodeURIComponent(e[h]));this.G(a+"?"+g.join("&"),b,"GET",null,d)},m:function(a,e,b,d){var g=[],h;for(h in e)g.push(encodeURIComponent(h)+
|
18 |
-
"="+encodeURIComponent(e[h]));this.G(a,b,"POST",g.join("&"),d)},Tb:function(c,e){if(window.XMLHttpRequest)httpRequest=new XMLHttpRequest;else if(window.ActiveXObject)try{httpRequest=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{httpRequest=new ActiveXObject("Microsoft.XMLHTTP")}catch(d){}}if(!httpRequest)return alert("Giving up :( Cannot create an XMLHTTP instance"),!1;httpRequest.onreadystatechange=a.k.xb;httpRequest.open("GET",c);httpRequest.send(e)},Ca:function(a,e){function b(){try{l.doScroll("left")}catch(a){setTimeout(b,
|
19 |
-
50);return}d("poll")}function d(l){if("readystatechange"!=l.type||"complete"==f.readyState)("load"==l.type?a:f)[t](m+l.type,d,!1),!g&&(g=!0)&&e.call(a,l.type||l)}var g=!1,h=!0,f=a.document,l=f.documentElement,q=f.addEventListener?"addEventListener":"attachEvent",t=f.addEventListener?"removeEventListener":"detachEvent",m=f.addEventListener?"":"on";if("complete"==f.readyState)e.call(a,"lazy");else{if(f.createEventObject&&l.doScroll){try{h=!a.frameElement}catch(v){}h&&b()}f[q](m+"DOMContentLoaded",d,
|
20 |
-
!1);f[q](m+"readystatechange",d,!1);a[q](m+"load",d,!1)}},addListener:function(a,e,b){a&&(a.addEventListener?a.addEventListener(e,b,!1):a.attachEvent?a.attachEvent("on"+e,b):a["on"+e]=b)},removeListener:function(a,e,b){a.removeEventListener?a.removeEventListener(e,b,!1):a.detachEvent?a.detachEvent("on"+e,b):a["on"+e]=null},B:function(a,e){function b(){l=new Date;f=null;h=a.apply(d,g)}var d,g,h,f=null,l=0;return function(){var q=new Date;l||(l=q);var t=e-(q-l);d=this;g=arguments;0>=t?(clearTimeout(f),
|
21 |
-
f=null,l=q,h=a.apply(d,g)):f||(f=setTimeout(b,t));return h}},Ab:function(){"function"===typeof ga&&(universalGA=!0);"undefined"!==typeof x&&"function"===typeof x.push&&(classicGA=!0);"undefined"!==typeof dataLayer&&"function"===typeof dataLayer.push&&(googleTagManager=!0)}};return a})(y||{});
|
22 |
-
(function(a){var g=a.a,c=[],e=[],b=[],d=a.D,p="first name;last name;name;email;e-mail;phone;website;job title;your favorite food;company;tele;address;comment".split(";");a.i={h:function(){a.i.gb();a.i.ua();a.i.Ja()},gb:function(){p=a.j.H("forms.field_map",p)},debug:function(){},Ja:function(){for(var a=0;a<window.document.forms.length;a++){var l=!1,b=window.document.forms[a];!b.dataset.Ia&&(b.dataset.Ia=!0,l=this.wa(b))&&(this.va(b),this.Sa(b))}},wa:function(f){var l=f.getAttribute("class");if(""!==
|
23 |
-
l&&null!==l){if(-1<l.toLowerCase().indexOf("wpl-track-me")||-1<l.toLowerCase().indexOf("inbound-track"))return!0;cb=function(){console.log(f)};a.b("forms","This form not tracked. Please assign on in settings...",cb);return!1}},ua:function(){if(window.Pb){if(inbound_settings.V){var f=inbound_settings.V.split(","),l="add selectors "+inbound_settings.V;a.b("forms",l);this.W(f,"add")}inbound_settings.U&&(f=inbound_settings.U.split(","),l="remove selectors "+inbound_settings.U,a.b("forms",l),this.W(f,
|
24 |
-
"remove"))}},W:function(f,l){for(var b=f.length-1;0<=b;b--){var c=g.trim(f[b]);-1===c.indexOf("#")&&-1===c.indexOf(".")&&(c="#"+c);if(c=document.querySelector(c))"add"===l?(a.a.F("wpl-track-me",c),a.a.F("inbound-track",c)):(a.a.w("wpl-track-me",c),a.a.w("inbound-track",c))}},Sa:function(a){for(var l=[],b=0;b<a.elements.length;b++)formInput=a.elements[b],"hidden"===formInput.type?l.push(formInput):(this.Y(formInput),this.Za(formInput),d.Ha&&this.Ga(formInput));for(b=l.length-1;0<=b;b--)formInput=l[b],
|
25 |
-
this.Y(formInput)},Y:function(f){var b=f.id||!1,d=f.name||!1,e=this.Ma(f);if(e&&this.Qa(e[0].innerText))return f.dataset.T=!0,!1;for(i=0;i<p.length;i++){var m=!1,h=g.trim(p[i]),r=h.replace(/ /g,"_");d&&-1<d.toLowerCase().indexOf(h)?(m=!0,a.b("forms","Found matching name attribute for -> "+h)):b&&-1<b.toLowerCase().indexOf(h)?(m=!0,a.b("forms","Found matching ID attribute for ->"+h)):e?-1<e[0].innerText.toLowerCase().indexOf(h)&&(m=!0,a.b("forms","Found matching sibling label for -> "+h)):c.push(h);
|
26 |
-
m&&(this.pa(f,r),this.ab(p,h),i--)}return n},P:function(f){f.preventDefault();a.i.hb(f.target);document.body.style.cursor="wait"},va:function(a){g.addListener(a,"submit",this.P);a=document.querySelector(".inbound-email");g.addListener(a,"blur",this.X)},Qa:function(f){var b=!1;if(!f)return!1;if(-1!=f.toLowerCase().indexOf("credit card")||-1!=f.toLowerCase().indexOf("card number"))b=!0;if(-1!=f.toLowerCase().indexOf("expiration")||-1!=f.toLowerCase().indexOf("expiry"))b=!0;if("month"==f.toLowerCase()||
|
27 |
-
"mm"==f.toLowerCase()||"yy"==f.toLowerCase()||"yyyy"==f.toLowerCase()||"year"==f.toLowerCase())b=!0;if(-1!=f.toLowerCase().indexOf("cvv")||-1!=f.toLowerCase().indexOf("cvc")||-1!=f.toLowerCase().indexOf("secure code")||-1!=f.toLowerCase().indexOf("security code"))b=!0;b&&a.b("forms","ignore "+f);return b},Ob:function(a){var b=!1;if(!a)return!1;if("visa"==a.toLowerCase()||"mastercard"==a.toLowerCase()||"american express"==a.toLowerCase()||"amex"==a.toLowerCase()||"discover"==a.toLowerCase())b=!0;/\/^[0-9]+$\//.test(a)&&
|
28 |
-
(a=a.replace(" ",""),this.Ta(a)&&16<=a.length&&(b=!0));return b},Ta:function(a){return"number"==typeof a&&isFinite(a)&&0===a%1},Ya:function(a){document.body.style.cursor="default";g.w("wpl-track-me",a);g.removeListener(a,"submit",this.P);var b=a.getAttribute("class");if(""!==b&&null!==b&&-1!=b.toLowerCase().indexOf("wpcf7-form"))return setTimeout(function(){document.body.style.cursor="default"},300),!0;a.submit();setTimeout(function(){for(var b=0;b<a.elements.length;b++)formInput=a.elements[b],type=
|
29 |
-
formInput.type||!1,"submit"===type&&a.elements[b].click()},2E3)},hb:function(f){for(var l=l||{},c=0;c<f.elements.length;c++)if(formInput=f.elements[c],multiple=!1,formInput.name)if(formInput.dataset.T)a.b("forms","ignore "+formInput.name);else{inputName=formInput.name.replace(/\[([^\[]*)\]/g,"%5B%5D$1");l[inputName]||(l[inputName]={});formInput.type&&(l[inputName].type=formInput.type);l[inputName].name||(l[inputName].name=formInput.name);formInput.dataset.t&&(l[inputName].map=formInput.dataset.t);
|
30 |
-
switch(formInput.nodeName){case "INPUT":m=this.Na(formInput);if(!1===m)continue;break;case "TEXTAREA":m=formInput.value;break;case "SELECT":if(formInput.multiple){values=[];multiple=!0;for(var d=0;d<formInput.length;d++)formInput[d].selected&&values.push(encodeURIComponent(formInput[d].value))}else m=formInput.value;console.log("select val",m)}a.b("forms","Input Value = "+m);if(m){l[inputName].value||(l[inputName].value=[]);l[inputName].value.push(multiple?values.join(","):encodeURIComponent(m));
|
31 |
-
var m=multiple?values.join(","):encodeURIComponent(m)}}a.b("forms",l);for(var h in l)c=l[h].value,d=l[h].map,"undefined"!=typeof c&&null!=c&&""!=c&&e.push(h+"="+l[h].value.join(",")),"undefined"!=typeof d&&null!=d&&l[h].value&&(b.push(d+"="+l[h].value.join(",")),"email"===h&&(c=l[h].value.join(",")));l=e.join("&");a.b("forms","Stringified Raw Form PARAMS: "+l);h=b.join("&");a.b("forms","Stringified Mapped PARAMS"+h);(c=g.n("email",h)||g.d("wp_lead_email"))||(c=g.n("wpleads_email_address",h));var d=
|
32 |
-
g.n("name",h),m=g.n("first_name",h),r=g.n("last_name",h);if(!r&&m){var u=decodeURI(m).split(" ");0<u.length&&(m=u[0],r=u[1])}!d||r||m||(u=decodeURI(d).split(" "),0<u.length&&(m=u[0],r=u[1]));d=m&&r?m+" "+r:d;a.b("forms","fName = "+m);a.b("forms","lName = "+r);a.b("forms","fullName = "+d);var u=a.c("page_views")||{},z=a.c("inbound_url_params")||{},A="undefined"!=typeof landing_path_info?landing_path_info.qb:"undefined"!=typeof cta_path_info?cta_path_info.qb:0,p=inbound_settings.$b||"page",B=inbound_settings.Z||
|
33 |
-
0;search_data={};formData={action:"inbound_lead_store",email:c,full_name:d,first_name:m,last_name:r,raw_params:l,mapped_params:h,url_params:JSON.stringify(z),search_data:"test",page_views:JSON.stringify(u),post_type:p,page_id:B,variation:A,source:g.d("inbound_referral_site")};callback=function(b){a.b("forms","Lead Created with ID: "+b);b=parseInt(b,10);if(formData.Sb=b)g.g("wp_lead_id",b),a.c.s("page_views"),a.c.s("tracking_events");a.e("form_after_submission",formData);a.i.Ya(f)};a.e("form_before_submission",
|
34 |
-
formData);g.m(inbound_settings.r,formData,callback)},Za:function(f){var b=f.type?f.type:"text";if("submit"===b||"hidden"===b||"file"===b||"password"===b||f.dataset.T)return!1;g.addListener(f,"change",function(f){if(f.target.name){if("checkbox"!==b)var c=f.target.value;else for(var d=[],e=document.querySelectorAll('input[name="'+f.target.name+'"]'),h=0;h<e.length;h++)e[h].checked&&d.push(e[h].value),c=d.join(",");inputData={name:f.target.name,Vb:f.target.nodeName.toLowerCase(),type:b,value:c,Ub:f.target.dataset.t};
|
35 |
-
a.e("form_input_change",inputData);g.g("inbound_"+f.target.name,encodeURIComponent(c))}})},Ga:function(a){var b=a.name?"inbound_"+a.name:"",c=a.type?a.type:"text";if("submit"===c||"hidden"===c||"file"===c||"password"===c)return!1;if(g.d(b)&&"comment"!=b)if(value=decodeURIComponent(g.d(b)),"checkbox"===c||"radio"===c)for(b=value.split(","),c=0;c<b.length;c++)-1<a.value.indexOf(b[c])&&(a.checked=!0);else"undefined"!==value&&(a.value=value)},Ma:function(a){var b;return(b=this.jb(a))?b:(b=this.ha(a))?
|
36 |
-
b:!1},Na:function(a){var b=!1;switch(a.type){case "radio":case "checkbox":a.checked&&(b=a.value);break;default:b=a.value}return b},pa:function(a,b){for(var c=document.getElementsByName(a.name),d=c.length-1;0<=d;d--)a.dataset.t||(c[d].dataset.t=b)},ab:function(a,b){if(a.indexOf)index=a.indexOf(b);else for(index=a.length-1;0<=index&&a[index]!==b;--index);0<=index&&a.splice(index,1)},jb:function(a){a=this.Pa(a);for(var b=[],c=a.length-1;0<=c;c--)"label"===a[c].nodeName.toLowerCase()&&b.push(a[c]);return 0<
|
37 |
-
b.length&&2>b.length?b:!1},La:function(a,b){for(var c=[];a;a=a.nextSibling)1==a.nodeType&&a!=b&&c.push(a);return c},Pa:function(a){return this.La(a.parentNode.firstChild,a)},ha:function(a){if("FORM"===a.nodeName)return null;do{var b=a.getElementsByTagName("label");if(0<b.length&&2>b.length)return a.getElementsByTagName("label")}while(a=a.parentNode);return null},X:function(){var a=document.querySelector(".inbound-email");a&&(g.addListener(a,"blur",this.X),h.fb({Ea:document.querySelector(".inbound-email").value,
|
38 |
-
pb:function(b){var c=document.querySelector(".email_suggestion");c&&g.bb(c);c=document.createElement("span");c.innerHTML="<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">"+b.Q+"</b></i>?</span>";a.parentNode.insertBefore(c,a.nextSibling);var d=document.getElementById("email_correction");g.addListener(d,"click",function(){a.value=d.innerHTML;d.parentNode.parentNode.innerHTML="Fixed!"})},empty:function(){}}))}};if("undefined"===
|
39 |
-
typeof h)var h={Da:1,ea:3,ya:"yahoo.com google.com hotmail.com gmail.com me.com aol.com mac.com live.com comcast.net googlemail.com msn.com hotmail.co.uk yahoo.co.uk facebook.com verizon.net sbcglobal.net att.net gmx.com mail.com outlook.com icloud.com".split(" "),za:"co.jp co.uk com net org info edu gov mil ca".split(" "),fb:function(a){function b(a){return a}a.M=a.M||h.ya;a.da=a.da||h.za;a.L=a.L||h.ba;var c=a.pb||b,d=a.empty||b;return(a=h.ob(h.Fa(a.Ea),a.M,a.da,a.L))?c(a):d()},ob:function(a,b,c,
|
40 |
-
d){a=a.toLowerCase();a=this.kb(a);if(b=this.O(a.domain,b,d,this.Da)){if(b!=a.domain)return{l:a.l,domain:b,Q:a.l+"@"+b}}else if(c=this.O(a.C,c,d,this.ea),a.domain&&c&&c!=a.C)return d=a.domain,b=d.substring(0,d.lastIndexOf(a.C))+c,{l:a.l,domain:b,Q:a.l+"@"+b};return!1},O:function(a,b,c,d){d=d||this.ea;var e,g=99,h=null;if(!a||!b)return!1;c||(c=this.ba);for(var p=0;p<b.length;p++){if(a===b[p])return a;e=c(a,b[p]);e<g&&(g=e,h=b[p])}return g<=d&&null!==h?h:!1},ba:function(a,b){if(null==a||0===a.length)return null==
|
41 |
-
b||0===b.length?0:b.length;if(null==b||0===b.length)return a.length;for(var c=0,d=0,e=0,g=0;c+d<a.length&&c+e<b.length;){if(a.charAt(c+d)==b.charAt(c+e))g++;else for(var h=e=d=0;5>h;h++){if(c+h<a.length&&a.charAt(c+h)==b.charAt(c)){d=h;break}if(c+h<b.length&&a.charAt(c)==b.charAt(c+h)){e=h;break}}c++}return(a.length+b.length)/2-g},kb:function(a){a=a.trim().split("@");if(2>a.length)return!1;for(var b=0;b<a.length;b++)if(""===a[b])return!1;var c=a.pop(),d=c.split("."),e="";if(0==d.length)return!1;if(1==
|
42 |
-
d.length)e=d[0];else{for(b=1;b<d.length;b++)e+=d[b]+".";2<=d.length&&(e=e.substring(0,e.length-1))}return{C:e,domain:c,l:a.join("@")}},Fa:function(a){a=encodeURI(a);return a=a.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};return a})(y||{});
|
43 |
-
(function(a){function g(c,e,b){e=e||{};b=b||{};b.bubbles=b.bubbles||!0;b.cancelable=b.cancelable||!0;e=a.ta("filter_"+c,e);!window.ActiveXObject&&"ActiveXObject"in window?(b=document.createEvent("Event"),b.initEvent(c,!0,!0)):b=new CustomEvent(c,{detail:e,bubbles:b.bubbles,cancelable:b.cancelable});window.dispatchEvent(b);a.Ba(c,e);window.Qb&&(e=e||{},jQuery(document).e(c,e))}a.e=function(c,e){a.la[c](e)};a.la={zb:function(){g("analytics_ready",{data:"xyxy"},{opt1:!0})},qc:function(a){g("url_parameters",
|
44 |
-
a)},jc:function(){console.log("");g("session_start")},fc:function(a){g("session_end",a);console.log("Session End")},ec:function(){g("session_active")},hc:function(a){g("session_idle",a)},ic:function(){g("session_resume")},gc:function(a){g("session_heartbeat",{clock:a,leadData:InboundLeadData})},Zb:function(a){g("page_view",a)},Wb:function(){g("page_first_visit");a.b("pages","First Ever Page View of this Page")},Yb:function(c){g("page_revisit",c);a.b("pages",status,function(){console.log("pageData",
|
45 |
-
c);console.log("Page Revisit viewed "+c+" times")})},kc:function(){a.b("pages","Tab Hidden");g("tab_hidden")},mc:function(){a.b("pages","Tab Visible");g("tab_visible")},lc:function(){a.b("pages","Tab Mouseout");g("tab_mouseout")},Ib:function(c){a.b("forms","inputData change. Data=",function(){console.log(c)});g("form_input_change",c)},Hb:function(a){g("form_before_submission",a)},Gb:function(a){g("form_after_submission",a)},yb:function(a,e,b){a=new CustomEvent("inbound_analytics_error",{detail:{rb:a,
|
46 |
-
nc:e,Db:b}});window.dispatchEvent(a);console.log("Page Save Error")}};return a})(y||{});
|
47 |
-
(function(a){var g,c;if("localStorage"in window)try{c="undefined"===typeof window.localStorage?void 0:window.localStorage,g="undefined"==typeof c||"undefined"==typeof window.JSON?!1:!0,window.localStorage.setItem("_inbound","1"),window.localStorage.removeItem("_inbound")}catch(e){g=!1}a.c=function(b,c){return a.c.o.h(b,c)};a.c.setItem=function(b,c){return a.c.o.setItem(b,c)};a.c.getItem=function(b){return a.c.o.getItem(b)};a.c.R=function(){return a.c.o.R()};a.c.s=function(b){return a.c.o.s(b)};a.c.o=
|
48 |
-
{h:function(a,c){return"undefined"!=typeof c?this.setItem(a,c):this.getItem(a)},setItem:function(b,d){if(!g)try{return a.a.g(b,d),d}catch(e){console.log("Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie")}var h=JSON.stringify(d);c.setItem(b,h);return this.p(h)},getItem:function(b){if(!g)try{return this.p(a.a.d(b))}catch(d){return null}b=c.getItem(b);return this.p(b)},
|
49 |
-
s:function(b){if(!g)try{return a.a.N(b,null),!0}catch(d){return!1}c.removeItem(b);return!0},R:function(){var b=[];if(g)for(var d in c)d.length&&b.push({key:d,value:this.p(c.getItem(d))});else try{var e=document.cookie.split(";");for(d=0;d<e.length;d++){var h=e[d].split("=")[0];b.push({key:h,value:this.p(a.a.d(h))})}}catch(f){return null}return b},p:function(a){var c;try{c=JSON.parse(a),"undefined"==typeof c&&(c=a),"true"==c&&(c=!0),"false"==c&&(c=!1),parseFloat(c)==c&&"object"!=typeof c&&(c=parseFloat(c))}catch(e){c=
|
50 |
-
a}return c}}})(y||{});
|
51 |
-
(function(a){a.k={h:function(){var g=a.a,c=g.d("wp_lead_id");g.d("lead_session_expire")||(a.b("leads","expired vistor. Run Processes"),c&&(a.k.Ka(),a.k.Oa()))},aa:function(a){InboundLeadData=a},Ka:function(){var g=a.a.d("wp_lead_id"),c=a.c("inbound_lead_data"),e=a.a.d("lead_data_expire");data={action:"inbound_get_all_lead_data",ga:g};success=function(b){b=JSON.parse(b);a.k.aa(b);a.c("inbound_lead_data",b);b=new Date;b.setTime(b.getTime()+18E5);a.a.g("lead_data_expire",!0,a.a.qa(b,3))};c?(a.k.aa(c),
|
52 |
-
a.b("lead","Set Global Lead Data from Localstorage"),e||(a.a.m(inbound_settings.r,data,success),a.b("lead","localized data old. Pull new from DB"))):a.a.m(inbound_settings.r,data,success)},Oa:function(){a.a.m(inbound_settings.r,{action:"wpl_check_lists",ga:a.a.d("wp_lead_id")},function(){a.a.g("lead_session_list_check",!0,{path:"/",Eb:1});a.b("lead","Lists checked")})}};return a})(y||{});
|
53 |
-
(function(a){var g=!1,c=!1,e=!1,b=parseInt(a.a.d("lead_session"),10)||0,d=0,p=null,h=null,f=null,l,q,t=a.a,m=a.c("page_views")||{},v=a.a.ma(),r=inbound_settings.Z||window.location.pathname,u=a.D.timeout||3E4;a.f={h:function(b){this.ia();b=b||{};l=parseInt(b.cc,10)||10;q=parseInt(b.Mb,10)||3;t.addListener(document,"keydown",t.B(a.f.q,1E3));t.addListener(document,"click",t.B(a.f.q,1E3));t.addListener(window,"mousemove",t.B(a.f.q,1E3));a.f.xa();this.ca()},A:function(b){a.b("pages","Session IDLE. Activity Timeout due to "+
|
54 |
-
(b||"No Movement"));clearTimeout(a.f.Nb);a.f.lb();a.e("session_idle")},xa:function(){var b,c;"undefined"!==typeof document.hidden?(b="hidden",c="visibilitychange"):"undefined"!==typeof document.mozHidden?(b="mozHidden",c="mozvisibilitychange"):"undefined"!==typeof document.msHidden?(b="msHidden",c="msvisibilitychange"):"undefined"!==typeof document.webkitHidden&&(b="webkitHidden",c="webkitvisibilitychange");var d=document[b];a.a.addListener(document,c,function(){d!=document[b]&&(document[b]?(a.e("tab_hidden"),
|
55 |
-
a.f.A("browser tab switch")):(a.e("tab_visible"),a.f.q()),d=document[b])})},J:function(){b+=1;a.b("pages","Total time spent on Page in this Session: "+(b/60).toFixed(2)+" min");if(0<b&&0===b%l){var c=new Date;c.setTime(c.getTime()+18E5);t.g("lead_session",b,c);a.e("session_heartbeat",b)}},Ra:function(){d+=1;a.b("pages","Time until Session Timeout: "+((1800-d)/60).toFixed(2)+" min");1800<d&&(a.e("session_end",InboundLeadData),a.a.N("lead_session"),d=0,clearTimeout(h))},lb:function(){c=!0;clearTimeout(p);
|
56 |
-
clearTimeout(h);h=setInterval(a.f.Ra,1E3)},eb:function(){c=!1;a.e("session_resume");a.b("pages","Activity resumed. Session Active");clearTimeout(p);d=0;clearTimeout(h);p=setInterval(a.f.J,1E3)},oc:function(){a.f.A();e=!0},pc:function(){e=!1},ca:function(){g=!0;p=setInterval(a.f.J,1E3);if(t.d("lead_session"))a.e("session_active");else{a.e("session_start");var b=new Date;b.setTime(b.getTime()+18E5);a.a.g("lead_session",1,b)}this.q()},dc:function(){d=0;clearTimeout(h)},q:function(b){e||(g||a.f.ca(),
|
57 |
-
c&&a.f.eb(),clearTimeout(f),f=setTimeout(a.f.A,1E3*q+100),"undefined"!=typeof b&&"mousemove"===b.type&&a.f.Wa(b))},Wa:function(b){5>=b.pageY&&a.e("tab_mouseout")},Lb:function(){if(a.a.I()){var b=localStorage.getItem("page_views");return JSON.parse(b)}},Ua:function(a){var b=!1;a=a||{};a=a[r];"undefined"!=typeof a&&null!==a&&(b=!0);return b},fa:function(b){var c={title:document.title,url:document.location.href,path:document.location.pathname,count:1};b?(m[r].push(v),c.count=m[r].length,a.e("page_revisit",
|
58 |
-
c)):(m[r]=[],m[r].push(v),a.e("page_first_visit",c));a.e("page_visit",c);a.c("page_views",m);this.mb()},ia:function(){var b=this.Ua(m),c;if(b){var d=Math.abs((new Date(m[r][m[r].length-1])).getTime()-(new Date(v)).getTime());(c=d>u)?(c="Timeout Happened. Page view fired",this.fa(b)):(time_left=.001*Math.abs(u-d),c=u/1E3+" sec timeout not done: "+time_left+" seconds left")}else this.fa(b);a.b("pages",c)},mb:function(){var b=a.a.d("wp_lead_id"),c=a.a.d("wp_lead_uid");b&&a.a.m(inbound_settings.r,{action:"wpl_track_user",
|
59 |
-
rc:c,ga:b,Xb:inbound_settings.Z,Cb:window.location.href,Rb:"0"},function(){})}};return a})(y||{});y.h();InboundLeadData=y.c("inbound_lead_data")||null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/inboundAnalytics.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
/*! Inbound Analyticsv1.0.0 | (c)
|
2 |
/**
|
3 |
* # _inbound
|
4 |
*
|
@@ -879,32 +879,6 @@ var _inboundUtils = (function(_inbound) {
|
|
879 |
};
|
880 |
*/
|
881 |
},
|
882 |
-
// http://stackoverflow.com/questions/4391575/how-to-find-the-size-of-localstorage
|
883 |
-
showLocalStorageSize: function() {
|
884 |
-
function stringSizeBytes(str) {
|
885 |
-
return str.length * 2;
|
886 |
-
}
|
887 |
-
|
888 |
-
function toMB(bytes) {
|
889 |
-
return bytes / 1024 / 1024;
|
890 |
-
}
|
891 |
-
|
892 |
-
function toSize(key) {
|
893 |
-
return {
|
894 |
-
name: key,
|
895 |
-
size: stringSizeBytes(localStorage[key])
|
896 |
-
};
|
897 |
-
}
|
898 |
-
|
899 |
-
function toSizeMB(info) {
|
900 |
-
info.size = toMB(info.size).toFixed(2) + ' MB';
|
901 |
-
return info;
|
902 |
-
}
|
903 |
-
|
904 |
-
var sizes = Object.keys(localStorage).map(toSize).map(toSizeMB);
|
905 |
-
|
906 |
-
//console.table(sizes);
|
907 |
-
},
|
908 |
/* Add days to datetime */
|
909 |
addDays: function(myDate, days) {
|
910 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
@@ -1055,19 +1029,16 @@ var _inboundUtils = (function(_inbound) {
|
|
1055 |
},
|
1056 |
ajaxSendData: function(url, callback, method, data, sync) {
|
1057 |
var x = this.ajaxPolyFill();
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
}
|
1069 |
-
x.send(data);
|
1070 |
-
}, 100);
|
1071 |
},
|
1072 |
ajaxGet: function(url, data, callback, sync) {
|
1073 |
var query = [];
|
@@ -1304,19 +1275,18 @@ var InboundForms = (function(_inbound) {
|
|
1304 |
debug: function(msg, callback) {
|
1305 |
//if app not in debug mode, exit immediately
|
1306 |
if (!debugMode || !console) {
|
1307 |
-
return
|
1308 |
-
}
|
1309 |
-
|
1310 |
var msg = msg || false;
|
1311 |
//console.log the message
|
1312 |
if (msg && (typeof msg === 'string')) {
|
1313 |
-
console.log(msg)
|
1314 |
-
}
|
1315 |
|
1316 |
//execute the callback if one was passed-in
|
1317 |
if (callback && (callback instanceof Function)) {
|
1318 |
callback();
|
1319 |
-
}
|
1320 |
},
|
1321 |
formTrackInit: function() {
|
1322 |
|
@@ -1343,7 +1313,9 @@ var InboundForms = (function(_inbound) {
|
|
1343 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
1344 |
return true;
|
1345 |
} else {
|
1346 |
-
cb = function()
|
|
|
|
|
1347 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
1348 |
return false;
|
1349 |
}
|
@@ -1386,7 +1358,7 @@ var InboundForms = (function(_inbound) {
|
|
1386 |
_inbound.Utils.removeClass('inbound-track', selector);
|
1387 |
}
|
1388 |
}
|
1389 |
-
}
|
1390 |
},
|
1391 |
/* Map field fields on load */
|
1392 |
initFormMapping: function(form) {
|
@@ -1400,6 +1372,7 @@ var InboundForms = (function(_inbound) {
|
|
1400 |
continue;
|
1401 |
}
|
1402 |
|
|
|
1403 |
//this.ignoreFields(formInput);
|
1404 |
/* Map form fields */
|
1405 |
this.mapField(formInput);
|
@@ -1411,12 +1384,10 @@ var InboundForms = (function(_inbound) {
|
|
1411 |
}
|
1412 |
|
1413 |
}
|
1414 |
-
|
1415 |
-
|
1416 |
-
for (var n = hiddenInputs.length - 1; n >= 0; n--) {
|
1417 |
-
formInput = hiddenInputs[n];
|
1418 |
this.mapField(formInput);
|
1419 |
-
}
|
1420 |
|
1421 |
//console.log('mapping on load completed');
|
1422 |
},
|
@@ -1470,8 +1441,8 @@ var InboundForms = (function(_inbound) {
|
|
1470 |
//console.log('label', label);
|
1471 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
1472 |
|
1473 |
-
|
1474 |
-
|
1475 |
|
1476 |
}
|
1477 |
|
@@ -1541,7 +1512,7 @@ var InboundForms = (function(_inbound) {
|
|
1541 |
ignoreFieldByValue: function(value){
|
1542 |
var ignore_field = false;
|
1543 |
|
1544 |
-
if(!value){ return false
|
1545 |
|
1546 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
1547 |
ignore_field = true;
|
@@ -1569,29 +1540,17 @@ var InboundForms = (function(_inbound) {
|
|
1569 |
document.body.style.cursor = "default";
|
1570 |
utils.removeClass('wpl-track-me', form);
|
1571 |
utils.removeListener(form, 'submit', this.formListener);
|
1572 |
-
var formClass = form.getAttribute('class');
|
1573 |
-
if (formClass !== "" && formClass !== null) {
|
1574 |
-
/* If contact form 7 do this */
|
1575 |
-
if (formClass.toLowerCase().indexOf("wpcf7-form") != -1) {
|
1576 |
-
//alert('release')
|
1577 |
-
setTimeout(function() {
|
1578 |
-
document.body.style.cursor = "default";
|
1579 |
-
}, 300);
|
1580 |
-
return true;
|
1581 |
-
}
|
1582 |
-
}
|
1583 |
-
|
1584 |
form.submit();
|
1585 |
/* fallback if submit name="submit" */
|
1586 |
setTimeout(function() {
|
1587 |
for (var i = 0; i < form.elements.length; i++) {
|
1588 |
formInput = form.elements[i];
|
1589 |
type = formInput.type || false;
|
1590 |
-
if (type === "submit"
|
1591 |
form.elements[i].click();
|
1592 |
}
|
1593 |
}
|
1594 |
-
},
|
1595 |
|
1596 |
},
|
1597 |
saveFormData: function(form) {
|
@@ -1659,7 +1618,7 @@ var InboundForms = (function(_inbound) {
|
|
1659 |
value = (formInput.value);
|
1660 |
}
|
1661 |
|
1662 |
-
|
1663 |
break;
|
1664 |
}
|
1665 |
|
@@ -1751,8 +1710,6 @@ var InboundForms = (function(_inbound) {
|
|
1751 |
|
1752 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
1753 |
|
1754 |
-
if(!fName) { fName = "n/a"; }
|
1755 |
-
|
1756 |
_inbound.deBugger('forms', "fName = " + fName);
|
1757 |
_inbound.deBugger('forms', "lName = " + lName);
|
1758 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
@@ -2052,7 +2009,7 @@ var InboundForms = (function(_inbound) {
|
|
2052 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
2053 |
],
|
2054 |
|
2055 |
-
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"
|
2056 |
|
2057 |
run: function(opts) {
|
2058 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
@@ -2060,14 +2017,14 @@ var InboundForms = (function(_inbound) {
|
|
2060 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
2061 |
|
2062 |
var defaultCallback = function(result) {
|
2063 |
-
return result
|
2064 |
};
|
2065 |
var suggestedCallback = opts.suggested || defaultCallback;
|
2066 |
var emptyCallback = opts.empty || defaultCallback;
|
2067 |
|
2068 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
2069 |
|
2070 |
-
return result ? suggestedCallback(result) : emptyCallback()
|
2071 |
},
|
2072 |
|
2073 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
@@ -2140,15 +2097,15 @@ var InboundForms = (function(_inbound) {
|
|
2140 |
|
2141 |
sift3Distance: function(s1, s2) {
|
2142 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
2143 |
-
if (s1
|
2144 |
-
if (s2
|
2145 |
return 0;
|
2146 |
} else {
|
2147 |
return s2.length;
|
2148 |
}
|
2149 |
}
|
2150 |
|
2151 |
-
if (s2
|
2152 |
return s1.length;
|
2153 |
}
|
2154 |
|
@@ -2197,7 +2154,7 @@ var InboundForms = (function(_inbound) {
|
|
2197 |
var domainParts = domain.split(".");
|
2198 |
var tld = "";
|
2199 |
|
2200 |
-
if (domainParts.length
|
2201 |
// The address does not have a top-level domain
|
2202 |
return false;
|
2203 |
} else if (domainParts.length == 1) {
|
@@ -2217,7 +2174,7 @@ var InboundForms = (function(_inbound) {
|
|
2217 |
topLevelDomain: tld,
|
2218 |
domain: domain,
|
2219 |
address: parts.join("@")
|
2220 |
-
}
|
2221 |
},
|
2222 |
|
2223 |
// Encode the email address to prevent XSS but leave in valid
|
@@ -2230,7 +2187,7 @@ var InboundForms = (function(_inbound) {
|
|
2230 |
.replace("%7D", "}");
|
2231 |
return result;
|
2232 |
}
|
2233 |
-
}
|
2234 |
} // End Mailcheck
|
2235 |
|
2236 |
|
@@ -2301,7 +2258,12 @@ var _inboundEvents = (function(_inbound) {
|
|
2301 |
|
2302 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
2303 |
|
2304 |
-
if(
|
|
|
|
|
|
|
|
|
|
|
2305 |
|
2306 |
var TriggerEvent = new CustomEvent(eventName, {
|
2307 |
detail: data,
|
@@ -2309,11 +2271,7 @@ var _inboundEvents = (function(_inbound) {
|
|
2309 |
cancelable: options.cancelable
|
2310 |
});
|
2311 |
|
2312 |
-
} else {
|
2313 |
-
var TriggerEvent = document.createEvent("Event");
|
2314 |
-
TriggerEvent.initEvent(eventName, true, true);
|
2315 |
}
|
2316 |
-
|
2317 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
2318 |
window.dispatchEvent(TriggerEvent);
|
2319 |
/*! 2. Trigger _inbound action */
|
@@ -2328,7 +2286,6 @@ var _inboundEvents = (function(_inbound) {
|
|
2328 |
function triggerJQueryEvent(eventName, data) {
|
2329 |
if (window.jQuery) {
|
2330 |
var data = data || {};
|
2331 |
-
/*! try catch here */
|
2332 |
jQuery(document).trigger(eventName, data);
|
2333 |
}
|
2334 |
};
|
@@ -2759,7 +2716,7 @@ var _inboundEvents = (function(_inbound) {
|
|
2759 |
});
|
2760 |
window.dispatchEvent(error);
|
2761 |
console.log('Page Save Error');
|
2762 |
-
}
|
2763 |
|
2764 |
};
|
2765 |
|
@@ -2934,7 +2891,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
2934 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
2935 |
data = {
|
2936 |
action: 'inbound_get_all_lead_data',
|
2937 |
-
wp_lead_id: wp_lead_id
|
2938 |
},
|
2939 |
success = function(returnData) {
|
2940 |
var leadData = JSON.parse(returnData);
|
@@ -2971,7 +2928,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
2971 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
2972 |
var data = {
|
2973 |
action: 'wpl_check_lists',
|
2974 |
-
wp_lead_id: wp_lead_id
|
2975 |
};
|
2976 |
var success = function(user_id) {
|
2977 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
1 |
+
/*! Inbound Analyticsv1.0.0 | (c) 2014 Inbound Now | https://github.com/inboundnow/cta */
|
2 |
/**
|
3 |
* # _inbound
|
4 |
*
|
879 |
};
|
880 |
*/
|
881 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
/* Add days to datetime */
|
883 |
addDays: function(myDate, days) {
|
884 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
1029 |
},
|
1030 |
ajaxSendData: function(url, callback, method, data, sync) {
|
1031 |
var x = this.ajaxPolyFill();
|
1032 |
+
x.open(method, url, sync);
|
1033 |
+
x.onreadystatechange = function() {
|
1034 |
+
if (x.readyState == 4) {
|
1035 |
+
callback(x.responseText)
|
1036 |
+
}
|
1037 |
+
};
|
1038 |
+
if (method == 'POST') {
|
1039 |
+
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
1040 |
+
}
|
1041 |
+
x.send(data);
|
|
|
|
|
|
|
1042 |
},
|
1043 |
ajaxGet: function(url, data, callback, sync) {
|
1044 |
var query = [];
|
1275 |
debug: function(msg, callback) {
|
1276 |
//if app not in debug mode, exit immediately
|
1277 |
if (!debugMode || !console) {
|
1278 |
+
return
|
1279 |
+
};
|
|
|
1280 |
var msg = msg || false;
|
1281 |
//console.log the message
|
1282 |
if (msg && (typeof msg === 'string')) {
|
1283 |
+
console.log(msg)
|
1284 |
+
};
|
1285 |
|
1286 |
//execute the callback if one was passed-in
|
1287 |
if (callback && (callback instanceof Function)) {
|
1288 |
callback();
|
1289 |
+
};
|
1290 |
},
|
1291 |
formTrackInit: function() {
|
1292 |
|
1313 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
1314 |
return true;
|
1315 |
} else {
|
1316 |
+
cb = function(){
|
1317 |
+
console.log(form);
|
1318 |
+
}
|
1319 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
1320 |
return false;
|
1321 |
}
|
1358 |
_inbound.Utils.removeClass('inbound-track', selector);
|
1359 |
}
|
1360 |
}
|
1361 |
+
};
|
1362 |
},
|
1363 |
/* Map field fields on load */
|
1364 |
initFormMapping: function(form) {
|
1372 |
continue;
|
1373 |
}
|
1374 |
|
1375 |
+
|
1376 |
//this.ignoreFields(formInput);
|
1377 |
/* Map form fields */
|
1378 |
this.mapField(formInput);
|
1384 |
}
|
1385 |
|
1386 |
}
|
1387 |
+
for (var i = hiddenInputs.length - 1; i >= 0; i--) {
|
1388 |
+
formInput = hiddenInputs[i];
|
|
|
|
|
1389 |
this.mapField(formInput);
|
1390 |
+
};
|
1391 |
|
1392 |
//console.log('mapping on load completed');
|
1393 |
},
|
1441 |
//console.log('label', label);
|
1442 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
1443 |
|
1444 |
+
found = true;
|
1445 |
+
_inbound.deBugger('forms', 'Found matching sibling label for -> ' + lookingFor);
|
1446 |
|
1447 |
}
|
1448 |
|
1512 |
ignoreFieldByValue: function(value){
|
1513 |
var ignore_field = false;
|
1514 |
|
1515 |
+
if(!value){ return false };
|
1516 |
|
1517 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
1518 |
ignore_field = true;
|
1540 |
document.body.style.cursor = "default";
|
1541 |
utils.removeClass('wpl-track-me', form);
|
1542 |
utils.removeListener(form, 'submit', this.formListener);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1543 |
form.submit();
|
1544 |
/* fallback if submit name="submit" */
|
1545 |
setTimeout(function() {
|
1546 |
for (var i = 0; i < form.elements.length; i++) {
|
1547 |
formInput = form.elements[i];
|
1548 |
type = formInput.type || false;
|
1549 |
+
if (type === "submit") {
|
1550 |
form.elements[i].click();
|
1551 |
}
|
1552 |
}
|
1553 |
+
}, 1300);
|
1554 |
|
1555 |
},
|
1556 |
saveFormData: function(form) {
|
1618 |
value = (formInput.value);
|
1619 |
}
|
1620 |
|
1621 |
+
console.log('select val', value);
|
1622 |
break;
|
1623 |
}
|
1624 |
|
1710 |
|
1711 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
1712 |
|
|
|
|
|
1713 |
_inbound.deBugger('forms', "fName = " + fName);
|
1714 |
_inbound.deBugger('forms', "lName = " + lName);
|
1715 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
2009 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
2010 |
],
|
2011 |
|
2012 |
+
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"],
|
2013 |
|
2014 |
run: function(opts) {
|
2015 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
2017 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
2018 |
|
2019 |
var defaultCallback = function(result) {
|
2020 |
+
return result
|
2021 |
};
|
2022 |
var suggestedCallback = opts.suggested || defaultCallback;
|
2023 |
var emptyCallback = opts.empty || defaultCallback;
|
2024 |
|
2025 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
2026 |
|
2027 |
+
return result ? suggestedCallback(result) : emptyCallback()
|
2028 |
},
|
2029 |
|
2030 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
2097 |
|
2098 |
sift3Distance: function(s1, s2) {
|
2099 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
2100 |
+
if (s1 == null || s1.length === 0) {
|
2101 |
+
if (s2 == null || s2.length === 0) {
|
2102 |
return 0;
|
2103 |
} else {
|
2104 |
return s2.length;
|
2105 |
}
|
2106 |
}
|
2107 |
|
2108 |
+
if (s2 == null || s2.length === 0) {
|
2109 |
return s1.length;
|
2110 |
}
|
2111 |
|
2154 |
var domainParts = domain.split(".");
|
2155 |
var tld = "";
|
2156 |
|
2157 |
+
if (domainParts.length == 0) {
|
2158 |
// The address does not have a top-level domain
|
2159 |
return false;
|
2160 |
} else if (domainParts.length == 1) {
|
2174 |
topLevelDomain: tld,
|
2175 |
domain: domain,
|
2176 |
address: parts.join("@")
|
2177 |
+
}
|
2178 |
},
|
2179 |
|
2180 |
// Encode the email address to prevent XSS but leave in valid
|
2187 |
.replace("%7D", "}");
|
2188 |
return result;
|
2189 |
}
|
2190 |
+
}
|
2191 |
} // End Mailcheck
|
2192 |
|
2193 |
|
2258 |
|
2259 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
2260 |
|
2261 |
+
if(is_IE_11){
|
2262 |
+
|
2263 |
+
var TriggerEvent = document.createEvent("Event");
|
2264 |
+
TriggerEvent.initEvent(eventName, true, true);
|
2265 |
+
|
2266 |
+
} else {
|
2267 |
|
2268 |
var TriggerEvent = new CustomEvent(eventName, {
|
2269 |
detail: data,
|
2271 |
cancelable: options.cancelable
|
2272 |
});
|
2273 |
|
|
|
|
|
|
|
2274 |
}
|
|
|
2275 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
2276 |
window.dispatchEvent(TriggerEvent);
|
2277 |
/*! 2. Trigger _inbound action */
|
2286 |
function triggerJQueryEvent(eventName, data) {
|
2287 |
if (window.jQuery) {
|
2288 |
var data = data || {};
|
|
|
2289 |
jQuery(document).trigger(eventName, data);
|
2290 |
}
|
2291 |
};
|
2716 |
});
|
2717 |
window.dispatchEvent(error);
|
2718 |
console.log('Page Save Error');
|
2719 |
+
},
|
2720 |
|
2721 |
};
|
2722 |
|
2891 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
2892 |
data = {
|
2893 |
action: 'inbound_get_all_lead_data',
|
2894 |
+
wp_lead_id: wp_lead_id,
|
2895 |
},
|
2896 |
success = function(returnData) {
|
2897 |
var leadData = JSON.parse(returnData);
|
2928 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
2929 |
var data = {
|
2930 |
action: 'wpl_check_lists',
|
2931 |
+
wp_lead_id: wp_lead_id,
|
2932 |
};
|
2933 |
var success = function(user_id) {
|
2934 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
shared/assets/frontend/js/analytics/inboundAnalytics.min.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
/*! Inbound Analyticsv1.0.0 | (c)
|
2 |
-
var inbound_data=inbound_data||{},_inboundOptions=_inboundOptions||{},_gaq=_gaq||[],_inbound=function(e){var t={timeout:3e4,formAutoTracking:!0,formAutoPopulation:!0},n={init:function(){_inbound.Utils.init(),_inbound.Utils.domReady(window,function(){_inbound.DomLoaded()})},DomLoaded:function(){_inbound.PageTracking.init(),_inbound.Forms.init(),_inbound.Utils.setUrlParams(),_inbound.LeadsAPI.init(),setTimeout(function(){_inbound.Forms.init()},2e3),_inbound.trigger("analytics_ready")},extend:function(e,t){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n]);for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n]);return i},debug:function(){},deBugger:function(e,t,n){if(console){var i,o,a,r=document.location.hash?document.location.hash:"",s=r.indexOf("#debug")>-1,t=t||!1;r&&r.match(/debug/)&&(r=r.split("-"),a=r[1]),o="true"===_inbound.Utils.readCookie("inbound_debug")?!0:!1,i="true"===_inbound.Utils.readCookie("inbound_debug_"+e)?!0:!1,(i||s||o)&&(t&&"string"==typeof t&&(o||"all"===a?console.log('logAll "'+e+'" =>',t):i?console.log('log "'+e+'" =>',t):e===a&&console.log('#log "'+e+'" =>',t)),n&&n instanceof Function&&n())}}},i=n.extend(t,e);return n.Settings=i||{},n}(_inboundOptions),_inboundHooks=function(e){var t=function(){function e(e,t,n,i){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,i)),c}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&u("actions",t,e),c}function n(e,t){return"string"==typeof e&&r("actions",e,t),c}function i(e,t,n){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n)),c}function o(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?u("filters",t,e):c}function a(e,t){return"string"==typeof e&&r("filters",e,t),c}function r(e,t,n,i){if(d[e][t])if(n){var o,a=d[e][t];if(i)for(o=a.length;o--;){var r=a[o];r.callback===n&&r.context===i&&a.splice(o,1)}else for(o=a.length;o--;)a[o].callback===n&&a.splice(o,1)}else d[e][t]=[]}function s(e,t,n,i,o){var a={callback:n,priority:i,context:o},r=d[e][t];r?(r.push(a),r=l(r)):r=[a],d[e][t]=r}function l(e){for(var t,n,i,o=1,a=e.length;a>o;o++){for(t=e[o],n=o;(i=e[n-1])&&i.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function u(e,t,n){var i=d[e][t];if(!i)return"filters"===e?n[0]:!1;var o=0,a=i.length;if("filters"===e)for(;a>o;o++)n[0]=i[o].callback.apply(i[o].context,n);else for(;a>o;o++)i[o].callback.apply(i[o].context,n);return"filters"===e?n[0]:!0}var c={removeFilter:a,applyFilters:o,addFilter:i,removeAction:n,doAction:t,addAction:e},d={actions:{},filters:{}};return c};return e.hooks=new t,e.add_action=function(){var t=arguments[0].split(" ");for(k in t)arguments[0]="inbound."+t[k],e.hooks.addAction.apply(this,arguments);return this},e.remove_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeAction.apply(this,arguments),this},e.do_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.doAction.apply(this,arguments),this},e.add_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.addFilter.apply(this,arguments),this},e.remove_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeFilter.apply(this,arguments),this},e.apply_filters=function(){return arguments[0]="inbound."+arguments[0],e.hooks.applyFilters.apply(this,arguments)},e}(_inbound||{}),_inboundUtils=function(e){var t;return e.Utils={init:function(){this.polyFills(),this.checkLocalStorage(),this.SetUID(),this.storeReferralData()},polyFills:function(){window.console||(window.console={});for(var e=["log","info","warn","error","debug","trace","dir","group","groupCollapsed","groupEnd","time","timeEnd","profile","profileEnd","dirxml","assert","count","markTimeline","timeStamp","clear"],t=0;t<e.length;t++)window.console[e[t]]||(window.console[e[t]]=function(){});try{new CustomEvent("?")}catch(n){this.CustomEvent=function(e,t){function n(n,o){var a=document.createEvent(e);return null!==n?i.call(a,n,(o||(o=t)).bubbles,o.cancelable,o.detail):a.initCustomEvent=i,a}function i(t,n,i,o){this["init"+e](t,n,i,o),"detail"in this||(this.detail=o)}return n}(this.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}document.querySelectorAll||(document.querySelectorAll=function(e){var t,n=document.createElement("style"),i=[];for(document.documentElement.firstChild.appendChild(n),document._qsa=[],n.styleSheet.cssText=e+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",window.scrollBy(0,0),n.parentNode.removeChild(n);document._qsa.length;)t=document._qsa.shift(),t.style.removeAttribute("x-qsa"),i.push(t);return document._qsa=null,i}),document.querySelector||(document.querySelector=function(e){var t=document.querySelectorAll(e);return t.length?t[0]:null}),!("innerText"in document.createElement("a"))&&"getSelection"in window&&HTMLElement.prototype.__defineGetter__("innerText",function(){for(var e,t=window.getSelection(),n=[],i=0;i<t.rangeCount;i++)n[i]=t.getRangeAt(i);t.removeAllRanges(),t.selectAllChildren(this),e=t.toString(),t.removeAllRanges();for(var i=0;i<n.length;i++)t.addRange(n[i]);return e})},createCookie:function(e,t,n){var i="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toGMTString()}document.cookie=e+"="+t+i+"; path=/"},readCookie:function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},eraseCookie:function(e){this.createCookie(e,"",-1)},getAllCookies:function(){var t={};if(document.cookie&&""!==document.cookie)for(var n=document.cookie.split(";"),i=0;i<n.length;i++){var o=n[i].split("=");o[0]=o[0].replace(/^ /,""),t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e.totalStorage("inbound_cookies",t),t},setUrlParams:function(){var n={};!function(){for(var e,t=function(e){return decodeURIComponent(e).replace(/\+/g," ")},i=window.location.search.substring(1),o=/([^&=]+)=?([^&]*)/g;e=o.exec(i);)if("-1"==e[1].indexOf("["))n[t(e[1])]=t(e[2]);else{var a=e[1].indexOf("["),r=e[1].slice(a+1,e[1].indexOf("]",a)),s=t(e[1].slice(0,a));"object"!=typeof n[s]&&(n[t(s)]={},n[t(s)].length=0),r?n[t(s)][t(r)]=t(e[2]):Array.prototype.push.call(n[t(s)],t(e[2]))}}();for(var i in n)if("object"==typeof n[i])for(var o in n[i])this.createCookie(o,n[i][o],30);else this.createCookie(i,n[i],30);if(t){var a=e.totalStorage("inbound_url_params")||{},r=this.mergeObjs(a,n);e.totalStorage("inbound_url_params",r)}var s={option1:"yo",option2:"woooo"};e.trigger("url_parameters",n,s)},getAllUrlParams:function(){var n={};if(t)var n=e.totalStorage("inbound_url_params");return n},getParameterVal:function(e,t){return(RegExp(e+"=(.+?)(&|$)").exec(t)||[,!1])[1]},checkLocalStorage:function(){if("localStorage"in window)try{ls="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof ls||"undefined"==typeof window.JSON?!1:!0}catch(e){t=!1}return t},showLocalStorageSize:function(){function e(e){return 2*e.length}function t(e){return e/1024/1024}function n(t){return{name:t,size:e(localStorage[t])}}function i(e){return e.size=t(e.size).toFixed(2)+" MB",e}Object.keys(localStorage).map(n).map(i)},addDays:function(e,t){return new Date(e.getTime()+24*t*60*60*1e3)},GetDate:function(){var e=new Date,t=e.getDate(),n=10>t?"0":"",i=e.getFullYear(),o=e.getHours(),a=10>o?"0":"",r=e.getMinutes(),s=10>r?"0":"",l=e.getSeconds(),u=10>l?"0":"",c=e.getMonth()+1,d=10>c?"0":"",m=i+"/"+d+c+"/"+n+t+" "+a+o+":"+s+r+":"+u+l;return m},SetSessionTimeout:function(){var e=(this.readCookie("lead_session_expire"),new Date);e.setTime(e.getTime()+18e5),this.createCookie("lead_session_expire",!0,e,!0)},storeReferralData:function(){var t=new Date,n=document.referrer||"Direct Traffic",i=e.Utils.readCookie("inbound_referral_site"),o=e.totalStorage("inbound_original_referral");t.setTime(t.getTime()+18e5),i||this.createCookie("inbound_referral_site",n,t,!0),o||e.totalStorage("inbound_original_referral",o)},CreateUID:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),n="";e||(e=Math.floor(Math.random()*t.length));for(var i=0;e>i;i++)n+=t[Math.floor(Math.random()*t.length)];return n},SetUID:function(e){if(!this.readCookie("wp_lead_uid")){var t=e||this.CreateUID(35);this.createCookie("wp_lead_uid",t)}},countProperties:function(e){var t=0;for(var n in e)e.hasOwnProperty(n)&&++t;return t},mergeObjs:function(e,t){var n={};for(var i in e)n[i]=e[i];for(var i in t)n[i]=t[i];return n},hasClass:function(e,t){var n=!1;if("classList"in document.documentElement)var n=t.classList.contains(e);else var n=new RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className);return n},addClass:function(e,t){"classList"in document.documentElement?t.classList.add(e):this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},removeClass:function(e,t){"classList"in document.documentElement?t.classList.remove(e):this.hasClass(t,e)&&(t.className=t.className.replace(new RegExp("(^|\\s)*"+e+"(\\s|$)*","g"),""))},removeElement:function(e){e.parentNode.removeChild(e)},trim:function(e){return e=e.replace(/(^\s*)|(\s*$)/gi,""),e=e.replace(/[ ]{2,}/gi," "),e=e.replace(/\n /,"\n")},ajaxPolyFill:function(){if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;for(var e,t=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"],n=0;n<t.length;n++)try{e=new ActiveXObject(t[n]);break}catch(i){}return e},ajaxSendData:function(e,t,n,i){var o=this.ajaxPolyFill();setTimeout(function(){o.open(n,e,!0),o.onreadystatechange=function(){4==o.readyState&&t(o.responseText)},"POST"==n&&o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.send(i)},100)},ajaxGet:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e+"?"+o.join("&"),n,"GET",null,i)},ajaxPost:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e,n,"POST",o.join("&"),i)},makeRequest:function(t,n){if(window.XMLHttpRequest)httpRequest=new XMLHttpRequest;else if(window.ActiveXObject)try{httpRequest=new ActiveXObject("Msxml2.XMLHTTP")}catch(i){try{httpRequest=new ActiveXObject("Microsoft.XMLHTTP")}catch(i){}}return httpRequest?(httpRequest.onreadystatechange=e.LeadsAPI.alertContents,httpRequest.open("GET",t),httpRequest.send(n),void 0):(alert("Giving up :( Cannot create an XMLHTTP instance"),!1)},domReady:function(e,t){var n=!1,i=!0,o=e.document,a=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",s=o.addEventListener?"removeEventListener":"detachEvent",l=o.addEventListener?"":"on",u=function(i){("readystatechange"!=i.type||"complete"==o.readyState)&&(("load"==i.type?e:o)[s](l+i.type,u,!1),!n&&(n=!0)&&t.call(e,i.type||i))},c=function(){try{a.doScroll("left")}catch(e){return setTimeout(c,50),void 0}u("poll")};if("complete"==o.readyState)t.call(e,"lazy");else{if(o.createEventObject&&a.doScroll){try{i=!e.frameElement}catch(d){}i&&c()}o[r](l+"DOMContentLoaded",u,!1),o[r](l+"readystatechange",u,!1),e[r](l+"load",u,!1)}},addListener:function(e,t,n){e&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n)},removeListener:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]=null},throttle:function(e,t){var n,i,o,a=null,r=0,s=function(){r=new Date,a=null,o=e.apply(n,i)};return function(){var l=new Date;r||(r=l);var u=t-(l-r);return n=this,i=arguments,0>=u?(clearTimeout(a),a=null,r=l,o=e.apply(n,i)):a||(a=setTimeout(s,u)),o}},checkTypeofGA:function(){"function"==typeof ga&&(universalGA=!0),"undefined"!=typeof _gaq&&"function"==typeof _gaq.push&&(classicGA=!0),"undefined"!=typeof dataLayer&&"function"==typeof dataLayer.push&&(googleTagManager=!0)}},e}(_inbound||{}),InboundForms=function(e){var t=!1,n=e.Utils,o=[],a=[],r=[],s=e.Settings,l=["first name","last name","name","email","e-mail","phone","website","job title","your favorite food","company","tele","address","comment"];if(e.Forms={init:function(){e.Forms.runFieldMappingFilters(),e.Forms.assignTrackClass(),e.Forms.formTrackInit()},runFieldMappingFilters:function(){l=e.hooks.applyFilters("forms.field_map",l)},debug:function(e,n){if(t&&console){var e=e||!1;e&&"string"==typeof e&&console.log(e),n&&n instanceof Function&&n()}},formTrackInit:function(){for(var e=0;e<window.document.forms.length;e++){var t=!1,n=window.document.forms[e];n.dataset.formProcessed||(n.dataset.formProcessed=!0,t=this.checkTrackStatus(n),t&&(this.attachFormSubmitEvent(n),this.initFormMapping(n)))}},checkTrackStatus:function(t){var n=t.getAttribute("class");return""!==n&&null!==n?n.toLowerCase().indexOf("wpl-track-me")>-1?!0:n.toLowerCase().indexOf("inbound-track")>-1?!0:(cb=function(){console.log(t)},e.deBugger("forms","This form not tracked. Please assign on in settings...",cb),!1):void 0},assignTrackClass:function(){if(window.inbound_settings){if(inbound_settings.inbound_track_include){var t=inbound_settings.inbound_track_include.split(","),n="add selectors "+inbound_settings.inbound_track_include;e.deBugger("forms",n),this.loopClassSelectors(t,"add")}if(inbound_settings.inbound_track_exclude){var t=inbound_settings.inbound_track_exclude.split(","),n="remove selectors "+inbound_settings.inbound_track_exclude;e.deBugger("forms",n),this.loopClassSelectors(t,"remove")}}},loopClassSelectors:function(t,i){for(var o=t.length-1;o>=0;o--){var a=n.trim(t[o]);-1===a.indexOf("#")&&-1===a.indexOf(".")&&(a="#"+a),a=document.querySelector(a),a&&("add"===i?(e.Utils.addClass("wpl-track-me",a),e.Utils.addClass("inbound-track",a)):(e.Utils.removeClass("wpl-track-me",a),e.Utils.removeClass("inbound-track",a)))}},initFormMapping:function(e){for(var t=[],n=0;n<e.elements.length;n++)formInput=e.elements[n],"hidden"!==formInput.type?(this.mapField(formInput),this.rememberInputValues(formInput),s.formAutoPopulation&&this.fillInputValues(formInput)):t.push(formInput);for(var i=t.length-1;i>=0;i--)formInput=t[i],this.mapField(formInput)},mapField:function(t){var a=t.id||!1,r=t.name||!1,s=this.getInputLabel(t);if(s){var u=this.ignoreFieldByLabel(s[0].innerText);if(u)return t.dataset.ignoreFormField=!0,!1}for(i=0;i<l.length;i++){var c=!1,d=l[i],m=n.trim(d),f=m.replace(/ /g,"_");r&&r.toLowerCase().indexOf(m)>-1?(c=!0,e.deBugger("forms","Found matching name attribute for -> "+m)):a&&a.toLowerCase().indexOf(m)>-1?(c=!0,e.deBugger("forms","Found matching ID attribute for ->"+m)):s?s[0].innerText.toLowerCase().indexOf(m)>-1&&(c=!0,e.deBugger("forms","Found matching sibling label for -> "+m)):o.push(m),c&&(this.addDataAttr(t,f),this.removeArrayItem(l,m),i--)}return inbound_data},formListener:function(t){t.preventDefault(),e.Forms.saveFormData(t.target),document.body.style.cursor="wait"},attachFormSubmitEvent:function(e){n.addListener(e,"submit",this.formListener);var t=document.querySelector(".inbound-email");n.addListener(t,"blur",this.mailCheck)},ignoreFieldByLabel:function(t){var n=!1;return t?((-1!=t.toLowerCase().indexOf("credit card")||-1!=t.toLowerCase().indexOf("card number"))&&(n=!0),(-1!=t.toLowerCase().indexOf("expiration")||-1!=t.toLowerCase().indexOf("expiry"))&&(n=!0),("month"==t.toLowerCase()||"mm"==t.toLowerCase()||"yy"==t.toLowerCase()||"yyyy"==t.toLowerCase()||"year"==t.toLowerCase())&&(n=!0),(-1!=t.toLowerCase().indexOf("cvv")||-1!=t.toLowerCase().indexOf("cvc")||-1!=t.toLowerCase().indexOf("secure code")||-1!=t.toLowerCase().indexOf("security code"))&&(n=!0),n&&e.deBugger("forms","ignore "+t),n):!1},ignoreFieldByValue:function(e){var t=!1;if(!e)return!1;("visa"==e.toLowerCase()||"mastercard"==e.toLowerCase()||"american express"==e.toLowerCase()||"amex"==e.toLowerCase()||"discover"==e.toLowerCase())&&(t=!0);var n=new RegExp("/^[0-9]+$/");if(n.test(e)){var i=e.replace(" ","");this.isInt(i)&&i.length>=16&&(t=!0)}return t},isInt:function(e){return"number"==typeof e&&isFinite(e)&&e%1===0},releaseFormSubmit:function(e){document.body.style.cursor="default",n.removeClass("wpl-track-me",e),n.removeListener(e,"submit",this.formListener);var t=e.getAttribute("class");return""!==t&&null!==t&&-1!=t.toLowerCase().indexOf("wpcf7-form")?(setTimeout(function(){document.body.style.cursor="default"},300),!0):(e.submit(),setTimeout(function(){for(var t=0;t<e.elements.length;t++)formInput=e.elements[t],type=formInput.type||!1,"submit"===type&&"submit"===formInput.name&&e.elements[t].click()},2e3),void 0)},saveFormData:function(t){for(var i=i||{},o=0;o<t.elements.length;o++)if(formInput=t.elements[o],multiple=!1,formInput.name){if(formInput.dataset.ignoreFormField){e.deBugger("forms","ignore "+formInput.name);continue}switch(inputName=formInput.name.replace(/\[([^\[]*)\]/g,"%5B%5D$1"),i[inputName]||(i[inputName]={}),formInput.type&&(i[inputName].type=formInput.type),i[inputName].name||(i[inputName].name=formInput.name),formInput.dataset.mapFormField&&(i[inputName].map=formInput.dataset.mapFormField),formInput.nodeName){case"INPUT":if(l=this.getInputValue(formInput),l===!1)continue;break;case"TEXTAREA":l=formInput.value;break;case"SELECT":if(formInput.multiple){values=[],multiple=!0;for(var s=0;s<formInput.length;s++)formInput[s].selected&&values.push(encodeURIComponent(formInput[s].value))}else l=formInput.value}if(e.deBugger("forms","Input Value = "+l),l){i[inputName].value||(i[inputName].value=[]),i[inputName].value.push(multiple?values.join(","):encodeURIComponent(l));var l=multiple?values.join(","):encodeURIComponent(l)}}e.deBugger("forms",i);for(var u in i){var c=i[u].value,d=i[u].map;if("undefined"!=typeof c&&null!=c&&""!=c&&a.push(u+"="+i[u].value.join(",")),"undefined"!=typeof d&&null!=d&&i[u].value&&(r.push(d+"="+i[u].value.join(",")),"email"===u))var m=i[u].value.join(",")}var f=a.join("&");e.deBugger("forms","Stringified Raw Form PARAMS: "+f);var g=r.join("&");e.deBugger("forms","Stringified Mapped PARAMS"+g);var m=n.getParameterVal("email",g)||n.readCookie("wp_lead_email");m||(m=n.getParameterVal("wpleads_email_address",g));var p=n.getParameterVal("name",g),v=n.getParameterVal("first_name",g),h=n.getParameterVal("last_name",g);if(!h&&v){var _=decodeURI(v).split(" ");_.length>0&&(v=_[0],h=_[1])}if(p&&!h&&!v){var _=decodeURI(p).split(" ");_.length>0&&(v=_[0],h=_[1])}p=v&&h?v+" "+h:p,v||(v="n/a"),e.deBugger("forms","fName = "+v),e.deBugger("forms","lName = "+h),e.deBugger("forms","fullName = "+p);var b=e.totalStorage("page_views")||{},y=e.totalStorage("inbound_url_params")||{};if("undefined"!=typeof landing_path_info)var w=landing_path_info.variation;else if("undefined"!=typeof cta_path_info)var w=cta_path_info.variation;else var w=0;var k=inbound_settings.post_type||"page",C=inbound_settings.post_id||0;search_data={},formData={action:"inbound_lead_store",email:m,full_name:p,first_name:v,last_name:h,raw_params:f,mapped_params:g,url_params:JSON.stringify(y),search_data:"test",page_views:JSON.stringify(b),post_type:k,page_id:C,variation:w,source:n.readCookie("inbound_referral_site")},callback=function(i){e.deBugger("forms","Lead Created with ID: "+i),i=parseInt(i,10),formData.leadID=i,i&&(n.createCookie("wp_lead_id",i),e.totalStorage.deleteItem("page_views"),e.totalStorage.deleteItem("tracking_events")),e.trigger("form_after_submission",formData),e.Forms.releaseFormSubmit(t)},e.trigger("form_before_submission",formData),n.ajaxPost(inbound_settings.admin_url,formData,callback)},rememberInputValues:function(t){var i=(t.name?"inbound_"+t.name:"",t.type?t.type:"text");return"submit"===i||"hidden"===i||"file"===i||"password"===i||t.dataset.ignoreFormField?!1:(n.addListener(t,"change",function(t){if(t.target.name){if("checkbox"!==i)var o=t.target.value;else for(var a=[],r=document.querySelectorAll('input[name="'+t.target.name+'"]'),s=0;s<r.length;s++){var l=r[s].checked;l&&a.push(r[s].value),o=a.join(",")}inputData={name:t.target.name,node:t.target.nodeName.toLowerCase(),type:i,value:o,mapping:t.target.dataset.mapFormField},e.trigger("form_input_change",inputData),n.createCookie("inbound_"+t.target.name,encodeURIComponent(o))}}),void 0)},fillInputValues:function(e){var t=e.name?"inbound_"+e.name:"",i=e.type?e.type:"text";if("submit"===i||"hidden"===i||"file"===i||"password"===i)return!1;if(n.readCookie(t)&&"comment"!=t)if(value=decodeURIComponent(n.readCookie(t)),"checkbox"===i||"radio"===i)for(var o=value.split(","),a=0;a<o.length;a++)e.value.indexOf(o[a])>-1&&(e.checked=!0);else"undefined"!==value&&(e.value=value)},getInputLabel:function(e){var t;return(t=this.siblingsIsLabel(e))?t:(t=this.CheckParentForLabel(e))?t:!1},getInputValue:function(e){var t=!1;switch(e.type){case"radio":case"checkbox":e.checked&&(t=e.value);break;case"text":case"hidden":default:t=e.value}return t},addDataAttr:function(e,t){for(var n=document.getElementsByName(e.name),i=n.length-1;i>=0;i--)e.dataset.mapFormField||(n[i].dataset.mapFormField=t)},removeArrayItem:function(e,t){if(e.indexOf)index=e.indexOf(t);else for(index=e.length-1;index>=0&&e[index]!==t;--index);index>=0&&e.splice(index,1)},siblingsIsLabel:function(e){for(var t=this.getSiblings(e),n=[],i=t.length-1;i>=0;i--)"label"===t[i].nodeName.toLowerCase()&&n.push(t[i]);return n.length>0&&n.length<2?n:!1},getChildren:function(e,t){for(var n=[];e;e=e.nextSibling)1==e.nodeType&&e!=t&&n.push(e);return n},getSiblings:function(e){return this.getChildren(e.parentNode.firstChild,e)},CheckParentForLabel:function(e){if("FORM"===e.nodeName)return null;do{var t=e.getElementsByTagName("label");if(t.length>0&&t.length<2)return e.getElementsByTagName("label")}while(e=e.parentNode);return null},mailCheck:function(){var e=document.querySelector(".inbound-email");e&&(n.addListener(e,"blur",this.mailCheck),u.run({email:document.querySelector(".inbound-email").value,suggested:function(t){var i=document.querySelector(".email_suggestion");i&&n.removeElement(i);var o=document.createElement("span");o.innerHTML="<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">"+t.full+"</b></i>?</span>",e.parentNode.insertBefore(o,e.nextSibling);var a=document.getElementById("email_correction");n.addListener(a,"click",function(){e.value=a.innerHTML,a.parentNode.parentNode.innerHTML="Fixed!"})},empty:function(){}}))}},"undefined"==typeof u)var u={domainThreshold:1,topLevelThreshold:3,defaultDomains:["yahoo.com","google.com","hotmail.com","gmail.com","me.com","aol.com","mac.com","live.com","comcast.net","googlemail.com","msn.com","hotmail.co.uk","yahoo.co.uk","facebook.com","verizon.net","sbcglobal.net","att.net","gmx.com","mail.com","outlook.com","icloud.com"],defaultTopLevelDomains:["co.jp","co.uk","com","net","org","info","edu","gov","mil","ca","de"],run:function(e){e.domains=e.domains||u.defaultDomains,e.topLevelDomains=e.topLevelDomains||u.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||u.sift3Distance;var t=function(e){return e},n=e.suggested||t,i=e.empty||t,o=u.suggest(u.encodeEmail(e.email),e.domains,e.topLevelDomains,e.distanceFunction);return o?n(o):i()},suggest:function(e,t,n,i){e=e.toLowerCase();var o=this.splitEmail(e),a=this.findClosestDomain(o.domain,t,i,this.domainThreshold);if(a){if(a!=o.domain)return{address:o.address,domain:a,full:o.address+"@"+a}}else{var r=this.findClosestDomain(o.topLevelDomain,n,i,this.topLevelThreshold);if(o.domain&&r&&r!=o.topLevelDomain){var s=o.domain;return a=s.substring(0,s.lastIndexOf(o.topLevelDomain))+r,{address:o.address,domain:a,full:o.address+"@"+a}}}return!1},findClosestDomain:function(e,t,n,i){i=i||this.topLevelThreshold;var o,a=99,r=null;if(!e||!t)return!1;n||(n=this.sift3Distance);for(var s=0;s<t.length;s++){if(e===t[s])return e;o=n(e,t[s]),a>o&&(a=o,r=t[s])}return i>=a&&null!==r?r:!1},sift3Distance:function(e,t){if(null===e||0===e.length)return null===t||0===t.length?0:t.length;if(null===t||0===t.length)return e.length;for(var n=0,i=0,o=0,a=0,r=5;n+i<e.length&&n+o<t.length;){if(e.charAt(n+i)==t.charAt(n+o))a++;else{i=0,o=0;for(var s=0;r>s;s++){if(n+s<e.length&&e.charAt(n+s)==t.charAt(n)){i=s;break}if(n+s<t.length&&e.charAt(n)==t.charAt(n+s)){o=s;break}}}n++}return(e.length+t.length)/2-a},splitEmail:function(e){var t=e.trim().split("@");if(t.length<2)return!1;for(var n=0;n<t.length;n++)if(""===t[n])return!1;var i=t.pop(),o=i.split("."),a="";if(0===o.length)return!1;if(1==o.length)a=o[0];else{for(var n=1;n<o.length;n++)a+=o[n]+".";o.length>=2&&(a=a.substring(0,a.length-1))}return{topLevelDomain:a,domain:i,address:t.join("@")}},encodeEmail:function(e){var t=encodeURI(e);return t=t.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};return e}(_inbound||{}),_inboundEvents=function(e){function t(t,i,o){var i=i||{};o=o||{},o.bubbles=o.bubbles||!0,o.cancelable=o.cancelable||!0,i=e.apply_filters("filter_"+t,i);!window.ActiveXObject&&"ActiveXObject"in window;if("function"==typeof CustomEvent)var a=new CustomEvent(t,{detail:i,bubbles:o.bubbles,cancelable:o.cancelable});else{var a=document.createEvent("Event");a.initEvent(t,!0,!0)}window.dispatchEvent(a),e.do_action(t,i),n(t,i)}function n(e,t){if(window.jQuery){var t=t||{};jQuery(document).trigger(e,t)}}e.trigger=function(t,n){e.Events[t](n)};return e.Events={analytics_ready:function(){var e={opt1:!0},n={data:"xyxy"};t("analytics_ready",n,e)},url_parameters:function(e){t("url_parameters",e)},session_start:function(){console.log(""),t("session_start")},session_end:function(e){t("session_end",e),console.log("Session End")},session_active:function(){t("session_active")},session_idle:function(e){t("session_idle",e)},session_resume:function(){t("session_resume")},session_heartbeat:function(e){var n={clock:e,leadData:InboundLeadData};t("session_heartbeat",n)},page_visit:function(e){t("page_view",e)},page_first_visit:function(){t("page_first_visit"),e.deBugger("pages","First Ever Page View of this Page")},page_revisit:function(n){t("page_revisit",n);var i=function(){console.log("pageData",n),console.log("Page Revisit viewed "+n+" times")};e.deBugger("pages",status,i)},tab_hidden:function(){e.deBugger("pages","Tab Hidden"),t("tab_hidden")},tab_visible:function(){e.deBugger("pages","Tab Visible"),t("tab_visible")},tab_mouseout:function(){e.deBugger("pages","Tab Mouseout"),t("tab_mouseout")},form_input_change:function(n){var i=function(){console.log(n)};e.deBugger("forms","inputData change. Data=",i),t("form_input_change",n)},form_before_submission:function(e){t("form_before_submission",e)},form_after_submission:function(e){t("form_after_submission",e)},analyticsError:function(e,t,n){var i=new CustomEvent("inbound_analytics_error",{detail:{MLHttpRequest:e,textStatus:t,errorThrown:n}});window.dispatchEvent(i),console.log("Page Save Error")}},e}(_inbound||{}),InboundTotalStorage=function(e){var t,n,i="_inbound";if("localStorage"in window)try{n="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof n||"undefined"==typeof window.JSON?!1:!0,window.localStorage.setItem(i,"1"),window.localStorage.removeItem(i)}catch(o){t=!1}e.totalStorage=function(t,n){return e.totalStorage.impl.init(t,n)},e.totalStorage.setItem=function(t,n){return e.totalStorage.impl.setItem(t,n)},e.totalStorage.getItem=function(t){return e.totalStorage.impl.getItem(t)},e.totalStorage.getAll=function(){return e.totalStorage.impl.getAll()},e.totalStorage.deleteItem=function(t){return e.totalStorage.impl.deleteItem(t)},e.totalStorage.impl={init:function(e,t){return"undefined"!=typeof t?this.setItem(e,t):this.getItem(e)},setItem:function(i,o){if(!t)try{return e.Utils.createCookie(i,o),o}catch(a){console.log("Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie")}var r=JSON.stringify(o);return n.setItem(i,r),this.parseResult(r)},getItem:function(i){if(!t)try{return this.parseResult(e.Utils.readCookie(i))}catch(o){return null}var a=n.getItem(i);return this.parseResult(a)},deleteItem:function(i){if(!t)try{return e.Utils.eraseCookie(i,null),!0}catch(o){return!1}return n.removeItem(i),!0},getAll:function(){var i=[];if(t)for(var o in n)o.length&&i.push({key:o,value:this.parseResult(n.getItem(o))});else try{for(var a=document.cookie.split(";"),r=0;r<a.length;r++){var s=a[r].split("="),l=s[0];i.push({key:l,value:this.parseResult(e.Utils.readCookie(l))})}}catch(u){return null}return i},parseResult:function(e){var t;try{t=JSON.parse(e),"undefined"==typeof t&&(t=e),"true"==t&&(t=!0),"false"==t&&(t=!1),parseFloat(t)==t&&"object"!=typeof t&&(t=parseFloat(t))}catch(n){t=e}return t}}}(_inbound||{}),_inboundLeadsAPI=function(e){return e.LeadsAPI={init:function(){var t=e.Utils,n=(t.readCookie("wp_lead_uid"),t.readCookie("wp_lead_id")),i=t.readCookie("lead_session_expire");i||(e.deBugger("leads","expired vistor. Run Processes"),n&&(e.LeadsAPI.getAllLeadData(),e.LeadsAPI.getLeadLists()))},setGlobalLeadData:function(e){InboundLeadData=e},getAllLeadData:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.totalStorage("inbound_lead_data"),i=e.Utils.readCookie("lead_data_expire");data={action:"inbound_get_all_lead_data",wp_lead_id:t},success=function(t){var n=JSON.parse(t);e.LeadsAPI.setGlobalLeadData(n),e.totalStorage("inbound_lead_data",n);var i=new Date;i.setTime(i.getTime()+18e5);var o=e.Utils.addDays(i,3);e.Utils.createCookie("lead_data_expire",!0,o)},n?(e.LeadsAPI.setGlobalLeadData(n),e.deBugger("lead","Set Global Lead Data from Localstorage"),i||(e.Utils.ajaxPost(inbound_settings.admin_url,data,success),e.deBugger("lead","localized data old. Pull new from DB"))):e.Utils.ajaxPost(inbound_settings.admin_url,data,success)},getLeadLists:function(){var t=e.Utils.readCookie("wp_lead_id"),n={action:"wpl_check_lists",wp_lead_id:t},i=function(){e.Utils.createCookie("lead_session_list_check",!0,{path:"/",expires:1}),e.deBugger("lead","Lists checked")};e.Utils.ajaxPost(inbound_settings.admin_url,n,i)}},e}(_inbound||{}),_inboundPageTracking=function(e){var t,n,i=!1,o=!1,a=!1,r=parseInt(e.Utils.readCookie("lead_session"),10)||0,s=0,l=(new Date,null),u=null,c=null,d=e.Utils,m=e.totalStorage("page_views")||{},f=e.Utils.GetDate(),g=inbound_settings.post_id||window.location.pathname,p=e.Settings.timeout||3e4;return e.PageTracking={init:function(i){this.CheckTimeOut(),i=i||{},t=parseInt(i.reportInterval,10)||10,n=parseInt(i.idleTimeout,10)||3,d.addListener(document,"keydown",d.throttle(e.PageTracking.pingSession,1e3)),d.addListener(document,"click",d.throttle(e.PageTracking.pingSession,1e3)),d.addListener(window,"mousemove",d.throttle(e.PageTracking.pingSession,1e3)),e.PageTracking.checkVisibility(),this.startSession()},setIdle:function(t){var t=t||"No Movement",n="Session IDLE. Activity Timeout due to "+t;e.deBugger("pages",n),clearTimeout(e.PageTracking.idleTimer),e.PageTracking.stopClock(),e.trigger("session_idle")},checkVisibility:function(){var t,n,i;"undefined"!=typeof document.hidden?(t="hidden",i="visibilitychange",n="visibilityState"):"undefined"!=typeof document.mozHidden?(t="mozHidden",i="mozvisibilitychange",n="mozVisibilityState"):"undefined"!=typeof document.msHidden?(t="msHidden",i="msvisibilitychange",n="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(t="webkitHidden",i="webkitvisibilitychange",n="webkitVisibilityState");var o=document[t];e.Utils.addListener(document,i,function(){o!=document[t]&&(document[t]?(e.trigger("tab_hidden"),e.PageTracking.setIdle("browser tab switch")):(e.trigger("tab_visible"),e.PageTracking.pingSession()),o=document[t])})},clock:function(){r+=1;var n=r/60,i="Total time spent on Page in this Session: "+n.toFixed(2)+" min";if(e.deBugger("pages",i),r>0&&r%t===0){var o=new Date;o.setTime(o.getTime()+18e5),d.createCookie("lead_session",r,o),e.trigger("session_heartbeat",r)}},inactiveClock:function(){s+=1;
|
3 |
-
|
1 |
+
/*! Inbound Analyticsv1.0.0 | (c) 2014 Inbound Now | https://github.com/inboundnow/cta */
|
2 |
+
var inbound_data=inbound_data||{},_inboundOptions=_inboundOptions||{},_gaq=_gaq||[],_inbound=function(e){var t={timeout:3e4,formAutoTracking:!0,formAutoPopulation:!0},n={init:function(){_inbound.Utils.init(),_inbound.Utils.domReady(window,function(){_inbound.DomLoaded()})},DomLoaded:function(){_inbound.PageTracking.init(),_inbound.Forms.init(),_inbound.Utils.setUrlParams(),_inbound.LeadsAPI.init(),setTimeout(function(){_inbound.Forms.init()},2e3),_inbound.trigger("analytics_ready")},extend:function(e,t){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n]);for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n]);return i},debug:function(){},deBugger:function(e,t,n){if(console){var i,o,a,r=document.location.hash?document.location.hash:"",s=r.indexOf("#debug")>-1,t=t||!1;r&&r.match(/debug/)&&(r=r.split("-"),a=r[1]),o="true"===_inbound.Utils.readCookie("inbound_debug")?!0:!1,i="true"===_inbound.Utils.readCookie("inbound_debug_"+e)?!0:!1,(i||s||o)&&(t&&"string"==typeof t&&(o||"all"===a?console.log('logAll "'+e+'" =>',t):i?console.log('log "'+e+'" =>',t):e===a&&console.log('#log "'+e+'" =>',t)),n&&n instanceof Function&&n())}}},i=n.extend(t,e);return n.Settings=i||{},n}(_inboundOptions),_inboundHooks=function(e){var t=function(){function e(e,t,n,i){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,i)),d}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&u("actions",t,e),d}function n(e,t){return"string"==typeof e&&r("actions",e,t),d}function i(e,t,n){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n)),d}function o(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?u("filters",t,e):d}function a(e,t){return"string"==typeof e&&r("filters",e,t),d}function r(e,t,n,i){if(c[e][t])if(n){var o,a=c[e][t];if(i)for(o=a.length;o--;){var r=a[o];r.callback===n&&r.context===i&&a.splice(o,1)}else for(o=a.length;o--;)a[o].callback===n&&a.splice(o,1)}else c[e][t]=[]}function s(e,t,n,i,o){var a={callback:n,priority:i,context:o},r=c[e][t];r?(r.push(a),r=l(r)):r=[a],c[e][t]=r}function l(e){for(var t,n,i,o=1,a=e.length;a>o;o++){for(t=e[o],n=o;(i=e[n-1])&&i.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function u(e,t,n){var i=c[e][t];if(!i)return"filters"===e?n[0]:!1;var o=0,a=i.length;if("filters"===e)for(;a>o;o++)n[0]=i[o].callback.apply(i[o].context,n);else for(;a>o;o++)i[o].callback.apply(i[o].context,n);return"filters"===e?n[0]:!0}var d={removeFilter:a,applyFilters:o,addFilter:i,removeAction:n,doAction:t,addAction:e},c={actions:{},filters:{}};return d};return e.hooks=new t,e.add_action=function(){var t=arguments[0].split(" ");for(k in t)arguments[0]="inbound."+t[k],e.hooks.addAction.apply(this,arguments);return this},e.remove_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeAction.apply(this,arguments),this},e.do_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.doAction.apply(this,arguments),this},e.add_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.addFilter.apply(this,arguments),this},e.remove_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeFilter.apply(this,arguments),this},e.apply_filters=function(){return arguments[0]="inbound."+arguments[0],e.hooks.applyFilters.apply(this,arguments)},e}(_inbound||{}),_inboundUtils=function(e){var t;return e.Utils={init:function(){this.polyFills(),this.checkLocalStorage(),this.SetUID(),this.storeReferralData()},polyFills:function(){window.console||(window.console={});for(var e=["log","info","warn","error","debug","trace","dir","group","groupCollapsed","groupEnd","time","timeEnd","profile","profileEnd","dirxml","assert","count","markTimeline","timeStamp","clear"],t=0;t<e.length;t++)window.console[e[t]]||(window.console[e[t]]=function(){});try{new CustomEvent("?")}catch(n){this.CustomEvent=function(e,t){function n(n,o){var a=document.createEvent(e);return null!==n?i.call(a,n,(o||(o=t)).bubbles,o.cancelable,o.detail):a.initCustomEvent=i,a}function i(t,n,i,o){this["init"+e](t,n,i,o),"detail"in this||(this.detail=o)}return n}(this.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}document.querySelectorAll||(document.querySelectorAll=function(e){var t,n=document.createElement("style"),i=[];for(document.documentElement.firstChild.appendChild(n),document._qsa=[],n.styleSheet.cssText=e+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",window.scrollBy(0,0),n.parentNode.removeChild(n);document._qsa.length;)t=document._qsa.shift(),t.style.removeAttribute("x-qsa"),i.push(t);return document._qsa=null,i}),document.querySelector||(document.querySelector=function(e){var t=document.querySelectorAll(e);return t.length?t[0]:null}),!("innerText"in document.createElement("a"))&&"getSelection"in window&&HTMLElement.prototype.__defineGetter__("innerText",function(){for(var e,t=window.getSelection(),n=[],i=0;i<t.rangeCount;i++)n[i]=t.getRangeAt(i);t.removeAllRanges(),t.selectAllChildren(this),e=t.toString(),t.removeAllRanges();for(var i=0;i<n.length;i++)t.addRange(n[i]);return e})},createCookie:function(e,t,n){var i="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toGMTString()}document.cookie=e+"="+t+i+"; path=/"},readCookie:function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},eraseCookie:function(e){this.createCookie(e,"",-1)},getAllCookies:function(){var t={};if(document.cookie&&""!==document.cookie)for(var n=document.cookie.split(";"),i=0;i<n.length;i++){var o=n[i].split("=");o[0]=o[0].replace(/^ /,""),t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e.totalStorage("inbound_cookies",t),t},setUrlParams:function(){var n={};!function(){for(var e,t=function(e){return decodeURIComponent(e).replace(/\+/g," ")},i=window.location.search.substring(1),o=/([^&=]+)=?([^&]*)/g;e=o.exec(i);)if("-1"==e[1].indexOf("["))n[t(e[1])]=t(e[2]);else{var a=e[1].indexOf("["),r=e[1].slice(a+1,e[1].indexOf("]",a)),s=t(e[1].slice(0,a));"object"!=typeof n[s]&&(n[t(s)]={},n[t(s)].length=0),r?n[t(s)][t(r)]=t(e[2]):Array.prototype.push.call(n[t(s)],t(e[2]))}}();for(var i in n)if("object"==typeof n[i])for(var o in n[i])this.createCookie(o,n[i][o],30);else this.createCookie(i,n[i],30);if(t){var a=e.totalStorage("inbound_url_params")||{},r=this.mergeObjs(a,n);e.totalStorage("inbound_url_params",r)}var s={option1:"yo",option2:"woooo"};e.trigger("url_parameters",n,s)},getAllUrlParams:function(){var n={};if(t)var n=e.totalStorage("inbound_url_params");return n},getParameterVal:function(e,t){return(RegExp(e+"=(.+?)(&|$)").exec(t)||[,!1])[1]},checkLocalStorage:function(){if("localStorage"in window)try{ls="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof ls||"undefined"==typeof window.JSON?!1:!0}catch(e){t=!1}return t},addDays:function(e,t){return new Date(e.getTime()+24*t*60*60*1e3)},GetDate:function(){var e=new Date,t=e.getDate(),n=10>t?"0":"",i=e.getFullYear(),o=e.getHours(),a=10>o?"0":"",r=e.getMinutes(),s=10>r?"0":"",l=e.getSeconds(),u=10>l?"0":"",d=e.getMonth()+1,c=10>d?"0":"",m=i+"/"+c+d+"/"+n+t+" "+a+o+":"+s+r+":"+u+l;return m},SetSessionTimeout:function(){var e=(this.readCookie("lead_session_expire"),new Date);e.setTime(e.getTime()+18e5),this.createCookie("lead_session_expire",!0,e,!0)},storeReferralData:function(){var t=new Date,n=document.referrer||"Direct Traffic",i=e.Utils.readCookie("inbound_referral_site"),o=e.totalStorage("inbound_original_referral");t.setTime(t.getTime()+18e5),i||this.createCookie("inbound_referral_site",n,t,!0),o||e.totalStorage("inbound_original_referral",o)},CreateUID:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),n="";e||(e=Math.floor(Math.random()*t.length));for(var i=0;e>i;i++)n+=t[Math.floor(Math.random()*t.length)];return n},SetUID:function(e){if(!this.readCookie("wp_lead_uid")){var t=e||this.CreateUID(35);this.createCookie("wp_lead_uid",t)}},countProperties:function(e){var t=0;for(var n in e)e.hasOwnProperty(n)&&++t;return t},mergeObjs:function(e,t){var n={};for(var i in e)n[i]=e[i];for(var i in t)n[i]=t[i];return n},hasClass:function(e,t){var n=!1;if("classList"in document.documentElement)var n=t.classList.contains(e);else var n=new RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className);return n},addClass:function(e,t){"classList"in document.documentElement?t.classList.add(e):this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},removeClass:function(e,t){"classList"in document.documentElement?t.classList.remove(e):this.hasClass(t,e)&&(t.className=t.className.replace(new RegExp("(^|\\s)*"+e+"(\\s|$)*","g"),""))},removeElement:function(e){e.parentNode.removeChild(e)},trim:function(e){return e=e.replace(/(^\s*)|(\s*$)/gi,""),e=e.replace(/[ ]{2,}/gi," "),e=e.replace(/\n /,"\n")},ajaxPolyFill:function(){if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;for(var e,t=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"],n=0;n<t.length;n++)try{e=new ActiveXObject(t[n]);break}catch(i){}return e},ajaxSendData:function(e,t,n,i,o){var a=this.ajaxPolyFill();a.open(n,e,o),a.onreadystatechange=function(){4==a.readyState&&t(a.responseText)},"POST"==n&&a.setRequestHeader("Content-type","application/x-www-form-urlencoded"),a.send(i)},ajaxGet:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e+"?"+o.join("&"),n,"GET",null,i)},ajaxPost:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e,n,"POST",o.join("&"),i)},makeRequest:function(t,n){if(window.XMLHttpRequest)httpRequest=new XMLHttpRequest;else if(window.ActiveXObject)try{httpRequest=new ActiveXObject("Msxml2.XMLHTTP")}catch(i){try{httpRequest=new ActiveXObject("Microsoft.XMLHTTP")}catch(i){}}return httpRequest?(httpRequest.onreadystatechange=e.LeadsAPI.alertContents,httpRequest.open("GET",t),httpRequest.send(n),void 0):(alert("Giving up :( Cannot create an XMLHTTP instance"),!1)},domReady:function(e,t){var n=!1,i=!0,o=e.document,a=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",s=o.addEventListener?"removeEventListener":"detachEvent",l=o.addEventListener?"":"on",u=function(i){("readystatechange"!=i.type||"complete"==o.readyState)&&(("load"==i.type?e:o)[s](l+i.type,u,!1),!n&&(n=!0)&&t.call(e,i.type||i))},d=function(){try{a.doScroll("left")}catch(e){return setTimeout(d,50),void 0}u("poll")};if("complete"==o.readyState)t.call(e,"lazy");else{if(o.createEventObject&&a.doScroll){try{i=!e.frameElement}catch(c){}i&&d()}o[r](l+"DOMContentLoaded",u,!1),o[r](l+"readystatechange",u,!1),e[r](l+"load",u,!1)}},addListener:function(e,t,n){e&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n)},removeListener:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]=null},throttle:function(e,t){var n,i,o,a=null,r=0,s=function(){r=new Date,a=null,o=e.apply(n,i)};return function(){var l=new Date;r||(r=l);var u=t-(l-r);return n=this,i=arguments,0>=u?(clearTimeout(a),a=null,r=l,o=e.apply(n,i)):a||(a=setTimeout(s,u)),o}},checkTypeofGA:function(){"function"==typeof ga&&(universalGA=!0),"undefined"!=typeof _gaq&&"function"==typeof _gaq.push&&(classicGA=!0),"undefined"!=typeof dataLayer&&"function"==typeof dataLayer.push&&(googleTagManager=!0)}},e}(_inbound||{}),InboundForms=function(e){var t=!1,n=e.Utils,o=[],a=[],r=[],s=e.Settings,l=["first name","last name","name","email","e-mail","phone","website","job title","your favorite food","company","tele","address","comment"];if(e.Forms={init:function(){e.Forms.runFieldMappingFilters(),e.Forms.assignTrackClass(),e.Forms.formTrackInit()},runFieldMappingFilters:function(){l=e.hooks.applyFilters("forms.field_map",l)},debug:function(e,n){if(t&&console){var e=e||!1;e&&"string"==typeof e&&console.log(e),n&&n instanceof Function&&n()}},formTrackInit:function(){for(var e=0;e<window.document.forms.length;e++){var t=!1,n=window.document.forms[e];n.dataset.formProcessed||(n.dataset.formProcessed=!0,t=this.checkTrackStatus(n),t&&(this.attachFormSubmitEvent(n),this.initFormMapping(n)))}},checkTrackStatus:function(t){var n=t.getAttribute("class");return""!==n&&null!==n?n.toLowerCase().indexOf("wpl-track-me")>-1?!0:n.toLowerCase().indexOf("inbound-track")>-1?!0:(cb=function(){console.log(t)},e.deBugger("forms","This form not tracked. Please assign on in settings...",cb),!1):void 0},assignTrackClass:function(){if(window.inbound_settings){if(inbound_settings.inbound_track_include){var t=inbound_settings.inbound_track_include.split(","),n="add selectors "+inbound_settings.inbound_track_include;e.deBugger("forms",n),this.loopClassSelectors(t,"add")}if(inbound_settings.inbound_track_exclude){var t=inbound_settings.inbound_track_exclude.split(","),n="remove selectors "+inbound_settings.inbound_track_exclude;e.deBugger("forms",n),this.loopClassSelectors(t,"remove")}}},loopClassSelectors:function(t,i){for(var o=t.length-1;o>=0;o--){var a=n.trim(t[o]);-1===a.indexOf("#")&&-1===a.indexOf(".")&&(a="#"+a),a=document.querySelector(a),a&&("add"===i?(e.Utils.addClass("wpl-track-me",a),e.Utils.addClass("inbound-track",a)):(e.Utils.removeClass("wpl-track-me",a),e.Utils.removeClass("inbound-track",a)))}},initFormMapping:function(e){for(var t=[],n=0;n<e.elements.length;n++)formInput=e.elements[n],"hidden"!==formInput.type?(this.mapField(formInput),this.rememberInputValues(formInput),s.formAutoPopulation&&this.fillInputValues(formInput)):t.push(formInput);for(var n=t.length-1;n>=0;n--)formInput=t[n],this.mapField(formInput)},mapField:function(t){var a=t.id||!1,r=t.name||!1,s=this.getInputLabel(t);if(s){var u=this.ignoreFieldByLabel(s[0].innerText);if(u)return t.dataset.ignoreFormField=!0,!1}for(i=0;i<l.length;i++){var d=!1,c=l[i],m=n.trim(c),f=m.replace(/ /g,"_");r&&r.toLowerCase().indexOf(m)>-1?(d=!0,e.deBugger("forms","Found matching name attribute for -> "+m)):a&&a.toLowerCase().indexOf(m)>-1?(d=!0,e.deBugger("forms","Found matching ID attribute for ->"+m)):s?s[0].innerText.toLowerCase().indexOf(m)>-1&&(d=!0,e.deBugger("forms","Found matching sibling label for -> "+m)):o.push(m),d&&(this.addDataAttr(t,f),this.removeArrayItem(l,m),i--)}return inbound_data},formListener:function(t){t.preventDefault(),e.Forms.saveFormData(t.target),document.body.style.cursor="wait"},attachFormSubmitEvent:function(e){n.addListener(e,"submit",this.formListener);var t=document.querySelector(".inbound-email");n.addListener(t,"blur",this.mailCheck)},ignoreFieldByLabel:function(t){var n=!1;return t?((-1!=t.toLowerCase().indexOf("credit card")||-1!=t.toLowerCase().indexOf("card number"))&&(n=!0),(-1!=t.toLowerCase().indexOf("expiration")||-1!=t.toLowerCase().indexOf("expiry"))&&(n=!0),("month"==t.toLowerCase()||"mm"==t.toLowerCase()||"yy"==t.toLowerCase()||"yyyy"==t.toLowerCase()||"year"==t.toLowerCase())&&(n=!0),(-1!=t.toLowerCase().indexOf("cvv")||-1!=t.toLowerCase().indexOf("cvc")||-1!=t.toLowerCase().indexOf("secure code")||-1!=t.toLowerCase().indexOf("security code"))&&(n=!0),n&&e.deBugger("forms","ignore "+t),n):!1},ignoreFieldByValue:function(e){var t=!1;if(!e)return!1;("visa"==e.toLowerCase()||"mastercard"==e.toLowerCase()||"american express"==e.toLowerCase()||"amex"==e.toLowerCase()||"discover"==e.toLowerCase())&&(t=!0);var n=new RegExp("/^[0-9]+$/");if(n.test(e)){var i=e.replace(" ","");this.isInt(i)&&i.length>=16&&(t=!0)}return t},isInt:function(e){return"number"==typeof e&&isFinite(e)&&e%1===0},releaseFormSubmit:function(e){document.body.style.cursor="default",n.removeClass("wpl-track-me",e),n.removeListener(e,"submit",this.formListener),e.submit(),setTimeout(function(){for(var t=0;t<e.elements.length;t++)formInput=e.elements[t],type=formInput.type||!1,"submit"===type&&e.elements[t].click()},1300)},saveFormData:function(t){for(var i=i||{},o=0;o<t.elements.length;o++)if(formInput=t.elements[o],multiple=!1,formInput.name){if(formInput.dataset.ignoreFormField){e.deBugger("forms","ignore "+formInput.name);continue}switch(inputName=formInput.name.replace(/\[([^\[]*)\]/g,"%5B%5D$1"),i[inputName]||(i[inputName]={}),formInput.type&&(i[inputName].type=formInput.type),i[inputName].name||(i[inputName].name=formInput.name),formInput.dataset.mapFormField&&(i[inputName].map=formInput.dataset.mapFormField),formInput.nodeName){case"INPUT":if(l=this.getInputValue(formInput),l===!1)continue;break;case"TEXTAREA":l=formInput.value;break;case"SELECT":if(formInput.multiple){values=[],multiple=!0;for(var s=0;s<formInput.length;s++)formInput[s].selected&&values.push(encodeURIComponent(formInput[s].value))}else l=formInput.value;console.log("select val",l)}if(e.deBugger("forms","Input Value = "+l),l){i[inputName].value||(i[inputName].value=[]),i[inputName].value.push(multiple?values.join(","):encodeURIComponent(l));var l=multiple?values.join(","):encodeURIComponent(l)}}e.deBugger("forms",i);for(var u in i){var d=i[u].value,c=i[u].map;if("undefined"!=typeof d&&null!=d&&""!=d&&a.push(u+"="+i[u].value.join(",")),"undefined"!=typeof c&&null!=c&&i[u].value&&(r.push(c+"="+i[u].value.join(",")),"email"===u))var m=i[u].value.join(",")}var f=a.join("&");e.deBugger("forms","Stringified Raw Form PARAMS: "+f);var g=r.join("&");e.deBugger("forms","Stringified Mapped PARAMS"+g);var m=n.getParameterVal("email",g)||n.readCookie("wp_lead_email");m||(m=n.getParameterVal("wpleads_email_address",g));var p=n.getParameterVal("name",g),v=n.getParameterVal("first_name",g),h=n.getParameterVal("last_name",g);if(!h&&v){var _=decodeURI(v).split(" ");_.length>0&&(v=_[0],h=_[1])}if(p&&!h&&!v){var _=decodeURI(p).split(" ");_.length>0&&(v=_[0],h=_[1])}p=v&&h?v+" "+h:p,e.deBugger("forms","fName = "+v),e.deBugger("forms","lName = "+h),e.deBugger("forms","fullName = "+p);var b=e.totalStorage("page_views")||{},y=e.totalStorage("inbound_url_params")||{};if("undefined"!=typeof landing_path_info)var w=landing_path_info.variation;else if("undefined"!=typeof cta_path_info)var w=cta_path_info.variation;else var w=0;var k=inbound_settings.post_type||"page",C=inbound_settings.post_id||0;search_data={},formData={action:"inbound_lead_store",email:m,full_name:p,first_name:v,last_name:h,raw_params:f,mapped_params:g,url_params:JSON.stringify(y),search_data:"test",page_views:JSON.stringify(b),post_type:k,page_id:C,variation:w,source:n.readCookie("inbound_referral_site")},callback=function(i){e.deBugger("forms","Lead Created with ID: "+i),i=parseInt(i,10),formData.leadID=i,i&&(n.createCookie("wp_lead_id",i),e.totalStorage.deleteItem("page_views"),e.totalStorage.deleteItem("tracking_events")),e.trigger("form_after_submission",formData),e.Forms.releaseFormSubmit(t)},e.trigger("form_before_submission",formData),n.ajaxPost(inbound_settings.admin_url,formData,callback)},rememberInputValues:function(t){var i=(t.name?"inbound_"+t.name:"",t.type?t.type:"text");return"submit"===i||"hidden"===i||"file"===i||"password"===i||t.dataset.ignoreFormField?!1:(n.addListener(t,"change",function(t){if(t.target.name){if("checkbox"!==i)var o=t.target.value;else for(var a=[],r=document.querySelectorAll('input[name="'+t.target.name+'"]'),s=0;s<r.length;s++){var l=r[s].checked;l&&a.push(r[s].value),o=a.join(",")}inputData={name:t.target.name,node:t.target.nodeName.toLowerCase(),type:i,value:o,mapping:t.target.dataset.mapFormField},e.trigger("form_input_change",inputData),n.createCookie("inbound_"+t.target.name,encodeURIComponent(o))}}),void 0)},fillInputValues:function(e){var t=e.name?"inbound_"+e.name:"",i=e.type?e.type:"text";if("submit"===i||"hidden"===i||"file"===i||"password"===i)return!1;if(n.readCookie(t)&&"comment"!=t)if(value=decodeURIComponent(n.readCookie(t)),"checkbox"===i||"radio"===i)for(var o=value.split(","),a=0;a<o.length;a++)e.value.indexOf(o[a])>-1&&(e.checked=!0);else"undefined"!==value&&(e.value=value)},getInputLabel:function(e){var t;return(t=this.siblingsIsLabel(e))?t:(t=this.CheckParentForLabel(e))?t:!1},getInputValue:function(e){var t=!1;switch(e.type){case"radio":case"checkbox":e.checked&&(t=e.value);break;case"text":case"hidden":default:t=e.value}return t},addDataAttr:function(e,t){for(var n=document.getElementsByName(e.name),i=n.length-1;i>=0;i--)e.dataset.mapFormField||(n[i].dataset.mapFormField=t)},removeArrayItem:function(e,t){if(e.indexOf)index=e.indexOf(t);else for(index=e.length-1;index>=0&&e[index]!==t;--index);index>=0&&e.splice(index,1)},siblingsIsLabel:function(e){for(var t=this.getSiblings(e),n=[],i=t.length-1;i>=0;i--)"label"===t[i].nodeName.toLowerCase()&&n.push(t[i]);return n.length>0&&n.length<2?n:!1},getChildren:function(e,t){for(var n=[];e;e=e.nextSibling)1==e.nodeType&&e!=t&&n.push(e);return n},getSiblings:function(e){return this.getChildren(e.parentNode.firstChild,e)},CheckParentForLabel:function(e){if("FORM"===e.nodeName)return null;do{var t=e.getElementsByTagName("label");if(t.length>0&&t.length<2)return e.getElementsByTagName("label")}while(e=e.parentNode);return null},mailCheck:function(){var e=document.querySelector(".inbound-email");e&&(n.addListener(e,"blur",this.mailCheck),u.run({email:document.querySelector(".inbound-email").value,suggested:function(t){var i=document.querySelector(".email_suggestion");i&&n.removeElement(i);var o=document.createElement("span");o.innerHTML="<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">"+t.full+"</b></i>?</span>",e.parentNode.insertBefore(o,e.nextSibling);var a=document.getElementById("email_correction");n.addListener(a,"click",function(){e.value=a.innerHTML,a.parentNode.parentNode.innerHTML="Fixed!"})},empty:function(){}}))}},"undefined"==typeof u)var u={domainThreshold:1,topLevelThreshold:3,defaultDomains:["yahoo.com","google.com","hotmail.com","gmail.com","me.com","aol.com","mac.com","live.com","comcast.net","googlemail.com","msn.com","hotmail.co.uk","yahoo.co.uk","facebook.com","verizon.net","sbcglobal.net","att.net","gmx.com","mail.com","outlook.com","icloud.com"],defaultTopLevelDomains:["co.jp","co.uk","com","net","org","info","edu","gov","mil","ca"],run:function(e){e.domains=e.domains||u.defaultDomains,e.topLevelDomains=e.topLevelDomains||u.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||u.sift3Distance;var t=function(e){return e},n=e.suggested||t,i=e.empty||t,o=u.suggest(u.encodeEmail(e.email),e.domains,e.topLevelDomains,e.distanceFunction);return o?n(o):i()},suggest:function(e,t,n,i){e=e.toLowerCase();var o=this.splitEmail(e),a=this.findClosestDomain(o.domain,t,i,this.domainThreshold);if(a){if(a!=o.domain)return{address:o.address,domain:a,full:o.address+"@"+a}}else{var r=this.findClosestDomain(o.topLevelDomain,n,i,this.topLevelThreshold);if(o.domain&&r&&r!=o.topLevelDomain){var s=o.domain;return a=s.substring(0,s.lastIndexOf(o.topLevelDomain))+r,{address:o.address,domain:a,full:o.address+"@"+a}}}return!1},findClosestDomain:function(e,t,n,i){i=i||this.topLevelThreshold;var o,a=99,r=null;if(!e||!t)return!1;n||(n=this.sift3Distance);for(var s=0;s<t.length;s++){if(e===t[s])return e;o=n(e,t[s]),a>o&&(a=o,r=t[s])}return i>=a&&null!==r?r:!1},sift3Distance:function(e,t){if(null==e||0===e.length)return null==t||0===t.length?0:t.length;if(null==t||0===t.length)return e.length;for(var n=0,i=0,o=0,a=0,r=5;n+i<e.length&&n+o<t.length;){if(e.charAt(n+i)==t.charAt(n+o))a++;else{i=0,o=0;for(var s=0;r>s;s++){if(n+s<e.length&&e.charAt(n+s)==t.charAt(n)){i=s;break}if(n+s<t.length&&e.charAt(n)==t.charAt(n+s)){o=s;break}}}n++}return(e.length+t.length)/2-a},splitEmail:function(e){var t=e.trim().split("@");if(t.length<2)return!1;for(var n=0;n<t.length;n++)if(""===t[n])return!1;var i=t.pop(),o=i.split("."),a="";if(0==o.length)return!1;if(1==o.length)a=o[0];else{for(var n=1;n<o.length;n++)a+=o[n]+".";o.length>=2&&(a=a.substring(0,a.length-1))}return{topLevelDomain:a,domain:i,address:t.join("@")}},encodeEmail:function(e){var t=encodeURI(e);return t=t.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};return e}(_inbound||{}),_inboundEvents=function(e){function t(t,i,o){var i=i||{};o=o||{},o.bubbles=o.bubbles||!0,o.cancelable=o.cancelable||!0,i=e.apply_filters("filter_"+t,i);var a=!window.ActiveXObject&&"ActiveXObject"in window;if(a){var r=document.createEvent("Event");r.initEvent(t,!0,!0)}else var r=new CustomEvent(t,{detail:i,bubbles:o.bubbles,cancelable:o.cancelable});window.dispatchEvent(r),e.do_action(t,i),n(t,i)}function n(e,t){if(window.jQuery){var t=t||{};jQuery(document).trigger(e,t)}}e.trigger=function(t,n){e.Events[t](n)};return e.Events={analytics_ready:function(){var e={opt1:!0},n={data:"xyxy"};t("analytics_ready",n,e)},url_parameters:function(e){t("url_parameters",e)},session_start:function(){console.log(""),t("session_start")},session_end:function(e){t("session_end",e),console.log("Session End")},session_active:function(){t("session_active")},session_idle:function(e){t("session_idle",e)},session_resume:function(){t("session_resume")},session_heartbeat:function(e){var n={clock:e,leadData:InboundLeadData};t("session_heartbeat",n)},page_visit:function(e){t("page_view",e)},page_first_visit:function(){t("page_first_visit"),e.deBugger("pages","First Ever Page View of this Page")},page_revisit:function(n){t("page_revisit",n);var i=function(){console.log("pageData",n),console.log("Page Revisit viewed "+n+" times")};e.deBugger("pages",status,i)},tab_hidden:function(){e.deBugger("pages","Tab Hidden"),t("tab_hidden")},tab_visible:function(){e.deBugger("pages","Tab Visible"),t("tab_visible")},tab_mouseout:function(){e.deBugger("pages","Tab Mouseout"),t("tab_mouseout")},form_input_change:function(n){var i=function(){console.log(n)};e.deBugger("forms","inputData change. Data=",i),t("form_input_change",n)},form_before_submission:function(e){t("form_before_submission",e)},form_after_submission:function(e){t("form_after_submission",e)},analyticsError:function(e,t,n){var i=new CustomEvent("inbound_analytics_error",{detail:{MLHttpRequest:e,textStatus:t,errorThrown:n}});window.dispatchEvent(i),console.log("Page Save Error")}},e}(_inbound||{}),InboundTotalStorage=function(e){var t,n,i="_inbound";if("localStorage"in window)try{n="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof n||"undefined"==typeof window.JSON?!1:!0,window.localStorage.setItem(i,"1"),window.localStorage.removeItem(i)}catch(o){t=!1}e.totalStorage=function(t,n){return e.totalStorage.impl.init(t,n)},e.totalStorage.setItem=function(t,n){return e.totalStorage.impl.setItem(t,n)},e.totalStorage.getItem=function(t){return e.totalStorage.impl.getItem(t)},e.totalStorage.getAll=function(){return e.totalStorage.impl.getAll()},e.totalStorage.deleteItem=function(t){return e.totalStorage.impl.deleteItem(t)},e.totalStorage.impl={init:function(e,t){return"undefined"!=typeof t?this.setItem(e,t):this.getItem(e)},setItem:function(i,o){if(!t)try{return e.Utils.createCookie(i,o),o}catch(a){console.log("Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie")}var r=JSON.stringify(o);return n.setItem(i,r),this.parseResult(r)},getItem:function(i){if(!t)try{return this.parseResult(e.Utils.readCookie(i))}catch(o){return null}var a=n.getItem(i);return this.parseResult(a)},deleteItem:function(i){if(!t)try{return e.Utils.eraseCookie(i,null),!0}catch(o){return!1}return n.removeItem(i),!0},getAll:function(){var i=[];if(t)for(var o in n)o.length&&i.push({key:o,value:this.parseResult(n.getItem(o))});else try{for(var a=document.cookie.split(";"),r=0;r<a.length;r++){var s=a[r].split("="),l=s[0];i.push({key:l,value:this.parseResult(e.Utils.readCookie(l))})}}catch(u){return null}return i},parseResult:function(e){var t;try{t=JSON.parse(e),"undefined"==typeof t&&(t=e),"true"==t&&(t=!0),"false"==t&&(t=!1),parseFloat(t)==t&&"object"!=typeof t&&(t=parseFloat(t))}catch(n){t=e}return t}}}(_inbound||{}),_inboundLeadsAPI=function(e){return e.LeadsAPI={init:function(){var t=e.Utils,n=(t.readCookie("wp_lead_uid"),t.readCookie("wp_lead_id")),i=t.readCookie("lead_session_expire");i||(e.deBugger("leads","expired vistor. Run Processes"),n&&(e.LeadsAPI.getAllLeadData(),e.LeadsAPI.getLeadLists()))},setGlobalLeadData:function(e){InboundLeadData=e},getAllLeadData:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.totalStorage("inbound_lead_data"),i=e.Utils.readCookie("lead_data_expire");data={action:"inbound_get_all_lead_data",wp_lead_id:t},success=function(t){var n=JSON.parse(t);e.LeadsAPI.setGlobalLeadData(n),e.totalStorage("inbound_lead_data",n);var i=new Date;i.setTime(i.getTime()+18e5);var o=e.Utils.addDays(i,3);e.Utils.createCookie("lead_data_expire",!0,o)},n?(e.LeadsAPI.setGlobalLeadData(n),e.deBugger("lead","Set Global Lead Data from Localstorage"),i||(e.Utils.ajaxPost(inbound_settings.admin_url,data,success),e.deBugger("lead","localized data old. Pull new from DB"))):e.Utils.ajaxPost(inbound_settings.admin_url,data,success)},getLeadLists:function(){var t=e.Utils.readCookie("wp_lead_id"),n={action:"wpl_check_lists",wp_lead_id:t},i=function(){e.Utils.createCookie("lead_session_list_check",!0,{path:"/",expires:1}),e.deBugger("lead","Lists checked")};e.Utils.ajaxPost(inbound_settings.admin_url,n,i)}},e}(_inbound||{}),_inboundPageTracking=function(e){var t,n,i=!1,o=!1,a=!1,r=parseInt(e.Utils.readCookie("lead_session"),10)||0,s=0,l=(new Date,null),u=null,d=null,c=e.Utils,m=e.totalStorage("page_views")||{},f=e.Utils.GetDate(),g=inbound_settings.post_id||window.location.pathname,p=e.Settings.timeout||3e4;return e.PageTracking={init:function(i){this.CheckTimeOut(),i=i||{},t=parseInt(i.reportInterval,10)||10,n=parseInt(i.idleTimeout,10)||3,c.addListener(document,"keydown",c.throttle(e.PageTracking.pingSession,1e3)),c.addListener(document,"click",c.throttle(e.PageTracking.pingSession,1e3)),c.addListener(window,"mousemove",c.throttle(e.PageTracking.pingSession,1e3)),e.PageTracking.checkVisibility(),this.startSession()},setIdle:function(t){var t=t||"No Movement",n="Session IDLE. Activity Timeout due to "+t;e.deBugger("pages",n),clearTimeout(e.PageTracking.idleTimer),e.PageTracking.stopClock(),e.trigger("session_idle")},checkVisibility:function(){var t,n,i;"undefined"!=typeof document.hidden?(t="hidden",i="visibilitychange",n="visibilityState"):"undefined"!=typeof document.mozHidden?(t="mozHidden",i="mozvisibilitychange",n="mozVisibilityState"):"undefined"!=typeof document.msHidden?(t="msHidden",i="msvisibilitychange",n="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(t="webkitHidden",i="webkitvisibilitychange",n="webkitVisibilityState");var o=document[t];e.Utils.addListener(document,i,function(){o!=document[t]&&(document[t]?(e.trigger("tab_hidden"),e.PageTracking.setIdle("browser tab switch")):(e.trigger("tab_visible"),e.PageTracking.pingSession()),o=document[t])})},clock:function(){r+=1;var n=r/60,i="Total time spent on Page in this Session: "+n.toFixed(2)+" min";if(e.deBugger("pages",i),r>0&&r%t===0){var o=new Date;o.setTime(o.getTime()+18e5),c.createCookie("lead_session",r,o),e.trigger("session_heartbeat",r)}},inactiveClock:function(){s+=1;var t=(1800-s)/60,n="Time until Session Timeout: "+t.toFixed(2)+" min";e.deBugger("pages",n),s>1800&&(e.trigger("session_end",InboundLeadData),e.Utils.eraseCookie("lead_session"),s=0,clearTimeout(u))},stopClock:function(){o=!0,clearTimeout(l),clearTimeout(u),u=setInterval(e.PageTracking.inactiveClock,1e3)},restartClock:function(){o=!1,e.trigger("session_resume"),e.deBugger("pages","Activity resumed. Session Active"),clearTimeout(l),s=0,clearTimeout(u),l=setInterval(e.PageTracking.clock,1e3)
|
3 |
+
},turnOff:function(){e.PageTracking.setIdle(),a=!0},turnOn:function(){a=!1},startSession:function(){new Date;i=!0,l=setInterval(e.PageTracking.clock,1e3);var t=c.readCookie("lead_session");if(t)e.trigger("session_active");else{e.trigger("session_start");var n=new Date;n.setTime(n.getTime()+18e5),e.Utils.createCookie("lead_session",1,n)}this.pingSession()},resetInactiveFunc:function(){s=0,clearTimeout(u)},pingSession:function(t){a||(i||e.PageTracking.startSession(),o&&e.PageTracking.restartClock(),clearTimeout(d),d=setTimeout(e.PageTracking.setIdle,1e3*n+100),"undefined"!=typeof t&&"mousemove"===t.type&&e.PageTracking.mouseEvents(t))},mouseEvents:function(t){t.pageY<=5&&e.trigger("tab_mouseout")},getPageViews:function(){var t=e.Utils.checkLocalStorage();if(t){var n=localStorage.getItem("page_views"),i=JSON.parse(n);return i}},isRevisit:function(e){var t=!1,e=e||{},n=e[g];return"undefined"!=typeof n&&null!==n&&(t=!0),t},triggerPageView:function(t){var n={title:document.title,url:document.location.href,path:document.location.pathname,count:1};t?(m[g].push(f),n.count=m[g].length,e.trigger("page_revisit",n)):(m[g]=[],m[g].push(f),e.trigger("page_first_visit",n)),e.trigger("page_visit",n),e.totalStorage("page_views",m),this.storePageView()},CheckTimeOut:function(){var t,n,i=this.isRevisit(m);if(i){var o=m[g].length-1,a=m[g][o],r=Math.abs(new Date(a).getTime()-new Date(f).getTime());n=r>p,n?(t="Timeout Happened. Page view fired",this.triggerPageView(i)):(time_left=.001*Math.abs(p-r),t=p/1e3+" sec timeout not done: "+time_left+" seconds left")}else this.triggerPageView(i);e.deBugger("pages",t)},storePageView:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.Utils.readCookie("wp_lead_uid");if(t){var i={action:"wpl_track_user",wp_lead_uid:n,wp_lead_id:t,page_id:inbound_settings.post_id,current_url:window.location.href,json:"0"},o=function(){};e.Utils.ajaxPost(inbound_settings.admin_url,i,o)}}},e}(_inbound||{});_inbound.init(),InboundLeadData=_inbound.totalStorage("inbound_lead_data")||null;
|
shared/assets/frontend/js/inbound.js
CHANGED
@@ -1,839 +1,839 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
var InboundAnalytics = (function () {
|
6 |
-
|
7 |
-
var debugMode = false;
|
8 |
-
|
9 |
-
var _privateMethod = function () {
|
10 |
-
console.log('Run private');
|
11 |
-
};
|
12 |
-
|
13 |
-
var App = {
|
14 |
-
init: function () {
|
15 |
-
this.polyFills();
|
16 |
-
InboundAnalytics.PageTracking.StorePageView();
|
17 |
-
InboundAnalytics.Events.loadEvents();
|
18 |
-
InboundAnalytics.Utils.init();
|
19 |
-
},
|
20 |
-
polyFills: function() {
|
21 |
-
/* Console.log fix for old browsers */
|
22 |
-
if (!window.console) { window.console = {}; }
|
23 |
-
var m = [
|
24 |
-
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
25 |
-
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
26 |
-
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
27 |
-
];
|
28 |
-
// define undefined methods as noops to prevent errors
|
29 |
-
for (var i = 0; i < m.length; i++) {
|
30 |
-
if (!window.console[m[i]]) {
|
31 |
-
window.console[m[i]] = function() {};
|
32 |
-
}
|
33 |
-
}
|
34 |
-
},
|
35 |
-
/* Debugger Function toggled by var debugMode */
|
36 |
-
debug: function(msg,callback){
|
37 |
-
//if app not in debug mode, exit immediately
|
38 |
-
if(!debugMode || !console){return};
|
39 |
-
var msg = msg || false;
|
40 |
-
//console.log the message
|
41 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
42 |
-
|
43 |
-
//execute the callback if one was passed-in
|
44 |
-
if(callback && (callback instanceof Function)){
|
45 |
-
callback();
|
46 |
-
};
|
47 |
-
}
|
48 |
-
};
|
49 |
-
|
50 |
-
return App;
|
51 |
-
|
52 |
-
})();
|
53 |
-
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Utility functions
|
57 |
-
* @param Object InboundAnalytics - Main JS object
|
58 |
-
* @return Object - include util functions
|
59 |
-
*/
|
60 |
-
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
61 |
-
|
62 |
-
InboundAnalytics.Utils = {
|
63 |
-
init: function() {
|
64 |
-
this.setUrlParams();
|
65 |
-
this.SetUID();
|
66 |
-
this.getReferer();
|
67 |
-
|
68 |
-
},
|
69 |
-
// Create cookie
|
70 |
-
createCookie: function(name, value, days, custom_time) {
|
71 |
-
var expires = "";
|
72 |
-
if (days) {
|
73 |
-
var date = new Date();
|
74 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
75 |
-
expires = "; expires="+date.toGMTString();
|
76 |
-
}
|
77 |
-
if(custom_time){
|
78 |
-
expires = "; expires="+days.toGMTString();
|
79 |
-
}
|
80 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
81 |
-
},
|
82 |
-
// Read cookie
|
83 |
-
readCookie: function(name) {
|
84 |
-
var nameEQ = name + "=";
|
85 |
-
var ca = document.cookie.split(';');
|
86 |
-
for(var i=0;i < ca.length;i++) {
|
87 |
-
var c = ca[i];
|
88 |
-
while (c.charAt(0) === ' ') {
|
89 |
-
c = c.substring(1,c.length);
|
90 |
-
}
|
91 |
-
if (c.indexOf(nameEQ) === 0) {
|
92 |
-
return c.substring(nameEQ.length,c.length);
|
93 |
-
}
|
94 |
-
}
|
95 |
-
return null;
|
96 |
-
},
|
97 |
-
// Erase cookie
|
98 |
-
eraseCookie: function(name) {
|
99 |
-
createCookie(name,"",-1);
|
100 |
-
},
|
101 |
-
getAllCookies: function(){
|
102 |
-
var cookies = {};
|
103 |
-
if (document.cookie && document.cookie != '') {
|
104 |
-
var split = document.cookie.split(';');
|
105 |
-
for (var i = 0; i < split.length; i++) {
|
106 |
-
var name_value = split[i].split("=");
|
107 |
-
name_value[0] = name_value[0].replace(/^ /, '');
|
108 |
-
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
112 |
-
return cookies;
|
113 |
-
},
|
114 |
-
/* Grab URL params and save */
|
115 |
-
setUrlParams: function() {
|
116 |
-
var urlParams = {},
|
117 |
-
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
118 |
-
|
119 |
-
(function () {
|
120 |
-
var e,
|
121 |
-
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
122 |
-
q = window.location.search.substring(1),
|
123 |
-
r = /([^&=]+)=?([^&]*)/g;
|
124 |
-
|
125 |
-
while (e = r.exec(q)) {
|
126 |
-
if (e[1].indexOf("[") == "-1")
|
127 |
-
urlParams[d(e[1])] = d(e[2]);
|
128 |
-
else {
|
129 |
-
var b1 = e[1].indexOf("["),
|
130 |
-
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
131 |
-
pN = d(e[1].slice(0, b1));
|
132 |
-
|
133 |
-
if (typeof urlParams[pN] != "object")
|
134 |
-
urlParams[d(pN)] = {},
|
135 |
-
urlParams[d(pN)].length = 0;
|
136 |
-
|
137 |
-
if (aN)
|
138 |
-
urlParams[d(pN)][d(aN)] = d(e[2]);
|
139 |
-
else
|
140 |
-
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
141 |
-
|
142 |
-
}
|
143 |
-
}
|
144 |
-
})();
|
145 |
-
|
146 |
-
if (JSON) {
|
147 |
-
for (var k in urlParams) {
|
148 |
-
if (typeof urlParams[k] == "object") {
|
149 |
-
for (var k2 in urlParams[k])
|
150 |
-
this.createCookie(k2, urlParams[k][k2], 30);
|
151 |
-
} else {
|
152 |
-
this.createCookie(k, urlParams[k], 30);
|
153 |
-
}
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
if(local_store){
|
158 |
-
var pastParams = jQuery.totalStorage('inbound_url_params');
|
159 |
-
var params = this.mergeObjs(pastParams, urlParams);
|
160 |
-
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
161 |
-
}
|
162 |
-
},
|
163 |
-
getUrlParams: function(){
|
164 |
-
var local_store = this.checkLocalStorage(),
|
165 |
-
get_params = {};
|
166 |
-
if(local_store){
|
167 |
-
var get_params = jQuery.totalStorage('inbound_url_params');
|
168 |
-
}
|
169 |
-
return get_params;
|
170 |
-
},
|
171 |
-
// Check local storage
|
172 |
-
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
173 |
-
checkLocalStorage: function() {
|
174 |
-
if ('localStorage' in window) {
|
175 |
-
try {
|
176 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
177 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
178 |
-
supported = false;
|
179 |
-
} else {
|
180 |
-
supported = true;
|
181 |
-
}
|
182 |
-
|
183 |
-
}
|
184 |
-
catch (err){
|
185 |
-
supported = false;
|
186 |
-
}
|
187 |
-
}
|
188 |
-
return supported;
|
189 |
-
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
190 |
-
var hasStorage;
|
191 |
-
hasStorage = function() {
|
192 |
-
var mod, result;
|
193 |
-
try {
|
194 |
-
mod = new Date;
|
195 |
-
localStorage.setItem(mod, mod.toString());
|
196 |
-
result = localStorage.getItem(mod) === mod.toString();
|
197 |
-
localStorage.removeItem(mod);
|
198 |
-
return result;
|
199 |
-
} catch (_error) {}
|
200 |
-
};
|
201 |
-
*/
|
202 |
-
},
|
203 |
-
/* Add days to datetime */
|
204 |
-
addDays: function(myDate,days) {
|
205 |
-
return new Date(myDate.getTime() + days*24*60*60*1000);
|
206 |
-
},
|
207 |
-
GetDate: function(){
|
208 |
-
var time_now = new Date(),
|
209 |
-
day = time_now.getDate() + 1;
|
210 |
-
year = time_now.getFullYear(),
|
211 |
-
hour = time_now.getHours(),
|
212 |
-
minutes = time_now.getMinutes(),
|
213 |
-
seconds = time_now.getSeconds(),
|
214 |
-
month = time_now.getMonth() + 1;
|
215 |
-
if (month < 10) { month = '0' + month; }
|
216 |
-
InboundAnalytics.debug('Current Date:',function(){
|
217 |
-
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
218 |
-
});
|
219 |
-
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
220 |
-
return datetime;
|
221 |
-
},
|
222 |
-
/* Set Expiration Date of Session Logging */
|
223 |
-
SetSessionTimeout: function(){
|
224 |
-
var session_check = this.readCookie("lead_session_expire");
|
225 |
-
//console.log(session_check);
|
226 |
-
if(session_check === null){
|
227 |
-
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
228 |
-
} else {
|
229 |
-
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
230 |
-
}
|
231 |
-
var d = new Date();
|
232 |
-
d.setTime(d.getTime() + 30*60*1000);
|
233 |
-
|
234 |
-
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
235 |
-
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
236 |
-
if (lead_data_expiration === null){
|
237 |
-
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
238 |
-
var ex = this.addDays(d, 3);
|
239 |
-
this.createCookie("lead_data_expiration", ex, ex, true);
|
240 |
-
}
|
241 |
-
|
242 |
-
},
|
243 |
-
getReferer: function(){
|
244 |
-
//console.log(expire_time);
|
245 |
-
var d = new Date();
|
246 |
-
d.setTime(d.getTime() + 30*60*1000);
|
247 |
-
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
248 |
-
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
249 |
-
var referrer = document.referrer || "NA";
|
250 |
-
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
251 |
-
}
|
252 |
-
},
|
253 |
-
CreateUID: function(length) {
|
254 |
-
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
255 |
-
str = '';
|
256 |
-
if (! length) {
|
257 |
-
length = Math.floor(Math.random() * chars.length);
|
258 |
-
}
|
259 |
-
for (var i = 0; i < length; i++) {
|
260 |
-
str += chars[Math.floor(Math.random() * chars.length)];
|
261 |
-
}
|
262 |
-
return str;
|
263 |
-
},
|
264 |
-
SetUID: function () {
|
265 |
-
/* Set Lead UID */
|
266 |
-
|
267 |
-
if(this.readCookie("wp_lead_uid") === null) {
|
268 |
-
var wp_lead_uid = this.CreateUID(35);
|
269 |
-
this.createCookie("wp_lead_uid", wp_lead_uid );
|
270 |
-
InboundAnalytics.debug('Set UID');
|
271 |
-
}
|
272 |
-
},
|
273 |
-
/* Count number of session visits */
|
274 |
-
countProperties: function (obj) {
|
275 |
-
var count = 0;
|
276 |
-
for(var prop in obj) {
|
277 |
-
if(obj.hasOwnProperty(prop))
|
278 |
-
++count;
|
279 |
-
}
|
280 |
-
return count;
|
281 |
-
},
|
282 |
-
mergeObjs: function(obj1,obj2){
|
283 |
-
var obj3 = {};
|
284 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
285 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
286 |
-
return obj3;
|
287 |
-
},
|
288 |
-
doAjax: function(data, responseHandler, method, async){
|
289 |
-
// Set the variables
|
290 |
-
var url = wplft.admin_url || "",
|
291 |
-
method = method || "POST",
|
292 |
-
async = async || true,
|
293 |
-
data = data || null,
|
294 |
-
action = data.action;
|
295 |
-
|
296 |
-
InboundAnalytics.debug('Ajax Processed:',function(){
|
297 |
-
console.log('ran ajax action: ' + action);
|
298 |
-
});
|
299 |
-
|
300 |
-
jQuery.ajax({
|
301 |
-
type: method,
|
302 |
-
url: wplft.admin_url,
|
303 |
-
data: data,
|
304 |
-
success: responseHandler,
|
305 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
306 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
307 |
-
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
308 |
-
}
|
309 |
-
|
310 |
-
});
|
311 |
-
},
|
312 |
-
/* Cross-browser event listening */
|
313 |
-
addListener: function(obj, eventName, listener) {
|
314 |
-
if(obj.addEventListener) {
|
315 |
-
obj.addEventListener(eventName, listener, false);
|
316 |
-
} else if (obj.attachEvent) {
|
317 |
-
obj.attachEvent("on" + eventName, listener);
|
318 |
-
} else {
|
319 |
-
obj['on' + eventName] = listener;
|
320 |
-
}
|
321 |
-
}
|
322 |
-
|
323 |
-
};
|
324 |
-
|
325 |
-
return InboundAnalytics;
|
326 |
-
|
327 |
-
})(InboundAnalytics || {});
|
328 |
-
|
329 |
-
|
330 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
331 |
-
|
332 |
-
InboundAnalytics.PageTracking = {
|
333 |
-
|
334 |
-
getPageViews: function () {
|
335 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
336 |
-
if(local_store){
|
337 |
-
var page_views = localStorage.getItem("page_views"),
|
338 |
-
local_object = JSON.parse(page_views);
|
339 |
-
if (typeof local_object =='object' && local_object) {
|
340 |
-
this.StorePageView();
|
341 |
-
}
|
342 |
-
return local_object;
|
343 |
-
}
|
344 |
-
},
|
345 |
-
StorePageView: function() {
|
346 |
-
var timeout = this.CheckTimeOut();
|
347 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
348 |
-
if(pageviewObj === null) {
|
349 |
-
pageviewObj = {};
|
350 |
-
}
|
351 |
-
var current_page_id = wplft.post_id;
|
352 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
353 |
-
|
354 |
-
if (timeout) {
|
355 |
-
// If pageviewObj exists, do this
|
356 |
-
var page_seen = pageviewObj[current_page_id];
|
357 |
-
|
358 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
359 |
-
pageviewObj[current_page_id].push(datetime);
|
360 |
-
/* Page Revisit Trigger */
|
361 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
362 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
363 |
-
|
364 |
-
} else {
|
365 |
-
pageviewObj[current_page_id] = [];
|
366 |
-
pageviewObj[current_page_id].push(datetime);
|
367 |
-
/* Page First Seen Trigger */
|
368 |
-
var page_seen_count = 1;
|
369 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
370 |
-
}
|
371 |
-
|
372 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
373 |
-
|
374 |
-
}
|
375 |
-
},
|
376 |
-
CheckTimeOut: function() {
|
377 |
-
var PageViews = jQuery.totalStorage('page_views');
|
378 |
-
if(PageViews === null) {
|
379 |
-
var PageViews = {};
|
380 |
-
}
|
381 |
-
var page_id = wplft.post_id,
|
382 |
-
pageviewTimeout = true, /* Default */
|
383 |
-
page_seen = PageViews[page_id];
|
384 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
385 |
-
|
386 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
387 |
-
vc = PageViews[page_id].length - 1,
|
388 |
-
last_view = PageViews[page_id][vc],
|
389 |
-
last_view_ms = new Date(last_view).getTime(),
|
390 |
-
time_now_ms = new Date(time_now).getTime(),
|
391 |
-
timeout_ms = last_view_ms + 30*1000,
|
392 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
393 |
-
wait_time = 30000;
|
394 |
-
|
395 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
396 |
-
console.log('Current Time is: ' + time_now);
|
397 |
-
console.log('Last view is: ' + last_view);
|
398 |
-
console.log("Last view milliseconds " + last_view_ms);
|
399 |
-
console.log("time now milliseconds " + time_now_ms);
|
400 |
-
console.log("Wait Check: " + wait_time);
|
401 |
-
console.log("TIME CHECK: " + time_check);
|
402 |
-
});
|
403 |
-
|
404 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
405 |
-
|
406 |
-
if (time_check < wait_time){
|
407 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
408 |
-
pageviewTimeout = false;
|
409 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
410 |
-
} else {
|
411 |
-
var status = 'Timeout Happened. Page view fired';
|
412 |
-
this.firePageView();
|
413 |
-
pageviewTimeout = true;
|
414 |
-
InboundAnalytics.Events.analyticsTriggered();
|
415 |
-
}
|
416 |
-
|
417 |
-
//InboundAnalytics.debug('',function(){
|
418 |
-
console.log(status);
|
419 |
-
//});
|
420 |
-
} else {
|
421 |
-
/* Page never seen before */
|
422 |
-
this.firePageView();
|
423 |
-
}
|
424 |
-
|
425 |
-
return pageviewTimeout;
|
426 |
-
|
427 |
-
},
|
428 |
-
firePageView: function() {
|
429 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
430 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
431 |
-
|
432 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
433 |
-
|
434 |
-
InboundAnalytics.debug('Run page view ajax');
|
435 |
-
|
436 |
-
var data = {
|
437 |
-
action: 'wpl_track_user',
|
438 |
-
wp_lead_uid: lead_uid,
|
439 |
-
wp_lead_id: lead_id,
|
440 |
-
page_id: wplft.post_id,
|
441 |
-
current_url: window.location.href,
|
442 |
-
json: '0'
|
443 |
-
};
|
444 |
-
var firePageCallback = function(user_id){
|
445 |
-
InboundAnalytics.Events.analyticsSaved();
|
446 |
-
};
|
447 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
448 |
-
}
|
449 |
-
}
|
450 |
-
}
|
451 |
-
|
452 |
-
return InboundAnalytics;
|
453 |
-
|
454 |
-
})(InboundAnalytics || {});
|
455 |
-
|
456 |
-
|
457 |
-
/**
|
458 |
-
* Leads API functions
|
459 |
-
* @param Object InboundAnalytics - Main JS object
|
460 |
-
* @return Object - include event triggers
|
461 |
-
*/
|
462 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
463 |
-
|
464 |
-
InboundAnalytics.LeadsAPI = {
|
465 |
-
init: function() {
|
466 |
-
|
467 |
-
},
|
468 |
-
getAllLeadData: function(expire_check) {
|
469 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
470 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
471 |
-
data = {
|
472 |
-
action: 'inbound_get_all_lead_data',
|
473 |
-
wp_lead_id: wp_lead_id,
|
474 |
-
},
|
475 |
-
success = function(returnData){
|
476 |
-
var obj = JSON.parse(returnData);
|
477 |
-
console.log('RAAAAAAn');
|
478 |
-
setGlobalLeadVar(obj);
|
479 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
480 |
-
};
|
481 |
-
|
482 |
-
if(!old_data) {
|
483 |
-
console.log("No old data");
|
484 |
-
}
|
485 |
-
|
486 |
-
if (expire_check === 'true'){
|
487 |
-
console.log("Session has not expired");
|
488 |
-
}
|
489 |
-
|
490 |
-
if(!old_data && expire_check === null) {
|
491 |
-
InboundAnalytics.debug('Go to Database',function(){
|
492 |
-
console.log(expire_check);
|
493 |
-
console.log(old_data);
|
494 |
-
});
|
495 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
496 |
-
} else {
|
497 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
498 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
499 |
-
if (lead_data_expiration === null) {
|
500 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
501 |
-
console.log('localized data old. Pull new from DB');
|
502 |
-
}
|
503 |
-
}
|
504 |
-
|
505 |
-
},
|
506 |
-
getLeadLists: function() {
|
507 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
508 |
-
var data = {
|
509 |
-
action: 'wpl_check_lists',
|
510 |
-
wp_lead_id: wp_lead_id,
|
511 |
-
};
|
512 |
-
var success = function(user_id){
|
513 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
514 |
-
console.log("Lists checked");
|
515 |
-
};
|
516 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
517 |
-
}
|
518 |
-
};
|
519 |
-
|
520 |
-
return InboundAnalytics;
|
521 |
-
|
522 |
-
})(InboundAnalytics || {});
|
523 |
-
|
524 |
-
|
525 |
-
/**
|
526 |
-
* Custom Event Triggers for Leads -
|
527 |
-
* The below functions illustrate how to use custom javascript callbacks to fire events
|
528 |
-
* based on lead data and what they have and have not done on the site.
|
529 |
-
*/
|
530 |
-
/**
|
531 |
-
|
532 |
-
// Raw Javascript Version - trigger custom function on page view trigger
|
533 |
-
|
534 |
-
window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
|
535 |
-
function fireOnPageViewTrigger(){
|
536 |
-
alert("page view was triggered");
|
537 |
-
}
|
538 |
-
|
539 |
-
// jQuery version - trigger custom function on analytics loaded
|
540 |
-
|
541 |
-
jQuery(document).on('inbound_analytics_loaded', function (event, data) {
|
542 |
-
console.log("inbound_analytics_loaded");
|
543 |
-
});
|
544 |
-
|
545 |
-
// Raw Javascript Version - trigger custom function on page first seen
|
546 |
-
|
547 |
-
window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
|
548 |
-
function page_first_seen_function(){
|
549 |
-
alert("This is the first time you have seen this page");
|
550 |
-
}
|
551 |
-
|
552 |
-
// Raw Javascript Version - trigger custom function on page already seen
|
553 |
-
|
554 |
-
window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
|
555 |
-
function page_seen_function(e){
|
556 |
-
var view_count = e.detail.count;
|
557 |
-
console.log("This page has been seen " + e.detail.count + " times");
|
558 |
-
if(view_count > 10){
|
559 |
-
console.log("Page has been viewed more than 10 times");
|
560 |
-
}
|
561 |
-
}
|
562 |
-
|
563 |
-
// jQuery version - trigger custom function on page already seen via jQuery
|
564 |
-
|
565 |
-
jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
|
566 |
-
console.log("inbound_analytics_page_revisit action triggered");
|
567 |
-
//console.log(data);
|
568 |
-
if(data.count > 10){
|
569 |
-
console.log("Page has been viewed more than 10 times");
|
570 |
-
}
|
571 |
-
});
|
572 |
-
*/
|
573 |
-
|
574 |
-
/**
|
575 |
-
* Event functions
|
576 |
-
* @param Object InboundAnalytics - Main JS object
|
577 |
-
* @return Object - include event triggers
|
578 |
-
*/
|
579 |
-
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
580 |
-
|
581 |
-
InboundAnalytics.Events = {
|
582 |
-
// Create cookie
|
583 |
-
loadEvents: function() {
|
584 |
-
this.analyticsLoaded();
|
585 |
-
},
|
586 |
-
triggerJQueryEvent: function(eventName, data){
|
587 |
-
if (window.jQuery) {
|
588 |
-
var data = data || {};
|
589 |
-
jQuery(document).trigger(eventName, data);
|
590 |
-
/* var something = (function() {
|
591 |
-
var executed = false;
|
592 |
-
return function () {
|
593 |
-
if (!executed) {
|
594 |
-
executed = true;
|
595 |
-
console.log(eventName + " RAN");
|
596 |
-
|
597 |
-
}
|
598 |
-
};
|
599 |
-
})();*/
|
600 |
-
}
|
601 |
-
},
|
602 |
-
analyticsLoaded: function() {
|
603 |
-
var eventName = "inbound_analytics_loaded";
|
604 |
-
var loaded = new CustomEvent(eventName);
|
605 |
-
window.dispatchEvent(loaded);
|
606 |
-
this.triggerJQueryEvent(eventName);
|
607 |
-
},
|
608 |
-
analyticsTriggered: function() {
|
609 |
-
var triggered = new CustomEvent("inbound_analytics_triggered");
|
610 |
-
window.dispatchEvent(triggered);
|
611 |
-
},
|
612 |
-
analyticsSaved: function() {
|
613 |
-
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
614 |
-
window.dispatchEvent(page_view_saved);
|
615 |
-
console.log('Page View Saved');
|
616 |
-
},
|
617 |
-
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
618 |
-
var error = new CustomEvent("inbound_analytics_error", {
|
619 |
-
detail: {
|
620 |
-
MLHttpRequest: MLHttpRequest,
|
621 |
-
textStatus: textStatus,
|
622 |
-
errorThrown: errorThrown
|
623 |
-
}
|
624 |
-
});
|
625 |
-
window.dispatchEvent(error);
|
626 |
-
console.log('Page Save Error');
|
627 |
-
},
|
628 |
-
pageFirstView: function(page_seen_count) {
|
629 |
-
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
630 |
-
detail: {
|
631 |
-
count: 1,
|
632 |
-
time: new Date(),
|
633 |
-
},
|
634 |
-
bubbles: true,
|
635 |
-
cancelable: true
|
636 |
-
}
|
637 |
-
);
|
638 |
-
window.dispatchEvent(page_first_view);
|
639 |
-
|
640 |
-
console.log('First Ever Page View of this Page');
|
641 |
-
},
|
642 |
-
pageRevisit: function(page_seen_count) {
|
643 |
-
var eventName = "inbound_analytics_page_revisit";
|
644 |
-
var data = { count: page_seen_count,
|
645 |
-
time: new Date()
|
646 |
-
};
|
647 |
-
var page_revisit = new CustomEvent(eventName, {
|
648 |
-
detail: data,
|
649 |
-
bubbles: true,
|
650 |
-
cancelable: true
|
651 |
-
}
|
652 |
-
);
|
653 |
-
window.dispatchEvent(page_revisit);
|
654 |
-
this.triggerJQueryEvent(eventName, data);
|
655 |
-
console.log('Page Revisit');
|
656 |
-
},
|
657 |
-
sessionStart: function() {
|
658 |
-
var session_start = new CustomEvent("inbound_analytics_session_start");
|
659 |
-
window.dispatchEvent(session_start);
|
660 |
-
console.log('Session Start');
|
661 |
-
},
|
662 |
-
sessionActive: function() {
|
663 |
-
var session_active = new CustomEvent("inbound_analytics_session_active");
|
664 |
-
window.dispatchEvent(session_active);
|
665 |
-
console.log('Session Active');
|
666 |
-
},
|
667 |
-
|
668 |
-
};
|
669 |
-
|
670 |
-
return InboundAnalytics;
|
671 |
-
|
672 |
-
})(InboundAnalytics || {});
|
673 |
-
|
674 |
-
/* LocalStorage Component */
|
675 |
-
var InboundTotalStorage = (function (InboundAnalytics){
|
676 |
-
|
677 |
-
var supported, ls, mod = 'inboundAnalytics';
|
678 |
-
if ('localStorage' in window){
|
679 |
-
try {
|
680 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
681 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
682 |
-
supported = false;
|
683 |
-
} else {
|
684 |
-
supported = true;
|
685 |
-
}
|
686 |
-
window.localStorage.setItem(mod, '1');
|
687 |
-
window.localStorage.removeItem(mod);
|
688 |
-
}
|
689 |
-
catch (err){
|
690 |
-
supported = false;
|
691 |
-
}
|
692 |
-
}
|
693 |
-
|
694 |
-
/* Make the methods public */
|
695 |
-
InboundAnalytics.totalStorage = function(key, value, options){
|
696 |
-
return InboundAnalytics.totalStorage.impl.init(key, value);
|
697 |
-
};
|
698 |
-
|
699 |
-
InboundAnalytics.totalStorage.setItem = function(key, value){
|
700 |
-
return InboundAnalytics.totalStorage.impl.setItem(key, value);
|
701 |
-
};
|
702 |
-
|
703 |
-
InboundAnalytics.totalStorage.getItem = function(key){
|
704 |
-
return InboundAnalytics.totalStorage.impl.getItem(key);
|
705 |
-
};
|
706 |
-
|
707 |
-
InboundAnalytics.totalStorage.getAll = function(){
|
708 |
-
return InboundAnalytics.totalStorage.impl.getAll();
|
709 |
-
};
|
710 |
-
|
711 |
-
InboundAnalytics.totalStorage.deleteItem = function(key){
|
712 |
-
return InboundAnalytics.totalStorage.impl.deleteItem(key);
|
713 |
-
};
|
714 |
-
|
715 |
-
/* Object to hold all methods: public and private */
|
716 |
-
|
717 |
-
InboundAnalytics.totalStorage.impl = {
|
718 |
-
|
719 |
-
init: function(key, value){
|
720 |
-
if (typeof value != 'undefined') {
|
721 |
-
return this.setItem(key, value);
|
722 |
-
} else {
|
723 |
-
return this.getItem(key);
|
724 |
-
}
|
725 |
-
},
|
726 |
-
|
727 |
-
setItem: function(key, value){
|
728 |
-
if (!supported){
|
729 |
-
try {
|
730 |
-
InboundAnalytics.Utils.createCookie(key, value);
|
731 |
-
return value;
|
732 |
-
} catch(e){
|
733 |
-
console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
|
734 |
-
}
|
735 |
-
}
|
736 |
-
var saver = JSON.stringify(value);
|
737 |
-
ls.setItem(key, saver);
|
738 |
-
return this.parseResult(saver);
|
739 |
-
},
|
740 |
-
getItem: function(key){
|
741 |
-
if (!supported){
|
742 |
-
try {
|
743 |
-
return this.parseResult(InboundAnalytics.Utils.readCookie(key));
|
744 |
-
} catch(e){
|
745 |
-
return null;
|
746 |
-
}
|
747 |
-
}
|
748 |
-
var item = ls.getItem(key);
|
749 |
-
return this.parseResult(item);
|
750 |
-
},
|
751 |
-
deleteItem: function(key){
|
752 |
-
if (!supported){
|
753 |
-
try {
|
754 |
-
InboundAnalytics.Utils.eraseCookie(key, null);
|
755 |
-
return true;
|
756 |
-
} catch(e){
|
757 |
-
return false;
|
758 |
-
}
|
759 |
-
}
|
760 |
-
ls.removeItem(key);
|
761 |
-
return true;
|
762 |
-
},
|
763 |
-
getAll: function(){
|
764 |
-
var items = [];
|
765 |
-
if (!supported){
|
766 |
-
try {
|
767 |
-
var pairs = document.cookie.split(";");
|
768 |
-
for (var i = 0; i<pairs.length; i++){
|
769 |
-
var pair = pairs[i].split('=');
|
770 |
-
var key = pair[0];
|
771 |
-
items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie(key))});
|
772 |
-
}
|
773 |
-
} catch(e){
|
774 |
-
return null;
|
775 |
-
}
|
776 |
-
} else {
|
777 |
-
for (var j in ls){
|
778 |
-
if (j.length){
|
779 |
-
items.push({key:j, value:this.parseResult(ls.getItem(j))});
|
780 |
-
}
|
781 |
-
}
|
782 |
-
}
|
783 |
-
return items;
|
784 |
-
},
|
785 |
-
parseResult: function(res){
|
786 |
-
var ret;
|
787 |
-
try {
|
788 |
-
ret = JSON.parse(res);
|
789 |
-
if (typeof ret == 'undefined'){
|
790 |
-
ret = res;
|
791 |
-
}
|
792 |
-
if (ret == 'true'){
|
793 |
-
ret = true;
|
794 |
-
}
|
795 |
-
if (ret == 'false'){
|
796 |
-
ret = false;
|
797 |
-
}
|
798 |
-
if (parseFloat(ret) == ret && typeof ret != "object"){
|
799 |
-
ret = parseFloat(ret);
|
800 |
-
}
|
801 |
-
} catch(e){
|
802 |
-
ret = res;
|
803 |
-
}
|
804 |
-
return ret;
|
805 |
-
}
|
806 |
-
};
|
807 |
-
})(InboundAnalytics || {});
|
808 |
-
|
809 |
-
|
810 |
-
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
811 |
-
function setGlobalLeadVar(retString){
|
812 |
-
Lead_Globals = retString;
|
813 |
-
}
|
814 |
-
|
815 |
-
InboundAnalytics.init(); // run analytics
|
816 |
-
|
817 |
-
/* run on ready */
|
818 |
-
jQuery(document).ready(function($) {
|
819 |
-
//record non conversion status
|
820 |
-
var in_u = InboundAnalytics.Utils,
|
821 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
822 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
823 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
824 |
-
|
825 |
-
if (expire_check === null) {
|
826 |
-
console.log('expired vistor. Run Processes');
|
827 |
-
//var data_to_lookup = global-localized-vars;
|
828 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
829 |
-
/* Get Lead_Globals */
|
830 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
831 |
-
/* Lead list check */
|
832 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
833 |
-
}
|
834 |
-
}
|
835 |
-
|
836 |
-
/* Set Session Timeout */
|
837 |
-
InboundAnalytics.Utils.SetSessionTimeout();
|
838 |
-
|
839 |
});
|
1 |
+
/**
|
2 |
+
* Lead Tracking JS
|
3 |
+
* http://www.inboundnow.com
|
4 |
+
*/
|
5 |
+
var InboundAnalytics = (function () {
|
6 |
+
|
7 |
+
var debugMode = false;
|
8 |
+
|
9 |
+
var _privateMethod = function () {
|
10 |
+
console.log('Run private');
|
11 |
+
};
|
12 |
+
|
13 |
+
var App = {
|
14 |
+
init: function () {
|
15 |
+
this.polyFills();
|
16 |
+
InboundAnalytics.PageTracking.StorePageView();
|
17 |
+
InboundAnalytics.Events.loadEvents();
|
18 |
+
InboundAnalytics.Utils.init();
|
19 |
+
},
|
20 |
+
polyFills: function() {
|
21 |
+
/* Console.log fix for old browsers */
|
22 |
+
if (!window.console) { window.console = {}; }
|
23 |
+
var m = [
|
24 |
+
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
25 |
+
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
26 |
+
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
27 |
+
];
|
28 |
+
// define undefined methods as noops to prevent errors
|
29 |
+
for (var i = 0; i < m.length; i++) {
|
30 |
+
if (!window.console[m[i]]) {
|
31 |
+
window.console[m[i]] = function() {};
|
32 |
+
}
|
33 |
+
}
|
34 |
+
},
|
35 |
+
/* Debugger Function toggled by var debugMode */
|
36 |
+
debug: function(msg,callback){
|
37 |
+
//if app not in debug mode, exit immediately
|
38 |
+
if(!debugMode || !console){return};
|
39 |
+
var msg = msg || false;
|
40 |
+
//console.log the message
|
41 |
+
if(msg && (typeof msg === 'string')){console.log(msg)};
|
42 |
+
|
43 |
+
//execute the callback if one was passed-in
|
44 |
+
if(callback && (callback instanceof Function)){
|
45 |
+
callback();
|
46 |
+
};
|
47 |
+
}
|
48 |
+
};
|
49 |
+
|
50 |
+
return App;
|
51 |
+
|
52 |
+
})();
|
53 |
+
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Utility functions
|
57 |
+
* @param Object InboundAnalytics - Main JS object
|
58 |
+
* @return Object - include util functions
|
59 |
+
*/
|
60 |
+
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
61 |
+
|
62 |
+
InboundAnalytics.Utils = {
|
63 |
+
init: function() {
|
64 |
+
this.setUrlParams();
|
65 |
+
this.SetUID();
|
66 |
+
this.getReferer();
|
67 |
+
|
68 |
+
},
|
69 |
+
// Create cookie
|
70 |
+
createCookie: function(name, value, days, custom_time) {
|
71 |
+
var expires = "";
|
72 |
+
if (days) {
|
73 |
+
var date = new Date();
|
74 |
+
date.setTime(date.getTime()+(days*24*60*60*1000));
|
75 |
+
expires = "; expires="+date.toGMTString();
|
76 |
+
}
|
77 |
+
if(custom_time){
|
78 |
+
expires = "; expires="+days.toGMTString();
|
79 |
+
}
|
80 |
+
document.cookie = name+"="+value+expires+"; path=/";
|
81 |
+
},
|
82 |
+
// Read cookie
|
83 |
+
readCookie: function(name) {
|
84 |
+
var nameEQ = name + "=";
|
85 |
+
var ca = document.cookie.split(';');
|
86 |
+
for(var i=0;i < ca.length;i++) {
|
87 |
+
var c = ca[i];
|
88 |
+
while (c.charAt(0) === ' ') {
|
89 |
+
c = c.substring(1,c.length);
|
90 |
+
}
|
91 |
+
if (c.indexOf(nameEQ) === 0) {
|
92 |
+
return c.substring(nameEQ.length,c.length);
|
93 |
+
}
|
94 |
+
}
|
95 |
+
return null;
|
96 |
+
},
|
97 |
+
// Erase cookie
|
98 |
+
eraseCookie: function(name) {
|
99 |
+
createCookie(name,"",-1);
|
100 |
+
},
|
101 |
+
getAllCookies: function(){
|
102 |
+
var cookies = {};
|
103 |
+
if (document.cookie && document.cookie != '') {
|
104 |
+
var split = document.cookie.split(';');
|
105 |
+
for (var i = 0; i < split.length; i++) {
|
106 |
+
var name_value = split[i].split("=");
|
107 |
+
name_value[0] = name_value[0].replace(/^ /, '');
|
108 |
+
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
109 |
+
}
|
110 |
+
}
|
111 |
+
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
112 |
+
return cookies;
|
113 |
+
},
|
114 |
+
/* Grab URL params and save */
|
115 |
+
setUrlParams: function() {
|
116 |
+
var urlParams = {},
|
117 |
+
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
118 |
+
|
119 |
+
(function () {
|
120 |
+
var e,
|
121 |
+
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
122 |
+
q = window.location.search.substring(1),
|
123 |
+
r = /([^&=]+)=?([^&]*)/g;
|
124 |
+
|
125 |
+
while (e = r.exec(q)) {
|
126 |
+
if (e[1].indexOf("[") == "-1")
|
127 |
+
urlParams[d(e[1])] = d(e[2]);
|
128 |
+
else {
|
129 |
+
var b1 = e[1].indexOf("["),
|
130 |
+
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
131 |
+
pN = d(e[1].slice(0, b1));
|
132 |
+
|
133 |
+
if (typeof urlParams[pN] != "object")
|
134 |
+
urlParams[d(pN)] = {},
|
135 |
+
urlParams[d(pN)].length = 0;
|
136 |
+
|
137 |
+
if (aN)
|
138 |
+
urlParams[d(pN)][d(aN)] = d(e[2]);
|
139 |
+
else
|
140 |
+
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
141 |
+
|
142 |
+
}
|
143 |
+
}
|
144 |
+
})();
|
145 |
+
|
146 |
+
if (JSON) {
|
147 |
+
for (var k in urlParams) {
|
148 |
+
if (typeof urlParams[k] == "object") {
|
149 |
+
for (var k2 in urlParams[k])
|
150 |
+
this.createCookie(k2, urlParams[k][k2], 30);
|
151 |
+
} else {
|
152 |
+
this.createCookie(k, urlParams[k], 30);
|
153 |
+
}
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
if(local_store){
|
158 |
+
var pastParams = jQuery.totalStorage('inbound_url_params');
|
159 |
+
var params = this.mergeObjs(pastParams, urlParams);
|
160 |
+
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
161 |
+
}
|
162 |
+
},
|
163 |
+
getUrlParams: function(){
|
164 |
+
var local_store = this.checkLocalStorage(),
|
165 |
+
get_params = {};
|
166 |
+
if(local_store){
|
167 |
+
var get_params = jQuery.totalStorage('inbound_url_params');
|
168 |
+
}
|
169 |
+
return get_params;
|
170 |
+
},
|
171 |
+
// Check local storage
|
172 |
+
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
173 |
+
checkLocalStorage: function() {
|
174 |
+
if ('localStorage' in window) {
|
175 |
+
try {
|
176 |
+
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
177 |
+
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
178 |
+
supported = false;
|
179 |
+
} else {
|
180 |
+
supported = true;
|
181 |
+
}
|
182 |
+
|
183 |
+
}
|
184 |
+
catch (err){
|
185 |
+
supported = false;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
return supported;
|
189 |
+
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
190 |
+
var hasStorage;
|
191 |
+
hasStorage = function() {
|
192 |
+
var mod, result;
|
193 |
+
try {
|
194 |
+
mod = new Date;
|
195 |
+
localStorage.setItem(mod, mod.toString());
|
196 |
+
result = localStorage.getItem(mod) === mod.toString();
|
197 |
+
localStorage.removeItem(mod);
|
198 |
+
return result;
|
199 |
+
} catch (_error) {}
|
200 |
+
};
|
201 |
+
*/
|
202 |
+
},
|
203 |
+
/* Add days to datetime */
|
204 |
+
addDays: function(myDate,days) {
|
205 |
+
return new Date(myDate.getTime() + days*24*60*60*1000);
|
206 |
+
},
|
207 |
+
GetDate: function(){
|
208 |
+
var time_now = new Date(),
|
209 |
+
day = time_now.getDate() + 1;
|
210 |
+
year = time_now.getFullYear(),
|
211 |
+
hour = time_now.getHours(),
|
212 |
+
minutes = time_now.getMinutes(),
|
213 |
+
seconds = time_now.getSeconds(),
|
214 |
+
month = time_now.getMonth() + 1;
|
215 |
+
if (month < 10) { month = '0' + month; }
|
216 |
+
InboundAnalytics.debug('Current Date:',function(){
|
217 |
+
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
218 |
+
});
|
219 |
+
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
220 |
+
return datetime;
|
221 |
+
},
|
222 |
+
/* Set Expiration Date of Session Logging */
|
223 |
+
SetSessionTimeout: function(){
|
224 |
+
var session_check = this.readCookie("lead_session_expire");
|
225 |
+
//console.log(session_check);
|
226 |
+
if(session_check === null){
|
227 |
+
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
228 |
+
} else {
|
229 |
+
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
230 |
+
}
|
231 |
+
var d = new Date();
|
232 |
+
d.setTime(d.getTime() + 30*60*1000);
|
233 |
+
|
234 |
+
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
235 |
+
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
236 |
+
if (lead_data_expiration === null){
|
237 |
+
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
238 |
+
var ex = this.addDays(d, 3);
|
239 |
+
this.createCookie("lead_data_expiration", ex, ex, true);
|
240 |
+
}
|
241 |
+
|
242 |
+
},
|
243 |
+
getReferer: function(){
|
244 |
+
//console.log(expire_time);
|
245 |
+
var d = new Date();
|
246 |
+
d.setTime(d.getTime() + 30*60*1000);
|
247 |
+
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
248 |
+
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
249 |
+
var referrer = document.referrer || "NA";
|
250 |
+
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
251 |
+
}
|
252 |
+
},
|
253 |
+
CreateUID: function(length) {
|
254 |
+
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
255 |
+
str = '';
|
256 |
+
if (! length) {
|
257 |
+
length = Math.floor(Math.random() * chars.length);
|
258 |
+
}
|
259 |
+
for (var i = 0; i < length; i++) {
|
260 |
+
str += chars[Math.floor(Math.random() * chars.length)];
|
261 |
+
}
|
262 |
+
return str;
|
263 |
+
},
|
264 |
+
SetUID: function () {
|
265 |
+
/* Set Lead UID */
|
266 |
+
|
267 |
+
if(this.readCookie("wp_lead_uid") === null) {
|
268 |
+
var wp_lead_uid = this.CreateUID(35);
|
269 |
+
this.createCookie("wp_lead_uid", wp_lead_uid );
|
270 |
+
InboundAnalytics.debug('Set UID');
|
271 |
+
}
|
272 |
+
},
|
273 |
+
/* Count number of session visits */
|
274 |
+
countProperties: function (obj) {
|
275 |
+
var count = 0;
|
276 |
+
for(var prop in obj) {
|
277 |
+
if(obj.hasOwnProperty(prop))
|
278 |
+
++count;
|
279 |
+
}
|
280 |
+
return count;
|
281 |
+
},
|
282 |
+
mergeObjs: function(obj1,obj2){
|
283 |
+
var obj3 = {};
|
284 |
+
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
285 |
+
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
286 |
+
return obj3;
|
287 |
+
},
|
288 |
+
doAjax: function(data, responseHandler, method, async){
|
289 |
+
// Set the variables
|
290 |
+
var url = wplft.admin_url || "",
|
291 |
+
method = method || "POST",
|
292 |
+
async = async || true,
|
293 |
+
data = data || null,
|
294 |
+
action = data.action;
|
295 |
+
|
296 |
+
InboundAnalytics.debug('Ajax Processed:',function(){
|
297 |
+
console.log('ran ajax action: ' + action);
|
298 |
+
});
|
299 |
+
|
300 |
+
jQuery.ajax({
|
301 |
+
type: method,
|
302 |
+
url: wplft.admin_url,
|
303 |
+
data: data,
|
304 |
+
success: responseHandler,
|
305 |
+
error: function(MLHttpRequest, textStatus, errorThrown){
|
306 |
+
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
307 |
+
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
308 |
+
}
|
309 |
+
|
310 |
+
});
|
311 |
+
},
|
312 |
+
/* Cross-browser event listening */
|
313 |
+
addListener: function(obj, eventName, listener) {
|
314 |
+
if(obj.addEventListener) {
|
315 |
+
obj.addEventListener(eventName, listener, false);
|
316 |
+
} else if (obj.attachEvent) {
|
317 |
+
obj.attachEvent("on" + eventName, listener);
|
318 |
+
} else {
|
319 |
+
obj['on' + eventName] = listener;
|
320 |
+
}
|
321 |
+
}
|
322 |
+
|
323 |
+
};
|
324 |
+
|
325 |
+
return InboundAnalytics;
|
326 |
+
|
327 |
+
})(InboundAnalytics || {});
|
328 |
+
|
329 |
+
|
330 |
+
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
331 |
+
|
332 |
+
InboundAnalytics.PageTracking = {
|
333 |
+
|
334 |
+
getPageViews: function () {
|
335 |
+
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
336 |
+
if(local_store){
|
337 |
+
var page_views = localStorage.getItem("page_views"),
|
338 |
+
local_object = JSON.parse(page_views);
|
339 |
+
if (typeof local_object =='object' && local_object) {
|
340 |
+
this.StorePageView();
|
341 |
+
}
|
342 |
+
return local_object;
|
343 |
+
}
|
344 |
+
},
|
345 |
+
StorePageView: function() {
|
346 |
+
var timeout = this.CheckTimeOut();
|
347 |
+
var pageviewObj = jQuery.totalStorage('page_views');
|
348 |
+
if(pageviewObj === null) {
|
349 |
+
pageviewObj = {};
|
350 |
+
}
|
351 |
+
var current_page_id = wplft.post_id;
|
352 |
+
var datetime = InboundAnalytics.Utils.GetDate();
|
353 |
+
|
354 |
+
if (timeout) {
|
355 |
+
// If pageviewObj exists, do this
|
356 |
+
var page_seen = pageviewObj[current_page_id];
|
357 |
+
|
358 |
+
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
359 |
+
pageviewObj[current_page_id].push(datetime);
|
360 |
+
/* Page Revisit Trigger */
|
361 |
+
var page_seen_count = pageviewObj[current_page_id].length;
|
362 |
+
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
363 |
+
|
364 |
+
} else {
|
365 |
+
pageviewObj[current_page_id] = [];
|
366 |
+
pageviewObj[current_page_id].push(datetime);
|
367 |
+
/* Page First Seen Trigger */
|
368 |
+
var page_seen_count = 1;
|
369 |
+
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
370 |
+
}
|
371 |
+
|
372 |
+
jQuery.totalStorage('page_views', pageviewObj);
|
373 |
+
|
374 |
+
}
|
375 |
+
},
|
376 |
+
CheckTimeOut: function() {
|
377 |
+
var PageViews = jQuery.totalStorage('page_views');
|
378 |
+
if(PageViews === null) {
|
379 |
+
var PageViews = {};
|
380 |
+
}
|
381 |
+
var page_id = wplft.post_id,
|
382 |
+
pageviewTimeout = true, /* Default */
|
383 |
+
page_seen = PageViews[page_id];
|
384 |
+
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
385 |
+
|
386 |
+
var time_now = InboundAnalytics.Utils.GetDate(),
|
387 |
+
vc = PageViews[page_id].length - 1,
|
388 |
+
last_view = PageViews[page_id][vc],
|
389 |
+
last_view_ms = new Date(last_view).getTime(),
|
390 |
+
time_now_ms = new Date(time_now).getTime(),
|
391 |
+
timeout_ms = last_view_ms + 30*1000,
|
392 |
+
time_check = Math.abs(last_view_ms - time_now_ms),
|
393 |
+
wait_time = 30000;
|
394 |
+
|
395 |
+
InboundAnalytics.debug('Timeout Checks =',function(){
|
396 |
+
console.log('Current Time is: ' + time_now);
|
397 |
+
console.log('Last view is: ' + last_view);
|
398 |
+
console.log("Last view milliseconds " + last_view_ms);
|
399 |
+
console.log("time now milliseconds " + time_now_ms);
|
400 |
+
console.log("Wait Check: " + wait_time);
|
401 |
+
console.log("TIME CHECK: " + time_check);
|
402 |
+
});
|
403 |
+
|
404 |
+
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
405 |
+
|
406 |
+
if (time_check < wait_time){
|
407 |
+
time_left = Math.abs((wait_time - time_check)) * .001;
|
408 |
+
pageviewTimeout = false;
|
409 |
+
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
410 |
+
} else {
|
411 |
+
var status = 'Timeout Happened. Page view fired';
|
412 |
+
this.firePageView();
|
413 |
+
pageviewTimeout = true;
|
414 |
+
InboundAnalytics.Events.analyticsTriggered();
|
415 |
+
}
|
416 |
+
|
417 |
+
//InboundAnalytics.debug('',function(){
|
418 |
+
console.log(status);
|
419 |
+
//});
|
420 |
+
} else {
|
421 |
+
/* Page never seen before */
|
422 |
+
this.firePageView();
|
423 |
+
}
|
424 |
+
|
425 |
+
return pageviewTimeout;
|
426 |
+
|
427 |
+
},
|
428 |
+
firePageView: function() {
|
429 |
+
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
430 |
+
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
431 |
+
|
432 |
+
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
433 |
+
|
434 |
+
InboundAnalytics.debug('Run page view ajax');
|
435 |
+
|
436 |
+
var data = {
|
437 |
+
action: 'wpl_track_user',
|
438 |
+
wp_lead_uid: lead_uid,
|
439 |
+
wp_lead_id: lead_id,
|
440 |
+
page_id: wplft.post_id,
|
441 |
+
current_url: window.location.href,
|
442 |
+
json: '0'
|
443 |
+
};
|
444 |
+
var firePageCallback = function(user_id){
|
445 |
+
InboundAnalytics.Events.analyticsSaved();
|
446 |
+
};
|
447 |
+
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
448 |
+
}
|
449 |
+
}
|
450 |
+
}
|
451 |
+
|
452 |
+
return InboundAnalytics;
|
453 |
+
|
454 |
+
})(InboundAnalytics || {});
|
455 |
+
|
456 |
+
|
457 |
+
/**
|
458 |
+
* Leads API functions
|
459 |
+
* @param Object InboundAnalytics - Main JS object
|
460 |
+
* @return Object - include event triggers
|
461 |
+
*/
|
462 |
+
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
463 |
+
|
464 |
+
InboundAnalytics.LeadsAPI = {
|
465 |
+
init: function() {
|
466 |
+
|
467 |
+
},
|
468 |
+
getAllLeadData: function(expire_check) {
|
469 |
+
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
470 |
+
old_data = jQuery.totalStorage('inbound_lead_data'),
|
471 |
+
data = {
|
472 |
+
action: 'inbound_get_all_lead_data',
|
473 |
+
wp_lead_id: wp_lead_id,
|
474 |
+
},
|
475 |
+
success = function(returnData){
|
476 |
+
var obj = JSON.parse(returnData);
|
477 |
+
console.log('RAAAAAAn');
|
478 |
+
setGlobalLeadVar(obj);
|
479 |
+
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
480 |
+
};
|
481 |
+
|
482 |
+
if(!old_data) {
|
483 |
+
console.log("No old data");
|
484 |
+
}
|
485 |
+
|
486 |
+
if (expire_check === 'true'){
|
487 |
+
console.log("Session has not expired");
|
488 |
+
}
|
489 |
+
|
490 |
+
if(!old_data && expire_check === null) {
|
491 |
+
InboundAnalytics.debug('Go to Database',function(){
|
492 |
+
console.log(expire_check);
|
493 |
+
console.log(old_data);
|
494 |
+
});
|
495 |
+
InboundAnalytics.Utils.doAjax(data, success);
|
496 |
+
} else {
|
497 |
+
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
498 |
+
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
499 |
+
if (lead_data_expiration === null) {
|
500 |
+
InboundAnalytics.Utils.doAjax(data, success);
|
501 |
+
console.log('localized data old. Pull new from DB');
|
502 |
+
}
|
503 |
+
}
|
504 |
+
|
505 |
+
},
|
506 |
+
getLeadLists: function() {
|
507 |
+
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
508 |
+
var data = {
|
509 |
+
action: 'wpl_check_lists',
|
510 |
+
wp_lead_id: wp_lead_id,
|
511 |
+
};
|
512 |
+
var success = function(user_id){
|
513 |
+
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
514 |
+
console.log("Lists checked");
|
515 |
+
};
|
516 |
+
InboundAnalytics.Utils.doAjax(data, success);
|
517 |
+
}
|
518 |
+
};
|
519 |
+
|
520 |
+
return InboundAnalytics;
|
521 |
+
|
522 |
+
})(InboundAnalytics || {});
|
523 |
+
|
524 |
+
|
525 |
+
/**
|
526 |
+
* Custom Event Triggers for Leads -
|
527 |
+
* The below functions illustrate how to use custom javascript callbacks to fire events
|
528 |
+
* based on lead data and what they have and have not done on the site.
|
529 |
+
*/
|
530 |
+
/**
|
531 |
+
|
532 |
+
// Raw Javascript Version - trigger custom function on page view trigger
|
533 |
+
|
534 |
+
window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
|
535 |
+
function fireOnPageViewTrigger(){
|
536 |
+
alert("page view was triggered");
|
537 |
+
}
|
538 |
+
|
539 |
+
// jQuery version - trigger custom function on analytics loaded
|
540 |
+
|
541 |
+
jQuery(document).on('inbound_analytics_loaded', function (event, data) {
|
542 |
+
console.log("inbound_analytics_loaded");
|
543 |
+
});
|
544 |
+
|
545 |
+
// Raw Javascript Version - trigger custom function on page first seen
|
546 |
+
|
547 |
+
window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
|
548 |
+
function page_first_seen_function(){
|
549 |
+
alert("This is the first time you have seen this page");
|
550 |
+
}
|
551 |
+
|
552 |
+
// Raw Javascript Version - trigger custom function on page already seen
|
553 |
+
|
554 |
+
window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
|
555 |
+
function page_seen_function(e){
|
556 |
+
var view_count = e.detail.count;
|
557 |
+
console.log("This page has been seen " + e.detail.count + " times");
|
558 |
+
if(view_count > 10){
|
559 |
+
console.log("Page has been viewed more than 10 times");
|
560 |
+
}
|
561 |
+
}
|
562 |
+
|
563 |
+
// jQuery version - trigger custom function on page already seen via jQuery
|
564 |
+
|
565 |
+
jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
|
566 |
+
console.log("inbound_analytics_page_revisit action triggered");
|
567 |
+
//console.log(data);
|
568 |
+
if(data.count > 10){
|
569 |
+
console.log("Page has been viewed more than 10 times");
|
570 |
+
}
|
571 |
+
});
|
572 |
+
*/
|
573 |
+
|
574 |
+
/**
|
575 |
+
* Event functions
|
576 |
+
* @param Object InboundAnalytics - Main JS object
|
577 |
+
* @return Object - include event triggers
|
578 |
+
*/
|
579 |
+
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
580 |
+
|
581 |
+
InboundAnalytics.Events = {
|
582 |
+
// Create cookie
|
583 |
+
loadEvents: function() {
|
584 |
+
this.analyticsLoaded();
|
585 |
+
},
|
586 |
+
triggerJQueryEvent: function(eventName, data){
|
587 |
+
if (window.jQuery) {
|
588 |
+
var data = data || {};
|
589 |
+
jQuery(document).trigger(eventName, data);
|
590 |
+
/* var something = (function() {
|
591 |
+
var executed = false;
|
592 |
+
return function () {
|
593 |
+
if (!executed) {
|
594 |
+
executed = true;
|
595 |
+
console.log(eventName + " RAN");
|
596 |
+
|
597 |
+
}
|
598 |
+
};
|
599 |
+
})();*/
|
600 |
+
}
|
601 |
+
},
|
602 |
+
analyticsLoaded: function() {
|
603 |
+
var eventName = "inbound_analytics_loaded";
|
604 |
+
var loaded = new CustomEvent(eventName);
|
605 |
+
window.dispatchEvent(loaded);
|
606 |
+
this.triggerJQueryEvent(eventName);
|
607 |
+
},
|
608 |
+
analyticsTriggered: function() {
|
609 |
+
var triggered = new CustomEvent("inbound_analytics_triggered");
|
610 |
+
window.dispatchEvent(triggered);
|
611 |
+
},
|
612 |
+
analyticsSaved: function() {
|
613 |
+
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
614 |
+
window.dispatchEvent(page_view_saved);
|
615 |
+
console.log('Page View Saved');
|
616 |
+
},
|
617 |
+
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
618 |
+
var error = new CustomEvent("inbound_analytics_error", {
|
619 |
+
detail: {
|
620 |
+
MLHttpRequest: MLHttpRequest,
|
621 |
+
textStatus: textStatus,
|
622 |
+
errorThrown: errorThrown
|
623 |
+
}
|
624 |
+
});
|
625 |
+
window.dispatchEvent(error);
|
626 |
+
console.log('Page Save Error');
|
627 |
+
},
|
628 |
+
pageFirstView: function(page_seen_count) {
|
629 |
+
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
630 |
+
detail: {
|
631 |
+
count: 1,
|
632 |
+
time: new Date(),
|
633 |
+
},
|
634 |
+
bubbles: true,
|
635 |
+
cancelable: true
|
636 |
+
}
|
637 |
+
);
|
638 |
+
window.dispatchEvent(page_first_view);
|
639 |
+
|
640 |
+
console.log('First Ever Page View of this Page');
|
641 |
+
},
|
642 |
+
pageRevisit: function(page_seen_count) {
|
643 |
+
var eventName = "inbound_analytics_page_revisit";
|
644 |
+
var data = { count: page_seen_count,
|
645 |
+
time: new Date()
|
646 |
+
};
|
647 |
+
var page_revisit = new CustomEvent(eventName, {
|
648 |
+
detail: data,
|
649 |
+
bubbles: true,
|
650 |
+
cancelable: true
|
651 |
+
}
|
652 |
+
);
|
653 |
+
window.dispatchEvent(page_revisit);
|
654 |
+
this.triggerJQueryEvent(eventName, data);
|
655 |
+
console.log('Page Revisit');
|
656 |
+
},
|
657 |
+
sessionStart: function() {
|
658 |
+
var session_start = new CustomEvent("inbound_analytics_session_start");
|
659 |
+
window.dispatchEvent(session_start);
|
660 |
+
console.log('Session Start');
|
661 |
+
},
|
662 |
+
sessionActive: function() {
|
663 |
+
var session_active = new CustomEvent("inbound_analytics_session_active");
|
664 |
+
window.dispatchEvent(session_active);
|
665 |
+
console.log('Session Active');
|
666 |
+
},
|
667 |
+
|
668 |
+
};
|
669 |
+
|
670 |
+
return InboundAnalytics;
|
671 |
+
|
672 |
+
})(InboundAnalytics || {});
|
673 |
+
|
674 |
+
/* LocalStorage Component */
|
675 |
+
var InboundTotalStorage = (function (InboundAnalytics){
|
676 |
+
|
677 |
+
var supported, ls, mod = 'inboundAnalytics';
|
678 |
+
if ('localStorage' in window){
|
679 |
+
try {
|
680 |
+
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
681 |
+
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
682 |
+
supported = false;
|
683 |
+
} else {
|
684 |
+
supported = true;
|
685 |
+
}
|
686 |
+
window.localStorage.setItem(mod, '1');
|
687 |
+
window.localStorage.removeItem(mod);
|
688 |
+
}
|
689 |
+
catch (err){
|
690 |
+
supported = false;
|
691 |
+
}
|
692 |
+
}
|
693 |
+
|
694 |
+
/* Make the methods public */
|
695 |
+
InboundAnalytics.totalStorage = function(key, value, options){
|
696 |
+
return InboundAnalytics.totalStorage.impl.init(key, value);
|
697 |
+
};
|
698 |
+
|
699 |
+
InboundAnalytics.totalStorage.setItem = function(key, value){
|
700 |
+
return InboundAnalytics.totalStorage.impl.setItem(key, value);
|
701 |
+
};
|
702 |
+
|
703 |
+
InboundAnalytics.totalStorage.getItem = function(key){
|
704 |
+
return InboundAnalytics.totalStorage.impl.getItem(key);
|
705 |
+
};
|
706 |
+
|
707 |
+
InboundAnalytics.totalStorage.getAll = function(){
|
708 |
+
return InboundAnalytics.totalStorage.impl.getAll();
|
709 |
+
};
|
710 |
+
|
711 |
+
InboundAnalytics.totalStorage.deleteItem = function(key){
|
712 |
+
return InboundAnalytics.totalStorage.impl.deleteItem(key);
|
713 |
+
};
|
714 |
+
|
715 |
+
/* Object to hold all methods: public and private */
|
716 |
+
|
717 |
+
InboundAnalytics.totalStorage.impl = {
|
718 |
+
|
719 |
+
init: function(key, value){
|
720 |
+
if (typeof value != 'undefined') {
|
721 |
+
return this.setItem(key, value);
|
722 |
+
} else {
|
723 |
+
return this.getItem(key);
|
724 |
+
}
|
725 |
+
},
|
726 |
+
|
727 |
+
setItem: function(key, value){
|
728 |
+
if (!supported){
|
729 |
+
try {
|
730 |
+
InboundAnalytics.Utils.createCookie(key, value);
|
731 |
+
return value;
|
732 |
+
} catch(e){
|
733 |
+
console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
|
734 |
+
}
|
735 |
+
}
|
736 |
+
var saver = JSON.stringify(value);
|
737 |
+
ls.setItem(key, saver);
|
738 |
+
return this.parseResult(saver);
|
739 |
+
},
|
740 |
+
getItem: function(key){
|
741 |
+
if (!supported){
|
742 |
+
try {
|
743 |
+
return this.parseResult(InboundAnalytics.Utils.readCookie(key));
|
744 |
+
} catch(e){
|
745 |
+
return null;
|
746 |
+
}
|
747 |
+
}
|
748 |
+
var item = ls.getItem(key);
|
749 |
+
return this.parseResult(item);
|
750 |
+
},
|
751 |
+
deleteItem: function(key){
|
752 |
+
if (!supported){
|
753 |
+
try {
|
754 |
+
InboundAnalytics.Utils.eraseCookie(key, null);
|
755 |
+
return true;
|
756 |
+
} catch(e){
|
757 |
+
return false;
|
758 |
+
}
|
759 |
+
}
|
760 |
+
ls.removeItem(key);
|
761 |
+
return true;
|
762 |
+
},
|
763 |
+
getAll: function(){
|
764 |
+
var items = [];
|
765 |
+
if (!supported){
|
766 |
+
try {
|
767 |
+
var pairs = document.cookie.split(";");
|
768 |
+
for (var i = 0; i<pairs.length; i++){
|
769 |
+
var pair = pairs[i].split('=');
|
770 |
+
var key = pair[0];
|
771 |
+
items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie(key))});
|
772 |
+
}
|
773 |
+
} catch(e){
|
774 |
+
return null;
|
775 |
+
}
|
776 |
+
} else {
|
777 |
+
for (var j in ls){
|
778 |
+
if (j.length){
|
779 |
+
items.push({key:j, value:this.parseResult(ls.getItem(j))});
|
780 |
+
}
|
781 |
+
}
|
782 |
+
}
|
783 |
+
return items;
|
784 |
+
},
|
785 |
+
parseResult: function(res){
|
786 |
+
var ret;
|
787 |
+
try {
|
788 |
+
ret = JSON.parse(res);
|
789 |
+
if (typeof ret == 'undefined'){
|
790 |
+
ret = res;
|
791 |
+
}
|
792 |
+
if (ret == 'true'){
|
793 |
+
ret = true;
|
794 |
+
}
|
795 |
+
if (ret == 'false'){
|
796 |
+
ret = false;
|
797 |
+
}
|
798 |
+
if (parseFloat(ret) == ret && typeof ret != "object"){
|
799 |
+
ret = parseFloat(ret);
|
800 |
+
}
|
801 |
+
} catch(e){
|
802 |
+
ret = res;
|
803 |
+
}
|
804 |
+
return ret;
|
805 |
+
}
|
806 |
+
};
|
807 |
+
})(InboundAnalytics || {});
|
808 |
+
|
809 |
+
|
810 |
+
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
811 |
+
function setGlobalLeadVar(retString){
|
812 |
+
Lead_Globals = retString;
|
813 |
+
}
|
814 |
+
|
815 |
+
InboundAnalytics.init(); // run analytics
|
816 |
+
|
817 |
+
/* run on ready */
|
818 |
+
jQuery(document).ready(function($) {
|
819 |
+
//record non conversion status
|
820 |
+
var in_u = InboundAnalytics.Utils,
|
821 |
+
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
822 |
+
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
823 |
+
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
824 |
+
|
825 |
+
if (expire_check === null) {
|
826 |
+
console.log('expired vistor. Run Processes');
|
827 |
+
//var data_to_lookup = global-localized-vars;
|
828 |
+
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
829 |
+
/* Get Lead_Globals */
|
830 |
+
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
831 |
+
/* Lead list check */
|
832 |
+
InboundAnalytics.LeadsAPI.getLeadLists();
|
833 |
+
}
|
834 |
+
}
|
835 |
+
|
836 |
+
/* Set Session Timeout */
|
837 |
+
InboundAnalytics.Utils.SetSessionTimeout();
|
838 |
+
|
839 |
});
|
shared/assets/frontend/js/store.lead.ajax.js
CHANGED
@@ -1,711 +1,711 @@
|
|
1 |
-
|
2 |
-
var inbound_data = inbound_data || {};
|
3 |
-
// Ensure global _gaq Google Analytics queue has been initialized.
|
4 |
-
var _gaq = _gaq || [];
|
5 |
-
|
6 |
-
function add_inbound_form_class(el, value) {
|
7 |
-
//var value = value.replace(" ", "_");
|
8 |
-
//var value = value.replace("-", "_");
|
9 |
-
//el.addClass('inbound_map_value');
|
10 |
-
//el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
11 |
-
}
|
12 |
-
// http://clubmate.fi/setting-and-reading-cookies-with-javascript/
|
13 |
-
function createCookie(name, value, days) {
|
14 |
-
var expires;
|
15 |
-
if (days) {
|
16 |
-
var date = new Date();
|
17 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
18 |
-
expires = "; expires="+date.toGMTString();
|
19 |
-
}
|
20 |
-
else {
|
21 |
-
expires = "";
|
22 |
-
}
|
23 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
24 |
-
}
|
25 |
-
// Read cookie
|
26 |
-
function readCookie(name) {
|
27 |
-
var nameEQ = name + "=";
|
28 |
-
var ca = document.cookie.split(';');
|
29 |
-
for(var i=0;i < ca.length;i++) {
|
30 |
-
var c = ca[i];
|
31 |
-
while (c.charAt(0) === ' ') {
|
32 |
-
c = c.substring(1,c.length);
|
33 |
-
}
|
34 |
-
if (c.indexOf(nameEQ) === 0) {
|
35 |
-
return c.substring(nameEQ.length,c.length);
|
36 |
-
}
|
37 |
-
}
|
38 |
-
return null;
|
39 |
-
}
|
40 |
-
// Erase cookie
|
41 |
-
function eraseCookie(name) {
|
42 |
-
createCookie(name,"",-1);
|
43 |
-
}
|
44 |
-
|
45 |
-
/* Count number of session visits */
|
46 |
-
function countProperties(obj) {
|
47 |
-
var count = 0;
|
48 |
-
for(var prop in obj) {
|
49 |
-
if(obj.hasOwnProperty(prop))
|
50 |
-
++count;
|
51 |
-
}
|
52 |
-
return count;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
function get_inbound_form_value(el) {
|
57 |
-
var value = el.value;
|
58 |
-
return value;
|
59 |
-
}
|
60 |
-
|
61 |
-
|
62 |
-
// Build Form Object
|
63 |
-
function inbound_map_fields(el, value, Obj) {
|
64 |
-
var formObj = [];
|
65 |
-
var $this = el;
|
66 |
-
var clean_output = value;
|
67 |
-
var label = $this.closest('label').text();
|
68 |
-
var exclude = ['credit-card']; // exlcude values from formObj
|
69 |
-
var inarray = jQuery.inArray(clean_output, exclude);
|
70 |
-
if(inarray == 0){
|
71 |
-
return null;
|
72 |
-
}
|
73 |
-
// Add items to formObj
|
74 |
-
formObj.push({
|
75 |
-
field_label: label,
|
76 |
-
field_name: $this.attr("name"),
|
77 |
-
field_value: $this.attr("value"),
|
78 |
-
field_id: $this.attr("id"),
|
79 |
-
field_class: $this.attr("class"),
|
80 |
-
field_type: $this.attr("type"),
|
81 |
-
match: clean_output,
|
82 |
-
js_selector: $this.attr("data-js-selector")
|
83 |
-
});
|
84 |
-
return formObj;
|
85 |
-
}
|
86 |
-
|
87 |
-
// Trim Whitespace
|
88 |
-
function trim(s) {
|
89 |
-
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
90 |
-
s = s.replace(/[ ]{2,}/gi," ");
|
91 |
-
s = s.replace(/\n /,"\n"); return s;
|
92 |
-
}
|
93 |
-
|
94 |
-
function inbound_ga_log_event(category, action, label) {
|
95 |
-
_gaq.push(['_trackEvent', category, action, label]);
|
96 |
-
}
|
97 |
-
|
98 |
-
// Run Form Mapper
|
99 |
-
// TODO check for already processesed fields via in_object_already
|
100 |
-
// check on the dupe value
|
101 |
-
function run_field_map_function(el, lookingfor) {
|
102 |
-
var return_form;
|
103 |
-
var formObj = new Array();
|
104 |
-
var $this = el;
|
105 |
-
var body = jQuery("body");
|
106 |
-
var input_id = $this.attr("id") || "NULL";
|
107 |
-
var input_name = $this.attr("name") || "NULL";
|
108 |
-
var this_val = $this.attr("value");
|
109 |
-
var array = lookingfor.split(",");
|
110 |
-
var array_length = array.length - 1;
|
111 |
-
|
112 |
-
// Main Loop
|
113 |
-
for (var i = 0; i < array.length; i++) {
|
114 |
-
var clean_output = trim(array[i]);
|
115 |
-
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
116 |
-
var nice_name = nice_name.replace(" ",'_');
|
117 |
-
var in_object_already = nice_name in inbound_data;
|
118 |
-
//console.log(clean_output);
|
119 |
-
|
120 |
-
// Look for attr name match
|
121 |
-
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
122 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
123 |
-
add_inbound_form_class($this, clean_output);
|
124 |
-
console.log('match name: ' + clean_output);
|
125 |
-
console.log(nice_name in inbound_data);
|
126 |
-
if (!in_object_already) {
|
127 |
-
inbound_data[nice_name] = this_val;
|
128 |
-
}
|
129 |
-
}
|
130 |
-
// look for id match
|
131 |
-
else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
132 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
133 |
-
add_inbound_form_class($this, clean_output);
|
134 |
-
console.log('match id: ' + clean_output);
|
135 |
-
if (!in_object_already) {
|
136 |
-
inbound_data[nice_name] = this_val;
|
137 |
-
}
|
138 |
-
}
|
139 |
-
// Look for label name match
|
140 |
-
else if ($this.closest('li').children('label').length>0){
|
141 |
-
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
142 |
-
if (closest_label.toLowerCase().indexOf(clean_output)>-1)
|
143 |
-
{
|
144 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
145 |
-
add_inbound_form_class($this, clean_output);
|
146 |
-
console.log($this.context);
|
147 |
-
|
148 |
-
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
149 |
-
console.log(exists_in_dom);
|
150 |
-
console.log('match li: ' + clean_output);
|
151 |
-
if (!in_object_already) {
|
152 |
-
inbound_data[nice_name] = this_val;
|
153 |
-
}
|
154 |
-
|
155 |
-
}
|
156 |
-
}
|
157 |
-
// Look for closest div label name match
|
158 |
-
else if ($this.closest('div').children('label').length>0) {
|
159 |
-
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
160 |
-
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
161 |
-
{
|
162 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
163 |
-
add_inbound_form_class($this, clean_output);
|
164 |
-
console.log('match div: ' + clean_output);
|
165 |
-
if (!in_object_already) {
|
166 |
-
inbound_data[nice_name] = this_val;
|
167 |
-
}
|
168 |
-
}
|
169 |
-
}
|
170 |
-
// Look for closest p label name match
|
171 |
-
else if ($this.closest('p').children('label').length>0) {
|
172 |
-
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
173 |
-
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
174 |
-
{
|
175 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
176 |
-
add_inbound_form_class($this, clean_output);
|
177 |
-
console.log('match p: ' + clean_output);
|
178 |
-
if (!in_object_already) {
|
179 |
-
inbound_data[nice_name] = this_val;
|
180 |
-
}
|
181 |
-
}
|
182 |
-
} else {
|
183 |
-
console.log('Need additional mapping data');
|
184 |
-
}
|
185 |
-
}
|
186 |
-
return_form = the_map;
|
187 |
-
|
188 |
-
return inbound_data;
|
189 |
-
}
|
190 |
-
|
191 |
-
function return_mapped_values(this_form) {
|
192 |
-
// Map form fields
|
193 |
-
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
194 |
-
console.log('run');
|
195 |
-
var this_input = jQuery(this);
|
196 |
-
var this_input_val = this_input.val();
|
197 |
-
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
198 |
-
var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
199 |
-
}
|
200 |
-
return inbound_data;
|
201 |
-
});
|
202 |
-
return inbound_data;
|
203 |
-
}
|
204 |
-
|
205 |
-
function merge_form_options(obj1,obj2){
|
206 |
-
var obj3 = {};
|
207 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
208 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
209 |
-
return obj3;
|
210 |
-
}
|
211 |
-
|
212 |
-
function release_form_sub(this_form, element_type, form_type){
|
213 |
-
form_type = typeof form_type !== 'undefined' ? form_type : "normal";
|
214 |
-
jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
|
215 |
-
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
216 |
-
if (element_type=='FORM') {
|
217 |
-
this_form.unbind('submit');
|
218 |
-
this_form.submit();
|
219 |
-
|
220 |
-
/* fallback if submit name="submit" */
|
221 |
-
setTimeout(function() {
|
222 |
-
var inputs = jQuery(this_form).find('input');
|
223 |
-
jQuery(inputs).each(function(){
|
224 |
-
var type = jQuery(this).attr('type');
|
225 |
-
if (type === "submit") {
|
226 |
-
jQuery(this).click();
|
227 |
-
}
|
228 |
-
});
|
229 |
-
}, 1000);
|
230 |
-
|
231 |
-
if (form_type === "comment"){
|
232 |
-
console.log("RELEASE ME");
|
233 |
-
setTimeout(function() {
|
234 |
-
jQuery(".wpl-comment-form").find('[type="submit"]').click();
|
235 |
-
}, 100);
|
236 |
-
}
|
237 |
-
}
|
238 |
-
|
239 |
-
if (element_type=='A') {
|
240 |
-
this_form.unbind('wpl-track-me');
|
241 |
-
var link = this_form.attr('href');
|
242 |
-
if (link) {
|
243 |
-
window.location = link;
|
244 |
-
} else {
|
245 |
-
location.reload();
|
246 |
-
}
|
247 |
-
}
|
248 |
-
}
|
249 |
-
|
250 |
-
function set_lead_fallback(data){
|
251 |
-
jQuery.totalStorage('failed_conversion', data); // store failed data
|
252 |
-
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
253 |
-
console.log('Set backup lead storage');
|
254 |
-
}
|
255 |
-
|
256 |
-
/* Check form type */
|
257 |
-
function inbound_form_type(this_form) {
|
258 |
-
var inbound_data = inbound_data || {},
|
259 |
-
form_type = 'normal';
|
260 |
-
if ( this_form.is( ".wpl-comment-form" ) ) {
|
261 |
-
inbound_data['form_type'] = 'comment';
|
262 |
-
form_type = 'comment';
|
263 |
-
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
264 |
-
var is_search = true;
|
265 |
-
form_type = 'search';
|
266 |
-
inbound_data['form_type'] = 'search';
|
267 |
-
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
268 |
-
var have_email = readCookie('wp_lead_email');
|
269 |
-
console.log(have_email);
|
270 |
-
inbound_data['form_type'] = 'link';
|
271 |
-
form_type = 'search';
|
272 |
-
}
|
273 |
-
return form_type;
|
274 |
-
}
|
275 |
-
|
276 |
-
function grab_all_form_input_vals(this_form){
|
277 |
-
var post_values = post_values || {},
|
278 |
-
inbound_exclude = inbound_exclude || [],
|
279 |
-
form_inputs = this_form.find('input,textarea,select');
|
280 |
-
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
281 |
-
var form_type = inbound_form_type(this_form),
|
282 |
-
inbound_data = inbound_data || {},
|
283 |
-
email = inbound_data['email'] || false;
|
284 |
-
|
285 |
-
form_inputs.each(function() {
|
286 |
-
var $input = jQuery(this),
|
287 |
-
input_type = $input.attr('type'),
|
288 |
-
input_val = $input.val();
|
289 |
-
if (input_type === 'checkbox') {
|
290 |
-
input_checked = $input.attr("checked");
|
291 |
-
console.log(input_val);
|
292 |
-
console.log(input_checked);
|
293 |
-
console.log(post_values[this.name]);
|
294 |
-
if (input_checked === "checked"){
|
295 |
-
if (typeof (post_values[this.name]) != "undefined") {
|
296 |
-
post_values[this.name] = post_values[this.name] + "," + input_val;
|
297 |
-
console.log(post_values[this.name]);
|
298 |
-
} else {
|
299 |
-
post_values[this.name] = input_val;
|
300 |
-
}
|
301 |
-
|
302 |
-
}
|
303 |
-
}
|
304 |
-
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
305 |
-
post_values[this.name] = input_val;
|
306 |
-
}
|
307 |
-
if (this.value.indexOf('@')>-1&&!email){
|
308 |
-
email = input_val;
|
309 |
-
inbound_data['email'] = email;
|
310 |
-
}
|
311 |
-
if (form_type === 'search') {
|
312 |
-
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
313 |
-
}
|
314 |
-
});
|
315 |
-
var all_form_fields = JSON.stringify(post_values);
|
316 |
-
return all_form_fields;
|
317 |
-
}
|
318 |
-
|
319 |
-
function inbound_form_submit(this_form, e) {
|
320 |
-
/* Define Variables */
|
321 |
-
var inbound_data = inbound_data || {};
|
322 |
-
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
323 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
324 |
-
inbound_data['page_view_count'] = countProperties(pageviewObj);
|
325 |
-
inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
326 |
-
inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
327 |
-
inbound_data['page_id'] = inbound_ajax.post_id;
|
328 |
-
inbound_data['page_views'] = JSON.stringify(pageviewObj);
|
329 |
-
|
330 |
-
// Map form fields
|
331 |
-
var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
|
332 |
-
var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
|
333 |
-
|
334 |
-
// Set variables after mapping
|
335 |
-
inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
|
336 |
-
inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
337 |
-
inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
338 |
-
inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
|
339 |
-
inbound_data['last_name'] = inbound_data['last_name'] || '';
|
340 |
-
inbound_data['phone'] = inbound_data['phone'] || '';
|
341 |
-
inbound_data['company'] = inbound_data['company'] || '';
|
342 |
-
inbound_data['address'] = inbound_data['address'] || '';
|
343 |
-
|
344 |
-
// Fallbacks for values
|
345 |
-
inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
|
346 |
-
|
347 |
-
if (!inbound_data['last_name'] && inbound_data['first_name']) {
|
348 |
-
var parts = inbound_data['first_name'].split(" ");
|
349 |
-
inbound_data['first_name'] = parts[0];
|
350 |
-
inbound_data['last_name'] = parts[1];
|
351 |
-
}
|
352 |
-
|
353 |
-
/* Store form fields & exclude field values */
|
354 |
-
var all_form_fields = grab_all_form_input_vals(this_form);
|
355 |
-
/* end Store form fields & exclude field values */
|
356 |
-
|
357 |
-
if(inbound_data['email']){
|
358 |
-
createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
|
359 |
-
}
|
360 |
-
|
361 |
-
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
362 |
-
|
363 |
-
if (typeof (landing_path_info) != "undefined") {
|
364 |
-
var variation = landing_path_info.variation;
|
365 |
-
} else if (typeof (cta_path_info) != "undefined") {
|
366 |
-
var variation = cta_path_info.variation;
|
367 |
-
} else {
|
368 |
-
var variation = 0;
|
369 |
-
}
|
370 |
-
|
371 |
-
inbound_data['variation'] = variation;
|
372 |
-
inbound_data['post_type'] = inbound_ajax.post_type;
|
373 |
-
inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
374 |
-
inbound_data['ip_address'] = inbound_ajax.ip_address;
|
375 |
-
inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
376 |
-
|
377 |
-
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
378 |
-
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
379 |
-
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
380 |
-
|
381 |
-
// jsonify inbound_data
|
382 |
-
var mapped_form_data = JSON.stringify(inbound_data);
|
383 |
-
|
384 |
-
var data = {};
|
385 |
-
var data = {
|
386 |
-
"action": 'inbound_store_lead',
|
387 |
-
"emailTo": inbound_data['email'],
|
388 |
-
"first_name": inbound_data['first_name'],
|
389 |
-
"last_name": inbound_data['last_name'],
|
390 |
-
"phone": inbound_data['phone'],
|
391 |
-
"address": inbound_data['address'],
|
392 |
-
"company_name": inbound_data['company'],
|
393 |
-
"page_views": inbound_data['page_views'],
|
394 |
-
"form_input_values": all_form_fields,
|
395 |
-
"Mapped_Data": mapped_form_data,
|
396 |
-
"Search_Data": inbound_data['search_data']
|
397 |
-
}
|
398 |
-
return data;
|
399 |
-
}
|
400 |
-
|
401 |
-
jQuery(document).ready(function($) {
|
402 |
-
|
403 |
-
var cookies = InboundAnalytics.Utils.getAllCookies();
|
404 |
-
var inbound_store = jQuery.totalStorage('inbound_cookies');
|
405 |
-
|
406 |
-
// loop through cookies and assign to inbound_data object
|
407 |
-
if (typeof inbound_store =='object' && inbound_store) {
|
408 |
-
for(var name in inbound_store) {
|
409 |
-
if (name.indexOf('utm')>-1) {
|
410 |
-
inbound_data[name] = cookies[name];
|
411 |
-
//console.log( name + " : " + cookies[name] );
|
412 |
-
}
|
413 |
-
}
|
414 |
-
}
|
415 |
-
|
416 |
-
|
417 |
-
/* Core Inbound Search Tracking Script */
|
418 |
-
jQuery("body").on('submit', '.wpl-search-box', function (e) {
|
419 |
-
var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
|
420 |
-
$this_form = jQuery(this),
|
421 |
-
processed = false;
|
422 |
-
datetime = wplft.track_time;
|
423 |
-
if( $this_form.is(".search-processes") ) {
|
424 |
-
console.log('yep');
|
425 |
-
processed = true;
|
426 |
-
|
427 |
-
}
|
428 |
-
//return false;
|
429 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
430 |
-
e.preventDefault();
|
431 |
-
var has_email = readCookie('wp_lead_email');
|
432 |
-
var search_count = countProperties(inbound_search_data);
|
433 |
-
form_inputs = $this_form.find('input[type=text],input[type=search]');
|
434 |
-
|
435 |
-
form_inputs.each(function(i) {
|
436 |
-
var value = jQuery(this).val().replace('"', "'");
|
437 |
-
inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
|
438 |
-
});
|
439 |
-
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
440 |
-
console.log(JSON.stringify(inbound_search_data));
|
441 |
-
|
442 |
-
// If no data to id the user exit
|
443 |
-
if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
|
444 |
-
|
445 |
-
// store search data and release
|
446 |
-
var data = {};
|
447 |
-
var data = {
|
448 |
-
"action": 'inbound_store_lead_search',
|
449 |
-
"search_data": inbound_search_data,
|
450 |
-
"email": has_email,
|
451 |
-
"date": datetime
|
452 |
-
}
|
453 |
-
|
454 |
-
//return false;
|
455 |
-
jQuery.ajax({
|
456 |
-
type: 'POST',
|
457 |
-
url: inbound_ajax.admin_url,
|
458 |
-
timeout: 10000,
|
459 |
-
data: data,
|
460 |
-
dataType: 'html',
|
461 |
-
success: function(user_id){
|
462 |
-
$this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
|
463 |
-
$this_form.addClass('search-processed');
|
464 |
-
$this_form.removeClass('wpl-search-box');
|
465 |
-
// Unbind form
|
466 |
-
//release_form_sub($this_form, 'FORM', inbound_data['form_type']);
|
467 |
-
|
468 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
469 |
-
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
470 |
-
console.log("search fired");
|
471 |
-
$this_form.unbind('submit');
|
472 |
-
$this_form.submit();
|
473 |
-
},
|
474 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
475 |
-
|
476 |
-
console.log("failwhale fired");
|
477 |
-
$this_form.unbind('submit');
|
478 |
-
$this_form.submit();
|
479 |
-
|
480 |
-
}
|
481 |
-
});
|
482 |
-
} else {
|
483 |
-
$this_form.unbind('submit');
|
484 |
-
$this_form.submit();
|
485 |
-
// storage local storage search history
|
486 |
-
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
487 |
-
}
|
488 |
-
|
489 |
-
|
490 |
-
});
|
491 |
-
|
492 |
-
|
493 |
-
/* Core Inbound Form Tracking Script */
|
494 |
-
jQuery("body").on('submit', '.wpl-track-me', function (e) {
|
495 |
-
var inbound_data = inbound_data || {},
|
496 |
-
this_form = jQuery(this),
|
497 |
-
event_type = e.type,
|
498 |
-
is_search = false,
|
499 |
-
form_type = 'normal',
|
500 |
-
honey_pot = this_form.find('.stop_dirty_subs');
|
501 |
-
if (honey_pot.length > 0 && honey_pot.val() != "") {
|
502 |
-
alert('Get Lost Spam Bot');
|
503 |
-
return false;
|
504 |
-
}
|
505 |
-
|
506 |
-
inbound_data['form_type'] = inbound_form_type(this_form);
|
507 |
-
|
508 |
-
element_type = 'FORM';
|
509 |
-
|
510 |
-
// halt normal form submission
|
511 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
512 |
-
e.preventDefault();
|
513 |
-
|
514 |
-
// Email Validation Check
|
515 |
-
var inbound_form_exists = jQuery("#inbound-form-wrapper").length;
|
516 |
-
var email_validation = jQuery(".inbound-email.invalid-email").length;
|
517 |
-
if (email_validation > 0 && inbound_form_exists > 0) {
|
518 |
-
jQuery(".inbound-email.invalid-email").focus();
|
519 |
-
alert("Please enter a valid email address");
|
520 |
-
return false;
|
521 |
-
}
|
522 |
-
jQuery(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
|
523 |
-
data = inbound_form_submit(this_form, e); // big function for processing
|
524 |
-
|
525 |
-
ajax_fallback = this_form.is('.wpl-ajax-fallback');
|
526 |
-
|
527 |
-
if (ajax_fallback === true) {
|
528 |
-
console.log('true');
|
529 |
-
this_form.removeClass('wpl-track-me'); // release submit
|
530 |
-
set_lead_fallback(data);
|
531 |
-
console.log('ajax conflict stop process');
|
532 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
533 |
-
var ninja = this_form.is('.ninja-forms-form');
|
534 |
-
var cf7 = this_form.is('.wpcf7-form');
|
535 |
-
if (!ninja && !cf7){
|
536 |
-
release_form_sub( this_form , element_type );
|
537 |
-
}
|
538 |
-
return false;
|
539 |
-
}
|
540 |
-
|
541 |
-
var inbound_debug = this_form.is('.inbound-debug');
|
542 |
-
if (inbound_debug) {
|
543 |
-
//console.log("Inbound Form Data:"); console.log(post_form_data);
|
544 |
-
//console.log("Raw Field Data:"); console.log(all_form_fields);
|
545 |
-
console.log("Ajax Data:"); console.log(data);
|
546 |
-
return false;
|
547 |
-
}
|
548 |
-
|
549 |
-
jQuery.ajax({
|
550 |
-
type: 'POST',
|
551 |
-
url: inbound_ajax.admin_url,
|
552 |
-
timeout: 10000,
|
553 |
-
data: data,
|
554 |
-
success: function(user_id){
|
555 |
-
jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
|
556 |
-
createCookie("wp_lead_id", user_id, 365);
|
557 |
-
jQuery.totalStorage('wp_lead_id', user_id);
|
558 |
-
|
559 |
-
inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
|
560 |
-
this_form.removeClass('wpl-track-me');
|
561 |
-
// Unbind form
|
562 |
-
|
563 |
-
release_form_sub(this_form, 'FORM', inbound_data['form_type']);
|
564 |
-
|
565 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
566 |
-
|
567 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
568 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
569 |
-
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
570 |
-
|
571 |
-
},
|
572 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
573 |
-
jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
|
574 |
-
set_lead_fallback(data); // Create fallback localstorage object
|
575 |
-
console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
576 |
-
release_form_sub( this_form , element_type ); // release form
|
577 |
-
|
578 |
-
}
|
579 |
-
});
|
580 |
-
|
581 |
-
});
|
582 |
-
|
583 |
-
|
584 |
-
/* Core Inbound Link Tracking */
|
585 |
-
if ( jQuery('.wpl-track-me-link').length ) {
|
586 |
-
|
587 |
-
jQuery("body").on('click', '.wpl-track-me-link', function (e) {
|
588 |
-
|
589 |
-
this_link = jQuery(this);
|
590 |
-
|
591 |
-
var element_type='A';
|
592 |
-
var a_href = jQuery(this).attr("href");
|
593 |
-
|
594 |
-
// process form only once
|
595 |
-
processed = this_link.hasClass('lead_processed');
|
596 |
-
if (processed === true) {
|
597 |
-
return;
|
598 |
-
}
|
599 |
-
|
600 |
-
form_id = jQuery(this).attr('id');
|
601 |
-
form_class = jQuery(this).attr('class');
|
602 |
-
|
603 |
-
jQuery(this).css('cursor', 'wait');
|
604 |
-
jQuery('body').css('cursor', 'wait');
|
605 |
-
|
606 |
-
|
607 |
-
e.preventDefault(); // halt normal form
|
608 |
-
|
609 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
610 |
-
var page_view_count = countProperties(pageviewObj);
|
611 |
-
//console.log("view count" + page_view_count);
|
612 |
-
|
613 |
-
var wp_lead_uid = jQuery.cookie("wp_lead_uid");
|
614 |
-
var page_views = JSON.stringify(pageviewObj);
|
615 |
-
|
616 |
-
var page_id = inbound_ajax.post_id;
|
617 |
-
if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
|
618 |
-
var lp_variation = landing_path_info.variation;
|
619 |
-
} else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
|
620 |
-
var lp_variation = cta_path_info.variation;
|
621 |
-
} else {
|
622 |
-
var lp_variation = null;
|
623 |
-
}
|
624 |
-
|
625 |
-
jQuery.ajax({
|
626 |
-
type: 'POST',
|
627 |
-
url: inbound_ajax.admin_url,
|
628 |
-
timeout: 10000,
|
629 |
-
data: {
|
630 |
-
action: 'inbound_store_lead',
|
631 |
-
wp_lead_uid: wp_lead_uid,
|
632 |
-
page_views: page_views,
|
633 |
-
post_type: inbound_ajax.post_type,
|
634 |
-
variation: lp_variation,
|
635 |
-
page_id: page_id
|
636 |
-
/* Replace with jquery hook
|
637 |
-
do_action('wpl-lead-collection-add-ajax-data');
|
638 |
-
*/
|
639 |
-
},
|
640 |
-
success: function(data){
|
641 |
-
// Unbind form
|
642 |
-
release_form_sub(this_link, 'A');
|
643 |
-
//this_link.click();
|
644 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
645 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
646 |
-
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
647 |
-
|
648 |
-
return true;
|
649 |
-
},
|
650 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
651 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
|
652 |
-
|
653 |
-
// Create fallback localstorage object
|
654 |
-
var conversionObj = new Array();
|
655 |
-
conversionObj.push({
|
656 |
-
action: 'inbound_store_lead',
|
657 |
-
emailTo: email,
|
658 |
-
first_name: firstname,
|
659 |
-
last_name: lastname,
|
660 |
-
wp_lead_uid: wp_lead_uid,
|
661 |
-
|
662 |
-
page_views: page_views,
|
663 |
-
post_type: inbound_ajax.post_type,
|
664 |
-
variation: lp_variation,
|
665 |
-
// type: 'form-completion',
|
666 |
-
form_input_values : all_form_fields,
|
667 |
-
page_id: page_id
|
668 |
-
});
|
669 |
-
|
670 |
-
jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
|
671 |
-
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
672 |
-
|
673 |
-
// If fail, cookie form data and ajax submit on next page load
|
674 |
-
console.log('ajax fail');
|
675 |
-
release_form_sub( this_link , element_type );
|
676 |
-
|
677 |
-
}
|
678 |
-
});
|
679 |
-
|
680 |
-
});
|
681 |
-
}
|
682 |
-
|
683 |
-
// gform_confirmation_loaded
|
684 |
-
/* Fallback for lead storage if ajax fails */
|
685 |
-
var failed_conversion = jQuery.cookie("failed_conversion");
|
686 |
-
var fallback_obj = jQuery.totalStorage('failed_conversion');
|
687 |
-
|
688 |
-
if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
|
689 |
-
if (typeof fallback_obj == 'object' && fallback_obj) {
|
690 |
-
|
691 |
-
jQuery.ajax({
|
692 |
-
type: 'POST',
|
693 |
-
url: inbound_ajax.admin_url,
|
694 |
-
data: fallback_obj,
|
695 |
-
success: function(user_id){
|
696 |
-
console.log('Fallback fired');
|
697 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
698 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
699 |
-
jQuery.removeCookie("failed_conversion"); // remove failed cookie
|
700 |
-
jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
|
701 |
-
},
|
702 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
703 |
-
//alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
704 |
-
//die();
|
705 |
-
}
|
706 |
-
|
707 |
-
});
|
708 |
-
}
|
709 |
-
}
|
710 |
-
|
711 |
});
|
1 |
+
|
2 |
+
var inbound_data = inbound_data || {};
|
3 |
+
// Ensure global _gaq Google Analytics queue has been initialized.
|
4 |
+
var _gaq = _gaq || [];
|
5 |
+
|
6 |
+
function add_inbound_form_class(el, value) {
|
7 |
+
//var value = value.replace(" ", "_");
|
8 |
+
//var value = value.replace("-", "_");
|
9 |
+
//el.addClass('inbound_map_value');
|
10 |
+
//el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
11 |
+
}
|
12 |
+
// http://clubmate.fi/setting-and-reading-cookies-with-javascript/
|
13 |
+
function createCookie(name, value, days) {
|
14 |
+
var expires;
|
15 |
+
if (days) {
|
16 |
+
var date = new Date();
|
17 |
+
date.setTime(date.getTime()+(days*24*60*60*1000));
|
18 |
+
expires = "; expires="+date.toGMTString();
|
19 |
+
}
|
20 |
+
else {
|
21 |
+
expires = "";
|
22 |
+
}
|
23 |
+
document.cookie = name+"="+value+expires+"; path=/";
|
24 |
+
}
|
25 |
+
// Read cookie
|
26 |
+
function readCookie(name) {
|
27 |
+
var nameEQ = name + "=";
|
28 |
+
var ca = document.cookie.split(';');
|
29 |
+
for(var i=0;i < ca.length;i++) {
|
30 |
+
var c = ca[i];
|
31 |
+
while (c.charAt(0) === ' ') {
|
32 |
+
c = c.substring(1,c.length);
|
33 |
+
}
|
34 |
+
if (c.indexOf(nameEQ) === 0) {
|
35 |
+
return c.substring(nameEQ.length,c.length);
|
36 |
+
}
|
37 |
+
}
|
38 |
+
return null;
|
39 |
+
}
|
40 |
+
// Erase cookie
|
41 |
+
function eraseCookie(name) {
|
42 |
+
createCookie(name,"",-1);
|
43 |
+
}
|
44 |
+
|
45 |
+
/* Count number of session visits */
|
46 |
+
function countProperties(obj) {
|
47 |
+
var count = 0;
|
48 |
+
for(var prop in obj) {
|
49 |
+
if(obj.hasOwnProperty(prop))
|
50 |
+
++count;
|
51 |
+
}
|
52 |
+
return count;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
function get_inbound_form_value(el) {
|
57 |
+
var value = el.value;
|
58 |
+
return value;
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
// Build Form Object
|
63 |
+
function inbound_map_fields(el, value, Obj) {
|
64 |
+
var formObj = [];
|
65 |
+
var $this = el;
|
66 |
+
var clean_output = value;
|
67 |
+
var label = $this.closest('label').text();
|
68 |
+
var exclude = ['credit-card']; // exlcude values from formObj
|
69 |
+
var inarray = jQuery.inArray(clean_output, exclude);
|
70 |
+
if(inarray == 0){
|
71 |
+
return null;
|
72 |
+
}
|
73 |
+
// Add items to formObj
|
74 |
+
formObj.push({
|
75 |
+
field_label: label,
|
76 |
+
field_name: $this.attr("name"),
|
77 |
+
field_value: $this.attr("value"),
|
78 |
+
field_id: $this.attr("id"),
|
79 |
+
field_class: $this.attr("class"),
|
80 |
+
field_type: $this.attr("type"),
|
81 |
+
match: clean_output,
|
82 |
+
js_selector: $this.attr("data-js-selector")
|
83 |
+
});
|
84 |
+
return formObj;
|
85 |
+
}
|
86 |
+
|
87 |
+
// Trim Whitespace
|
88 |
+
function trim(s) {
|
89 |
+
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
90 |
+
s = s.replace(/[ ]{2,}/gi," ");
|
91 |
+
s = s.replace(/\n /,"\n"); return s;
|
92 |
+
}
|
93 |
+
|
94 |
+
function inbound_ga_log_event(category, action, label) {
|
95 |
+
_gaq.push(['_trackEvent', category, action, label]);
|
96 |
+
}
|
97 |
+
|
98 |
+
// Run Form Mapper
|
99 |
+
// TODO check for already processesed fields via in_object_already
|
100 |
+
// check on the dupe value
|
101 |
+
function run_field_map_function(el, lookingfor) {
|
102 |
+
var return_form;
|
103 |
+
var formObj = new Array();
|
104 |
+
var $this = el;
|
105 |
+
var body = jQuery("body");
|
106 |
+
var input_id = $this.attr("id") || "NULL";
|
107 |
+
var input_name = $this.attr("name") || "NULL";
|
108 |
+
var this_val = $this.attr("value");
|
109 |
+
var array = lookingfor.split(",");
|
110 |
+
var array_length = array.length - 1;
|
111 |
+
|
112 |
+
// Main Loop
|
113 |
+
for (var i = 0; i < array.length; i++) {
|
114 |
+
var clean_output = trim(array[i]);
|
115 |
+
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
116 |
+
var nice_name = nice_name.replace(" ",'_');
|
117 |
+
var in_object_already = nice_name in inbound_data;
|
118 |
+
//console.log(clean_output);
|
119 |
+
|
120 |
+
// Look for attr name match
|
121 |
+
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
122 |
+
var the_map = inbound_map_fields($this, clean_output, formObj);
|
123 |
+
add_inbound_form_class($this, clean_output);
|
124 |
+
console.log('match name: ' + clean_output);
|
125 |
+
console.log(nice_name in inbound_data);
|
126 |
+
if (!in_object_already) {
|
127 |
+
inbound_data[nice_name] = this_val;
|
128 |
+
}
|
129 |
+
}
|
130 |
+
// look for id match
|
131 |
+
else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
132 |
+
var the_map = inbound_map_fields($this, clean_output, formObj);
|
133 |
+
add_inbound_form_class($this, clean_output);
|
134 |
+
console.log('match id: ' + clean_output);
|
135 |
+
if (!in_object_already) {
|
136 |
+
inbound_data[nice_name] = this_val;
|
137 |
+
}
|
138 |
+
}
|
139 |
+
// Look for label name match
|
140 |
+
else if ($this.closest('li').children('label').length>0){
|
141 |
+
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
142 |
+
if (closest_label.toLowerCase().indexOf(clean_output)>-1)
|
143 |
+
{
|
144 |
+
var the_map = inbound_map_fields($this, clean_output, formObj);
|
145 |
+
add_inbound_form_class($this, clean_output);
|
146 |
+
console.log($this.context);
|
147 |
+
|
148 |
+
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
149 |
+
console.log(exists_in_dom);
|
150 |
+
console.log('match li: ' + clean_output);
|
151 |
+
if (!in_object_already) {
|
152 |
+
inbound_data[nice_name] = this_val;
|
153 |
+
}
|
154 |
+
|
155 |
+
}
|
156 |
+
}
|
157 |
+
// Look for closest div label name match
|
158 |
+
else if ($this.closest('div').children('label').length>0) {
|
159 |
+
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
160 |
+
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
161 |
+
{
|
162 |
+
var the_map = inbound_map_fields($this, clean_output, formObj);
|
163 |
+
add_inbound_form_class($this, clean_output);
|
164 |
+
console.log('match div: ' + clean_output);
|
165 |
+
if (!in_object_already) {
|
166 |
+
inbound_data[nice_name] = this_val;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
}
|
170 |
+
// Look for closest p label name match
|
171 |
+
else if ($this.closest('p').children('label').length>0) {
|
172 |
+
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
173 |
+
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
174 |
+
{
|
175 |
+
var the_map = inbound_map_fields($this, clean_output, formObj);
|
176 |
+
add_inbound_form_class($this, clean_output);
|
177 |
+
console.log('match p: ' + clean_output);
|
178 |
+
if (!in_object_already) {
|
179 |
+
inbound_data[nice_name] = this_val;
|
180 |
+
}
|
181 |
+
}
|
182 |
+
} else {
|
183 |
+
console.log('Need additional mapping data');
|
184 |
+
}
|
185 |
+
}
|
186 |
+
return_form = the_map;
|
187 |
+
|
188 |
+
return inbound_data;
|
189 |
+
}
|
190 |
+
|
191 |
+
function return_mapped_values(this_form) {
|
192 |
+
// Map form fields
|
193 |
+
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
194 |
+
console.log('run');
|
195 |
+
var this_input = jQuery(this);
|
196 |
+
var this_input_val = this_input.val();
|
197 |
+
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
198 |
+
var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
199 |
+
}
|
200 |
+
return inbound_data;
|
201 |
+
});
|
202 |
+
return inbound_data;
|
203 |
+
}
|
204 |
+
|
205 |
+
function merge_form_options(obj1,obj2){
|
206 |
+
var obj3 = {};
|
207 |
+
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
208 |
+
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
209 |
+
return obj3;
|
210 |
+
}
|
211 |
+
|
212 |
+
function release_form_sub(this_form, element_type, form_type){
|
213 |
+
form_type = typeof form_type !== 'undefined' ? form_type : "normal";
|
214 |
+
jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
|
215 |
+
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
216 |
+
if (element_type=='FORM') {
|
217 |
+
this_form.unbind('submit');
|
218 |
+
this_form.submit();
|
219 |
+
|
220 |
+
/* fallback if submit name="submit" */
|
221 |
+
setTimeout(function() {
|
222 |
+
var inputs = jQuery(this_form).find('input');
|
223 |
+
jQuery(inputs).each(function(){
|
224 |
+
var type = jQuery(this).attr('type');
|
225 |
+
if (type === "submit") {
|
226 |
+
jQuery(this).click();
|
227 |
+
}
|
228 |
+
});
|
229 |
+
}, 1000);
|
230 |
+
|
231 |
+
if (form_type === "comment"){
|
232 |
+
console.log("RELEASE ME");
|
233 |
+
setTimeout(function() {
|
234 |
+
jQuery(".wpl-comment-form").find('[type="submit"]').click();
|
235 |
+
}, 100);
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
if (element_type=='A') {
|
240 |
+
this_form.unbind('wpl-track-me');
|
241 |
+
var link = this_form.attr('href');
|
242 |
+
if (link) {
|
243 |
+
window.location = link;
|
244 |
+
} else {
|
245 |
+
location.reload();
|
246 |
+
}
|
247 |
+
}
|
248 |
+
}
|
249 |
+
|
250 |
+
function set_lead_fallback(data){
|
251 |
+
jQuery.totalStorage('failed_conversion', data); // store failed data
|
252 |
+
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
253 |
+
console.log('Set backup lead storage');
|
254 |
+
}
|
255 |
+
|
256 |
+
/* Check form type */
|
257 |
+
function inbound_form_type(this_form) {
|
258 |
+
var inbound_data = inbound_data || {},
|
259 |
+
form_type = 'normal';
|
260 |
+
if ( this_form.is( ".wpl-comment-form" ) ) {
|
261 |
+
inbound_data['form_type'] = 'comment';
|
262 |
+
form_type = 'comment';
|
263 |
+
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
264 |
+
var is_search = true;
|
265 |
+
form_type = 'search';
|
266 |
+
inbound_data['form_type'] = 'search';
|
267 |
+
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
268 |
+
var have_email = readCookie('wp_lead_email');
|
269 |
+
console.log(have_email);
|
270 |
+
inbound_data['form_type'] = 'link';
|
271 |
+
form_type = 'search';
|
272 |
+
}
|
273 |
+
return form_type;
|
274 |
+
}
|
275 |
+
|
276 |
+
function grab_all_form_input_vals(this_form){
|
277 |
+
var post_values = post_values || {},
|
278 |
+
inbound_exclude = inbound_exclude || [],
|
279 |
+
form_inputs = this_form.find('input,textarea,select');
|
280 |
+
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
281 |
+
var form_type = inbound_form_type(this_form),
|
282 |
+
inbound_data = inbound_data || {},
|
283 |
+
email = inbound_data['email'] || false;
|
284 |
+
|
285 |
+
form_inputs.each(function() {
|
286 |
+
var $input = jQuery(this),
|
287 |
+
input_type = $input.attr('type'),
|
288 |
+
input_val = $input.val();
|
289 |
+
if (input_type === 'checkbox') {
|
290 |
+
input_checked = $input.attr("checked");
|
291 |
+
console.log(input_val);
|
292 |
+
console.log(input_checked);
|
293 |
+
console.log(post_values[this.name]);
|
294 |
+
if (input_checked === "checked"){
|
295 |
+
if (typeof (post_values[this.name]) != "undefined") {
|
296 |
+
post_values[this.name] = post_values[this.name] + "," + input_val;
|
297 |
+
console.log(post_values[this.name]);
|
298 |
+
} else {
|
299 |
+
post_values[this.name] = input_val;
|
300 |
+
}
|
301 |
+
|
302 |
+
}
|
303 |
+
}
|
304 |
+
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
305 |
+
post_values[this.name] = input_val;
|
306 |
+
}
|
307 |
+
if (this.value.indexOf('@')>-1&&!email){
|
308 |
+
email = input_val;
|
309 |
+
inbound_data['email'] = email;
|
310 |
+
}
|
311 |
+
if (form_type === 'search') {
|
312 |
+
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
313 |
+
}
|
314 |
+
});
|
315 |
+
var all_form_fields = JSON.stringify(post_values);
|
316 |
+
return all_form_fields;
|
317 |
+
}
|
318 |
+
|
319 |
+
function inbound_form_submit(this_form, e) {
|
320 |
+
/* Define Variables */
|
321 |
+
var inbound_data = inbound_data || {};
|
322 |
+
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
323 |
+
var pageviewObj = jQuery.totalStorage('page_views');
|
324 |
+
inbound_data['page_view_count'] = countProperties(pageviewObj);
|
325 |
+
inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
326 |
+
inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
327 |
+
inbound_data['page_id'] = inbound_ajax.post_id;
|
328 |
+
inbound_data['page_views'] = JSON.stringify(pageviewObj);
|
329 |
+
|
330 |
+
// Map form fields
|
331 |
+
var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
|
332 |
+
var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
|
333 |
+
|
334 |
+
// Set variables after mapping
|
335 |
+
inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
|
336 |
+
inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
337 |
+
inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
338 |
+
inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
|
339 |
+
inbound_data['last_name'] = inbound_data['last_name'] || '';
|
340 |
+
inbound_data['phone'] = inbound_data['phone'] || '';
|
341 |
+
inbound_data['company'] = inbound_data['company'] || '';
|
342 |
+
inbound_data['address'] = inbound_data['address'] || '';
|
343 |
+
|
344 |
+
// Fallbacks for values
|
345 |
+
inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
|
346 |
+
|
347 |
+
if (!inbound_data['last_name'] && inbound_data['first_name']) {
|
348 |
+
var parts = inbound_data['first_name'].split(" ");
|
349 |
+
inbound_data['first_name'] = parts[0];
|
350 |
+
inbound_data['last_name'] = parts[1];
|
351 |
+
}
|
352 |
+
|
353 |
+
/* Store form fields & exclude field values */
|
354 |
+
var all_form_fields = grab_all_form_input_vals(this_form);
|
355 |
+
/* end Store form fields & exclude field values */
|
356 |
+
|
357 |
+
if(inbound_data['email']){
|
358 |
+
createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
|
359 |
+
}
|
360 |
+
|
361 |
+
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
362 |
+
|
363 |
+
if (typeof (landing_path_info) != "undefined") {
|
364 |
+
var variation = landing_path_info.variation;
|
365 |
+
} else if (typeof (cta_path_info) != "undefined") {
|
366 |
+
var variation = cta_path_info.variation;
|
367 |
+
} else {
|
368 |
+
var variation = 0;
|
369 |
+
}
|
370 |
+
|
371 |
+
inbound_data['variation'] = variation;
|
372 |
+
inbound_data['post_type'] = inbound_ajax.post_type;
|
373 |
+
inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
374 |
+
inbound_data['ip_address'] = inbound_ajax.ip_address;
|
375 |
+
inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
376 |
+
|
377 |
+
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
378 |
+
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
379 |
+
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
380 |
+
|
381 |
+
// jsonify inbound_data
|
382 |
+
var mapped_form_data = JSON.stringify(inbound_data);
|
383 |
+
|
384 |
+
var data = {};
|
385 |
+
var data = {
|
386 |
+
"action": 'inbound_store_lead',
|
387 |
+
"emailTo": inbound_data['email'],
|
388 |
+
"first_name": inbound_data['first_name'],
|
389 |
+
"last_name": inbound_data['last_name'],
|
390 |
+
"phone": inbound_data['phone'],
|
391 |
+
"address": inbound_data['address'],
|
392 |
+
"company_name": inbound_data['company'],
|
393 |
+
"page_views": inbound_data['page_views'],
|
394 |
+
"form_input_values": all_form_fields,
|
395 |
+
"Mapped_Data": mapped_form_data,
|
396 |
+
"Search_Data": inbound_data['search_data']
|
397 |
+
}
|
398 |
+
return data;
|
399 |
+
}
|
400 |
+
|
401 |
+
jQuery(document).ready(function($) {
|
402 |
+
|
403 |
+
var cookies = InboundAnalytics.Utils.getAllCookies();
|
404 |
+
var inbound_store = jQuery.totalStorage('inbound_cookies');
|
405 |
+
|
406 |
+
// loop through cookies and assign to inbound_data object
|
407 |
+
if (typeof inbound_store =='object' && inbound_store) {
|
408 |
+
for(var name in inbound_store) {
|
409 |
+
if (name.indexOf('utm')>-1) {
|
410 |
+
inbound_data[name] = cookies[name];
|
411 |
+
//console.log( name + " : " + cookies[name] );
|
412 |
+
}
|
413 |
+
}
|
414 |
+
}
|
415 |
+
|
416 |
+
|
417 |
+
/* Core Inbound Search Tracking Script */
|
418 |
+
jQuery("body").on('submit', '.wpl-search-box', function (e) {
|
419 |
+
var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
|
420 |
+
$this_form = jQuery(this),
|
421 |
+
processed = false;
|
422 |
+
datetime = wplft.track_time;
|
423 |
+
if( $this_form.is(".search-processes") ) {
|
424 |
+
console.log('yep');
|
425 |
+
processed = true;
|
426 |
+
|
427 |
+
}
|
428 |
+
//return false;
|
429 |
+
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
430 |
+
e.preventDefault();
|
431 |
+
var has_email = readCookie('wp_lead_email');
|
432 |
+
var search_count = countProperties(inbound_search_data);
|
433 |
+
form_inputs = $this_form.find('input[type=text],input[type=search]');
|
434 |
+
|
435 |
+
form_inputs.each(function(i) {
|
436 |
+
var value = jQuery(this).val().replace('"', "'");
|
437 |
+
inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
|
438 |
+
});
|
439 |
+
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
440 |
+
console.log(JSON.stringify(inbound_search_data));
|
441 |
+
|
442 |
+
// If no data to id the user exit
|
443 |
+
if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
|
444 |
+
|
445 |
+
// store search data and release
|
446 |
+
var data = {};
|
447 |
+
var data = {
|
448 |
+
"action": 'inbound_store_lead_search',
|
449 |
+
"search_data": inbound_search_data,
|
450 |
+
"email": has_email,
|
451 |
+
"date": datetime
|
452 |
+
}
|
453 |
+
|
454 |
+
//return false;
|
455 |
+
jQuery.ajax({
|
456 |
+
type: 'POST',
|
457 |
+
url: inbound_ajax.admin_url,
|
458 |
+
timeout: 10000,
|
459 |
+
data: data,
|
460 |
+
dataType: 'html',
|
461 |
+
success: function(user_id){
|
462 |
+
$this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
|
463 |
+
$this_form.addClass('search-processed');
|
464 |
+
$this_form.removeClass('wpl-search-box');
|
465 |
+
// Unbind form
|
466 |
+
//release_form_sub($this_form, 'FORM', inbound_data['form_type']);
|
467 |
+
|
468 |
+
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
469 |
+
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
470 |
+
console.log("search fired");
|
471 |
+
$this_form.unbind('submit');
|
472 |
+
$this_form.submit();
|
473 |
+
},
|
474 |
+
error: function(MLHttpRequest, textStatus, errorThrown){
|
475 |
+
|
476 |
+
console.log("failwhale fired");
|
477 |
+
$this_form.unbind('submit');
|
478 |
+
$this_form.submit();
|
479 |
+
|
480 |
+
}
|
481 |
+
});
|
482 |
+
} else {
|
483 |
+
$this_form.unbind('submit');
|
484 |
+
$this_form.submit();
|
485 |
+
// storage local storage search history
|
486 |
+
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
487 |
+
}
|
488 |
+
|
489 |
+
|
490 |
+
});
|
491 |
+
|
492 |
+
|
493 |
+
/* Core Inbound Form Tracking Script */
|
494 |
+
jQuery("body").on('submit', '.wpl-track-me', function (e) {
|
495 |
+
var inbound_data = inbound_data || {},
|
496 |
+
this_form = jQuery(this),
|
497 |
+
event_type = e.type,
|
498 |
+
is_search = false,
|
499 |
+
form_type = 'normal',
|
500 |
+
honey_pot = this_form.find('.stop_dirty_subs');
|
501 |
+
if (honey_pot.length > 0 && honey_pot.val() != "") {
|
502 |
+
alert('Get Lost Spam Bot');
|
503 |
+
return false;
|
504 |
+
}
|
505 |
+
|
506 |
+
inbound_data['form_type'] = inbound_form_type(this_form);
|
507 |
+
|
508 |
+
element_type = 'FORM';
|
509 |
+
|
510 |
+
// halt normal form submission
|
511 |
+
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
512 |
+
e.preventDefault();
|
513 |
+
|
514 |
+
// Email Validation Check
|
515 |
+
var inbound_form_exists = jQuery("#inbound-form-wrapper").length;
|
516 |
+
var email_validation = jQuery(".inbound-email.invalid-email").length;
|
517 |
+
if (email_validation > 0 && inbound_form_exists > 0) {
|
518 |
+
jQuery(".inbound-email.invalid-email").focus();
|
519 |
+
alert("Please enter a valid email address");
|
520 |
+
return false;
|
521 |
+
}
|
522 |
+
jQuery(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
|
523 |
+
data = inbound_form_submit(this_form, e); // big function for processing
|
524 |
+
|
525 |
+
ajax_fallback = this_form.is('.wpl-ajax-fallback');
|
526 |
+
|
527 |
+
if (ajax_fallback === true) {
|
528 |
+
console.log('true');
|
529 |
+
this_form.removeClass('wpl-track-me'); // release submit
|
530 |
+
set_lead_fallback(data);
|
531 |
+
console.log('ajax conflict stop process');
|
532 |
+
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
533 |
+
var ninja = this_form.is('.ninja-forms-form');
|
534 |
+
var cf7 = this_form.is('.wpcf7-form');
|
535 |
+
if (!ninja && !cf7){
|
536 |
+
release_form_sub( this_form , element_type );
|
537 |
+
}
|
538 |
+
return false;
|
539 |
+
}
|
540 |
+
|
541 |
+
var inbound_debug = this_form.is('.inbound-debug');
|
542 |
+
if (inbound_debug) {
|
543 |
+
//console.log("Inbound Form Data:"); console.log(post_form_data);
|
544 |
+
//console.log("Raw Field Data:"); console.log(all_form_fields);
|
545 |
+
console.log("Ajax Data:"); console.log(data);
|
546 |
+
return false;
|
547 |
+
}
|
548 |
+
|
549 |
+
jQuery.ajax({
|
550 |
+
type: 'POST',
|
551 |
+
url: inbound_ajax.admin_url,
|
552 |
+
timeout: 10000,
|
553 |
+
data: data,
|
554 |
+
success: function(user_id){
|
555 |
+
jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
|
556 |
+
createCookie("wp_lead_id", user_id, 365);
|
557 |
+
jQuery.totalStorage('wp_lead_id', user_id);
|
558 |
+
|
559 |
+
inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
|
560 |
+
this_form.removeClass('wpl-track-me');
|
561 |
+
// Unbind form
|
562 |
+
|
563 |
+
release_form_sub(this_form, 'FORM', inbound_data['form_type']);
|
564 |
+
|
565 |
+
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
566 |
+
|
567 |
+
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
568 |
+
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
569 |
+
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
570 |
+
|
571 |
+
},
|
572 |
+
error: function(MLHttpRequest, textStatus, errorThrown){
|
573 |
+
jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
|
574 |
+
set_lead_fallback(data); // Create fallback localstorage object
|
575 |
+
console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
576 |
+
release_form_sub( this_form , element_type ); // release form
|
577 |
+
|
578 |
+
}
|
579 |
+
});
|
580 |
+
|
581 |
+
});
|
582 |
+
|
583 |
+
|
584 |
+
/* Core Inbound Link Tracking */
|
585 |
+
if ( jQuery('.wpl-track-me-link').length ) {
|
586 |
+
|
587 |
+
jQuery("body").on('click', '.wpl-track-me-link', function (e) {
|
588 |
+
|
589 |
+
this_link = jQuery(this);
|
590 |
+
|
591 |
+
var element_type='A';
|
592 |
+
var a_href = jQuery(this).attr("href");
|
593 |
+
|
594 |
+
// process form only once
|
595 |
+
processed = this_link.hasClass('lead_processed');
|
596 |
+
if (processed === true) {
|
597 |
+
return;
|
598 |
+
}
|
599 |
+
|
600 |
+
form_id = jQuery(this).attr('id');
|
601 |
+
form_class = jQuery(this).attr('class');
|
602 |
+
|
603 |
+
jQuery(this).css('cursor', 'wait');
|
604 |
+
jQuery('body').css('cursor', 'wait');
|
605 |
+
|
606 |
+
|
607 |
+
e.preventDefault(); // halt normal form
|
608 |
+
|
609 |
+
var pageviewObj = jQuery.totalStorage('page_views');
|
610 |
+
var page_view_count = countProperties(pageviewObj);
|
611 |
+
//console.log("view count" + page_view_count);
|
612 |
+
|
613 |
+
var wp_lead_uid = jQuery.cookie("wp_lead_uid");
|
614 |
+
var page_views = JSON.stringify(pageviewObj);
|
615 |
+
|
616 |
+
var page_id = inbound_ajax.post_id;
|
617 |
+
if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
|
618 |
+
var lp_variation = landing_path_info.variation;
|
619 |
+
} else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
|
620 |
+
var lp_variation = cta_path_info.variation;
|
621 |
+
} else {
|
622 |
+
var lp_variation = null;
|
623 |
+
}
|
624 |
+
|
625 |
+
jQuery.ajax({
|
626 |
+
type: 'POST',
|
627 |
+
url: inbound_ajax.admin_url,
|
628 |
+
timeout: 10000,
|
629 |
+
data: {
|
630 |
+
action: 'inbound_store_lead',
|
631 |
+
wp_lead_uid: wp_lead_uid,
|
632 |
+
page_views: page_views,
|
633 |
+
post_type: inbound_ajax.post_type,
|
634 |
+
variation: lp_variation,
|
635 |
+
page_id: page_id
|
636 |
+
/* Replace with jquery hook
|
637 |
+
do_action('wpl-lead-collection-add-ajax-data');
|
638 |
+
*/
|
639 |
+
},
|
640 |
+
success: function(data){
|
641 |
+
// Unbind form
|
642 |
+
release_form_sub(this_link, 'A');
|
643 |
+
//this_link.click();
|
644 |
+
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
645 |
+
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
646 |
+
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
647 |
+
|
648 |
+
return true;
|
649 |
+
},
|
650 |
+
error: function(MLHttpRequest, textStatus, errorThrown){
|
651 |
+
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
|
652 |
+
|
653 |
+
// Create fallback localstorage object
|
654 |
+
var conversionObj = new Array();
|
655 |
+
conversionObj.push({
|
656 |
+
action: 'inbound_store_lead',
|
657 |
+
emailTo: email,
|
658 |
+
first_name: firstname,
|
659 |
+
last_name: lastname,
|
660 |
+
wp_lead_uid: wp_lead_uid,
|
661 |
+
|
662 |
+
page_views: page_views,
|
663 |
+
post_type: inbound_ajax.post_type,
|
664 |
+
variation: lp_variation,
|
665 |
+
// type: 'form-completion',
|
666 |
+
form_input_values : all_form_fields,
|
667 |
+
page_id: page_id
|
668 |
+
});
|
669 |
+
|
670 |
+
jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
|
671 |
+
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
672 |
+
|
673 |
+
// If fail, cookie form data and ajax submit on next page load
|
674 |
+
console.log('ajax fail');
|
675 |
+
release_form_sub( this_link , element_type );
|
676 |
+
|
677 |
+
}
|
678 |
+
});
|
679 |
+
|
680 |
+
});
|
681 |
+
}
|
682 |
+
|
683 |
+
// gform_confirmation_loaded
|
684 |
+
/* Fallback for lead storage if ajax fails */
|
685 |
+
var failed_conversion = jQuery.cookie("failed_conversion");
|
686 |
+
var fallback_obj = jQuery.totalStorage('failed_conversion');
|
687 |
+
|
688 |
+
if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
|
689 |
+
if (typeof fallback_obj == 'object' && fallback_obj) {
|
690 |
+
|
691 |
+
jQuery.ajax({
|
692 |
+
type: 'POST',
|
693 |
+
url: inbound_ajax.admin_url,
|
694 |
+
data: fallback_obj,
|
695 |
+
success: function(user_id){
|
696 |
+
console.log('Fallback fired');
|
697 |
+
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
698 |
+
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
699 |
+
jQuery.removeCookie("failed_conversion"); // remove failed cookie
|
700 |
+
jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
|
701 |
+
},
|
702 |
+
error: function(MLHttpRequest, textStatus, errorThrown){
|
703 |
+
//alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
704 |
+
//die();
|
705 |
+
}
|
706 |
+
|
707 |
+
});
|
708 |
+
}
|
709 |
+
}
|
710 |
+
|
711 |
});
|
shared/assets/global/fonts/fontawesome/README.md
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
-
#Font Awesome 3.0
|
2 |
-
##the iconic font designed for use with Twitter Bootstrap
|
3 |
-
|
4 |
-
The full suite of pictographic icons, examples, and documentation can be found at:
|
5 |
-
http://fortawesome.github.com/Font-Awesome/
|
6 |
-
|
7 |
-
|
8 |
-
##License
|
9 |
-
- The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
10 |
-
- Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html
|
11 |
-
- The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
12 |
-
- Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
13 |
-
|
14 |
-
##Contact
|
15 |
-
- Email: dave@davegandy.com
|
16 |
-
- Twitter: http://twitter.com/fortaweso_me
|
17 |
-
- Work: Lead Product Designer @ http://kyru.us
|
1 |
+
#Font Awesome 3.0
|
2 |
+
##the iconic font designed for use with Twitter Bootstrap
|
3 |
+
|
4 |
+
The full suite of pictographic icons, examples, and documentation can be found at:
|
5 |
+
http://fortawesome.github.com/Font-Awesome/
|
6 |
+
|
7 |
+
|
8 |
+
##License
|
9 |
+
- The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
10 |
+
- Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html
|
11 |
+
- The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
12 |
+
- Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
13 |
+
|
14 |
+
##Contact
|
15 |
+
- Email: dave@davegandy.com
|
16 |
+
- Twitter: http://twitter.com/fortaweso_me
|
17 |
+
- Work: Lead Product Designer @ http://kyru.us
|
shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg
CHANGED
@@ -1,414 +1,414 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata></metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="fontawesomeregular" horiz-adv-x="1536" >
|
7 |
-
<font-face units-per-em="1792" ascent="1536" descent="-256" />
|
8 |
-
<missing-glyph horiz-adv-x="448" />
|
9 |
-
<glyph unicode=" " horiz-adv-x="448" />
|
10 |
-
<glyph unicode="	" horiz-adv-x="448" />
|
11 |
-
<glyph unicode=" " horiz-adv-x="448" />
|
12 |
-
<glyph unicode="¨" horiz-adv-x="1792" />
|
13 |
-
<glyph unicode="©" horiz-adv-x="1792" />
|
14 |
-
<glyph unicode="®" horiz-adv-x="1792" />
|
15 |
-
<glyph unicode="´" horiz-adv-x="1792" />
|
16 |
-
<glyph unicode="Æ" horiz-adv-x="1792" />
|
17 |
-
<glyph unicode=" " horiz-adv-x="768" />
|
18 |
-
<glyph unicode=" " />
|
19 |
-
<glyph unicode=" " horiz-adv-x="768" />
|
20 |
-
<glyph unicode=" " />
|
21 |
-
<glyph unicode=" " horiz-adv-x="512" />
|
22 |
-
<glyph unicode=" " horiz-adv-x="384" />
|
23 |
-
<glyph unicode=" " horiz-adv-x="256" />
|
24 |
-
<glyph unicode=" " horiz-adv-x="256" />
|
25 |
-
<glyph unicode=" " horiz-adv-x="192" />
|
26 |
-
<glyph unicode=" " horiz-adv-x="307" />
|
27 |
-
<glyph unicode=" " horiz-adv-x="85" />
|
28 |
-
<glyph unicode=" " horiz-adv-x="307" />
|
29 |
-
<glyph unicode=" " horiz-adv-x="384" />
|
30 |
-
<glyph unicode="™" horiz-adv-x="1792" />
|
31 |
-
<glyph unicode="∞" horiz-adv-x="1792" />
|
32 |
-
<glyph unicode="≠" horiz-adv-x="1792" />
|
33 |
-
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
34 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
|
35 |
-
<glyph unicode="" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
|
36 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
37 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
|
38 |
-
<glyph unicode="" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
|
39 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
|
40 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
|
41 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
|
42 |
-
<glyph unicode="" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
43 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
44 |
-
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
|
45 |
-
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
|
46 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
|
47 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
|
48 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
49 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
|
50 |
-
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
|
51 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
|
52 |
-
<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
|
53 |
-
<glyph unicode="" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
|
54 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
|
55 |
-
<glyph unicode="" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
|
56 |
-
<glyph unicode="" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
57 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
|
58 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
|
59 |
-
<glyph unicode="" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
60 |
-
<glyph unicode="" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
61 |
-
<glyph unicode="" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
|
62 |
-
<glyph unicode="" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
63 |
-
<glyph unicode="" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
|
64 |
-
<glyph unicode="" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
|
65 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
|
66 |
-
<glyph unicode="" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
|
67 |
-
<glyph unicode="" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
|
68 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
|
69 |
-
<glyph unicode="" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
|
70 |
-
<glyph unicode="" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
|
71 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
|
72 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
|
73 |
-
<glyph unicode="" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
|
74 |
-
<glyph unicode="" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
|
75 |
-
<glyph unicode="" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
|
76 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
|
77 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
78 |
-
<glyph unicode="" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
|
79 |
-
<glyph unicode="" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
|
80 |
-
<glyph unicode="" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
|
81 |
-
<glyph unicode="" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
|
82 |
-
<glyph unicode="" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
|
83 |
-
<glyph unicode="" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
|
84 |
-
<glyph unicode="" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
|
85 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
86 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
|
87 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
88 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
89 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
|
90 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
91 |
-
<glyph unicode="" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
92 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
|
93 |
-
<glyph unicode="" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
94 |
-
<glyph unicode="" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
|
95 |
-
<glyph unicode="" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
|
96 |
-
<glyph unicode="" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
97 |
-
<glyph unicode="" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
|
98 |
-
<glyph unicode="" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
|
99 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
|
100 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
|
101 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
102 |
-
<glyph unicode="" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
|
103 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
|
104 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
|
105 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
|
106 |
-
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
|
107 |
-
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
108 |
-
<glyph unicode="" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
109 |
-
<glyph unicode="" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
110 |
-
<glyph unicode="" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
|
111 |
-
<glyph unicode="" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
|
112 |
-
<glyph unicode="" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
|
113 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
|
114 |
-
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
115 |
-
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
|
116 |
-
<glyph unicode="" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
117 |
-
<glyph unicode="" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
118 |
-
<glyph unicode="" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
119 |
-
<glyph unicode="" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
120 |
-
<glyph unicode="" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
|
121 |
-
<glyph unicode="" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
122 |
-
<glyph unicode="" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
123 |
-
<glyph unicode="" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
|
124 |
-
<glyph unicode="" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
|
125 |
-
<glyph unicode="" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
|
126 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
|
127 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
128 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
|
129 |
-
<glyph unicode="" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
|
130 |
-
<glyph unicode="" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
|
131 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
|
132 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
|
133 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
|
134 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
|
135 |
-
<glyph unicode="" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
|
136 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
|
137 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
|
138 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
|
139 |
-
<glyph unicode="" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
|
140 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
|
141 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
|
142 |
-
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
143 |
-
<glyph unicode="" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
144 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
|
145 |
-
<glyph unicode="" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
|
146 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
|
147 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
148 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
|
149 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
|
150 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
151 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
|
152 |
-
<glyph unicode="" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
|
153 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
154 |
-
<glyph unicode="" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
155 |
-
<glyph unicode="" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
156 |
-
<glyph unicode="" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
|
157 |
-
<glyph unicode="" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
|
158 |
-
<glyph unicode="" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
|
159 |
-
<glyph unicode="" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
|
160 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
|
161 |
-
<glyph unicode="" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
|
162 |
-
<glyph unicode="" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
|
163 |
-
<glyph unicode="" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
|
164 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
|
165 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
|
166 |
-
<glyph unicode="" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
167 |
-
<glyph unicode="" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
|
168 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
|
169 |
-
<glyph unicode="" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
|
170 |
-
<glyph unicode="" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
|
171 |
-
<glyph unicode="" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
172 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
|
173 |
-
<glyph unicode="" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
|
174 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
|
175 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
|
176 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
177 |
-
<glyph unicode="" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
178 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
|
179 |
-
<glyph unicode="" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
|
180 |
-
<glyph unicode="" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
181 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
|
182 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
|
183 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
|
184 |
-
<glyph unicode="" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
|
185 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
|
186 |
-
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
187 |
-
<glyph unicode="" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
|
188 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
|
189 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
|
190 |
-
<glyph unicode="" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
|
191 |
-
<glyph unicode="" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
|
192 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
193 |
-
<glyph unicode="" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
194 |
-
<glyph unicode="" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
195 |
-
<glyph unicode="" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
196 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
|
197 |
-
<glyph unicode="" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
|
198 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
199 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
|
200 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
|
201 |
-
<glyph unicode="" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
|
202 |
-
<glyph unicode="" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
|
203 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
|
204 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
|
205 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
|
206 |
-
<glyph unicode="" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
|
207 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
|
208 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
|
209 |
-
<glyph unicode="" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
|
210 |
-
<glyph unicode="" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
211 |
-
<glyph unicode="" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
212 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
213 |
-
<glyph unicode="" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
214 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
|
215 |
-
<glyph unicode="" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
|
216 |
-
<glyph unicode="" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
|
217 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
|
218 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
|
219 |
-
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
220 |
-
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
|
221 |
-
<glyph unicode="" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
|
222 |
-
<glyph unicode="" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
|
223 |
-
<glyph unicode="" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
|
224 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
225 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
226 |
-
<glyph unicode="" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
|
227 |
-
<glyph unicode="" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
|
228 |
-
<glyph unicode="" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
|
229 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
230 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
231 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
232 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
|
233 |
-
<glyph unicode="" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
|
234 |
-
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
|
235 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
|
236 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
|
237 |
-
<glyph unicode="" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
|
238 |
-
<glyph unicode="" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
|
239 |
-
<glyph unicode="" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
|
240 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
|
241 |
-
<glyph unicode="" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
|
242 |
-
<glyph unicode="" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
|
243 |
-
<glyph unicode="" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
|
244 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
245 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
246 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
247 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
|
248 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
|
249 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
|
250 |
-
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
251 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
|
252 |
-
<glyph unicode="" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
|
253 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
|
254 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
|
255 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
|
256 |
-
<glyph unicode="" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
257 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
|
258 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
|
259 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
|
260 |
-
<glyph unicode="" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
261 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
262 |
-
<glyph unicode="" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
|
263 |
-
<glyph unicode="" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
264 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
265 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
266 |
-
<glyph unicode="" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
267 |
-
<glyph unicode="" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
268 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
269 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
270 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
271 |
-
<glyph unicode="" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
|
272 |
-
<glyph unicode="" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
|
273 |
-
<glyph unicode="" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
274 |
-
<glyph unicode="" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
|
275 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
|
276 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
|
277 |
-
<glyph unicode="" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
|
278 |
-
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
279 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
|
280 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
|
281 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
282 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
|
283 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
284 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
285 |
-
<glyph unicode="" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
286 |
-
<glyph unicode="" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
287 |
-
<glyph unicode="" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
288 |
-
<glyph unicode="" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
|
289 |
-
<glyph unicode="" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
|
290 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
291 |
-
<glyph unicode="" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
292 |
-
<glyph unicode="" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
|
293 |
-
<glyph unicode="" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
|
294 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
|
295 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
|
296 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
|
297 |
-
<glyph unicode="" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
|
298 |
-
<glyph unicode="" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
|
299 |
-
<glyph unicode="" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
|
300 |
-
<glyph unicode="" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
|
301 |
-
<glyph unicode="" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
|
302 |
-
<glyph unicode="" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
|
303 |
-
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
|
304 |
-
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
|
305 |
-
<glyph unicode="" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
|
306 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
|
307 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
|
308 |
-
<glyph unicode="" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
|
309 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
310 |
-
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
311 |
-
<glyph unicode="" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
|
312 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
|
313 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
|
314 |
-
<glyph unicode="" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
315 |
-
<glyph unicode="" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
316 |
-
<glyph unicode="" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
317 |
-
<glyph unicode="" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
318 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
|
319 |
-
<glyph unicode="" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
|
320 |
-
<glyph unicode="" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
|
321 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
|
322 |
-
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
323 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
324 |
-
<glyph unicode="" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
325 |
-
<glyph unicode="" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
326 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
|
327 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
|
328 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
|
329 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
330 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
|
331 |
-
<glyph unicode="" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
|
332 |
-
<glyph unicode="" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
333 |
-
<glyph unicode="" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
334 |
-
<glyph unicode="" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
335 |
-
<glyph unicode="" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
336 |
-
<glyph unicode="" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
337 |
-
<glyph unicode="" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
338 |
-
<glyph unicode="" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
339 |
-
<glyph unicode="" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
340 |
-
<glyph unicode="" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
|
341 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
|
342 |
-
<glyph unicode="" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
|
343 |
-
<glyph unicode="" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
|
344 |
-
<glyph unicode="" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
|
345 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
|
346 |
-
<glyph unicode="" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
|
347 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
|
348 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
349 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
350 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
|
351 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
|
352 |
-
<glyph unicode="" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
|
353 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
|
354 |
-
<glyph unicode="" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
|
355 |
-
<glyph unicode="" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
|
356 |
-
<glyph unicode="" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
|
357 |
-
<glyph unicode="" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
|
358 |
-
<glyph unicode="" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
359 |
-
<glyph unicode="" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
|
360 |
-
<glyph unicode="" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
|
361 |
-
<glyph unicode="" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
362 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
|
363 |
-
<glyph unicode="" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
|
364 |
-
<glyph unicode="" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
|
365 |
-
<glyph unicode="" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
|
366 |
-
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
|
367 |
-
<glyph unicode="" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
368 |
-
<glyph unicode="" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
|
369 |
-
<glyph unicode="" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
370 |
-
<glyph unicode="" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
|
371 |
-
<glyph unicode="" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
372 |
-
<glyph unicode="" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
|
373 |
-
<glyph unicode="" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
|
374 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
|
375 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
|
376 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
|
377 |
-
<glyph unicode="" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
|
378 |
-
<glyph unicode="" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
|
379 |
-
<glyph unicode="" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
|
380 |
-
<glyph unicode="" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
381 |
-
<glyph unicode="" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
|
382 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
|
383 |
-
<glyph unicode="" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
384 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
385 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
386 |
-
<glyph unicode="" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
387 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
|
388 |
-
<glyph unicode="" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
|
389 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
|
390 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
|
391 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
|
392 |
-
<glyph unicode="" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
|
393 |
-
<glyph unicode="" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
|
394 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
|
395 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
|
396 |
-
<glyph unicode="" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
397 |
-
<glyph unicode="" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
398 |
-
<glyph unicode="" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
399 |
-
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
400 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
|
401 |
-
<glyph unicode="" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
402 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
|
403 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
404 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
405 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
406 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
407 |
-
<glyph unicode="" horiz
|
408 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
409 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
410 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
411 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
412 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
413 |
-
</font>
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata></metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="fontawesomeregular" horiz-adv-x="1536" >
|
7 |
+
<font-face units-per-em="1792" ascent="1536" descent="-256" />
|
8 |
+
<missing-glyph horiz-adv-x="448" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="448" />
|
10 |
+
<glyph unicode="	" horiz-adv-x="448" />
|
11 |
+
<glyph unicode=" " horiz-adv-x="448" />
|
12 |
+
<glyph unicode="¨" horiz-adv-x="1792" />
|
13 |
+
<glyph unicode="©" horiz-adv-x="1792" />
|
14 |
+
<glyph unicode="®" horiz-adv-x="1792" />
|
15 |
+
<glyph unicode="´" horiz-adv-x="1792" />
|
16 |
+
<glyph unicode="Æ" horiz-adv-x="1792" />
|
17 |
+
<glyph unicode=" " horiz-adv-x="768" />
|
18 |
+
<glyph unicode=" " />
|
19 |
+
<glyph unicode=" " horiz-adv-x="768" />
|
20 |
+
<glyph unicode=" " />
|
21 |
+
<glyph unicode=" " horiz-adv-x="512" />
|
22 |
+
<glyph unicode=" " horiz-adv-x="384" />
|
23 |
+
<glyph unicode=" " horiz-adv-x="256" />
|
24 |
+
<glyph unicode=" " horiz-adv-x="256" />
|
25 |
+
<glyph unicode=" " horiz-adv-x="192" />
|
26 |
+
<glyph unicode=" " horiz-adv-x="307" />
|
27 |
+
<glyph unicode=" " horiz-adv-x="85" />
|
28 |
+
<glyph unicode=" " horiz-adv-x="307" />
|
29 |
+
<glyph unicode=" " horiz-adv-x="384" />
|
30 |
+
<glyph unicode="™" horiz-adv-x="1792" />
|
31 |
+
<glyph unicode="∞" horiz-adv-x="1792" />
|
32 |
+
<glyph unicode="≠" horiz-adv-x="1792" />
|
33 |
+
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
34 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
|
35 |
+
<glyph unicode="" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
|
36 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
37 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
|
38 |
+
<glyph unicode="" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
|
39 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
|
40 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
|
41 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
|
42 |
+
<glyph unicode="" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
43 |
+
<glyph unicode="" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
44 |
+
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
|
45 |
+
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
|
46 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
|
47 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
|
48 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
49 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
|
50 |
+
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
|
51 |
+
<glyph unicode="" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
|
52 |
+
<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
|
53 |
+
<glyph unicode="" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
|
54 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
|
55 |
+
<glyph unicode="" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
|
56 |
+
<glyph unicode="" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
57 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
|
58 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
|
59 |
+
<glyph unicode="" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
60 |
+
<glyph unicode="" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
61 |
+
<glyph unicode="" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
|
62 |
+
<glyph unicode="" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
63 |
+
<glyph unicode="" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
|
64 |
+
<glyph unicode="" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
|
65 |
+
<glyph unicode="" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
|
66 |
+
<glyph unicode="" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
|
67 |
+
<glyph unicode="" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
|
68 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
|
69 |
+
<glyph unicode="" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
|
70 |
+
<glyph unicode="" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
|
71 |
+
<glyph unicode="" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
|
72 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
|
73 |
+
<glyph unicode="" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
|
74 |
+
<glyph unicode="" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
|
75 |
+
<glyph unicode="" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
|
76 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
|
77 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
78 |
+
<glyph unicode="" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
|
79 |
+
<glyph unicode="" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
|
80 |
+
<glyph unicode="" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
|
81 |
+
<glyph unicode="" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
|
82 |
+
<glyph unicode="" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
|
83 |
+
<glyph unicode="" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
|
84 |
+
<glyph unicode="" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
|
85 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
86 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
|
87 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
88 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
89 |
+
<glyph unicode="" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
|
90 |
+
<glyph unicode="" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
91 |
+
<glyph unicode="" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
92 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
|
93 |
+
<glyph unicode="" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
94 |
+
<glyph unicode="" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
|
95 |
+
<glyph unicode="" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
|
96 |
+
<glyph unicode="" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
97 |
+
<glyph unicode="" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
|
98 |
+
<glyph unicode="" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
|
99 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
|
100 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
|
101 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
102 |
+
<glyph unicode="" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
|
103 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
|
104 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
|
105 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
|
106 |
+
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
|
107 |
+
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
108 |
+
<glyph unicode="" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
109 |
+
<glyph unicode="" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
110 |
+
<glyph unicode="" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
|
111 |
+
<glyph unicode="" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
|
112 |
+
<glyph unicode="" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
|
113 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
|
114 |
+
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
115 |
+
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
|
116 |
+
<glyph unicode="" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
117 |
+
<glyph unicode="" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
118 |
+
<glyph unicode="" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
119 |
+
<glyph unicode="" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
120 |
+
<glyph unicode="" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
|
121 |
+
<glyph unicode="" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
122 |
+
<glyph unicode="" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
123 |
+
<glyph unicode="" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
|
124 |
+
<glyph unicode="" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
|
125 |
+
<glyph unicode="" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
|
126 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
|
127 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
128 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
|
129 |
+
<glyph unicode="" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
|
130 |
+
<glyph unicode="" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
|
131 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
|
132 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
|
133 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
|
134 |
+
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
|
135 |
+
<glyph unicode="" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
|
136 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
|
137 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
|
138 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
|
139 |
+
<glyph unicode="" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
|
140 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
|
141 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
|
142 |
+
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
143 |
+
<glyph unicode="" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
144 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
|
145 |
+
<glyph unicode="" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
|
146 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
|
147 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
148 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
|
149 |
+
<glyph unicode="" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
|
150 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
151 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
|
152 |
+
<glyph unicode="" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
|
153 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
154 |
+
<glyph unicode="" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
155 |
+
<glyph unicode="" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
156 |
+
<glyph unicode="" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
|
157 |
+
<glyph unicode="" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
|
158 |
+
<glyph unicode="" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
|
159 |
+
<glyph unicode="" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
|
160 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
|
161 |
+
<glyph unicode="" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
|
162 |
+
<glyph unicode="" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
|
163 |
+
<glyph unicode="" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
|
164 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
|
165 |
+
<glyph unicode="" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
|
166 |
+
<glyph unicode="" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
167 |
+
<glyph unicode="" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
|
168 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
|
169 |
+
<glyph unicode="" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
|
170 |
+
<glyph unicode="" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
|
171 |
+
<glyph unicode="" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
172 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
|
173 |
+
<glyph unicode="" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
|
174 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
|
175 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
|
176 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
177 |
+
<glyph unicode="" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
178 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
|
179 |
+
<glyph unicode="" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
|
180 |
+
<glyph unicode="" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
181 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
|
182 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
|
183 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
|
184 |
+
<glyph unicode="" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
|
185 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
|
186 |
+
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
187 |
+
<glyph unicode="" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
|
188 |
+
<glyph unicode="" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
|
189 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
|
190 |
+
<glyph unicode="" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
|
191 |
+
<glyph unicode="" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
|
192 |
+
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
193 |
+
<glyph unicode="" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
194 |
+
<glyph unicode="" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
195 |
+
<glyph unicode="" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
196 |
+
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
|
197 |
+
<glyph unicode="" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
|
198 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
199 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
|
200 |
+
<glyph unicode="" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
|
201 |
+
<glyph unicode="" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
|
202 |
+
<glyph unicode="" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
|
203 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
|
204 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
|
205 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
|
206 |
+
<glyph unicode="" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
|
207 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
|
208 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
|
209 |
+
<glyph unicode="" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
|
210 |
+
<glyph unicode="" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
211 |
+
<glyph unicode="" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
212 |
+
<glyph unicode="" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
213 |
+
<glyph unicode="" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
214 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
|
215 |
+
<glyph unicode="" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
|
216 |
+
<glyph unicode="" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
|
217 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
|
218 |
+
<glyph unicode="" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
|
219 |
+
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
220 |
+
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
|
221 |
+
<glyph unicode="" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
|
222 |
+
<glyph unicode="" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
|
223 |
+
<glyph unicode="" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
|
224 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
225 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
226 |
+
<glyph unicode="" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
|
227 |
+
<glyph unicode="" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
|
228 |
+
<glyph unicode="" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
|
229 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
230 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
231 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
232 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
|
233 |
+
<glyph unicode="" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
|
234 |
+
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
|
235 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
|
236 |
+
<glyph unicode="" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
|
237 |
+
<glyph unicode="" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
|
238 |
+
<glyph unicode="" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
|
239 |
+
<glyph unicode="" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
|
240 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
|
241 |
+
<glyph unicode="" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
|
242 |
+
<glyph unicode="" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
|
243 |
+
<glyph unicode="" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
|
244 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
245 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
246 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
247 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
|
248 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
|
249 |
+
<glyph unicode="" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
|
250 |
+
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
251 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
|
252 |
+
<glyph unicode="" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
|
253 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
|
254 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
|
255 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
|
256 |
+
<glyph unicode="" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
257 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
|
258 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
|
259 |
+
<glyph unicode="" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
|
260 |
+
<glyph unicode="" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
261 |
+
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
262 |
+
<glyph unicode="" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
|
263 |
+
<glyph unicode="" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
264 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
265 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
266 |
+
<glyph unicode="" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
267 |
+
<glyph unicode="" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
268 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
269 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
270 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
271 |
+
<glyph unicode="" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
|
272 |
+
<glyph unicode="" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
|
273 |
+
<glyph unicode="" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
274 |
+
<glyph unicode="" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
|
275 |
+
<glyph unicode="" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
|
276 |
+
<glyph unicode="" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
|
277 |
+
<glyph unicode="" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
|
278 |
+
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
279 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
|
280 |
+
<glyph unicode="" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
|
281 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
282 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
|
283 |
+
<glyph unicode="" horiz-adv-x="1792" />
|
284 |
+
<glyph unicode="" horiz-adv-x="1792" />
|
285 |
+
<glyph unicode="" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
286 |
+
<glyph unicode="" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
287 |
+
<glyph unicode="" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
288 |
+
<glyph unicode="" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
|
289 |
+
<glyph unicode="" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
|
290 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
291 |
+
<glyph unicode="" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
292 |
+
<glyph unicode="" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
|
293 |
+
<glyph unicode="" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
|
294 |
+
<glyph unicode="" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
|
295 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
|
296 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
|
297 |
+
<glyph unicode="" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
|
298 |
+
<glyph unicode="" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
|
299 |
+
<glyph unicode="" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
|
300 |
+
<glyph unicode="" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
|
301 |
+
<glyph unicode="" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
|
302 |
+
<glyph unicode="" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
|
303 |
+
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
|
304 |
+
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
|
305 |
+
<glyph unicode="" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
|
306 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
|
307 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
|
308 |
+
<glyph unicode="" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
|
309 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
310 |
+
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
311 |
+
<glyph unicode="" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
|
312 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
|
313 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
|
314 |
+
<glyph unicode="" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
315 |
+
<glyph unicode="" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
316 |
+
<glyph unicode="" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
317 |
+
<glyph unicode="" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
318 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
|
319 |
+
<glyph unicode="" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
|
320 |
+
<glyph unicode="" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
|
321 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
|
322 |
+
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
323 |
+
<glyph unicode="" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
324 |
+
<glyph unicode="" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
325 |
+
<glyph unicode="" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
326 |
+
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
|
327 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
|
328 |
+
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
|
329 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
330 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
|
331 |
+
<glyph unicode="" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
|
332 |
+
<glyph unicode="" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
333 |
+
<glyph unicode="" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
334 |
+
<glyph unicode="" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
335 |
+
<glyph unicode="" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
336 |
+
<glyph unicode="" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
337 |
+
<glyph unicode="" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
338 |
+
<glyph unicode="" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
339 |
+
<glyph unicode="" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
340 |
+
<glyph unicode="" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
|
341 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
|
342 |
+
<glyph unicode="" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
|
343 |
+
<glyph unicode="" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
|
344 |
+
<glyph unicode="" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
|
345 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
|
346 |
+
<glyph unicode="" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
|
347 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
|
348 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
349 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
350 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
|
351 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
|
352 |
+
<glyph unicode="" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
|
353 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
|
354 |
+
<glyph unicode="" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
|
355 |
+
<glyph unicode="" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
|
356 |
+
<glyph unicode="" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
|
357 |
+
<glyph unicode="" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
|
358 |
+
<glyph unicode="" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
359 |
+
<glyph unicode="" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
|
360 |
+
<glyph unicode="" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
|
361 |
+
<glyph unicode="" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
362 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
|
363 |
+
<glyph unicode="" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
|
364 |
+
<glyph unicode="" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
|
365 |
+
<glyph unicode="" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
|
366 |
+
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
|
367 |
+
<glyph unicode="" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
368 |
+
<glyph unicode="" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
|
369 |
+
<glyph unicode="" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
370 |
+
<glyph unicode="" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
|
371 |
+
<glyph unicode="" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
372 |
+
<glyph unicode="" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
|
373 |
+
<glyph unicode="" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
|
374 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
|
375 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
|
376 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
|
377 |
+
<glyph unicode="" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
|
378 |
+
<glyph unicode="" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
|
379 |
+
<glyph unicode="" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
|
380 |
+
<glyph unicode="" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
381 |
+
<glyph unicode="" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
|
382 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
|
383 |
+
<glyph unicode="" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
384 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
385 |
+
<glyph unicode="" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
386 |
+
<glyph unicode="" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
387 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
|
388 |
+
<glyph unicode="" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
|
389 |
+
<glyph unicode="" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
|
390 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
|
391 |
+
<glyph unicode="" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
|
392 |
+
<glyph unicode="" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
|
393 |
+
<glyph unicode="" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
|
394 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
|
395 |
+
<glyph unicode="" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
|
396 |
+
<glyph unicode="" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
397 |
+
<glyph unicode="" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
398 |
+
<glyph unicode="" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
399 |
+
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
400 |
+
<glyph unicode="" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
|
401 |
+
<glyph unicode="" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
402 |
+
<glyph unicode="" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
|
403 |
+
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
404 |
+
<glyph unicode="" horiz-adv-x="1792" />
|
405 |
+
<glyph unicode="" horiz-adv-x="1792" />
|
406 |
+
<glyph unicode="" horiz-adv-x="1792" />
|
407 |
+
<glyph unicode="" horiz
|
|
|
|
|
|
|
|
|
|
|
|