WordPress Online Booking and Scheduling Plugin – Bookly - Version 19.0

Version Description

Download this release

Release Info

Developer Ladela
Plugin Icon 128x128 WordPress Online Booking and Scheduling Plugin – Bookly
Version 19.0
Comparing to
See all releases

Code changes from version 18.9 to 19.0

Files changed (83) hide show
  1. backend/components/appearance/Codes.php +98 -22
  2. backend/components/appearance/Editable.php +6 -2
  3. backend/components/dialogs/appointment/edit/Ajax.php +32 -1
  4. backend/components/dialogs/service/edit/Ajax.php +120 -0
  5. backend/components/dialogs/service/edit/Dialog.php +3 -1
  6. backend/{modules/services → components/dialogs/service/edit}/forms/Service.php +3 -3
  7. backend/components/dialogs/service/edit/proxy/CollaborativeServices.php +15 -0
  8. backend/components/dialogs/service/edit/proxy/CompoundServices.php +15 -0
  9. backend/components/dialogs/service/edit/proxy/CustomDuration.php +18 -0
  10. backend/components/dialogs/service/edit/proxy/CustomerGroups.php +16 -0
  11. backend/components/dialogs/service/edit/proxy/DepositPayments.php +15 -0
  12. backend/components/dialogs/service/edit/proxy/GroupBooking.php +15 -0
  13. backend/components/dialogs/service/edit/proxy/Packages.php +15 -0
  14. backend/components/dialogs/service/edit/proxy/Pro.php +20 -0
  15. backend/components/dialogs/service/edit/proxy/RecurringAppointments.php +15 -0
  16. backend/components/dialogs/service/edit/proxy/ServiceExtras.php +16 -0
  17. backend/components/dialogs/service/edit/proxy/ServiceSchedule.php +16 -0
  18. backend/components/dialogs/service/edit/proxy/ServiceSpecialDays.php +16 -0
  19. backend/components/dialogs/service/edit/proxy/Shared.php +19 -0
  20. backend/components/dialogs/service/edit/proxy/Tasks.php +15 -0
  21. backend/components/dialogs/service/edit/proxy/Taxes.php +15 -0
  22. backend/components/dialogs/service/edit/templates/dialog.php +2 -9
  23. backend/{modules/services → components/dialogs/service/edit}/templates/general.php +1 -1
  24. backend/{modules/services → components/dialogs/service/edit}/templates/time.php +1 -1
  25. backend/components/dialogs/staff/edit/Ajax.php +22 -27
  26. backend/components/dialogs/staff/edit/Dialog.php +3 -1
  27. backend/components/dialogs/staff/edit/proxy/Pro.php +4 -2
  28. backend/components/dialogs/staff/edit/proxy/Shared.php +1 -1
  29. backend/components/dialogs/staff/edit/resources/js/staff-days-off.js +1 -1
  30. backend/components/dialogs/staff/edit/resources/js/staff-details.js +37 -94
  31. backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js +11 -7
  32. backend/components/dialogs/staff/edit/resources/js/staff-schedule.js +1 -1
  33. backend/components/dialogs/staff/edit/templates/details.php +0 -5
  34. backend/components/dialogs/staff/edit/templates/dialog_body.php +5 -1
  35. backend/components/dialogs/staff/edit/templates/services.php +1 -1
  36. backend/components/editable/Widget.php +37 -0
  37. backend/components/editable/resources/css/editable.css +55 -0
  38. backend/components/editable/resources/js/ace/ace.js +17 -0
  39. backend/components/editable/resources/js/ace/ext-language_tools.js +8 -0
  40. backend/components/editable/resources/js/ace/mode-bookly.js +222 -0
  41. backend/components/editable/resources/js/ace/mode-text.js +8 -0
  42. backend/components/editable/resources/js/ace/theme-textmate.js +8 -0
  43. backend/{modules/appearance → components/editable}/resources/js/editable.js +108 -48
  44. backend/components/editable/templates/ace-modal.php +24 -0
  45. backend/modules/appearance/Page.php +1 -2
  46. backend/modules/appearance/resources/css/appearance.css +0 -25
  47. backend/modules/appearance/templates/_3_time.php +1 -1
  48. backend/modules/appearance/templates/_6_details.php +2 -2
  49. backend/modules/appearance/templates/_7_payment.php +1 -1
  50. backend/modules/appearance/templates/_8_complete.php +3 -3
  51. backend/modules/appearance/templates/index.php +3 -0
  52. backend/modules/calendar/Ajax.php +2 -2
  53. backend/modules/calendar/resources/css/event-calendar.min.css +1 -1
  54. backend/modules/calendar/resources/js/calendar-common.js +1 -1
  55. backend/modules/calendar/resources/js/event-calendar.min.js +2 -1
  56. backend/modules/calendar/templates/calendar.php +0 -4
  57. backend/modules/cloud_settings/resources/js/cloud-settings.js +3 -0
  58. backend/modules/cloud_settings/templates/index.php +6 -4
  59. backend/modules/customers/Ajax.php +3 -0
  60. backend/modules/debug/Ajax.php +4 -0
  61. backend/modules/debug/lib/QueryBuilder.php +4 -0
  62. backend/modules/notifications/lib/Codes.php +45 -63
  63. backend/modules/services/Ajax.php +1 -107
  64. backend/modules/services/Page.php +0 -3
  65. backend/modules/services/proxy/CollaborativeServices.php +0 -2
  66. backend/modules/services/proxy/CompoundServices.php +0 -2
  67. backend/modules/services/proxy/CustomDuration.php +0 -5
  68. backend/modules/services/proxy/CustomerGroups.php +0 -3
  69. backend/modules/services/proxy/DepositPayments.php +0 -2
  70. backend/modules/services/proxy/GroupBooking.php +0 -2
  71. backend/modules/services/proxy/Packages.php +0 -2
  72. backend/modules/services/proxy/Pro.php +0 -6
  73. backend/modules/services/proxy/RecurringAppointments.php +0 -2
  74. backend/modules/services/proxy/ServiceExtras.php +0 -3
  75. backend/modules/services/proxy/ServiceSchedule.php +0 -3
  76. backend/modules/services/proxy/ServiceSpecialDays.php +0 -3
  77. backend/modules/services/proxy/Shared.php +0 -5
  78. backend/modules/services/proxy/Tasks.php +0 -2
  79. backend/modules/services/proxy/Taxes.php +0 -2
  80. backend/modules/services/templates/advanced.php +0 -16
  81. backend/modules/settings/templates/_calendar_codes.php +28 -28
  82. backend/modules/staff/proxy/Shared.php +1 -1
  83. backend/resources/bootstrap/css/bootstrap.min.css +0 -1
backend/components/appearance/Codes.php CHANGED
@@ -1,8 +1,6 @@
1
  <?php
2
  namespace Bookly\Backend\Components\Appearance;
3
 
4
- use Bookly\Lib;
5
-
6
  /**
7
  * Class Codes
8
  * @package Bookly\Backend\Components\Appearance
@@ -10,31 +8,109 @@ use Bookly\Lib;
10
  class Codes
11
  {
12
  /**
13
- * Get HTML for appearance codes.
14
  *
15
- * @param int $step
16
  * @param bool $extra_codes
17
  * @return string
18
  */
19
- public static function getHtml( $step = null, $extra_codes = false )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  {
21
- $codes = array(
22
- array( 'code' => 'appointments_count', 'description' => __( 'total quantity of appointments in cart', 'bookly' ), 'flags' => array( 'step' => 7, 'extra_codes' => true ) ),
23
- array( 'code' => 'appointment_date', 'description' => __( 'date of appointment', 'bookly' ), 'flags' => array( 'step' => '>3' ) ),
24
- array( 'code' => 'appointment_time', 'description' => __( 'time of appointment', 'bookly' ), 'flags' => array( 'step' => '>3' ) ),
25
- array( 'code' => 'booking_number', 'description' => __( 'booking number', 'bookly' ), 'flags' => array( 'step' => 8, 'extra_codes' => true ) ),
26
- array( 'code' => 'category_name', 'description' => __( 'name of category', 'bookly' ) ),
27
- array( 'code' => 'login_form', 'description' => __( 'login form', 'bookly' ), 'flags' => array( 'step' => 6, 'extra_codes' => true ) ),
28
- array( 'code' => 'service_duration', 'description' => __( 'duration of service', 'bookly' ) ),
29
- array( 'code' => 'service_info', 'description' => __( 'info of service', 'bookly' ) ),
30
- array( 'code' => 'service_name', 'description' => __( 'name of service', 'bookly' ) ),
31
- array( 'code' => 'service_price', 'description' => __( 'price of service', 'bookly' ) ),
32
- array( 'code' => 'staff_info', 'description' => __( 'info of staff', 'bookly' ) ),
33
- array( 'code' => 'staff_name', 'description' => __( 'name of staff', 'bookly' ) ),
34
- array( 'code' => 'staff_photo', 'description' => __( 'photo of staff', 'bookly' ), 'flags' => array( 'step' => '>1' ) ),
35
- array( 'code' => 'total_price', 'description' => __( 'total price of booking', 'bookly' ) ),
36
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
- return Lib\Utils\Common::codes( Proxy\Shared::prepareCodes( $codes ), compact( 'step', 'extra_codes' ) );
39
  }
40
  }
1
  <?php
2
  namespace Bookly\Backend\Components\Appearance;
3
 
 
 
4
  /**
5
  * Class Codes
6
  * @package Bookly\Backend\Components\Appearance
8
  class Codes
9
  {
10
  /**
11
+ * Get JSON for appearance codes
12
  *
13
+ * @param int $step
14
  * @param bool $extra_codes
15
  * @return string
16
  */
17
+ public static function getJson( $step = null, $extra_codes = false )
18
+ {
19
+ $codes = Proxy\Shared::prepareCodes( array(
20
+ 'appointments' => array(
21
+ 'description' => array(
22
+ __( 'Loop over appointments list', 'bookly' ),
23
+ __( 'Loop over appointments list with delimiter', 'bookly' ),
24
+ ),
25
+ 'loop' => array(
26
+ 'item' => 'appointment',
27
+ 'codes' => array(
28
+ 'service_name' => array( 'description' => __( 'Service name of appointment', 'bookly' ) ),
29
+ 'category_name' => array( 'description' => __( 'Service category name of appointment', 'bookly' ), 'if' => true ),
30
+ 'service_duration' => array( 'description' => __( 'Service duration of appointment', 'bookly' ) ),
31
+ 'service_price' => array( 'description' => __( 'Service price of appointment', 'bookly' ), 'if' => true ),
32
+ 'staff_name' => array( 'description' => __( 'Staff member full name in appointment', 'bookly' ) ),
33
+ 'appointment_date' => array( 'description' => __( 'Date of appointment', 'bookly' ), 'if' => true ),
34
+ 'appointment_time' => array( 'description' => __( 'Time of appointment', 'bookly' ), 'if' => true ),
35
+ ),
36
+ ),
37
+ 'flags' => array( 'step' => '>1' ),
38
+ ),
39
+ 'appointments_count' => array( 'description' => __( 'Total quantity of appointments in cart', 'bookly' ), 'flags' => array( 'step' => 7, 'extra_codes' => true ) ),
40
+ 'appointment_date' => array( 'description' => __( 'Date of appointment', 'bookly' ), 'if' => true, 'flags' => array( 'step' => '>3' ) ),
41
+ 'appointment_time' => array( 'description' => __( 'Time of appointment', 'bookly' ), 'if' => true, 'flags' => array( 'step' => '>3' ) ),
42
+ 'booking_number' => array( 'description' => __( 'Booking number', 'bookly' ), 'flags' => array( 'step' => 8, 'extra_codes' => true ) ),
43
+ 'category_name' => array( 'description' => __( 'Name of category', 'bookly' ) ),
44
+ 'login_form' => array( 'description' => __( 'Login form', 'bookly' ), 'flags' => array( 'step' => 6, 'extra_codes' => true ) ),
45
+ 'service_duration' => array( 'description' => __( 'Duration of service', 'bookly' ) ),
46
+ 'service_info' => array( 'description' => __( 'Info of service', 'bookly' ), 'if' => true ),
47
+ 'service_name' => array( 'description' => __( 'Name of service', 'bookly' ) ),
48
+ 'service_price' => array( 'description' => __( 'Price of service', 'bookly' ), 'if' => true ),
49
+ 'staff_info' => array( 'description' => __( 'Info of staff member', 'bookly' ), 'if' => true ),
50
+ 'staff_name' => array( 'description' => __( 'Full name of staff member', 'bookly' ) ),
51
+ 'staff_photo' => array( 'description' => __( 'Photo of staff member', 'bookly' ), 'if' => true, 'flags' => array( 'step' => '>1' ) ),
52
+ 'total_price' => array( 'description' => __( 'Total price of booking', 'bookly' ), 'if' => true ),
53
+ ) );
54
+
55
+ $codes = self::filter( $codes, compact( 'step', 'extra_codes' ) );
56
+
57
+ return json_encode( $codes );
58
+ }
59
+
60
+ /**
61
+ * Filter codes
62
+ *
63
+ * @param array $codes
64
+ * @param array $flags
65
+ * @return array
66
+ */
67
+ protected static function filter( array $codes, $flags = array() )
68
  {
69
+ // Sort codes alphabetically.
70
+ ksort( $codes );
71
+
72
+ $result = array();
73
+ foreach ( $codes as $code => $data ) {
74
+ $valid = true;
75
+ if ( isset ( $data['flags'] ) ) {
76
+ foreach ( $data['flags'] as $flag => $value ) {
77
+ $valid = false;
78
+ if ( isset ( $flags[ $flag ] ) ) {
79
+ if ( is_string( $value ) && preg_match( '/([!>=<]+)(\d+)/', $value, $match ) ) {
80
+ switch ( $match[1] ) {
81
+ case '<':
82
+ $valid = $flags[ $flag ] < $match[2];
83
+ break;
84
+ case '<=':
85
+ $valid = $flags[ $flag ] <= $match[2];
86
+ break;
87
+ case '=':
88
+ $valid = $flags[ $flag ] == $match[2];
89
+ break;
90
+ case '!=':
91
+ $valid = $flags[ $flag ] != $match[2];
92
+ break;
93
+ case '>=':
94
+ $valid = $flags[ $flag ] >= $match[2];
95
+ break;
96
+ case '>':
97
+ $valid = $flags[ $flag ] > $match[2];
98
+ break;
99
+ }
100
+ } else {
101
+ $valid = $flags[ $flag ] == $value;
102
+ }
103
+ }
104
+ if ( ! $valid ) {
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ if ( $valid ) {
110
+ $result[ $code ] = $data;
111
+ }
112
+ }
113
 
114
+ return $result;
115
  }
116
  }
backend/components/appearance/Editable.php CHANGED
@@ -14,6 +14,7 @@ class Editable extends Lib\Base\Component
14
  * Render editable string (single line).
15
  *
16
  * @param array $options
 
17
  * @param bool $echo
18
  * @return string
19
  */
@@ -26,6 +27,7 @@ class Editable extends Lib\Base\Component
26
  * Render editable label.
27
  *
28
  * @param array $options
 
29
  * @param bool $echo
30
  * @return string
31
  */
@@ -42,12 +44,13 @@ class Editable extends Lib\Base\Component
42
  * @param string $placement
43
  * @param string $title
44
  */
45
- public static function renderText( $option_name, $codes = '', $placement = 'bottom', $title = '' )
46
  {
47
  $option_value = get_option( $option_name );
48
 
49
- printf( '<span class="bookly-editable bookly-js-editable bookly-js-option %s text-pre-wrap" data-type="bookly" data-fieldType="textarea" data-values="%s" data-codes="%s" data-title="%s" data-placement="%s" data-option="%s">%s</span>',
50
  $option_name,
 
51
  esc_attr( json_encode( array( $option_name => $option_value ) ) ),
52
  esc_attr( $codes ),
53
  esc_attr( $title ),
@@ -83,6 +86,7 @@ class Editable extends Lib\Base\Component
83
  *
84
  * @param array $options
85
  * @param string $tag
 
86
  * @param bool $echo
87
  * @return string|void
88
  */
14
  * Render editable string (single line).
15
  *
16
  * @param array $options
17
+ * @param string $title
18
  * @param bool $echo
19
  * @return string
20
  */
27
  * Render editable label.
28
  *
29
  * @param array $options
30
+ * @param string $title
31
  * @param bool $echo
32
  * @return string
33
  */
44
  * @param string $placement
45
  * @param string $title
46
  */
47
+ public static function renderText( $option_name, $codes = null, $placement = 'bottom', $title = '' )
48
  {
49
  $option_value = get_option( $option_name );
50
 
51
+ printf( '<span class="bookly-editable bookly-js-editable bookly-js-option %s text-pre-wrap" data-ace="%d" data-type="bookly" data-fieldType="textarea" data-values="%s" data-codes="%s" data-title="%s" data-placement="%s" data-option="%s">%s</span>',
52
  $option_name,
53
+ $codes !== null,
54
  esc_attr( json_encode( array( $option_name => $option_value ) ) ),
55
  esc_attr( $codes ),
56
  esc_attr( $title ),
86
  *
87
  * @param array $options
88
  * @param string $tag
89
+ * @param string $title
90
  * @param bool $echo
91
  * @return string|void
92
  */
backend/components/dialogs/appointment/edit/Ajax.php CHANGED
@@ -585,7 +585,7 @@ class Ajax extends Lib\Base\Ajax
585
  if ( $appointment_id ) {
586
  Lib\Utils\Log::updateEntity( $appointment, __METHOD__ );
587
  }
588
-
589
  if ( $appointment->save() !== false ) {
590
 
591
  $queue_changed_status = array();
@@ -620,6 +620,7 @@ class Ajax extends Lib\Base\Ajax
620
  $reschedule_appointment
621
  ->setStartDate( date( 'Y-m-d H:i:s', $new_start_timestamp ) )
622
  ->setEndDate( date( 'Y-m-d H:i:s', $new_start_timestamp + $duration ) );
 
623
 
624
  Lib\Utils\Log::updateEntity( $reschedule_appointment, __METHOD__, 'Reschedule recurring appointment' );
625
 
@@ -631,6 +632,8 @@ class Ajax extends Lib\Base\Ajax
631
  Lib\Notifications\Booking\Sender::sendForCA( $ca, $appointment, array(), true, $queue );
632
  }
633
  }
 
 
634
  }
635
  }
636
  }
@@ -666,6 +669,8 @@ class Ajax extends Lib\Base\Ajax
666
  $response['success'] = true;
667
  $response['data'] = self::_getAppointmentForCalendar( $staff_id, $appointment->getId() );
668
  $response['queue'] = array( 'all' => $queue, 'changed_status' => $queue_changed_status );
 
 
669
  } else {
670
  $response['errors'] = array( 'db' => __( 'Could not save appointment in database.', 'bookly' ) );
671
  }
@@ -895,4 +900,30 @@ class Ajax extends Lib\Base\Ajax
895
  ->whereGt( 'a.end_date', $start_date )
896
  ->count() == 0;
897
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
898
  }
585
  if ( $appointment_id ) {
586
  Lib\Utils\Log::updateEntity( $appointment, __METHOD__ );
587
  }
588
+ $modified = $appointment->getModified();
589
  if ( $appointment->save() !== false ) {
590
 
591
  $queue_changed_status = array();
620
  $reschedule_appointment
621
  ->setStartDate( date( 'Y-m-d H:i:s', $new_start_timestamp ) )
622
  ->setEndDate( date( 'Y-m-d H:i:s', $new_start_timestamp + $duration ) );
623
+ $reschedule_modified = $reschedule_appointment->getModified();
624
 
625
  Lib\Utils\Log::updateEntity( $reschedule_appointment, __METHOD__, 'Reschedule recurring appointment' );
626
 
632
  Lib\Notifications\Booking\Sender::sendForCA( $ca, $appointment, array(), true, $queue );
633
  }
634
  }
635
+
636
+ self::_deleteSentReminders( $reschedule_appointment, $reschedule_modified );
637
  }
638
  }
639
  }
669
  $response['success'] = true;
670
  $response['data'] = self::_getAppointmentForCalendar( $staff_id, $appointment->getId() );
671
  $response['queue'] = array( 'all' => $queue, 'changed_status' => $queue_changed_status );
672
+
673
+ self::_deleteSentReminders( $appointment, $modified );
674
  } else {
675
  $response['errors'] = array( 'db' => __( 'Could not save appointment in database.', 'bookly' ) );
676
  }
900
  ->whereGt( 'a.end_date', $start_date )
901
  ->count() == 0;
902
  }
903
+
904
+ /**
905
+ * Delete marks for sent reminders
906
+ *
907
+ * @param Lib\Entities\Appointment $appointment
908
+ * @param array $modified
909
+ */
910
+ private static function _deleteSentReminders( Lib\Entities\Appointment $appointment, $modified )
911
+ {
912
+ // When changed start_date need resend the reminders
913
+ if ( array_key_exists( 'start_date', $modified ) ) {
914
+ $ca_ids = Lib\Entities\CustomerAppointment::query()
915
+ ->select( 'id')
916
+ ->where( 'appointment_id', $appointment->getId() )
917
+ ->fetchCol( 'id' );
918
+ if ( $ca_ids ) {
919
+ Lib\Entities\SentNotification::query( 'sn' )
920
+ ->delete( 'sn' )
921
+ ->leftJoin( 'Notification', 'n', 'n.id = sn.notification_id' )
922
+ ->whereIn( 'sn.ref_id', $ca_ids )
923
+ ->whereIn( 'n.type', array( Lib\Entities\Notification::TYPE_APPOINTMENT_REMINDER, Lib\Entities\Notification::TYPE_LAST_CUSTOMER_APPOINTMENT ) )
924
+ ->where( 'n.active', 1 )
925
+ ->execute();
926
+ }
927
+ }
928
+ }
929
  }
backend/components/dialogs/service/edit/Ajax.php ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit;
3
+
4
+ use Bookly\Lib;
5
+ use Bookly\Backend\Modules\Services\Proxy as ServicesProxy;
6
+ use Bookly\Backend\Modules\Services\Page as ServicesPage;
7
+
8
+ /**
9
+ * Class Ajax
10
+ * @package Bookly\Backend\Modules\Services
11
+ */
12
+ class Ajax extends Lib\Base\Ajax
13
+ {
14
+ /**
15
+ * Edit Service
16
+ */
17
+ public static function getServiceData()
18
+ {
19
+ $service_id = self::parameter( 'id' );
20
+ $service_collection_data = Lib\Entities\Service::query( 's' )
21
+ ->select( 's.*, COUNT(staff.id) AS total_staff, GROUP_CONCAT(DISTINCT staff.id) AS staff_ids' )
22
+ ->leftJoin( 'StaffService', 'ss', 'ss.service_id = s.id' )
23
+ ->leftJoin( 'Staff', 'staff', 'staff.id = ss.staff_id' )
24
+ ->whereIn( 's.type', array_keys( ServicesProxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => Lib\Entities\Service::TYPE_SIMPLE ) ) ) )
25
+ ->groupBy( 's.id' )
26
+ ->fetchArray();
27
+ $service_collection = array();
28
+ foreach ( $service_collection_data as $current_service ) {
29
+ if ( $current_service['id'] == $service_id ) {
30
+ $service = $current_service;
31
+ }
32
+ $service_collection[ $current_service['id'] ] = $current_service;
33
+ }
34
+ $service['sub_services'] = Lib\Entities\SubService::query()
35
+ ->where( 'service_id', $service['id'] )
36
+ ->sortBy( 'position' )
37
+ ->fetchArray();
38
+ $service['sub_services_count'] = array_sum( array_map( function ( $sub_service ) {
39
+ return (int) ( $sub_service['type'] == Lib\Entities\SubService::TYPE_SERVICE );
40
+ }, $service['sub_services'] ) );
41
+ $service['colors'] = ServicesProxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] );
42
+
43
+ $staff_dropdown_data = ServicesPage::getStaffDropDownData();
44
+
45
+ $categories_collection = Lib\Entities\Category::query()->sortBy( 'position' )->fetchArray();
46
+ $service_types = ServicesProxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => __( 'Simple', 'bookly' ) ) );
47
+ $result = array(
48
+ 'general_html' => self::renderTemplate( 'general', compact( 'service', 'service_types', 'service_collection', 'staff_dropdown_data', 'categories_collection' ), false ),
49
+ 'advanced_html' => Proxy\Pro::getAdvancedHtml( $service, $service_types, $service_collection, $staff_dropdown_data, $categories_collection ),
50
+ 'time_html' => self::renderTemplate( 'time', compact( 'service', 'service_types', 'service_collection', 'staff_dropdown_data', 'categories_collection' ), false ),
51
+ 'extras_html' => Proxy\ServiceExtras::getTabHtml( $service_id ),
52
+ 'schedule_html' => Proxy\ServiceSchedule::getTabHtml( $service_id ),
53
+ 'special_days_html' => Proxy\ServiceSpecialDays::getTabHtml( $service_id ),
54
+ 'additional_html' => Proxy\Shared::prepareAfterServiceList( '', $service_collection ),
55
+ 'title' => $service['title'],
56
+ 'type' => $service['type'],
57
+ 'price' => Lib\Utils\Price::format( $service['price'] ),
58
+ 'duration' => in_array( $service['type'], array(
59
+ Lib\Entities\Service::TYPE_COLLABORATIVE,
60
+ Lib\Entities\Service::TYPE_COMPOUND,
61
+ ) ) ? sprintf( _n( '%d service', '%d services', $service['sub_services_count'], 'bookly' ), $service['sub_services_count'] ) : Lib\Utils\DateTime::secondsToInterval( $service['duration'] ),
62
+ 'staff' => $staff_dropdown_data,
63
+ );
64
+
65
+ wp_send_json_success( $result );
66
+ }
67
+
68
+ /**
69
+ * Update service parameters and assign staff
70
+ */
71
+ public static function updateService()
72
+ {
73
+ $form = new Forms\Service();
74
+ $form->bind( self::postParameters() );
75
+ $service = $form->save();
76
+
77
+ $staff_ids = self::parameter( 'staff_ids', array() );
78
+ if ( empty ( $staff_ids ) ) {
79
+ Lib\Entities\StaffService::query()->delete()->where( 'service_id', $service->getId() )->execute();
80
+ } else {
81
+ Lib\Entities\StaffService::query()->delete()->where( 'service_id', $service->getId() )->whereNotIn( 'staff_id', $staff_ids )->execute();
82
+ if ( $service->getType() == Lib\Entities\Service::TYPE_SIMPLE ) {
83
+ if ( self::parameter( 'update_staff', false ) ) {
84
+ Lib\Entities\StaffService::query()
85
+ ->update()
86
+ ->set( 'price', self::parameter( 'price' ) )
87
+ ->set( 'capacity_min', $service->getCapacityMin() )
88
+ ->set( 'capacity_max', $service->getCapacityMax() )
89
+ ->where( 'service_id', self::parameter( 'id' ) )
90
+ ->execute();
91
+ }
92
+ // Create records for newly linked staff.
93
+ $existing_staff_ids = array();
94
+ $res = Lib\Entities\StaffService::query()
95
+ ->select( 'staff_id' )
96
+ ->where( 'service_id', $service->getId() )
97
+ ->fetchArray();
98
+ foreach ( $res as $staff ) {
99
+ $existing_staff_ids[] = $staff['staff_id'];
100
+ }
101
+ foreach ( $staff_ids as $staff_id ) {
102
+ if ( ! in_array( $staff_id, $existing_staff_ids ) ) {
103
+ $staff_service = new Lib\Entities\StaffService();
104
+ $staff_service->setStaffId( $staff_id )
105
+ ->setServiceId( $service->getId() )
106
+ ->setPrice( $service->getPrice() )
107
+ ->setCapacityMin( $service->getCapacityMin() )
108
+ ->setCapacityMax( $service->getCapacityMax() )
109
+ ->save();
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ // Update services in addons.
116
+ $alert = Proxy\Shared::updateService( array( 'success' => array( __( 'Settings saved.', 'bookly' ) ) ), $service, self::postParameters() );
117
+
118
+ wp_send_json_success( Proxy\Shared::prepareUpdateServiceResponse( compact( 'alert' ), $service, self::postParameters() ) );
119
+ }
120
+ }
backend/components/dialogs/service/edit/Dialog.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  namespace Bookly\Backend\Components\Dialogs\Service\Edit;
3
 
4
- use Bookly\Backend\Components\Controls\Elements;
5
  use Bookly\Lib;
6
  use Bookly\Backend\Modules\Services\Page;
7
 
@@ -33,6 +32,9 @@ class Dialog extends Lib\Base\Component
33
  'module' => array( 'js/service-edit-dialog.js' => array( 'jquery', 'bookly-sortable.min.js' ) ),
34
  ) );
35
 
 
 
 
36
  $staff = array();
37
  foreach ( Page::getStaffDropDownData() as $category ) {
38
  foreach ( $category['items'] as $employee ) {
1
  <?php
2
  namespace Bookly\Backend\Components\Dialogs\Service\Edit;
3
 
 
4
  use Bookly\Lib;
5
  use Bookly\Backend\Modules\Services\Page;
6
 
32
  'module' => array( 'js/service-edit-dialog.js' => array( 'jquery', 'bookly-sortable.min.js' ) ),
33
  ) );
34
 
35
+ // Allow add-ons to enqueue their assets.
36
+ Proxy\Shared::enqueueAssetsForServices();
37
+
38
  $staff = array();
39
  foreach ( Page::getStaffDropDownData() as $category ) {
40
  foreach ( $category['items'] as $employee ) {
backend/{modules/services → components/dialogs/service/edit}/forms/Service.php RENAMED
@@ -1,8 +1,8 @@
1
  <?php
2
- namespace Bookly\Backend\Modules\Services\Forms;
3
 
4
  use Bookly\Lib;
5
- use Bookly\Backend\Modules\Services\Proxy;
6
 
7
  /**
8
  * Class Service
@@ -78,7 +78,7 @@ class Service extends Lib\Base\Form
78
  }
79
 
80
  /**
81
- * @return \Bookly\Lib\Entities\Service
82
  */
83
  public function save()
84
  {
1
  <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Forms;
3
 
4
  use Bookly\Lib;
5
+ use Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
6
 
7
  /**
8
  * Class Service
78
  }
79
 
80
  /**
81
+ * @return Lib\Entities\Service
82
  */
83
  public function save()
84
  {
backend/components/dialogs/service/edit/proxy/CollaborativeServices.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class CollaborativeServices
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service, array $service_collection ) Render collaborative services sub-form.
11
+ */
12
+ abstract class CollaborativeServices extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/CompoundServices.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class CompoundServices
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service, array $service_collection ) Render compound services sub-form.
11
+ */
12
+ abstract class CompoundServices extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/CustomDuration.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class CustomerGroups
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static array prepareServiceDurationOptions( array $options, array $service ) Add "Custom" option to service duration select.
11
+ * @method static void renderServiceDurationFields( array $service ) Render services duration(units) fields.
12
+ * @method static void renderServiceDurationHelp() Render services duration help tip.
13
+ * @method static void renderServicePriceLabel( $service_id ) Render service price label.
14
+ */
15
+ abstract class CustomDuration extends Lib\Base\Proxy
16
+ {
17
+
18
+ }
backend/components/dialogs/service/edit/proxy/CustomerGroups.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class CustomerGroups
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service ) Render customer groups sub-form.
11
+ * @method static void renderVisibilityOption( array $service ) Render services visibility option 'based on groups'.
12
+ */
13
+ abstract class CustomerGroups extends Lib\Base\Proxy
14
+ {
15
+
16
+ }
backend/components/dialogs/service/edit/proxy/DepositPayments.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class DepositPayments
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderDeposit( array $service ) Render Deposit controls on service settings.
11
+ */
12
+ abstract class DepositPayments extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/GroupBooking.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class GroupBooking
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service ) Render Permit one booking per time slot sub-form.
11
+ */
12
+ abstract class GroupBooking extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/Packages.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Packages
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service, array $service_collection )
11
+ */
12
+ abstract class Packages extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/Pro.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Pro
8
+ *
9
+ * @package Bookly\Backend\Components\Service\Proxy
10
+ *
11
+ * @method static void renderPadding( array $service ) Render padding settings for service.
12
+ * @method static void renderStaffPreference( array $service ) Render staff preference rules "any" is selected.
13
+ * @method static void renderVisibility( array $service ) Render visibility option for service.
14
+ * @method static void renderAdvancedTab() Render advanced tab.
15
+ * @method static string getAdvancedHtml( array $service, array $service_types, array $service_collection, array $staff_dropdown_data, array $categories_collection ) Render Advanced settings.
16
+ */
17
+ abstract class Pro extends Lib\Base\Proxy
18
+ {
19
+
20
+ }
backend/components/dialogs/service/edit/proxy/RecurringAppointments.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class RecurringAppointments
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service ) Render repeat sub form.
11
+ */
12
+ abstract class RecurringAppointments extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/ServiceExtras.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class ServiceExtras
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static string getTabHtml( int $service_id ) Render extras tab html.
11
+ * @method static void renderTab() Render extras tab.
12
+ */
13
+ abstract class ServiceExtras extends Lib\Base\Proxy
14
+ {
15
+
16
+ }
backend/components/dialogs/service/edit/proxy/ServiceSchedule.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class ServiceSchedule
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static string getTabHtml( int $service_id ) Render service schedule html.
11
+ * @method static void renderTab() Render service schedule tab.
12
+ */
13
+ abstract class ServiceSchedule extends Lib\Base\Proxy
14
+ {
15
+
16
+ }
backend/components/dialogs/service/edit/proxy/ServiceSpecialDays.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class ServiceSpecialDays
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static string getTabHtml( int $service_id ) Render special days html.
11
+ * @method static void renderTab() Render special days tab.
12
+ */
13
+ abstract class ServiceSpecialDays extends Lib\Base\Proxy
14
+ {
15
+
16
+ }
backend/components/dialogs/service/edit/proxy/Shared.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Shared
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void enqueueAssetsForServices() Enqueue assets for page Services.
11
+ * @method static array prepareUpdateService( array $data ) Prepare update service settings in add-ons.
12
+ * @method static array prepareUpdateServiceResponse( array $response, Lib\Entities\Service $service, array $_post ) Prepare response for updated service.
13
+ * @method static string prepareAfterServiceList( string $html, array $service_collection ) Render content after services forms.
14
+ * @method static array updateService( array $alert, Lib\Entities\Service $service, array $_post ) Update service settings in add-ons.
15
+ */
16
+ abstract class Shared extends Lib\Base\Proxy
17
+ {
18
+
19
+ }
backend/components/dialogs/service/edit/proxy/Tasks.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Tasks
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service ) Render taxes sub-form.
11
+ */
12
+ abstract class Tasks extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/proxy/Taxes.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Taxes
8
+ * @package Bookly\Backend\Components\Dialogs\Service\Edit\Proxy
9
+ *
10
+ * @method static void renderSubForm( array $service ) Render taxes sub-form.
11
+ */
12
+ abstract class Taxes extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/components/dialogs/service/edit/templates/dialog.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
  use Bookly\Backend\Components\Controls\Buttons;
3
  use Bookly\Backend\Components\Controls\Inputs;
4
- use Bookly\Backend\Modules\Services\Proxy;
5
  use Bookly\Lib;
6
  ?>
7
  <div id="bookly-edit-service-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
@@ -26,14 +26,7 @@ use Bookly\Lib;
26
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Time', 'bookly' ) ?></span>
27
  </a>
28
  </li>
29
- <?php if ( Lib\Config::proActive() ) : ?>
30
- <li class="nav-item bookly-js-service bookly-js-service-simple bookly-js-service-collaborative bookly-js-service-compound">
31
- <a id="bookly-services-advanced-tab" class="nav-link" href="#bookly-services-advanced" data-toggle="bookly-tab">
32
- <i class="fas fa-fw fa-cogs mr-1"></i>
33
- <span class="d-none d-lg-inline"><?php esc_html_e( 'Advanced', 'bookly' ) ?></span>
34
- </a>
35
- </li>
36
- <?php endif ?>
37
  <?php Proxy\ServiceExtras::renderTab() ?>
38
  <?php Proxy\ServiceSchedule::renderTab() ?>
39
  <?php if ( Lib\Config::serviceScheduleActive() ) : ?>
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
  use Bookly\Backend\Components\Controls\Buttons;
3
  use Bookly\Backend\Components\Controls\Inputs;
4
+ use Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
5
  use Bookly\Lib;
6
  ?>
7
  <div id="bookly-edit-service-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
26
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Time', 'bookly' ) ?></span>
27
  </a>
28
  </li>
29
+ <?php Proxy\Pro::renderAdvancedTab() ?>
 
 
 
 
 
 
 
30
  <?php Proxy\ServiceExtras::renderTab() ?>
31
  <?php Proxy\ServiceSchedule::renderTab() ?>
32
  <?php if ( Lib\Config::serviceScheduleActive() ) : ?>
backend/{modules/services → components/dialogs/service/edit}/templates/general.php RENAMED
@@ -1,5 +1,5 @@
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
- use Bookly\Backend\Modules\Services\Proxy;
3
  use Bookly\Lib\Entities\Service;
4
  /**
5
  * @var array $service
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ use Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
3
  use Bookly\Lib\Entities\Service;
4
  /**
5
  * @var array $service
backend/{modules/services → components/dialogs/service/edit}/templates/time.php RENAMED
@@ -2,7 +2,7 @@
2
  use Bookly\Lib\Utils\Common;
3
  use Bookly\Lib\Utils\DateTime;
4
  use Bookly\Lib\Entities\Service;
5
- use Bookly\Backend\Modules\Services\Proxy;
6
  /**
7
  * @var array $service
8
  */
2
  use Bookly\Lib\Utils\Common;
3
  use Bookly\Lib\Utils\DateTime;
4
  use Bookly\Lib\Entities\Service;
5
+ use Bookly\Backend\Components\Dialogs\Service\Edit\Proxy;
6
  /**
7
  * @var array $service
8
  */
backend/components/dialogs/staff/edit/Ajax.php CHANGED
@@ -16,7 +16,7 @@ class Ajax extends Lib\Base\Ajax
16
  protected static $staff;
17
 
18
  /**
19
- * @inheritdoc
20
  */
21
  protected static function permissions()
22
  {
@@ -39,7 +39,6 @@ class Ajax extends Lib\Base\Ajax
39
  array( 'alert' => array( 'error' => array() ), 'tpl' => array() ),
40
  self::$staff
41
  );
42
- $tpl_data = $data['tpl'];
43
 
44
  $users_for_staff = Lib\Utils\Common::isCurrentUserAdmin() ? self::_getUsersForStaff( self::$staff->getId() ) : array();
45
 
@@ -53,11 +52,12 @@ class Ajax extends Lib\Base\Ajax
53
  $response = array(
54
  'html' => array(
55
  'edit' => self::renderTemplate( 'dialog_body', array( 'staff' => self::$staff ), false ),
56
- 'details' => self::renderTemplate( 'details', array( 'staff' => self::$staff, 'users_for_staff' => $users_for_staff, 'tpl_data' => $tpl_data ), false ),
57
  ),
58
  );
59
  if ( self::$staff->getId() ) {
60
  $response['holidays'] = self::$staff->getHolidays();
 
61
  $response['html']['services'] = self::_getStaffServices( self::$staff->getId(), null );
62
  $response['html']['schedule'] = self::_getStaffSchedule( self::$staff->getId(), null );
63
  $response['html']['special_days'] = Proxy\SpecialDays::getStaffSpecialDaysHtml( '', self::$staff->getId() );
@@ -112,9 +112,6 @@ class Ajax extends Lib\Base\Ajax
112
  if ( ! $params['time_zone'] ) {
113
  $params['time_zone'] = null;
114
  }
115
- if ( ! $params['working_time_limit'] ) {
116
- $params['working_time_limit'] = null;
117
- }
118
 
119
  self::$staff->setFields( $params );
120
 
@@ -143,7 +140,7 @@ class Ajax extends Lib\Base\Ajax
143
  /**
144
  * Update staff services.
145
  */
146
- public static function staffServicesUpdate()
147
  {
148
  $form = new Forms\StaffServices();
149
  $form->bind( self::postParameters() );
@@ -168,7 +165,7 @@ class Ajax extends Lib\Base\Ajax
168
  /**
169
  * Update staff schedule.
170
  */
171
- public static function staffScheduleUpdate()
172
  {
173
  $form = new Forms\StaffSchedule();
174
  $form->bind( self::postParameters() );
@@ -182,7 +179,7 @@ class Ajax extends Lib\Base\Ajax
182
  /**
183
  * Update staff holidays.
184
  */
185
- public static function staffHolidaysUpdate()
186
  {
187
  $interval = self::parameter( 'range', array() );
188
  $range = new Lib\Slots\Range( Lib\Slots\DatePoint::fromStr( $interval[0] ), Lib\Slots\DatePoint::fromStr( $interval[1] )->modify( 1 ) );
@@ -396,33 +393,31 @@ class Ajax extends Lib\Base\Ajax
396
  protected static function hasAccess( $action )
397
  {
398
  if ( parent::hasAccess( $action ) ) {
399
- self::$staff = new Lib\Entities\Staff();
400
  if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
401
  self::$staff = Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->findOne();
402
- switch ( $action ) {
 
 
403
  case 'getStaffData':
404
  case 'getStaffCount':
405
  case 'updateStaff':
406
- return self::$staff->isLoaded();
407
  case 'getStaffSchedule':
408
  case 'getStaffServices':
409
- case 'staffHolidaysUpdate':
410
- case 'staffServicesUpdate':
411
- return self::$staff->isLoaded()
412
- && ( self::$staff->getId() == self::parameter( 'staff_id' ) );
413
  case 'staffScheduleHandleBreak':
414
  $res_schedule = new Lib\Entities\StaffScheduleItem();
415
  $res_schedule->load( self::parameter( 'ss_id' ) );
416
- return self::$staff->isLoaded()
417
- && ( self::$staff->getId() == $res_schedule->getStaffId() );
418
  case 'deleteStaffScheduleBreak':
419
  $break = new Lib\Entities\ScheduleItemBreak();
420
  $break->load( self::parameter( 'id' ) );
421
  $res_schedule = new Lib\Entities\StaffScheduleItem();
422
  $res_schedule->load( $break->getStaffScheduleItemId() );
423
- return self::$staff->isLoaded()
424
- && ( self::$staff->getId() == $res_schedule->getStaffId() );
425
- case 'staffScheduleUpdate':
426
  if ( self::hasParameter( 'ssi' ) ) {
427
  foreach ( self::parameter( 'ssi' ) as $id => $day_index ) {
428
  $res_schedule = new Lib\Entities\StaffScheduleItem();
@@ -438,12 +433,12 @@ class Ajax extends Lib\Base\Ajax
438
  default:
439
  return false;
440
  }
441
- } else {
442
- if ( in_array( $action, array( 'getStaffData', 'updateStaff' ) ) ) {
443
- self::$staff->load( self::parameter( 'id' ) );
444
- } elseif ( in_array( $action, array( 'staffHolidaysUpdate' ) ) ) {
445
- self::$staff->load( self::parameter( 'staff_id' ) );
446
- }
447
  }
448
 
449
  return true;
16
  protected static $staff;
17
 
18
  /**
19
+ * @inheritDoc
20
  */
21
  protected static function permissions()
22
  {
39
  array( 'alert' => array( 'error' => array() ), 'tpl' => array() ),
40
  self::$staff
41
  );
 
42
 
43
  $users_for_staff = Lib\Utils\Common::isCurrentUserAdmin() ? self::_getUsersForStaff( self::$staff->getId() ) : array();
44
 
52
  $response = array(
53
  'html' => array(
54
  'edit' => self::renderTemplate( 'dialog_body', array( 'staff' => self::$staff ), false ),
55
+ 'details' => self::renderTemplate( 'details', array( 'staff' => self::$staff, 'users_for_staff' => $users_for_staff ), false ),
56
  ),
57
  );
58
  if ( self::$staff->getId() ) {
59
  $response['holidays'] = self::$staff->getHolidays();
60
+ $response['html']['advanced'] = Proxy\Pro::getAdvancedHtml( self::$staff, $data['tpl'], true );
61
  $response['html']['services'] = self::_getStaffServices( self::$staff->getId(), null );
62
  $response['html']['schedule'] = self::_getStaffSchedule( self::$staff->getId(), null );
63
  $response['html']['special_days'] = Proxy\SpecialDays::getStaffSpecialDaysHtml( '', self::$staff->getId() );
112
  if ( ! $params['time_zone'] ) {
113
  $params['time_zone'] = null;
114
  }
 
 
 
115
 
116
  self::$staff->setFields( $params );
117
 
140
  /**
141
  * Update staff services.
142
  */
143
+ public static function updateStaffServices()
144
  {
145
  $form = new Forms\StaffServices();
146
  $form->bind( self::postParameters() );
165
  /**
166
  * Update staff schedule.
167
  */
168
+ public static function updateStaffSchedule()
169
  {
170
  $form = new Forms\StaffSchedule();
171
  $form->bind( self::postParameters() );
179
  /**
180
  * Update staff holidays.
181
  */
182
+ public static function updateStaffHolidays()
183
  {
184
  $interval = self::parameter( 'range', array() );
185
  $range = new Lib\Slots\Range( Lib\Slots\DatePoint::fromStr( $interval[0] ), Lib\Slots\DatePoint::fromStr( $interval[1] )->modify( 1 ) );
393
  protected static function hasAccess( $action )
394
  {
395
  if ( parent::hasAccess( $action ) ) {
 
396
  if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
397
  self::$staff = Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->findOne();
398
+ if ( ! self::$staff ) {
399
+ return false;
400
+ } else switch ( $action ) {
401
  case 'getStaffData':
402
  case 'getStaffCount':
403
  case 'updateStaff':
404
+ return true;
405
  case 'getStaffSchedule':
406
  case 'getStaffServices':
407
+ case 'updateStaffHolidays':
408
+ case 'updateStaffServices':
409
+ return self::$staff->getId() == self::parameter( 'staff_id' );
 
410
  case 'staffScheduleHandleBreak':
411
  $res_schedule = new Lib\Entities\StaffScheduleItem();
412
  $res_schedule->load( self::parameter( 'ss_id' ) );
413
+ return self::$staff->getId() == $res_schedule->getStaffId();
 
414
  case 'deleteStaffScheduleBreak':
415
  $break = new Lib\Entities\ScheduleItemBreak();
416
  $break->load( self::parameter( 'id' ) );
417
  $res_schedule = new Lib\Entities\StaffScheduleItem();
418
  $res_schedule->load( $break->getStaffScheduleItemId() );
419
+ return self::$staff->getId() == $res_schedule->getStaffId();
420
+ case 'updateStaffSchedule':
 
421
  if ( self::hasParameter( 'ssi' ) ) {
422
  foreach ( self::parameter( 'ssi' ) as $id => $day_index ) {
423
  $res_schedule = new Lib\Entities\StaffScheduleItem();
433
  default:
434
  return false;
435
  }
436
+ } elseif ( in_array( $action, array( 'getStaffData', 'updateStaff' ) ) ) {
437
+ self::$staff = new Lib\Entities\Staff();
438
+ self::$staff->load( self::parameter( 'id' ) );
439
+ } elseif ( $action === 'updateStaffHolidays' ) {
440
+ self::$staff = new Lib\Entities\Staff();
441
+ self::$staff->load( self::parameter( 'staff_id' ) );
442
  }
443
 
444
  return true;
backend/components/dialogs/staff/edit/Dialog.php CHANGED
@@ -58,6 +58,8 @@ class Dialog extends Lib\Base\Component
58
  ),
59
  ) );
60
 
 
 
61
  $query = Lib\Entities\Staff::query( 's' )
62
  ->select( 's.id, s.full_name' )
63
  ->tableJoin( $wpdb->users, 'wpu', 'wpu.ID = s.wp_user_id' );
@@ -93,7 +95,7 @@ class Dialog extends Lib\Base\Component
93
  'settingsSaved' => esc_attr__( 'Settings saved.', 'bookly' ),
94
  'proRequired' => (int) ! Lib\Config::proActive(),
95
  'limitation' => Limitation::getHtml(),
96
- 'activeStaffId' => self::parameter( 'staff_id', 0 ),
97
  'staff' => $query->sortBy( 'position' )->fetchArray()
98
  ) );
99
 
58
  ),
59
  ) );
60
 
61
+ Proxy\Pro::enqueueAssets();
62
+
63
  $query = Lib\Entities\Staff::query( 's' )
64
  ->select( 's.id, s.full_name' )
65
  ->tableJoin( $wpdb->users, 'wpu', 'wpu.ID = s.wp_user_id' );
95
  'settingsSaved' => esc_attr__( 'Settings saved.', 'bookly' ),
96
  'proRequired' => (int) ! Lib\Config::proActive(),
97
  'limitation' => Limitation::getHtml(),
98
+ 'currentTab' => self::parameter( 'tab', 'details' ),
99
  'staff' => $query->sortBy( 'position' )->fetchArray()
100
  ) );
101
 
backend/components/dialogs/staff/edit/proxy/Pro.php CHANGED
@@ -7,8 +7,10 @@ use Bookly\Lib;
7
  * Class Pro
8
  * @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
9
  *
10
- * @method static string renderArchivingComponents()
11
- * @method static void renderGoogleCalendarSettings( array $tpl_data ) Render Google Calendar settings.
 
 
12
  */
13
  abstract class Pro extends Lib\Base\Proxy
14
  {
7
  * Class Pro
8
  * @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
9
  *
10
+ * @method static void enqueueAssets() Enqueue assets for staff edit dialog.
11
+ * @method static void renderAdvancedTab() Render advanced tab.
12
+ * @method static string renderArchivingComponents()
13
+ * @method static string getAdvancedHtml( Lib\Entities\Staff $staff, array $tpl_data, bool $for_backend ) Render Advanced settings.
14
  */
15
  abstract class Pro extends Lib\Base\Proxy
16
  {
backend/components/dialogs/staff/edit/proxy/Shared.php CHANGED
@@ -16,7 +16,7 @@ use Bookly\Lib;
16
  * @method static void renderStaffServiceLabels() Render column header for controls on Services tab.
17
  * @method static void renderStaffService( int $staff_id, Lib\Entities\Service $service, array $services_data, array $attributes = array() ) Render controls for staff on Services tab.
18
  * @method static void renderStaffServiceTail( int $staff_id, Lib\Entities\Service $service, int $location_id, $attributes = array() ) Render controls for Staff on tab services.
19
- * @method static void renderStaffTab( Lib\Entities\Staff $staff ) Render staff tab.
20
  */
21
  abstract class Shared extends Lib\Base\Proxy
22
  {
16
  * @method static void renderStaffServiceLabels() Render column header for controls on Services tab.
17
  * @method static void renderStaffService( int $staff_id, Lib\Entities\Service $service, array $services_data, array $attributes = array() ) Render controls for staff on Services tab.
18
  * @method static void renderStaffServiceTail( int $staff_id, Lib\Entities\Service $service, int $location_id, $attributes = array() ) Render controls for Staff on tab services.
19
+ * @method static void renderStaffTab() Render staff tab.
20
  */
21
  abstract class Shared extends Lib\Base\Proxy
22
  {
backend/components/dialogs/staff/edit/resources/js/staff-days-off.js CHANGED
@@ -29,7 +29,7 @@
29
  days: 1,
30
  showMonths: 12,
31
  scrollSpeed: 350,
32
- action: 'bookly_staff_holidays_update',
33
  csrf_token: obj.options.csrf_token,
34
  staff_id: obj.options.staff_id,
35
  events: obj.options.l10n.holidays,
29
  days: 1,
30
  showMonths: 12,
31
  scrollSpeed: 350,
32
+ action: 'bookly_update_staff_holidays',
33
  csrf_token: obj.options.csrf_token,
34
  staff_id: obj.options.staff_id,
35
  events: obj.options.l10n.holidays,
backend/components/dialogs/staff/edit/resources/js/staff-details.js CHANGED
@@ -24,16 +24,12 @@
24
  }
25
 
26
  function initDetails($container) {
27
- var $form = $('.bookly-js-staff-details', $container),
28
- $staff_full_name = $('#bookly-full-name', $container),
29
- $staff_wp_user = $('#bookly-wp-user', $container),
30
- $staff_email = $('#bookly-email', $container),
31
- $staff_phone = $('#bookly-phone', $container),
32
- $staffLocations = $('#bookly-js-locations', $container),
33
- $unsaved_changes = $('.bookly-js-unsaved-changes'),
34
- $unsaved_changes_save = $('.bookly-js-unsaved-changes .bookly-js-save-changes'),
35
- $unsaved_changes_ignore = $('.bookly-js-unsaved-changes .bookly-js-ignore-changes'),
36
- has_changes = false
37
  ;
38
 
39
  if (obj.options.intlTelInput.enabled) {
@@ -61,32 +57,6 @@
61
  $staffLocations.booklyDropdown();
62
 
63
  $container
64
- .on('change', 'select,input,textarea', function () {
65
- has_changes = true;
66
- })
67
- .on('click', '.bookly-js-google-calendar-row a', function (e) {
68
- var url = $(this).attr('href');
69
- if (has_changes) {
70
- e.preventDefault();
71
- $unsaved_changes.booklyModal('show');
72
- $unsaved_changes.data('url', url);
73
- }
74
- })
75
- .on('click', '.bookly-js-outlook-calendar-row a', function (e) {
76
- var url = $(this).attr('href');
77
- if (has_changes) {
78
- e.preventDefault();
79
- $unsaved_changes.booklyModal('show');
80
- $unsaved_changes.data('url', url);
81
- }
82
- })
83
- .on('change', '[name=google_disconnect]', function () {
84
- has_changes = true;
85
- $('.bookly-js-google-calendars-list', $container).toggle(!this.checked);
86
- }).on('change', '[name=outlook_disconnect]', function () {
87
- has_changes = true;
88
- $('.bookly-js-outlook-calendars-list', $container).toggle(!this.checked);
89
- })
90
  .on('click', '.bookly-thumb label', function (e) {
91
  e.preventDefault();
92
  e.stopPropagation();
@@ -108,7 +78,6 @@
108
  $('#bookly-js-staff-avatar').find('.bookly-js-image').css({'background-image': 'url(' + img_src + ')', 'background-size': 'cover'});
109
  $('.bookly-thumb-delete').show();
110
  $(this).hide();
111
- has_changes = true;
112
  }
113
  });
114
 
@@ -119,30 +88,50 @@
119
  var $thumb = $(this).parents('.bookly-js-image');
120
  $thumb.attr('style', '');
121
  $container.find('[name=attachment_id]').val('').trigger('change');
122
- has_changes = true;
123
  $('.bookly-thumb-delete').hide();
124
  })
125
  // Save staff member details.
126
  .on('click', '#bookly-details-save', function (e) {
127
  e.preventDefault();
128
- var ladda = Ladda.create(this);
 
 
 
129
  ladda.start();
130
  // for BooklyPro listener in archive.js
131
  // When button disabled, listeners don't process
132
  $(this).removeAttr('disabled');
133
 
134
- save(function (response) {
135
- if (response.success) {
136
- obj.options.saving({success: [obj.options.l10n.saved]}, response.data.staff);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
 
138
- $('[bookly-js-staff-name-' + obj.options.get_details.id + ']').text($('#bookly-full-name', $form).val());
139
- if (typeof obj.options.renderWpUsers === 'function') {
140
- obj.options.renderWpUsers(response.data.wp_users);
 
 
 
141
  }
142
- } else {
143
- obj.options.saving({error: [response.data.error]});
144
  }
145
- ladda.stop();
146
  });
147
  })
148
  .on('click', 'button:reset', function () {
@@ -150,53 +139,7 @@
150
  $staffLocations.booklyDropdown('reset');
151
  }, 0);
152
  });
153
-
154
- $unsaved_changes_save.on('click', function () {
155
- var ladda = Ladda.create(this);
156
- ladda.start();
157
- save(function (response) {
158
- if (response.success) {
159
- window.location.href = $unsaved_changes.data('url');
160
- } else {
161
- obj.options.saving({error: [response.data.error]});
162
- }
163
- ladda.stop();
164
- });
165
- });
166
- $unsaved_changes_ignore.on('click', function () {
167
- window.location.href = $unsaved_changes.data('url');
168
- });
169
-
170
- function save(callback) {
171
- var data = $form.serializeArray(),
172
- $staff_phone = $('#bookly-phone', $form),
173
- phone;
174
- try {
175
- phone = obj.options.intlTelInput.enabled ? $staff_phone.intlTelInput('getNumber') : $staff_phone.val();
176
- if (phone == '') {
177
- phone = $staff_phone.val();
178
- }
179
- } catch (error) { // In case when intlTelInput can't return phone number.
180
- phone = $staff_phone.val();
181
- }
182
- data.push({name: 'action', value: 'bookly_update_staff'});
183
- data.push({name: 'phone', value: phone});
184
- data.push({name: 'tab', value: phone});
185
- $.ajax({
186
- type : 'POST',
187
- url : ajaxurl,
188
- data : data,
189
- dataType : 'json',
190
- xhrFields : {withCredentials: true},
191
- crossDomain: 'withCredentials' in new XMLHttpRequest(),
192
- success : function (response) {
193
- has_changes = false;
194
- callback(response);
195
- }
196
- });
197
- }
198
  }
199
-
200
  };
201
 
202
  Details.prototype.options = {
24
  }
25
 
26
  function initDetails($container) {
27
+ var $form = $('.bookly-js-staff-details', $container),
28
+ $staff_full_name = $('#bookly-full-name', $container),
29
+ $staff_wp_user = $('#bookly-wp-user', $container),
30
+ $staff_email = $('#bookly-email', $container),
31
+ $staff_phone = $('#bookly-phone', $container),
32
+ $staffLocations = $('#bookly-js-locations', $container)
 
 
 
 
33
  ;
34
 
35
  if (obj.options.intlTelInput.enabled) {
57
  $staffLocations.booklyDropdown();
58
 
59
  $container
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  .on('click', '.bookly-thumb label', function (e) {
61
  e.preventDefault();
62
  e.stopPropagation();
78
  $('#bookly-js-staff-avatar').find('.bookly-js-image').css({'background-image': 'url(' + img_src + ')', 'background-size': 'cover'});
79
  $('.bookly-thumb-delete').show();
80
  $(this).hide();
 
81
  }
82
  });
83
 
88
  var $thumb = $(this).parents('.bookly-js-image');
89
  $thumb.attr('style', '');
90
  $container.find('[name=attachment_id]').val('').trigger('change');
 
91
  $('.bookly-thumb-delete').hide();
92
  })
93
  // Save staff member details.
94
  .on('click', '#bookly-details-save', function (e) {
95
  e.preventDefault();
96
+ let ladda = Ladda.create(this),
97
+ data = $form.serializeArray(),
98
+ $staff_phone = $('#bookly-phone', $form),
99
+ phone;
100
  ladda.start();
101
  // for BooklyPro listener in archive.js
102
  // When button disabled, listeners don't process
103
  $(this).removeAttr('disabled');
104
 
105
+ try {
106
+ phone = obj.options.intlTelInput.enabled ? $staff_phone.intlTelInput('getNumber') : $staff_phone.val();
107
+ if (phone == '') {
108
+ phone = $staff_phone.val();
109
+ }
110
+ } catch (error) { // In case when intlTelInput can't return phone number.
111
+ phone = $staff_phone.val();
112
+ }
113
+ data.push({name: 'action', value: 'bookly_update_staff'});
114
+ data.push({name: 'phone', value: phone});
115
+ $.ajax({
116
+ type: 'POST',
117
+ url: ajaxurl,
118
+ data: data,
119
+ dataType: 'json',
120
+ xhrFields: {withCredentials: true},
121
+ crossDomain: 'withCredentials' in new XMLHttpRequest(),
122
+ success: function (response) {
123
+ if (response.success) {
124
+ obj.options.saving({success: [obj.options.l10n.saved]}, response.data.staff);
125
 
126
+ $('[bookly-js-staff-name-' + obj.options.get_details.id + ']').text($('#bookly-full-name', $form).val());
127
+ if (typeof obj.options.renderWpUsers === 'function') {
128
+ obj.options.renderWpUsers(response.data.wp_users);
129
+ }
130
+ } else {
131
+ obj.options.saving({error: [response.data.error]});
132
  }
133
+ ladda.stop();
 
134
  }
 
135
  });
136
  })
137
  .on('click', 'button:reset', function () {
139
  $staffLocations.booklyDropdown('reset');
140
  }, 0);
141
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  }
 
143
  };
144
 
145
  Details.prototype.options = {
backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js CHANGED
@@ -11,10 +11,11 @@ jQuery(function ($) {
11
  $validateErrors = $('.bookly-js-errors', $modalFooter),
12
  $deleteCascadeModal = $('.bookly-js-delete-cascade-confirm'),
13
  $staffCount = $('.bookly-js-staff-count'),
14
- currentTab,
15
  staff_id,
16
  holidays
17
  ;
 
18
  $modal.on('keydown', ':input:not(textarea)', function (event) {
19
  if (event.key == "Enter") {
20
  event.preventDefault();
@@ -54,11 +55,6 @@ jQuery(function ($) {
54
  }
55
  });
56
 
57
- if (BooklyStaffEditDialogL10n.activeStaffId != '0') {
58
- staff_id = BooklyStaffEditDialogL10n.activeStaffId;
59
- editStaff(staff_id);
60
- }
61
-
62
  /**
63
  * Edit staff member.
64
  */
@@ -77,12 +73,14 @@ jQuery(function ($) {
77
  $modalFooter.show();
78
  holidays = response.data.holidays;
79
  let $details_container = $('#bookly-details-container', $modalBody),
 
80
  $services_container = $('#bookly-services-container', $modalBody),
81
  $schedule_container = $('#bookly-schedule-container', $modalBody),
82
  $holidays_container = $('#bookly-holidays-container', $modalBody),
83
  $special_days_container = $('#bookly-special-days-container', $modalBody)
84
  ;
85
  $details_container.append(response.data.html.details);
 
86
  $services_container.append(response.data.html.services);
87
  $schedule_container.append(response.data.html.schedule);
88
  $holidays_container.append(response.data.html.holidays);
@@ -225,7 +223,7 @@ jQuery(function ($) {
225
 
226
  $container.show();
227
  })
228
- .on('click', '> .nav-tabs [data-toggle=tab]', function () {
229
  currentTab = $(this).attr('id');
230
  });
231
 
@@ -300,4 +298,10 @@ jQuery(function ($) {
300
 
301
  $saveBtn.prop('disabled', $('>', $validateErrors).length !== 0);
302
  });
 
 
 
 
 
 
303
  });
11
  $validateErrors = $('.bookly-js-errors', $modalFooter),
12
  $deleteCascadeModal = $('.bookly-js-delete-cascade-confirm'),
13
  $staffCount = $('.bookly-js-staff-count'),
14
+ currentTab = 'bookly-' + BooklyStaffEditDialogL10n.currentTab + '-tab',
15
  staff_id,
16
  holidays
17
  ;
18
+
19
  $modal.on('keydown', ':input:not(textarea)', function (event) {
20
  if (event.key == "Enter") {
21
  event.preventDefault();
55
  }
56
  });
57
 
 
 
 
 
 
58
  /**
59
  * Edit staff member.
60
  */
73
  $modalFooter.show();
74
  holidays = response.data.holidays;
75
  let $details_container = $('#bookly-details-container', $modalBody),
76
+ $advanced_container = $('#bookly-advanced-container', $modalBody),
77
  $services_container = $('#bookly-services-container', $modalBody),
78
  $schedule_container = $('#bookly-schedule-container', $modalBody),
79
  $holidays_container = $('#bookly-holidays-container', $modalBody),
80
  $special_days_container = $('#bookly-special-days-container', $modalBody)
81
  ;
82
  $details_container.append(response.data.html.details);
83
+ $advanced_container.append(response.data.html.advanced);
84
  $services_container.append(response.data.html.services);
85
  $schedule_container.append(response.data.html.schedule);
86
  $holidays_container.append(response.data.html.holidays);
223
 
224
  $container.show();
225
  })
226
+ .on('click', '> .nav-tabs [data-toggle=bookly-tab]', function () {
227
  currentTab = $(this).attr('id');
228
  });
229
 
298
 
299
  $saveBtn.prop('disabled', $('>', $validateErrors).length !== 0);
300
  });
301
+
302
+ $(document.body).on('bookly.staff.edit', {},
303
+ function (event, staff_id ) {
304
+ editStaff(staff_id)
305
+ }
306
+ );
307
  });
backend/components/dialogs/staff/edit/resources/js/staff-schedule.js CHANGED
@@ -43,7 +43,7 @@
43
  data['location_id'] = $('#staff_location_id', $container).val();
44
  data['custom_location_settings'] = $('#custom_location_settings', $container).val();
45
  data['staff_id'] = options.get_staff_schedule.staff_id;
46
- data['action'] = 'bookly_staff_schedule_update';
47
  $.post(ajaxurl, $.param(data), function () {
48
  ladda.stop();
49
  obj.options.saving({success: [obj.options.l10n.saved]});
43
  data['location_id'] = $('#staff_location_id', $container).val();
44
  data['custom_location_settings'] = $('#custom_location_settings', $container).val();
45
  data['staff_id'] = options.get_staff_schedule.staff_id;
46
+ data['action'] = 'bookly_update_staff_schedule';
47
  $.post(ajaxurl, $.param(data), function () {
48
  ladda.stop();
49
  obj.options.saving({success: [obj.options.l10n.saved]});
backend/components/dialogs/staff/edit/templates/details.php CHANGED
@@ -99,12 +99,7 @@ use Bookly\Lib\Config;
99
  <?php endif ?>
100
  <small class="form-text text-muted"><?php esc_html_e( 'To make staff member invisible to your customers set the visibility to "Private".', 'bookly' ) ?></small>
101
  </div>
102
-
103
  <?php Proxy\Shared::renderStaffDetails( $staff ) ?>
104
- <?php if ( $staff->getId() ) : ?>
105
- <?php Proxy\Pro::renderGoogleCalendarSettings( $tpl_data ) ?>
106
- <?php Proxy\OutlookCalendar::renderCalendarSettings( $tpl_data ) ?>
107
- <?php endif ?>
108
  <input type="hidden" name="id" value="<?php echo $staff->getId() ?>">
109
  <input type="hidden" name="attachment_id" value="<?php echo $staff->getAttachmentId() ?>">
110
  <?php Inputs::renderCsrf() ?>
99
  <?php endif ?>
100
  <small class="form-text text-muted"><?php esc_html_e( 'To make staff member invisible to your customers set the visibility to "Private".', 'bookly' ) ?></small>
101
  </div>
 
102
  <?php Proxy\Shared::renderStaffDetails( $staff ) ?>
 
 
 
 
103
  <input type="hidden" name="id" value="<?php echo $staff->getId() ?>">
104
  <input type="hidden" name="attachment_id" value="<?php echo $staff->getAttachmentId() ?>">
105
  <?php Inputs::renderCsrf() ?>
backend/components/dialogs/staff/edit/templates/dialog_body.php CHANGED
@@ -10,6 +10,7 @@ use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
10
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Details', 'bookly' ) ?></span>
11
  </a>
12
  </li>
 
13
  <li class="nav-item">
14
  <a id="bookly-services-tab" href="#services" data-toggle="bookly-tab" class="nav-link">
15
  <i class="fas fa-th fa-fw"></i>
@@ -22,7 +23,7 @@ use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
22
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Schedule', 'bookly' ) ?></span>
23
  </a>
24
  </li>
25
- <?php Proxy\Shared::renderStaffTab( $staff ) ?>
26
  <li class="nav-item">
27
  <a id="bookly-holidays-tab" href="#days_off" data-toggle="bookly-tab" class="nav-link">
28
  <i class="far fa-calendar fa-fw"></i>
@@ -36,6 +37,9 @@ use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
36
  <div class="tab-pane active" id="details">
37
  <div id="bookly-details-container"></div>
38
  </div>
 
 
 
39
  <div class="tab-pane" id="services">
40
  <div id="bookly-services-container"></div>
41
  </div>
10
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Details', 'bookly' ) ?></span>
11
  </a>
12
  </li>
13
+ <?php Proxy\Pro::renderAdvancedTab() ?>
14
  <li class="nav-item">
15
  <a id="bookly-services-tab" href="#services" data-toggle="bookly-tab" class="nav-link">
16
  <i class="fas fa-th fa-fw"></i>
23
  <span class="d-none d-lg-inline"><?php esc_html_e( 'Schedule', 'bookly' ) ?></span>
24
  </a>
25
  </li>
26
+ <?php Proxy\Shared::renderStaffTab() ?>
27
  <li class="nav-item">
28
  <a id="bookly-holidays-tab" href="#days_off" data-toggle="bookly-tab" class="nav-link">
29
  <i class="far fa-calendar fa-fw"></i>
37
  <div class="tab-pane active" id="details">
38
  <div id="bookly-details-container"></div>
39
  </div>
40
+ <div class="tab-pane" id="advanced">
41
+ <div id="bookly-advanced-container"></div>
42
+ </div>
43
  <div class="tab-pane" id="services">
44
  <div id="bookly-services-container"></div>
45
  </div>
backend/components/dialogs/staff/edit/templates/services.php CHANGED
@@ -135,7 +135,7 @@ use Bookly\Lib\Utils\Common;
135
  </ul>
136
  <?php endforeach ?>
137
 
138
- <input type="hidden" name="action" value="bookly_staff_services_update">
139
  <input type="hidden" name="staff_id" value="<?php echo $staff_id ?>">
140
  <?php Inputs::renderCsrf() ?>
141
 
135
  </ul>
136
  <?php endforeach ?>
137
 
138
+ <input type="hidden" name="action" value="bookly_update_staff_services">
139
  <input type="hidden" name="staff_id" value="<?php echo $staff_id ?>">
140
  <?php Inputs::renderCsrf() ?>
141
 
backend/components/editable/Widget.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Editable;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Widget
8
+ * @package Bookly\Backend\Components\Editable
9
+ */
10
+ class Widget extends Lib\Base\Component
11
+ {
12
+ /**
13
+ * Render the widget
14
+ *
15
+ * @param string $doc_slug
16
+ */
17
+ public static function render( $doc_slug )
18
+ {
19
+ self::enqueueStyles( array(
20
+ 'module' => array( 'css/editable.css', ),
21
+ ) );
22
+
23
+ self::enqueueScripts( array(
24
+ 'module' => array(
25
+ 'js/ace/ace.js' => array(),
26
+ 'js/ace/ext-language_tools.js' => array(),
27
+ 'js/editable.js' => array( 'jquery' ),
28
+ ),
29
+ ) );
30
+
31
+ wp_localize_script( 'bookly-editable.js', 'BooklyL10nEditable', array(
32
+ 'title' => __( 'Edit', 'bookly' ),
33
+ ) );
34
+
35
+ self::renderTemplate( 'ace-modal', compact( 'doc_slug' ) );
36
+ }
37
+ }
backend/components/editable/resources/css/editable.css ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #bookly-tbs .bookly-editable {
2
+ cursor: pointer;
3
+ border-bottom: dashed 1px #0088cc;
4
+ }
5
+
6
+ #bookly-tbs .bookly-editable-popover {
7
+ z-index: 9999 !important; /* Show editable popover over WP header and menu */
8
+ min-width: 280px;
9
+ max-width: none;
10
+ white-space: nowrap;
11
+ }
12
+
13
+ #bookly-tbs .bookly-editable-popover textarea {
14
+ resize: both;
15
+ }
16
+
17
+ #bookly-tbs .bookly-editable-clear {
18
+ margin-left: -40px;
19
+ z-index: 100;
20
+ }
21
+
22
+ #bookly-tbs .bookly-editable-clear:not(:hover) {
23
+ color: grey;
24
+ }
25
+
26
+ #bookly-tbs .bookly-editable-clear:focus {
27
+ box-shadow: none;
28
+ }
29
+
30
+ #bookly-tbs #bookly-ace-editor {
31
+ height: 300px;
32
+ width: 100%;
33
+ display: block;
34
+ border: 1px solid gainsboro;
35
+ border-radius: 3px;
36
+ color: #495057;
37
+ }
38
+
39
+ #bookly-tbs .ace_bookly_each, #bookly-tbs .ace_bookly_endeach {
40
+ color: #e36209;
41
+ }
42
+ #bookly-tbs .ace_bookly_if, #bookly-tbs .ace_bookly_endif {
43
+ color: #d73a49;
44
+ }
45
+ #bookly-tbs .ace_bookly_code {
46
+ color: #005cc5;
47
+ }
48
+
49
+ .ace_tooltip {
50
+ padding: 10px;
51
+ }
52
+
53
+ .ace_editor.ace_autocomplete {
54
+ width: 440px;
55
+ }
backend/components/editable/resources/js/ace/ace.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),define("ace/lib/fixoldbrowsers",["require","exports","module"],function(e,t,n){"use strict";typeof Element!="undefined"&&!Element.prototype.remove&&Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r=typeof navigator=="object"?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||["other"])[0].toLowerCase(),s=r.userAgent||"",o=r.appName||"";t.isWin=i=="win",t.isMac=i=="mac",t.isLinux=i=="linux",t.isIE=o=="Microsoft Internet Explorer"||o.indexOf("MSAppHost")>=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e&&e.appendChild&&t&&t.appendChild(e),e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s<e.length;s++){var u=o(e[s],t,n);u&&i.push(u)}return i}var a=document.createElement(e[0]),f=e[1],l=1;f&&typeof f=="object"&&!Array.isArray(f)&&(l=2);for(var s=l;s<e.length;s++)o(e[s],a,n);return l==2&&Object.keys(f).forEach(function(e){var t=f[e];e==="class"?a.className=Array.isArray(t)?t.join(" "):t:typeof t=="function"||e=="value"||e[0]=="$"?a[e]=t:e==="ref"?n&&(n[t]=a):t!=null&&a.setAttribute(e,t)}),t&&t.appendChild(a),a},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){var n=t?t.ownerDocument:document;return n.createTextNode(e)},t.createFragment=function(e){var t=e?e.ownerDocument:document;return t.createDocumentFragment()},t.hasCssClass=function(e,t){var n=(e.className+"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(r=t.querySelectorAll("style"))while(n<r.length)if(r[n++].id===e)return!0},t.importCssString=function(n,r,i){var s=i;if(!i||!i.getRootNode)s=document;else{s=i.getRootNode();if(!s||s==i)s=document}var o=s.ownerDocument||s;if(r&&t.hasCssString(r,s))return null;r&&(n+="\n/*# sourceURL=ace/css/"+r+" */");var u=t.createElement("style");u.appendChild(o.createTextNode(n)),r&&(u.id=r),s==o&&(s=t.getDocumentHead(o)),s.insertBefore(u,s.firstChild)},t.importCssStylsheet=function(e,n){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(n))},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},typeof document=="undefined"&&(t.importCssString=function(){}),t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=r.isWin?typeof window!="undefined"&&window.devicePixelRatio>=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){u={passive:!1}}})}catch(e){}}function f(){return u==undefined&&a(),u}function l(e,t,n){this.elem=e,this.type=t,this.callback=n}function d(e,t,n){var u=p(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(u|=8);if(s.altGr){if((3&u)==3)return;s.altGr=0}if(n===18||n===17){var a="location"in t?t.location:t.keyLocation;if(n===17&&a===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&u===3&&a===2){var f=t.timeStamp-o;f<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1);if(!u&&n===13){var a="location"in t?t.location:t.keyLocation;if(a===3){e(t,u,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&u&8){e(t,u,n);if(t.defaultPrevented)return;u&=-9}return!!u||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,u,n):!1}function v(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0,u;l.prototype.destroy=function(){h(this.elem,this.type,this.callback),this.elem=this.type=this.callback=undefined};var c=t.addListener=function(e,t,n,r){e.addEventListener(t,n,f()),r&&r.$toDestroy.push(new l(e,t,n))},h=t.removeListener=function(e,t,n){e.removeEventListener(t,n,f())};t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,t,n){function i(e){t&&t(e),n&&n(e),h(r,"mousemove",t),h(r,"mouseup",i),h(r,"dragstart",i)}var r=e&&e.ownerDocument||document;return c(r,"mousemove",t),c(r,"mouseup",i),c(r,"dragstart",i),i},t.addMouseWheelListener=function(e,t,n){"onmousewheel"in e?c(e,"mousewheel",function(e){var n=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/n,e.wheelY=-e.wheelDeltaY/n):(e.wheelX=0,e.wheelY=-e.wheelDelta/n),t(e)},n):"onwheel"in e?c(e,"wheel",function(e){var n=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*n||0,e.wheelY=e.deltaY*n||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}t(e)},n):c(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),t(e)},n)},t.addMultiMouseDownListener=function(e,n,r,s,o){function p(e){t.getButton(e)!==0?u=0:e.detail>1?(u++,u>4&&(u=1)):u=1;if(i.isIE){var o=Math.abs(e.clientX-a)>5||Math.abs(e.clientY-f)>5;if(!l||o)u=1;l&&clearTimeout(l),l=setTimeout(function(){l=null},n[u-1]||600),u==1&&(a=e.clientX,f=e.clientY)}e._clicks=u,r[s]("mousedown",e);if(u>4)u=0;else if(u>1)return r[s](h[u],e)}var u=0,a,f,l,h={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){c(e,"mousedown",p,o)})};var p=function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[p(e)]},t.addCommandKeyListener=function(e,n,r){if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;c(e,"keydown",function(e){o=e.keyCode},r),c(e,"keypress",function(e){return d(n,e,o)},r)}else{var u=null;c(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=d(n,e,e.keyCode);return u=e.defaultPrevented,t},r),c(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)},r),c(e,"keyup",function(e){s[e.keyCode]=null},r),s||(v(),c(window,"focus",v))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var m=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+m++,i=function(s){s.data==r&&(t.stopPropagation(s),h(n,"message",i),e())};c(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}if(Object.prototype.toString.call(e)!=="[object Object]")return e;t={};for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/clipboard",["require","exports","module"],function(e,t,n){"use strict";var r;n.exports={lineMode:!1,pasteCancelled:function(){return r&&r>Date.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=e("../clipboard"),a=i.isChrome<18,f=i.isIE,l=i.isChrome>63,c=400,h=e("../lib/keys"),p=h.KEY_MODS,d=i.isIOS,v=d?/\s/:/\n/,m=i.isMobile,g=function(e,t){function X(){x=!0,n.blur(),n.focus(),x=!1}function $(e){e.keyCode==27&&n.value.length<n.selectionStart&&(b||(T=n.value),N=C=-1,O()),V()}function K(){clearTimeout(J),J=setTimeout(function(){E&&(n.style.cssText=E,E=""),t.renderer.$isMousePressed=!1,t.renderer.$keepTextAreaAtCursor&&t.renderer.$moveTextAreaToCursor()},0)}function G(e,t,n){var r=null,i=!1;n.addEventListener("keydown",function(e){r&&clearTimeout(r),i=!0},!0),n.addEventListener("keyup",function(e){r=setTimeout(function(){i=!1},100)},!0);var s=function(e){if(document.activeElement!==n)return;if(i||b||t.$mouseHandler.isMousePressed)return;if(g)return;var r=n.selectionStart,s=n.selectionEnd,o=null,u=0;if(r==0)o=h.up;else if(r==1)o=h.home;else if(s>C&&T[s]=="\n")o=h.end;else if(r<N&&T[r-1]==" ")o=h.left,u=p.option;else if(r<N||r==N&&C!=N&&r==s)o=h.left;else if(s>C&&T.slice(0,s).split("\n").length>2)o=h.down;else if(s>C&&T[s-1]==" ")o=h.right,u=p.option;else if(s>C||s==C&&C!=N&&r==s)o=h.right;r!==s&&(u|=p.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=h.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}N=r,C=s,O("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var g=!1,y=!1,b=!1,w=!1,E="";m||(n.style.fontSize="1px");var S=!1,x=!1,T="",N=0,C=0,k=0;try{var L=document.activeElement===n}catch(A){}r.addListener(n,"blur",function(e){if(x)return;t.onBlur(e),L=!1},t),r.addListener(n,"focus",function(e){if(x)return;L=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(O):O()},t),this.$focusScroll=!1,this.focus=function(){if(E||l||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return L},t.on("beforeEndOperation",function(){var e=t.curOp,r=e&&e.command&&e.command.name;if(r=="insertstring")return;var i=r&&(e.docChanged||e.selectionChanged);b&&i&&(T=n.value="",W()),O()});var O=d?function(e){if(!L||g&&!e||w)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=T=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(N!=i||C!=s)&&n.setSelectionRange(i,s),N=i,C=s}:function(){if(b||w)return;if(!L&&!P)return;b=!0;var e=0,r=0,i="";if(t.session){var s=t.selection,o=s.getRange(),u=s.cursor.row;e=o.start.column,r=o.end.column,i=t.session.getLine(u);if(o.start.row!=u){var a=t.session.getLine(u-1);e=o.start.row<u-1?0:e,r+=a.length+1,i=a+"\n"+i}else if(o.end.row!=u){var f=t.session.getLine(u+1);r=o.end.row>u+1?f.length:r,r+=i.length+1,i=i+"\n"+f}else m&&u>0&&(i="\n"+i,r+=1,e+=1);i.length>c&&(e<c&&r<c?i=i.slice(0,c):(i="\n",e==r?e=r=0:(e=0,r=1)))}var l=i+"\n\n";l!=T&&(n.value=T=l,N=C=l.length),P&&(N=n.selectionStart,C=n.selectionEnd);if(C!=r||N!=e||n.selectionEnd!=C)try{n.setSelectionRange(e,r),N=e,C=r}catch(h){}b=!1};this.resetSelection=O,L&&t.onFocus();var M=function(e){return e.selectionStart===0&&e.selectionEnd>=T.length&&e.value===T&&T&&e.selectionEnd!==C},_=function(e){if(b)return;g?g=!1:M(n)?(t.selectAll(),O()):m&&n.selectionStart!=N&&O()},D=null;this.setInputHandler=function(e){D=e},this.getInputHandler=function(){return D};var P=!1,H=function(e,r){P&&(P=!1);if(y)return O(),e&&t.onPaste(e),y=!1,"";var s=n.selectionStart,o=n.selectionEnd,u=N,a=T.length-C,f=e,l=e.length-s,c=e.length-o,h=0;while(u>0&&T[h]==e[h])h++,u--;f=f.slice(h),h=1;while(a>0&&T.length-h>N-1&&T[T.length-h]==e[e.length-h])h++,a--;l-=h-1,c-=h-1;var p=f.length-h+1;p<0&&(u=-p,p=0),f=f.slice(0,p);if(!r&&!f&&!l&&!u&&!a&&!c)return"";w=!0;var d=!1;return i.isAndroid&&f==". "&&(f=" ",d=!0),f&&!u&&!a&&!l&&!c||S?t.onTextInput(f):t.onTextInput(f,{extendLeft:u,extendRight:a,restoreStart:l,restoreEnd:c}),w=!1,T=e,N=s,C=o,k=c,d?"\n":f},B=function(e){if(b)return z();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=H(r,!0);(r.length>c+100||v.test(i)||m&&N<1&&N==C)&&O()},j=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||a)return;var i=f||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return j(e,t,!0)}},F=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);j(e,s)?(d&&(O(s),g=s,setTimeout(function(){g=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(g=!0,n.value=s,n.select(),setTimeout(function(){g=!1,O(),i?t.onCut():t.onCopy()}))},I=function(e){F(e,!0)},q=function(e){F(e,!1)},R=function(e){var s=j(e);if(u.pasteCancelled())return;typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(O),r.preventDefault(e)):(n.value="",y=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t),t),r.addListener(n,"select",_,t),r.addListener(n,"input",B,t),r.addListener(n,"cut",I,t),r.addListener(n,"copy",q,t),r.addListener(n,"paste",R,t),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:q(e);break;case 86:R(e);break;case 88:I(e)}},t);var U=function(e){if(b||!t.onCompositionStart||t.$readOnly)return;b={};if(S)return;e.data&&(b.useTextareaForIME=!1),setTimeout(z,0),t._signal("compositionStart"),t.on("mousedown",X);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,b.markerRange=r,b.selectionStart=N,t.onCompositionStart(b),b.useTextareaForIME?(T=n.value="",N=0,C=0):(n.msGetInputContext&&(b.context=n.msGetInputContext()),n.getInputContext&&(b.context=n.getInputContext()))},z=function(){if(!b||!t.onCompositionUpdate||t.$readOnly)return;if(S)return X();if(b.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;H(e),b.markerRange&&(b.context&&(b.markerRange.start.column=b.selectionStart=b.context.compositionStartOffset),b.markerRange.end.column=b.markerRange.start.column+C-b.selectionStart+k)}},W=function(e){if(!t.onCompositionEnd||t.$readOnly)return;b=!1,t.onCompositionEnd(),t.off("mousedown",X),e&&B()},V=o.delayedCall(z,50).schedule.bind(null,null);r.addListener(n,"compositionstart",U,t),r.addListener(n,"compositionupdate",z,t),r.addListener(n,"keyup",$,t),r.addListener(n,"keydown",V,t),r.addListener(n,"compositionend",W,t),this.getElement=function(){return n},this.setCommandMode=function(e){S=e,n.readOnly=!1},this.setReadOnly=function(e){S||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){P=!0,O(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){E||(E=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(N+C)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){s.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout(J),i.isWin&&r.capture(t.container,h,K)},this.onContextMenuClose=K;var J,Q=function(e){t.textInput.onContextMenu(e),K()};r.addListener(n,"mouseup",Q,t),r.addListener(n,"mousedown",function(e){e.preventDefault(),K()},t),r.addListener(t.renderer.scroller,"contextmenu",Q,t),r.addListener(n,"contextmenu",Q,t),d&&G(e,t,n)};t.TextInput=g,t.$setUserAgentForTests=function(e,t){m=e,d=t}}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i<s&&(o=(o+n.vx)/2,u=(u+n.vy)/2);var a=Math.abs(o/u),f=!1;a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowed<s){var l=Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(u)<=1.5*Math.abs(n.vy);l?(f=!0,n.allowed=r):n.allowed=0}n.t=r,n.vx=o,n.vy=u;if(f)return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(o.prototype),t.DefaultHandlers=o}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.off("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)},t),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.on("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e),t),i.addListener(c,"dragend",this.onDragEnd.bind(e),t),i.addListener(c,"dragenter",this.onDragEnter.bind(e),t),i.addListener(c,"dragover",this.onDragOver.bind(e),t),i.addListener(c,"dragleave",this.onDragLeave.bind(e),t),i.addListener(c,"drop",this.onDrop.bind(e),t);var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),s=e("../lib/dom");t.addTouchListeners=function(e,t){function b(){var e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var n=t.getCopyText(),i=t.session.getUndoManager().hasUndo();y.replaceChild(s.buildDom(r?["span",!n&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],i&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],["span",{"class":"ace_mobile-button",action:"find"},"Find"],["span",{"class":"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),y.firstChild)},o=function(n){var s=n.target.getAttribute("action");if(s=="more"||!r)return r=!r,i();if(s=="paste")e.readText().then(function(e){t.execCommand(s,e)});else if(s){if(s=="cut"||s=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(s)}y.firstChild.style.display="none",r=!1,s!="openCommandPallete"&&t.focus()};y=s.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),o(e)},onclick:o},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function w(){y||b();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.renderer.textToScreenCoordinates(0,0).pageX,i=t.renderer.scrollLeft,s=t.container.getBoundingClientRect();y.style.top=n.pageY-s.top-3+"px",n.pageX-s.left<s.width-70?(y.style.left="",y.style.right="10px"):(y.style.right="",y.style.left=r+i-s.left+"px"),y.style.display="",y.firstChild.style.display="none",t.on("input",E)}function E(e){y&&(y.style.display="none"),t.off("input",E)}function S(){l=null,clearTimeout(l);var e=t.selection.getRange(),r=e.contains(p.row,p.column);if(e.isEmpty()||!r)t.selection.moveToPosition(p),t.selection.selectWord();n="wait",w()}function x(){l=null,clearTimeout(l),t.selection.moveToPosition(p);var e=d>=2?t.selection.getLineRange(p.row):t.session.getBracketRange(p);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function T(){h+=60,c=setInterval(function(){h--<=0&&(clearInterval(c),c=null),Math.abs(v)<.01&&(v=0),Math.abs(m)<.01&&(m=0),h<20&&(v=.9*v),h<20&&(m=.9*m);var e=t.session.getScrollTop();t.renderer.scrollBy(10*v,10*m),e==t.session.getScrollTop()&&(h=0)},10)}var n="scroll",o,u,a,f,l,c,h=0,p,d=0,v=0,m=0,g,y;i.addListener(e,"contextmenu",function(e){if(!g)return;var n=t.textInput.getElement();n.focus()},t),i.addListener(e,"touchstart",function(e){var i=e.touches;if(l||i.length>1){clearTimeout(l),l=null,a=-1,n="zoom";return}g=t.$mouseHandler.isMousePressed=!0;var s=t.renderer.layerConfig.lineHeight,c=t.renderer.layerConfig.lineHeight,y=e.timeStamp;f=y;var b=i[0],w=b.clientX,E=b.clientY;Math.abs(o-w)+Math.abs(u-E)>s&&(a=-1),o=e.clientX=w,u=e.clientY=E,v=m=0;var T=new r(e,t);p=T.getDocumentPosition();if(y-a<500&&i.length==1&&!h)d++,e.preventDefault(),e.button=0,x();else{d=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=t.renderer.layerConfig.offset,M=t.renderer.scrollLeft,_=function(e,t){return e/=c,t=t/s-.75,e*e+t*t};if(e.clientX<A.left){n="zoom";return}var D=_(e.clientX-A.left-k.left+M,e.clientY-A.top-k.top+O),P=_(e.clientX-A.left-L.left+M,e.clientY-A.top-L.top+O);D<3.5&&P<3.5&&(n=D>P?"cursor":"anchor"),P<3.5?n="anchor":D<3.5?n="cursor":n="scroll",l=setTimeout(S,450)}a=y},t),i.addListener(e,"touchend",function(e){g=t.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),n=="zoom"?(n="",h=0):l?(t.selection.moveToPosition(p),h=0,w()):n=="scroll"?(T(),E()):w(),clearTimeout(l),l=null},t),i.addListener(e,"touchmove",function(e){l&&(clearTimeout(l),l=null);var i=e.touches;if(i.length>1||n=="zoom")return;var s=i[0],a=o-s.clientX,c=u-s.clientY;if(n=="wait"){if(!(a*a+c*c>4))return e.preventDefault();n="cursor"}o=s.clientX,u=s.clientY,e.clientX=s.clientX,e.clientY=s.clientY;var h=e.timeStamp,p=h-f;f=h;if(n=="scroll"){var d=new r(e,t);d.speed=1,d.wheelX=a,d.wheelY=c,10*Math.abs(a)<Math.abs(c)&&(a=0),10*Math.abs(c)<Math.abs(a)&&(c=0),p!=0&&(v=a/p,m=c/p),t._emit("mousewheel",d),d.propagationStopped||(v=m=0)}else{var g=new r(e,t),y=g.getDocumentPosition();n=="cursor"?t.selection.moveCursorToPosition(y):n=="anchor"&&t.selection.setSelectionAnchor(y.row,y.column),t.renderer.scrollCursorIntoView(y),e.preventDefault()}},t)}}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;this.on(e,function r(){n.off(e,r),t.apply(null,arguments)});if(!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=undefined),this._eventRegistry&&(this._eventRegistry[e]=undefined),this._defaultHandlers&&(this._defaultHandlers[e]=undefined)},t.EventEmitter=r}),define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(!e){var n=this.$options;e=Object.keys(n).filter(function(e){return!n[e].hidden})}else Array.isArray(e)||(t=e,e=Object.keys(t));return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function l(r){if(!u||!u.document)return;a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,l=f.getElementsByTagName("script");for(var h=0;h<l.length;h++){var p=l[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[c(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function c(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this||typeof window!="undefined"&&window}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(a.hasOwnProperty(e))a[e]=t;else if(this.setDefaultValue("",e,t)==0)throw new Error("Unknown config key: "+e)},t.all=function(){return r.copyObject(a)},t.$modes={},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l,t.version="1.4.12"}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("./touch_handler").addTouchListeners,l=e("../config"),c=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click"),e),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove"),e),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",e),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"),e),f(e.container,e);var l=e.renderer.$gutter;r.addListener(l,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),e),r.addListener(l,"click",this.onMouseEvent.bind(this,"gutterclick"),e),r.addListener(l,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),e),r.addListener(l,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),e),r.addListener(u,"mousedown",n,e),r.addListener(l,"mousedown",n,e),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n,e),r.addListener(e.renderer.scrollBarH.element,"mousedown",n,e)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")},e)};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$isMousePressed=!0;var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",o.isMousePressed=s.$isMousePressed=!1,s.$keepTextAreaAtCursor&&s.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)},this.destroy=function(){this.releaseMouse&&this.releaseMouse()}}).call(c.prototype),l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w<n;w++)r[w]=R(e[w]);o=s,u=!1,a=!1,f=!1,l=!1;for(E=0;E<n;E++){c=m,T[E]=h=q(e,r,T,E),m=i[c][h],g=m&240,m&=15,t[E]=v=i[m][5];if(g>0)if(g==16){for(w=b;w<E;w++)t[w]=1;b=-1}else b=-1;y=i[m][6];if(y)b==-1&&(b=E);else if(b>-1){for(w=b;w<E;w++)t[w]=v;b=-1}r[E]==S&&(t[E]=0),o|=v}if(l)for(w=0;w<n;w++)if(r[w]==x){t[w]=s;for(var C=w-1;C>=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o<e)return;if(e==1&&s==m&&!f){n.reverse();return}var r=n.length,i=0,u,a,l,c;while(i<r){if(t[i]>=e){u=i+1;while(u<r&&t[u]>=e)u++;for(a=i,l=u-1;a<l;a++,l--)c=n[a],n[a]=n[l],n[l]=c;i=u}i++}}function q(e,t,n,r){var i=t[r],o,c,h,p;switch(i){case g:case y:u=!1;case E:case w:return i;case b:return u?w:b;case T:return u=!0,a=!0,y;case N:return E;case C:if(r<1||r+1>=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+1<t.length&&t[r+1]==b)return b;return E;case L:if(r>0&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p<h&&t[p]==L)p++;if(p<h&&t[p]==b)return b;return E;case A:h=t.length,p=r+1;while(p<h&&t[p]==A)p++;if(p<h){var d=e[r],v=d>=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;f<o.length;o[f]=f,f++);I(2,a,o),I(1,a,o);for(var f=0;f<o.length-1;f++)n[f]===w?a[f]=t.AN:a[f]===y&&(n[f]>T&&n[f]<O||n[f]===E||n[f]===H)?a[f]=t.ON_R:f>0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f<o.length;f++)u[f]=a[o[f]];return{logicalFromVisual:o,bidiLevels:u}},t.hasBidiCharacters=function(e,t){var n=!1;for(var r=0;r<e.length;r++)t[r]=R(e.charAt(r)),!n&&(t[r]==y||t[r]==T||t[r]==w)&&(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(e,t,n){"use strict";var r=e("./lib/bidiutil"),i=e("./lib/lang"),s=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,o=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL="\u00ac",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\u00b6",this.RLE="\u202b",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=s.test(e.getValue())};(function(){this.isBidiRow=function(e,t,n){return this.seenBidi?(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},this.onChange=function(e){this.seenBidi?this.currentRow=null:e.action=="insert"&&s.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=t<o.length?this.line.substring(o[t-1],o[t]):this.line.substring(o[o.length-1])):this.line=this.line.substring(0,o[t])),t==o.length&&(this.line+=this.showInvisibles?s:r.DOT)}else this.line+=this.showInvisibles?s:r.DOT;var u=this.session,a=0,f;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return e===" "||u.isFullWidth(e.charCodeAt(0))?(f=e===" "?u.getScreenTabSize(t+a):2,a+=f-1,i.stringRepeat(r.DOT,f)):e}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==r.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var e=[];r.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=r.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.characterWidth===e.$characterSize.width)return;this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("\u05d4");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=n*.45,this.charWidths[r.B]=this.charWidths[r.RLE]=0,this.currentRow=null},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setContentWidth=function(e){this.contentWidth=e},this.isRtlLine=function(e){return this.$isRtl?!0:e!=undefined?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir},this.setRtlDirection=function(e,t){var n=e.getCursorPosition();for(var r=e.selection.getSelectionAnchor().row;r<=n.row;r++)!t&&e.session.getLine(r).charAt(0)===e.session.$bidiHandler.RLE?e.session.doc.removeInLine(r,0,1):t&&e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:r},e.session.$bidiHandler.RLE)},this.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,n=e>t?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;u<i;u++)o+=this.charWidths[s[u]];return!this.session.getOverwrite()&&e>t&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p<r.length;p++)h=n.logicalFromVisual[p],i=r[p],f=h>=u&&h<a,f&&!l?c=o:!f&&l&&s.push({left:c,width:o-c}),o+=this.charWidths[i],l=f;f&&p===r.length&&s.push({left:c,width:o-c});if(this.isRtlDir)for(var d=0;d<s.length;d++)s[d].left+=this.rtlLineOffset;return s},this.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,e=Math.max(e,0),n=0,r=0,i=this.bidiMap.bidiLevels,s=this.charWidths[i[r]];this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);while(e>n+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e<n&&r--,t=this.bidiMap.logicalFromVisual[r]):r>0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){if(this.$silent)return;var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.wouldMoveIntoSoftTab(e,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(s)&&(t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0);if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);if(e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&s.row===this.lead.row&&s.column===this.lead.column,this.moveCursorTo(s.row,s.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return e.charAt(0)!="^"&&(e="^"+e),e.charAt(e.length-1)!="$"&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n,e):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m),d.consumeLineEnd&&(l=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=500),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next=="string"&&s.next.indexOf(t)!==0&&(s.next=t+s.next),s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u],f=null;Array.isArray(a)&&(f=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var l=a.next||a.push;if(l&&Array.isArray(l)){var c=a.stateName;c||(c=a.token,typeof c!="string"&&(c=c[0]||""),r[c]&&(c+=n++)),r[c]=l,a.next=c,i(c)}else l=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var h in a.rules)r[h]?r[h].push&&r[h].push.apply(r[h],a.rules[h]):r[h]=a.rules[h];var p=typeof a=="string"?a:a.include;p&&(Array.isArray(p)?f=p.map(function(e){return r[e]}):f=r[p]);if(f){var d=[u,1].concat(f);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return this.$keywordList=[],Object.keys(e).forEach(function(t){var s=e[t],o=s.split(r||"|");for(var u=o.length;u--;){var a=o[u];this.$keywordList.push(a),n&&(a=a.toLowerCase()),i[a]=t}},this),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var T=l[f.column-2];if(!(d!=o||T!=o&&!E.test(T)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o<r.length;o+=2)s.push(i+=r[o]),r[o+1]&&s.push(45,i+=r[o+1]);t.wordChars=String.fromCharCode.apply(null,s)}),define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../config"),i=e("../tokenizer").Tokenizer,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("../unicode"),a=e("../lib/lang"),f=e("../token_iterator").TokenIterator,l=e("../range").Range,c=function(){this.HighlightRules=s};(function(){this.$defaultBehaviour=new o,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,u=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+a.escapeRegExp(c)+")"),d=new RegExp("(?:"+a.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:u},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(a.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=a.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,u,u)?i.insertInLine({row:t,column:u},y):i.insertInLine({row:t,column:u},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<u&&(u=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<o.length;t++)(function(e){var n=o[t],r=e[n];e[o[t]]=function(){return this.$delegator(n,arguments,r)}})(this)},this.$delegator=function(e,t,n){var r=t[0]||"start";if(typeof r!="string"){if(Array.isArray(r[2])){var i=r[2][r[2].length-1],s=this.$modes[i];if(s)return s[e].apply(s,[r[1]].concat([].slice.call(t,1)))}r=r[0]||"start"}for(var o=0;o<this.$embeds.length;o++){if(!this.$modes[this.$embeds[o]])continue;var u=r.split(this.$embeds[o]);if(!u[0]&&u[1]){t[0]=u[1];var s=this.$modes[this.$embeds[o]];return s[e].apply(s,t)}}var a=n.apply(this,t);return n?a:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),t.Mode=c}),define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row<t&&e.end.row<t||e.action=="insert"&&e.start.row<=t)&&this.applyDelta(e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o<r;o=u){u+=t-1;var a=n.slice(o,u);a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=s,this.applyDelta(e,!0)},this.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:e+n[s-1].length+r}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc,s=t;while(n.lines[t])t++;var o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[],this.$bias=1};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.start,n=e.end,r=t.row,i=n.row,s=this.ranges;for(var o=0,u=s.length;o<u;o++){var a=s[o];if(a.end.row>=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;o<u;o++){var a=s[o];if(a.start.row>r)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&o<u-1&&a.end.column>a.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;o<u;o++){var a=s[o];if(a.start.row>i)break;if(a.end.row<i&&(r<a.end.row||r==a.end.row&&t.column<a.end.column))a.end.row=r,a.end.column=t.column;else if(a.end.row==i)if(a.end.column<=n.column){if(f||a.end.column>t.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.row<i&&(r<a.start.row||r==a.start.row&&t.column<a.start.column))a.start.row=r,a.start.column=t.column;else if(a.start.row==i)if(a.start.column<=n.column){if(f||a.start.column>t.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o<u)for(;o<u;o++){var a=s[o];a.start.row+=f,a.end.row+=f}}}).call(s.prototype),t.RangeList=s}),define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function o(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function u(e,t){o(e.start,t),o(e.end,t)}function a(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function f(e,t){a(e.start,t),a(e.end,t)}var r=e("../range_list").RangeList,i=e("../lib/oop"),s=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};i.inherits(s,r),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new s(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;u(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r],o=0;if(i==0){if(s.range.containsRange(e))return s.addSubFold(e);o=1}var t=e.range.end.row,n=e.range.end.column;for(var a=r,i=-1;a<this.subFolds.length;a++){i=this.subFolds[a].range.compare(t,n);if(i!=1)break}i==0&&a++;var f=this.subFolds.splice(r,a-r,e),l=i==0?f.length-1:f.length;for(var c=o;c<l;c++)e.addSubFold(f[c]);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return f(e,this.start)}}.call(s.prototype)}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s].range;if(o.contains(e,t)){if(n==1&&o.isEnd(e,t)&&!o.isEmpty())continue;if(n==-1&&o.isStart(e,t)&&!o.isEmpty())continue;return i[s]}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.collapseChildren||p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t==null&&(t=!0)):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n),t!=0?this.removeFolds(i):this.expandFolds(i);if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken(),u=s&&s.type;if(s&&/^comment|string/.test(u)){u=u.match(/comment|string/)[0],u=="comment"&&(u+="|doc-start");var a=new RegExp(u),f=new r;if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}f.start.row=i.getCurrentTokenRow(),f.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){var l=-1;do{s=i.stepForward();if(l==-1){var c=this.getState(i.$row);a.test(c)||(l=i.$row)}else if(i.$row>l)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n,r){n==undefined&&(n=1e5);var i=this.foldWidgets;if(!i)return;t=t||this.getLength(),e=e||0;for(var s=e;s<t;s++){i[s]==null&&(i[s]=this.getFoldWidget(s));if(i[s]!="start")continue;if(r&&!r(s))continue;var o=this.getFoldWidgetRange(s);o&&o.isMultiLine()&&o.end.row<=t&&o.start.row>=e&&(s=o.end.row,o.collapseChildren=n,this.addFold("...",o))}},this.foldToLevel=function(e){this.foldAll();while(e-->0)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(t){var n=e.getTokens(t);for(var r=0;r<n.length;r++){var i=n[r];if(i.type=="text"&&/^\s+$/.test(i.value))continue;return/comment/.test(i.type)?!0:!1}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),n=t.charAt(e.column-1),r=n&&n.match(/([\(\[\{])|([\)\]\}])/);r||(n=t.charAt(e.column),e={row:e.row,column:e.column+1},r=n&&n.match(/([\(\[\{])|([\)\]\}])/));if(!r)return null;var s=new i(e.row,e.column-1,e.row,e.column),o=r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e);if(!o)return[s];var u=new i(o.row,o.column,o.row,o.column+1);return[s,u]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./bidihandler").BidiHandler,o=e("./config"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./document").Document,h=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,d=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++d.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new c(e);this.setDocument(e),this.selection=new a(this),this.$bidiHandler=new s(this),o.resetOptions(this),this.setMode(t),o._signal("session",this)};d.$uid=0,function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null){var s=n.length-1;i=this.getLine(e).length}else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker")},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new l(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new l(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes=o.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new f);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,o.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;var n=this.$mode;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var r=e.getTokenizer();if(r.on!==undefined){var i=this.onReloadTokenizer.bind(this);r.on("update",i)}if(!this.bgTokenizer){this.bgTokenizer=new h(r);var s=this;this.bgTokenizer.on("update",function(e){s._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(r);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:n,mode:e}))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){o.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;n<e.length;n++){var r=e[n];(r.action=="insert"||r.action=="remove")&&this.doc.$safeApplyDelta(r)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function n(e){return t?e.action!=="insert":e.action==="insert"}var r,i;for(var s=0;s<e.length;s++){var o=e[s];if(!o.start)continue;if(!r){n(o)?r=l.fromPoints(o.start,o.end):r=l.fromPoints(o.start,o.start);continue}n(o)?(i=o.start,r.compare(i.row,i.column)==-1&&r.setStart(i),i=o.end,r.compare(i.row,i.column)==1&&r.setEnd(i)):(i=o.start,r.compare(i.row,i.column)==-1&&(r=l.fromPoints(o.start,o.start)))}return r},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=l.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;f<u.length;f++)u[f]=s}else u=this.$getDisplayTokens(r[t].substring(o,i),a.length);a=a.concat(u)}.bind(this),f.end.row,r[f.end.row].length+1),o[f.start.row]=this.$computeWrapSplits(a,u,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),o[l]=this.$computeWrapSplits(a,u,i),l++)};var e=1,t=2,n=3,s=4,a=9,c=10,d=11,v=12;this.$computeWrapSplits=function(e,r,i){function g(){var t=0;if(m===0)return t;if(p)for(var n=0;n<e.length;n++){var r=e[n];if(r==c)t+=1;else{if(r!=d){if(r==v)continue;break}t+=i}}return h&&p!==!1&&(t+=i),Math.min(t,m)}function y(t){var n=t-f;for(var r=f;r<t;r++){var i=e[r];if(i===12||i===2)n-=1}o.length||(b=g(),o.indent=b),l+=n,o.push(l),f=t}if(e.length==0)return[];var o=[],u=e.length,f=0,l=0,h=this.$wrapAsCode,p=this.$indentedSoftWrap,m=r<=Math.max(2*i,8)||p===!1?0:Math.floor(r/2),b=0;while(u-f>r-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w<e.length;w++)if(e[w]!=s)break;if(w==e.length)break;y(w);continue}var E=Math.max(w-(r-(r>>2)),f-1);while(w>E&&e[w]<n)w--;if(h){while(w>E&&e[w]<n)w--;while(w>E&&e[w]==a)w--}else while(w>E&&e[w]<c)w--;if(w>E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var f=1;f<s;f++)i.push(v)}else u==32?i.push(c):u>39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),!this.$useWrapMode||!this.$wrapData[e]?t:this.$wrapData[e].length+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i=0,s=0,o,u=0,a=0,f=this.$screenRowCache,l=this.$getRowCacheIndex(f,e),c=f.length;if(c&&l>=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[u]&&this.lineWidgets[u].rowsAbove&&(r+=this.lineWidgets[u].rowsAbove),{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;s<t.length;s++){i=t.charAt(s),i===" "?r+=this.getScreenTabSize(r):r+=e.getCharacterWidth(i);if(r>n)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker(),this.removeAllListeners(),this.selection.detach()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n=u(n,e));var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=t.backwards==1,i=t.skipCurrent!=0,s=t.range,o=t.start;o||(o=s?s[r?"end":"start"]:e.selection.getRange()),o.start&&(o=o[i!=r?"end":"start"]);var u=s?s.start.row:0,a=s?s.end.row:e.getLength()-1;if(r)var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n--;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&a<i||a===-1)return;for(var f=1;f<l;f++){u=e.getLine(o+f);if(u.search(n[f])==-1)return}var c=u.match(n[l-1])[0].length;if(r&&c>i)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;s<o.length;s++){var u=o[s],a=e(u);if(a>r)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:o(null,null),exec:function(e){e.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",exec:function(e){e.selection.clearSelection(),e.navigateLineEnd(),e.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",exec:function(e){e.selection.clearSelection();var t=e.getCursorPosition();e.selection.moveTo(t.row-1,Number.MAX_VALUE),e.insert("\n"),t.row===0&&e.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",description:"Open command pallete",bindKey:o("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:o(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}];for(var u=1;u<9;u++)t.commands.push({name:"foldToLevel"+u,description:"Fold To Level "+u,level:u,exec:function(e){e.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=e("./clipboard"),w=function(e,t,n){this.$toDestroy=[];var r=e.getContainerElement();this.container=r,this.renderer=e,this.id="editor"+ ++w.$uid,this.commands=new v(o.isMac?"mac":"win",m),typeof document=="object"&&(this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new f(this)),this.keyBinding=new l(this),this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||n&&n.session||new c("")),g.resetOptions(this),n&&this.setOptions(n),g._signal("editor",this)};w.$uid=0,function(){r.implement(this,d),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp&&this.session){if(e&&e.returnValue===!1||!this.session)return this.curOp=null;if(e==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;this._signal("beforeEndOperation");if(!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),t.$bracketHighlight=null);var n=t.getMatchingBracketRanges(e.getCursorPosition());!n&&t.$mode.getMatching&&(n=t.$mode.getMatching(e.session));if(!n)return;var r="ace_bracket";Array.isArray(n)?n.length==1&&(r="ace_error_bracket"):n=[n],n.length==2&&(p.comparePoints(n[0].end,n[1].start)==0?n=[p.fromPoints(n[0].start,n[1].end)]:p.comparePoints(n[0].start,n[1].end)==0&&(n=[p.fromPoints(n[1].start,n[0].end)])),t.$bracketHighlight={ranges:n,markerIds:n.map(function(e){return t.addMarker(e,r,"text")})}},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!==-1){i=r.stepForward();if(!i)return}var s=i.value,o=i.value,u=0,a=r.stepBackward();if(a.value==="<"){do a=i,i=r.stepForward(),i&&(i.type.indexOf("tag-name")!==-1?(o=i.value,s===o&&(a.value==="<"?u++:a.value==="</"&&u--)):s===o&&i.value==="/>"&&u--);while(i&&u>=0)}else{do{i=a,a=r.stepBackward();if(i)if(i.type.indexOf("tag-name")!==-1)s===i.value&&(a.value==="<"?u++:a.value==="</"&&u--);else if(i.value==="/>"){var f=0,l=a;while(l){if(l.type.indexOf("tag-name")!==-1&&l.value===s){u--;break}if(l.value==="<")break;l=r.stepBackward(),f++}for(var c=0;c<f;c++)r.stepForward()}}while(a&&u<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var h=r.getCurrentTokenRow(),d=r.getCurrentTokenColumn(),v=new p(h,d,h,d+i.value.length),m=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&m!=undefined&&v.compareRange(m.range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),t.$tagHighlight||(t.$tagHighlight=t.addMarker(v,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.isFocused()||e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;i<r.length;i++){var s=r[i];if(i&&r[i-1].start.row==s.start.row)continue;e+=this.session.getLine(s.start.row)+t}}var o={text:e};return this._signal("copy",o),b.lineMode=n?o.text:"",o.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text,n=t==b.lineMode,r=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?r.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach(function(e){r.insert({row:e.start.row,column:0},t)});else{var i=t.split(/\r\n|\r|\n/),s=this.selection.rangeList.ranges,o=i.length==2&&(!i[0]||!i[1]);if(i.length!=s.length||o)return this.commands.exec("insertstring",this,t);for(var u=s.length;u--;){var a=s[u];a.isEmpty()||r.remove(a),r.insert(a.start,i[u])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()&&e.indexOf("\n")==-1){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(this.$enableAutoIndent){if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)}},this.autoIndent=function(){var e=this.session,t=e.getMode(),n,r;if(this.selection.isEmpty())n=0,r=e.doc.getLength()-1;else{var i=this.getSelectionRange();n=i.start.row,r=i.end.row}var s="",o="",u="",a,f,l,c=e.getTabString();for(var h=n;h<=r;h++)h>0&&(s=e.getState(h-1),o=e.getLine(h-1),u=t.getNextLineIndent(s,o,c)),a=e.getLine(h),f=t.$getIndent(a),u!==f&&(f.length>0&&(l=new p(h,0,h,f.length),e.remove(l)),u.length>0&&e.insert({row:h,column:0},u)),t.autoOutdent(s,e,h)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,n.start.column<0&&(n.start.row--,n.start.column+=this.session.getLine(n.start.row).length+1),this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r),this.session.selection.moveToPosition(i.end)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column-1]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l=" "}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(var r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}else this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),r=this.selection.getWordRange().start.column,i=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),o=t-r-1;o<0&&(o=0);var u=0,a=0,f=this;n.match(/[A-Za-z0-9_]+/)&&i.forEach(function(t,i){a=u+t.length,o>=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;h<l.length;h++){var p=l[h];for(var d=0;d<=1;d++){var v=+!d,m=n.match(new RegExp("^\\s?_?("+s.escapeRegExp(p[d])+")\\s?$","i"));if(m){var g=n.match(new RegExp("([_]|^|\\s)("+s.escapeRegExp(m[1])+")($|\\s)","g"));g&&(c=n.replace(new RegExp(s.escapeRegExp(p[d]),"i"),function(e){var t=p[v];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[v].charAt(0).toUpperCase()+t.substr(1)),t}),this.insert(c),c="")}}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(e){e.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.getValue());if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),i.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),i.addCssClass(this.container,"ace_hasPlaceholder");var t=i.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n<t-1){var i=d(e[n],e[n+1]);e[n]=i[0],e[n+1]=i[1],n++}return!0}}}function a(e){var t=e.action=="insert",n=e.start,r=e.end,i=(r.row-n.row)*(t?1:-1),s=(r.column-n.column)*(t?1:-1);t&&(r=n);for(var o in this.marks){var a=this.marks[o],f=u(a,n);if(f<0)continue;if(f===0&&t){if(a.bias!=1){a.bias==-1;continue}f=1}var l=t?f:u(a,r);if(l>0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!p(e[n],t[r])){while(n<e.length){while(r--)p(t[r],e[n]);r=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function v(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)o(e.start,t.start)<0?m(t,e,1):m(e,t,1);else if(n&&!r)o(e.start,t.end)>=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i],o=v(s,t);t=o[0],o.length!=2&&(o[2]?(r.splice(i+1,1,o[1],o[2]),i++):o[1]||(r.splice(i,1),i--))}r.length||e.splice(n,1)}return e}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];for(var i=0;i<r.length;i++)b(e,r[i])}}var r=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,n){if(this.$fromUndo)return;if(e==this.$lastDelta)return;this.$keepRedoStack||(this.$redoStack.length=0);if(t===!1||!this.lastDeltas)this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev;if(e.action=="remove"||e.action=="insert")this.$lastDelta=e;this.lastDeltas.push(e)},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack;for(var r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id<t&&(i.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){var n=this.selections;for(var r=n.length;r--;){var i=n[r];if(i.rev<e)return t&&(i=n[r+1]),i}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack,r=null,i=0;for(var s=n.length;s--;){var o=n[s][0];o.id<t&&!r&&(r=s+1);if(o.id<=e){i=s+1;break}}return n.slice(i,r)},this.getChangedRanges=function(e,t){t==null&&(t=this.$rev+1)},this.getChangedLines=function(e,t){t==null&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(!i(n,n.length))return;e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var r=n.pop(),s=null;return r&&(s=e.undoChanges(r,t),this.$redoStack.push(r),this.$syncRev()),this.$fromUndo=!1,s},this.redo=function(e,t){this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0;if(this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);w(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var r=this.$redoStack.pop(),i=null;return r&&(i=e.redoChanges(r,t),this.$undoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return this.$undoStack.length>0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},this.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(e){if(!e)return;e.element.remove(),this.cellCache.push(e)},this.createCell=function(e,t,n,i){var s=this.cellCache.pop();if(!s){var o=r.createElement("div");i&&i(o),this.element.appendChild(o),s={element:o,text:"",row:e}}return s.row=e,s}}).call(i.prototype),t.Lines=i}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],function(e,t,n){"use strict";function f(e){var t=document.createTextNode("");e.appendChild(t);var n=r.createElement("span");return e.appendChild(n),e}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=e("./lines").Lines,a=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.start.row,n=e.end.row-t;if(n!==0)if(e.action=="remove")this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}},this.update=function(e){this.config=e;var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=r,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();var i=t.getNextFoldLine(n),s=i?i.start.row:Infinity,o=null,u=-1,a=n;for(;;){a>s&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var r=t[n];if(r.row>=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>r&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i<this.$cursorRow&&i>=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&i<n.end.row?v+=" ace_closed":v+=" ace_open",a.className!=v&&(a.className=v);var g=t.lineHeight+"px";r.setStyle(a.style,"height",g),r.setStyle(a.style,"display","inline-block")}else a&&r.setStyle(a.style,"display","none");var y=(h?h.getText(o,i):i+f).toString();return y!==u.data&&(u.data=y),r.setStyle(e.element.style,"height",this.$lines.computeLineHeight(i,t,o)+"px"),r.setStyle(e.element.style,"top",this.$lines.computeLineTop(i,t,o)+"px"),e.text=y,e},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.i<this.element.childElementCount)this.element.removeChild(this.element.lastChild)},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1<f?u.getScreenLastRowColumn(l+1):l==f?0:n.end.column,this.drawSingleLineMarker(t,d,i+(l==a?" ace_start":"")+" ace_br"+e(l==a||l==a+1&&n.start.column,c<h,h>p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.showSpaces=!1,this.showTabs=!1,this.showEOL=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)if(this.showTabs){var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_tab",r.textContent=s.stringRepeat(this.TAB_CHAR,n),t.push(r)}else t.push(this.dom.createTextNode(s.stringRepeat(" ",n),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i="ace_indent-guide",o=this.showSpaces?" ace_invisible ace_invisible_space":"",u=this.showSpaces?s.stringRepeat(this.SPACE_CHAR,this.tabSize):s.stringRepeat(" ",this.tabSize),a=this.showTabs?" ace_invisible ace_invisible_tab":"",f=this.showTabs?s.stringRepeat(this.TAB_CHAR,this.tabSize):u,r=this.dom.createElement("span");r.className=i+o,r.textContent=u,this.$tabStrings[" "]=r;var r=this.dom.createElement("span");r.className=i+a,r.textContent=f,this.$tabStrings[" "]=r}},this.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var f=!1,u=r,a=this.session.getNextFoldLine(u),l=a?a.start.row:Infinity;for(;;){u>l&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o<this.$lines.cells.length){var p=this.$lines.cells[o++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},this.scrollLines=function(e){var t=this.config;this.config=e;if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,r=t?t.lastRow:-1;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showSpaces&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showSpaces){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showSpaces?i.SPACE_CHAR:p,u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var y="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=y,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s<i;s++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}if(t[0]==" "){for(var s=0;s<r;s++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}return t},this.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},this.$renderWrappedLine=function(e,t,n){var r=0,i=0,o=n[0],u=0,a=this.$createLineElement();e.appendChild(a);for(var f=0;f<t.length;f++){var l=t[f],c=l.value;if(f==0&&this.displayIndentGuides){r=c.length,c=this.renderIndentGuide(a,c,o);if(!c)continue;r-=c.length}if(r+c.length<o)u=this.$renderToken(a,u,l,c),r+=c.length;else{while(r+c.length>=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++){r=t[s],i=r.value;if(n+i.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"<hide>":"<click to see more...>",e.appendChild(s)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showEOL&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,s=t.length;n<s;n++){var o=this.getPixelPosition(t[n].cursor,!0);if((o.top>e.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){e.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.textContent=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return!t||!t.parentElement?1:(window.getComputedStyle(t).zoom||1)*e(t.parentElement)},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.on("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0]}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender",e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&a+this.$size.scrollerHeight-u<s-this.lineHeight&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight+u-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){if(!r.session)return clearInterval(r.$timer);s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME==undefined&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a<o.length;a++){var f=o[a];u+=f.value.length;if(r<=u){var l=f.value.length-(u-r),c=f.value.slice(0,l),h=f.value.slice(l);o.splice(a,1,{type:f.type,value:c},s,{type:f.type,value:h});break}}}this.updateLines(n,n)},this.removeExtraToken=function(e,t){this.updateLines(e,e)},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");r.$id&&(n.$themeId=r.$id),i.importCssString(r.cssText,r.cssClass,n.container),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){i.importCssString(v,"ace_editor.css",this.container)},this.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent=""}}).call(y.prototype),s.defineOptions(y.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!m.isMobile&&!m.isIE}}),t.VirtualRenderer=y}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}function a(e){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(o.get("loadWorkerFromBlob")){var t=u(e),n=window.URL||window.webkitURL,r=n.createObjectURL(t);return new Worker(r)}return new Worker(e)}var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),f=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.$createWorkerFromOldConfig=function(t,n,r,i,s){e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var u=this.$normalizePath;i=i||u(e.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(t){f[t]=u(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(i),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:f,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row!==t.end.row)return;if(t.start.row!==this.pos.row)return;this.$updating=!0;var n=e.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S=o?"block":"add":n&&l.$blockSelectEnabled&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&l.$blockSelectEnabled&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column,e.offsetX);if(s(E,e)&&s(t,c.lead))return;E=e,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers()};h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),E={row:-1,column:-1};var L=function(e){k(),clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.rangeCount>1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()},e),u.addListener(t,"keyup",r,e),u.addListener(t,"blur",r,e)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){var e=this.ranges.length?this.ranges:[this.getRange()],t=[];for(var n=0;n<e.length;n++){var r=e[n],s=r.start.row,o=r.end.row;if(s===o)t.push(r.clone());else{t.push(new i(s,r.start.column,s,this.session.getLine(s).length));while(++s<o)t.push(this.getLineRange(s,!0));t.push(new i(o,0,o,r.end.column))}n==0&&!this.isBackwards()&&(t=t.reverse())}this.toSingleRange();for(var n=t.length;n--;)this.addRange(t[n])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column,a=e.offsetX,f=t.offsetX;else var o=t.column,u=e.column,a=t.offsetX,f=e.offsetX;var l=e.row<t.row;if(l)var c=e.row,h=t.row;else var c=t.row,h=e.row;o<0&&(o=0),c<0&&(c=0),c==h&&(n=!0);var p;for(var d=c;d<=h;d++){var m=i.fromPoints(this.session.screenToDocumentPosition(d,o,a),this.session.screenToDocumentPosition(d,u,f));if(m.isEmpty()){if(p&&v(m.end,p))break;p=m.end}m.cursor=s?m.start:m.end,r.push(m)}l&&r.reverse();if(!n){var g=r.length-1;while(r[g].isEmpty()&&g>0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect,s=i.toOrientedRange();if(s.isEmpty()){s=r.getWordRange(s.start.row,s.start.column),s.cursor=e==-1?s.start:s.end,this.multiSelect.addRange(s);if(n)return}var o=r.getTextRange(s),u=h(r,o,e);u&&(u.cursor=e==-1?u.start:u.end,this.session.unfold(u),this.multiSelect.addRange(u),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f<c);do h=this.session.getLine(u);while(/[=:]/.test(h)&&--u>0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),i<v&&(v=i),i});n.forEach(function(t,n){var r=t.cursor,s=d-r.column,o=m[n]-v;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),s<t[2].length&&(s=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o){var h=e.getTokenAt(t,0);if(!h||h.type!=="string")break}l=t}if(l>f){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/dom");(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u<s;u++)n[u]&&(n[u].hidden=o);n[s]&&(o?n[i]?n[s].hidden=o:n[i]=n[s]:(n[i]==n[s]&&(n[i]=undefined),n[s].hidden=o))},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action=="remove"){var i=t.splice(n+1,r);!t[n]&&i[i.length-1]&&(t[n]=i.pop()),i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(r);t[n]&&t[n].column!=null&&e.start.column>t[n].column&&n++,s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},this.addLineWidget=function(e){this.$registerLineWidget(e),e.session=this.session;if(!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight)),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);e.$fold=n;if(n){var i=this.session.lineWidgets;e.row==n.end.row&&!i[n.start.row]?i[n.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s<n.length;s++){var o=n[s];if(!o||!o.el)continue;if(o.session!=this.session)continue;if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var u=o.h/r.lineHeight;o.coverLine&&(u-=this.session.getRowLineCount(o.row),u<0&&(u=0)),o.rowCount!=u&&(o.rowCount=u,o.row<i&&(i=o.row))}i!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(!r)return;var i=Math.min(this.firstRow,n.firstRow),s=Math.max(this.lastRow,n.lastRow,r.length);while(i>0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(i.prototype),t.LineWidgets=i}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version=t.config.version}); (function() {
2
+ window.require(["ace/ace"], function(a) {
3
+ if (a) {
4
+ a.config.init(true);
5
+ a.define = window.define;
6
+ }
7
+ if (!window.ace)
8
+ window.ace = a;
9
+ for (var key in a) if (a.hasOwnProperty(key))
10
+ window.ace[key] = a[key];
11
+ window.ace["default"] = window.ace;
12
+ if (typeof module == "object" && typeof exports == "object" && module) {
13
+ module.exports = window.ace;
14
+ }
15
+ });
16
+ })();
17
+
backend/components/editable/resources/js/ace/ext-language_tools.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/lib/dom","ace/editor"],function(e,t,n){"use strict";function h(e){var t=(new Date).toLocaleString("en-us",e);return t.length==1?"0"+t:t}var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./lib/lang"),o=e("./range").Range,u=e("./range_list").RangeList,a=e("./keyboard/hash_handler").HashHandler,f=e("./tokenizer").Tokenizer,l=e("./clipboard"),c={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,n){var r=e.session.getTextRange();return n?r.replace(/\n\r?([ \t]*\S)/g,"\n"+n+"$1"):r},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return l.getText&&l.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,"")},FILEPATH:function(e){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.start||""},BLOCK_COMMENT_END:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.end||""},LINE_COMMENT:function(e){var t=e.session.$mode||{};return t.lineCommentStart||""},CURRENT_YEAR:h.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:h.bind(null,{year:"2-digit"}),CURRENT_MONTH:h.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:h.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:h.bind(null,{month:"short"}),CURRENT_DATE:h.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:h.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:h.bind(null,{weekday:"short"}),CURRENT_HOUR:h.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:h.bind(null,{minute:"2-digit"}),CURRENT_SECOND:h.bind(null,{second:"2-digit"})};c.SELECTED_TEXT=c.SELECTION;var p=function(){this.snippetMap={},this.snippetNameMap={}};(function(){r.implement(this,i),this.getTokenizer=function(){return p.$tokenizer||this.createTokenizer()},this.createTokenizer=function(){function e(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}var n={regex:"/("+t("/")+"+)/",onMatch:function(e,t,n){var r=n[0];return r.fmtString=!0,r.guard=e.slice(1,-1),r.flag="",""},next:"formatString"};return p.$tokenizer=new f({start:[{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1&&(e=r),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1));return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){var r=e.slice(1,-1).replace(/\\[,|\\]|,/g,function(e){return e.length==2?e[1]:"\0"}).split("\0").map(function(e){return{value:e}});return n[0].choices=r,[r[0]]},next:"start"},n,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectElse?(n[0].expectElse=!1,n[0].ifEnd={elseEnd:n[0]},[n[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1?e=r:r=="n"?e="\n":r=="t"?e=" ":"ulULE".indexOf(r)!=-1&&(e={changeCase:r,local:r>"a"}),[e]}},{regex:"/\\w*}",onMatch:function(e,t,n){var r=n.shift();return r&&(r.flag=e.slice(1,-1)),this.next=r&&r.tabstopId?"start":"",[r||e]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,n){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,n){var r={text:e.slice(2)};return n.unshift(r),[r]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(e,t,n){var r=n.shift();return this.next=r&&r.tabstopId?"start":"",[r||e]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,n){var r=n[0];return r.formatFunction=e.slice(2,-1),[n.shift()]},next:"formatString"},n,{regex:/:[\?\-+]?/,onMatch:function(e,t,n){e[1]=="+"&&(n[0].ifEnd=n[0]),e[1]=="?"&&(n[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),p.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.getVariableValue=function(e,t,n){if(/^\d+$/.test(t))return(this.variables.__||{})[t]||"";if(/^[A-Z]\d+$/.test(t))return(this.variables[t[0]+"__"]||{})[t.substr(1)]||"";t=t.replace(/^TM_/,"");if(!this.variables.hasOwnProperty(t))return"";var r=this.variables[t];return typeof r=="function"&&(r=this.variables[t](e,t,n)),r==null?"":r},this.variables=c,this.tmStrFormat=function(e,t,n){if(!t.fmt)return e;var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gim]/g,""));var s=typeof t.fmt=="string"?this.tokenizeTmSnippet(t.fmt,"formatString"):t.fmt,o=this,u=e.replace(i,function(){var e=o.variables.__;o.variables.__=[].slice.call(arguments);var t=o.resolveVariables(s,n),r="E";for(var i=0;i<t.length;i++){var u=t[i];if(typeof u=="object"){t[i]="";if(u.changeCase&&u.local){var a=t[i+1];a&&typeof a=="string"&&(u.changeCase=="u"?t[i]=a[0].toUpperCase():t[i]=a[0].toLowerCase(),t[i+1]=a.substr(1))}else u.changeCase&&(r=u.changeCase)}else r=="U"?t[i]=u.toUpperCase():r=="L"&&(t[i]=u.toLowerCase())}return o.variables.__=e,t.join("")});return u},this.tmFormatFunction=function(e,t,n){return t.formatFunction=="upcase"?e.toUpperCase():t.formatFunction=="downcase"?e.toLowerCase():e},this.resolveVariables=function(e,t){function f(t){var n=e.indexOf(t,s+1);n!=-1&&(s=n)}var n=[],r="",i=!0;for(var s=0;s<e.length;s++){var o=e[s];if(typeof o=="string"){n.push(o),o=="\n"?(i=!0,r=""):i&&(r=/^\t*/.exec(o)[0],i=/\S/.test(o));continue}if(!o)continue;i=!1;if(o.fmtString){var u=e.indexOf(o,s+1);u==-1&&(u=e.length),o.fmt=e.slice(s+1,u),s=u}if(o.text){var a=this.getVariableValue(t,o.text,r)+"";o.fmtString&&(a=this.tmStrFormat(a,o,t)),o.formatFunction&&(a=this.tmFormatFunction(a,o,t)),a&&!o.ifEnd?(n.push(a),f(o)):!a&&o.ifEnd&&f(o.ifEnd)}else o.elseEnd?f(o.elseEnd):o.tabstopId!=null?n.push(o):o.changeCase!=null&&n.push(o)}return n},this.insertSnippetForSelection=function(e,t){function f(e){var t=[];for(var n=0;n<e.length;n++){var r=e[n];if(typeof r=="object"){if(a[r.tabstopId])continue;var i=e.lastIndexOf(r,n-1);r=t[i]||{tabstopId:r.tabstopId}}t[n]=r}return t}var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=e.session.getTabString(),s=r.match(/^\s*/)[0];n.column<s.length&&(s=s.slice(0,n.column)),t=t.replace(/\r/g,"");var o=this.tokenizeTmSnippet(t);o=this.resolveVariables(o,e),o=o.map(function(e){return e=="\n"?e+s:typeof e=="string"?e.replace(/\t/g,i):e});var u=[];o.forEach(function(e,t){if(typeof e!="object")return;var n=e.tabstopId,r=u[n];r||(r=u[n]=[],r.index=n,r.value="",r.parents={});if(r.indexOf(e)!==-1)return;e.choices&&!r.choices&&(r.choices=e.choices),r.push(e);var i=o.indexOf(e,t+1);if(i===-1)return;var s=o.slice(t+1,i),a=s.some(function(e){return typeof e=="object"});a&&!r.value?r.value=s:s.length&&(!r.value||typeof r.value!="string")&&(r.value=s.join(""))}),u.forEach(function(e){e.length=0});var a={};for(var l=0;l<o.length;l++){var c=o[l];if(typeof c!="object")continue;var h=c.tabstopId,p=u[h],v=o.indexOf(c,l+1);if(a[h]){a[h]===c&&(delete a[h],Object.keys(a).forEach(function(e){p.parents[e]=!0}));continue}a[h]=c;var m=p.value;typeof m!="string"?m=f(m):c.fmt&&(m=this.tmStrFormat(m,c,e)),o.splice.apply(o,[l+1,Math.max(0,v-l)].concat(m,c)),p.indexOf(c)===-1&&p.push(c)}var g=0,y=0,b="";o.forEach(function(e){if(typeof e=="string"){var t=e.split("\n");t.length>1?(y=t[t.length-1].length,g+=t.length-1):y+=e.length,b+=e}else e&&(e.start?e.end={row:g,column:y}:e.start={row:g,column:y})});var w=e.getSelectionRange(),E=e.session.replace(w,b),S=new d(e),x=e.inVirtualSelectionMode&&e.selection.index;S.addTabstops(u,w.start,E,x)},this.insertSnippet=function(e,t){var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t);e.forEachSelection(function(){n.insertSnippetForSelection(e,t)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},this.$getScope=function(e){var t=e.session.$mode.$id||"";t=t.split("/").pop();if(t==="html"||t==="php"){t==="php"&&!e.session.$mode.inlinePhp&&(t="html");var n=e.getCursorPosition(),r=e.session.getState(n.row);typeof r=="object"&&(r=r[0]),r.substring&&(r.substring(0,3)=="js-"?t="javascript":r.substring(0,4)=="css-"?t="css":r.substring(0,4)=="php-"&&(t="php"))}return t},this.getActiveScopes=function(e){var t=this.$getScope(e),n=[t],r=this.snippetMap;return r[t]&&r[t].includeScopes&&n.push.apply(n,r[t].includeScopes),n.push("_"),n},this.expandWithTab=function(e,t){var n=this,r=e.forEachSelection(function(){return n.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return r&&e.tabstopManager&&e.tabstopManager.tabNext(),r},this.expandSnippetForSelection=function(e,t){var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=r.substring(0,n.column),s=r.substr(n.column),o=this.snippetMap,u;return this.getActiveScopes(e).some(function(e){var t=o[e];return t&&(u=this.findMatchingSnippet(t,i,s)),!!u},this),u?t&&t.dryRun?!0:(e.session.doc.removeInLine(n.row,n.column-u.replaceBefore.length,n.column+u.replaceAfter.length),this.variables.M__=u.matchBefore,this.variables.T__=u.matchAfter,this.insertSnippetForSelection(e,u.content),this.variables.M__=this.variables.T__=null,!0):!1},this.findMatchingSnippet=function(e,t,n){for(var r=e.length;r--;){var i=e[r];if(i.startRe&&!i.startRe.test(t))continue;if(i.endRe&&!i.endRe.test(n))continue;if(!i.startRe&&!i.endRe)continue;return i.matchBefore=i.startRe?i.startRe.exec(t):[""],i.matchAfter=i.endRe?i.endRe.exec(n):[""],i.replaceBefore=i.triggerRe?i.triggerRe.exec(t)[0]:"",i.replaceAfter=i.endTriggerRe?i.endTriggerRe.exec(n)[0]:"",i}},this.snippetMap={},this.snippetNameMap={},this.register=function(e,t){function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function u(e,t,n){return e=o(e),t=o(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(e+="$")):(e+=t,e&&e[0]!="^"&&(e="^"+e)),new RegExp(e)}function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={});var o=r[t];if(e.name){var a=o[e.name];a&&i.unregister(a),o[e.name]=e}n[t].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join("\n"):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=s.escapeRegExp(e.tabTrigger));if(!e.trigger&&!e.guard&&!e.endTrigger&&!e.endGuard)return;e.startRe=u(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=u(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger)}var n=this.snippetMap,r=this.snippetNameMap,i=this;e||(e=[]),Array.isArray(e)?e.forEach(a):Object.keys(e).forEach(function(t){a(e[t])}),this._signal("registerSnippets",{scope:t})},this.unregister=function(e,t){function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var s=n[e.scope||t],o=s&&s.indexOf(e);o>=0&&s.splice(o,1)}}var n=this.snippetMap,r=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;while(i=r.exec(e)){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch(s){}if(i[4])n.content=i[4].replace(/^\t/gm,""),t.push(n),n={};else{var o=i[2],u=i[3];if(o=="regex"){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(u)[1],n.trigger=a.exec(u)[1],n.endTrigger=a.exec(u)[1],n.endGuard=a.exec(u)[1]}else o=="snippet"?(n.tabTrigger=u.match(/^\S*/)[0],n.name||(n.name=u)):o&&(n[o]=u)}}return t},this.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r}}).call(p.prototype);var d=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=s.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t=e.action[0]=="r",n=this.selectedTabstop||{},r=n.parents||{},i=(this.tabstops||[]).slice();for(var s=0;s<i.length;s++){var o=i[s],u=o==n||r[o.index];o.rangeList.$bias=u?0:1;if(e.action=="remove"&&o!==n){var a=o.parents&&o.parents[n.index],f=o.rangeList.pointIndex(e.start,a);f=f<0?-f-1:f+1;var l=o.rangeList.pointIndex(e.end,a);l=l<0?-l-1:l-1;var c=o.rangeList.ranges.slice(f,l);for(var h=0;h<c.length;h++)this.removeRange(c[h])}o.rangeList.$onChange(e)}var p=this.editor.session;!this.$inChange&&t&&p.getLength()==1&&!p.getValue()&&this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(!e||!e.hasLinkedRanges||!e.firstNonLinked)return;this.$inChange=!0;var n=this.editor.session,r=n.getTextRange(e.firstNonLinked);for(var i=0;i<e.length;i++){var s=e[i];if(!s.linked)continue;var o=s.original,u=t.snippetManager.tmStrFormat(r,o,this.editor);n.replace(s,u)}this.$inChange=!1},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(!this.editor)return;var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty();for(var r=0;r<this.ranges.length;r++){if(this.ranges[r].linked)continue;var i=this.ranges[r].contains(e.row,e.column),s=n||this.ranges[r].contains(t.row,t.column);if(i&&s)return}this.detach()},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);n=Math.min(Math.max(n,1),t),n==t&&(n=0),this.selectTabstop(n),n===0&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index];if(!t||!t.length)return;this.selectedTabstop=t;var n=t.firstNonLinked||t;t.choices&&(n.cursor=n.start);if(!this.editor.inVirtualSelectionMode){var r=this.editor.multiSelect;r.toSingleRange(n);for(var i=0;i<t.length;i++){if(t.hasLinkedRanges&&t[i].linked)continue;r.addRange(t[i].clone(),!0)}}else this.editor.selection.fromOrientedRange(n);this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})},this.addTabstops=function(e,t,n){var r=this.useLink||!this.editor.getOption("enableMultiselect");this.$openTabstops||(this.$openTabstops=[]);if(!e[0]){var i=o.fromPoints(n,n);m(i.start,t),m(i.end,t),e[0]=[i],e[0].index=0}var s=this.index,a=[s+1,0],f=this.ranges;e.forEach(function(e,n){var i=this.$openTabstops[n]||e;for(var s=0;s<e.length;s++){var l=e[s],c=o.fromPoints(l.start,l.end||l.start);v(c.start,t),v(c.end,t),c.original=l,c.tabstop=i,f.push(c),i!=e?i.unshift(c):i[s]=c,l.fmtString||i.firstNonLinked&&r?(c.linked=!0,i.hasLinkedRanges=!0):i.firstNonLinked||(i.firstNonLinked=c)}i.firstNonLinked||(i.hasLinkedRanges=!1),i===e&&(a.push(i),this.$openTabstops[n]=i),this.addTabstopMarkers(i),i.rangeList=i.rangeList||new u,i.rangeList.$bias=0,i.rangeList.addList(i)},this),a.length>2&&(this.tabstops.length&&a.push(a.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,a))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);t!=-1&&e.tabstop.splice(t,1),t=this.ranges.indexOf(e),t!=-1&&this.ranges.splice(t,1),t=e.tabstop.rangeList.ranges.indexOf(e),t!=-1&&e.tabstop.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(t=this.tabstops.indexOf(e.tabstop),t!=-1&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new a,this.keyboardHandler.bindKeys({Tab:function(e){if(t.snippetManager&&t.snippetManager.expandWithTab(e))return;e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView()},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}})}).call(d.prototype);var v=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},m=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new p;var g=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(g.prototype)}),define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../virtual_renderer").VirtualRenderer,i=e("../editor").Editor,s=e("../range").Range,o=e("../lib/event"),u=e("../lib/lang"),a=e("../lib/dom"),f=function(e){var t=new r(e);t.$maxLines=4;var n=new i(t);return n.setHighlightActiveLine(!1),n.setShowPrintMargin(!1),n.renderer.setShowGutter(!1),n.renderer.setHighlightGutterLine(!1),n.$mouseHandler.$focusTimeout=0,n.$highlightTagPending=!0,n},l=function(e){var t=a.createElement("div"),n=new f(t);e&&e.appendChild(t),t.style.display="none",n.renderer.content.style.cursor="default",n.renderer.setStyle("ace_autocomplete"),n.setOption("displayIndentGuides",!1),n.setOption("dragDelay",150);var r=function(){};n.focus=r,n.$isFocused=!0,n.renderer.$cursorLayer.restartTimer=r,n.renderer.$cursorLayer.element.style.opacity=0,n.renderer.$maxLines=8,n.renderer.$keepTextAreaAtCursor=!1,n.setHighlightActiveLine(!1),n.session.highlight(""),n.session.$searchHighlight.clazz="ace_highlight-marker",n.on("mousedown",function(e){var t=e.getDocumentPosition();n.selection.moveToPosition(t),c.start.row=c.end.row=t.row,e.stop()});var i,l=new s(-1,0,-1,Infinity),c=new s(-1,0,-1,Infinity);c.id=n.session.addMarker(c,"ace_active-line","fullLine"),n.setSelectOnHover=function(e){e?l.id&&(n.session.removeMarker(l.id),l.id=null):l.id=n.session.addMarker(l,"ace_line-hover","fullLine")},n.setSelectOnHover(!1),n.on("mousemove",function(e){if(!i){i=e;return}if(i.x==e.x&&i.y==e.y)return;i=e,i.scrollTop=n.renderer.scrollTop;var t=i.getDocumentPosition().row;l.start.row!=t&&(l.id||n.setRow(t),p(t))}),n.renderer.on("beforeRender",function(){if(i&&l.start.row!=-1){i.$pos=null;var e=i.getDocumentPosition().row;l.id||n.setRow(e),p(e,!0)}}),n.renderer.on("afterRender",function(){var e=n.getRow(),t=n.renderer.$textLayer,r=t.element.childNodes[e-t.config.firstRow];r!==t.selectedNode&&t.selectedNode&&a.removeCssClass(t.selectedNode,"ace_selected"),t.selectedNode=r,r&&a.addCssClass(r,"ace_selected")});var h=function(){p(-1)},p=function(e,t){e!==l.start.row&&(l.start.row=l.end.row=e,t||n.session._emit("changeBackMarker"),n._emit("changeHoverMarker"))};n.getHoveredRow=function(){return l.start.row},o.addListener(n.container,"mouseout",h),n.on("hide",h),n.on("changeSelection",h),n.session.doc.getLength=function(){return n.data.length},n.session.doc.getLine=function(e){var t=n.data[e];return typeof t=="string"?t:t&&t.value||""};var d=n.session.bgTokenizer;return d.$tokenizeRow=function(e){function s(e,n){e&&r.push({type:(t.className||"")+(n||""),value:e})}var t=n.data[e],r=[];if(!t)return r;typeof t=="string"&&(t={value:t});var i=t.caption||t.value||t.name,o=i.toLowerCase(),u=(n.filterText||"").toLowerCase(),a=0,f=0;for(var l=0;l<=u.length;l++)if(l!=f&&(t.matchMask&1<<l||l==u.length)){var c=u.slice(f,l);f=l;var h=o.indexOf(c,a);if(h==-1)continue;s(i.slice(a,h),""),a=h+c.length,s(i.slice(h,a),"completion-highlight")}return s(i.slice(a,i.length),""),t.meta&&r.push({type:"completion-meta",value:t.meta}),t.message&&r.push({type:"completion-message",value:t.message}),r},d.$updateOnChange=r,d.start=r,n.session.$computeWidth=function(){return this.screenWidth=0},n.isOpen=!1,n.isTopdown=!1,n.autoSelect=!0,n.filterText="",n.data=[],n.setData=function(e,t){n.filterText=t||"",n.setValue(u.stringRepeat("\n",e.length),-1),n.data=e||[],n.setRow(0)},n.getData=function(e){return n.data[e]},n.getRow=function(){return c.start.row},n.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length,e)),c.start.row!=e&&(n.selection.clearSelection(),c.start.row=c.end.row=e||0,n.session._emit("changeBackMarker"),n.moveCursorTo(e||0,0),n.isOpen&&n._signal("select"))},n.on("changeSelection",function(){n.isOpen&&n.setRow(n.selection.lead.row),n.renderer.scrollCursorIntoView()}),n.hide=function(){this.container.style.display="none",this._signal("hide"),n.isOpen=!1},n.show=function(e,t,r){var s=this.container,o=window.innerHeight,u=window.innerWidth,a=this.renderer,f=a.$maxLines*t*1.4,l=e.top+this.$borderSize,c=l>o/2&&!r;c&&l+t+f>o?(a.$maxPixelHeight=l-2*this.$borderSize,s.style.top="",s.style.bottom=o-l+"px",n.isTopdown=!1):(l+=t,a.$maxPixelHeight=o-l-.2*t,s.style.top=l+"px",s.style.bottom="",n.isTopdown=!0),s.style.display="";var h=e.left;h+s.offsetWidth>u&&(h=u-s.offsetWidth),s.style.left=h+"px",this._signal("show"),i=null,n.isOpen=!0},n.goTo=function(e){var t=this.getRow(),n=this.session.getLength()-1;switch(e){case"up":t=t<=0?n:t-1;break;case"down":t=t>=n?-1:t+1;break;case"start":t=0;break;case"end":t=n}this.setRow(t)},n.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},n.$imageSize=0,n.$borderSize=1,n};a.importCssString(".ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { background-color: #CAD6FA; z-index: 1;}.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { background-color: #3a674e;}.ace_editor.ace_autocomplete .ace_line-hover { border: 1px solid #abbffe; margin-top: -1px; background: rgba(233,233,253,0.4); position: absolute; z-index: 2;}.ace_dark.ace_editor.ace_autocomplete .ace_line-hover { border: 1px solid rgba(109, 150, 13, 0.8); background: rgba(58, 103, 78, 0.62);}.ace_completion-meta { opacity: 0.5; margin: 0.9em;}.ace_completion-message { color: blue;}.ace_editor.ace_autocomplete .ace_completion-highlight{ color: #2d69c7;}.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{ color: #93ca12;}.ace_editor.ace_autocomplete { width: 300px; z-index: 200000; border: 1px lightgray solid; position: fixed; box-shadow: 2px 3px 5px rgba(0,0,0,.2); line-height: 1.4; background: #fefefe; color: #111;}.ace_dark.ace_editor.ace_autocomplete { border: 1px #484747 solid; box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51); line-height: 1.4; background: #25282c; color: #c1c1c1;}","autocompletion.css"),t.AcePopup=l,t.$singleLineEditor=f}),define("ace/autocomplete/util",["require","exports","module"],function(e,t,n){"use strict";t.parForEach=function(e,t,n){var r=0,i=e.length;i===0&&n();for(var s=0;s<i;s++)t(e[s],function(e,t){r++,r===i&&n(e,t)})};var r=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,n){n=n||r;var i=[];for(var s=t-1;s>=0;s--){if(!n.test(e[s]))break;i.push(e[s])}return i.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,n){n=n||r;var i=[];for(var s=t;s<e.length;s++){if(!n.test(e[s]))break;i.push(e[s])}return i},t.getCompletionPrefix=function(e){var t=e.getCursorPosition(),n=e.session.getLine(t.row),r;return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!r&&e&&(r=this.retrievePrecedingIdentifier(n,t.column,e))}.bind(this))}.bind(this)),r||this.retrievePrecedingIdentifier(n,t.column)}}),define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config"],function(e,t,n){"use strict";var r=e("./keyboard/hash_handler").HashHandler,i=e("./autocomplete/popup").AcePopup,s=e("./autocomplete/util"),o=e("./lib/lang"),u=e("./lib/dom"),a=e("./snippets").snippetManager,f=e("./config"),l=function(){this.autoInsert=!1,this.autoSelect=!0,this.exactMatch=!1,this.gatherCompletionsId=0,this.keyboardHandler=new r,this.keyboardHandler.bindKeys(this.commands),this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.changeTimer=o.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=o.delayedCall(this.updateDocTooltip.bind(this),50)};(function(){this.$init=function(){return this.popup=new i(document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.tooltipTimer.bind(null,null)),this.popup.on("select",this.tooltipTimer.bind(null,null)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup},this.getPopup=function(){return this.popup||this.$init()},this.openPopup=function(e,t,n){this.popup||this.$init(),this.popup.autoSelect=this.autoSelect,this.popup.setData(this.completions.filtered,this.completions.filterText),e.keyBinding.addKeyboardHandler(this.keyboardHandler);var r=e.renderer;this.popup.setRow(this.autoSelect?0:-1);if(!n){this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize());var i=r.layerConfig.lineHeight,s=r.$cursorLayer.getPixelPosition(this.base,!0);s.left-=this.popup.getTextLeftOffset();var o=e.container.getBoundingClientRect();s.top+=o.top-r.layerConfig.offset,s.left+=o.left-e.renderer.scrollLeft,s.left+=r.gutterWidth,this.popup.show(s,i)}else n&&!t&&this.detach();this.changeTimer.cancel()},this.detach=function(){this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener),this.changeTimer.cancel(),this.hideDocTooltip(),this.gatherCompletionsId+=1,this.popup&&this.popup.isOpen&&this.popup.hide(),this.base&&this.base.detach(),this.activated=!1,this.completions=this.base=null},this.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},this.blurListener=function(e){var t=document.activeElement,n=this.editor.textInput.getElement(),r=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),i=this.popup&&this.popup.container;t!=n&&t.parentNode!=i&&!r&&t!=this.tooltipNode&&e.relatedTarget!=n&&this.detach()},this.mousedownListener=function(e){this.detach()},this.mousewheelListener=function(e){this.detach()},this.goTo=function(e){this.popup.goTo(e)},this.insertMatch=function(e,t){e||(e=this.popup.getData(this.popup.getRow()));if(!e)return!1;var n=this.completions;this.editor.startOperation({command:{name:"insertMatch"}});if(e.completer&&e.completer.insertMatch)e.completer.insertMatch(this.editor,e);else{if(n.filterText){var r=this.editor.selection.getAllRanges();for(var i=0,s;s=r[i];i++)s.start.column-=n.filterText.length,this.editor.session.remove(s)}e.snippet?a.insertSnippet(this.editor,e.snippet):this.editor.execCommand("insertstring",e.value||e)}this.completions==n&&this.detach(),this.editor.endOperation()},this.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(!!t||!!e.tabstopManager)return t;e.completer.goTo("down")},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},this.gatherCompletions=function(e,t){var n=e.getSession(),r=e.getCursorPosition(),i=s.getCompletionPrefix(e);this.base=n.doc.createAnchor(r.row,r.column-i.length),this.base.$insertRight=!0;var o=[],u=e.completers.length;return e.completers.forEach(function(a,f){a.getCompletions(e,n,r,i,function(n,r){!n&&r&&(o=o.concat(r)),t(null,{prefix:s.getCompletionPrefix(e),matches:o,finished:--u===0})})}),!0},this.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,t)},this.updateCompletions=function(e,t){if(e&&this.base&&this.completions){var n=this.editor.getCursorPosition(),r=this.editor.session.getTextRange({start:this.base,end:n});if(r==this.completions.filterText)return;this.completions.setFilter(r);if(!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==r&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,r,e);return}if(t&&t.matches){var n=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(n.row,n.column),this.base.$insertRight=!0,this.completions=new c(t.matches),this.openPopup(this.editor,"",e)}var i=this.gatherCompletionsId;this.gatherCompletions(this.editor,function(t,n){var r=function(){if(!n.finished)return;return this.detach()}.bind(this),s=n.prefix,o=n&&n.matches;if(!o||!o.length)return r();if(s.indexOf(n.prefix)!==0||i!=this.gatherCompletionsId)return;this.completions=new c(o),this.exactMatch&&(this.completions.exactMatch=!0),this.completions.setFilter(s);var u=this.completions.filtered;if(!u.length)return r();if(u.length==1&&u[0].value==s&&!u[0].snippet)return r();if(this.autoInsert&&u.length==1&&n.finished)return this.insertMatch(u[0]);this.openPopup(this.editor,s,e)}.bind(this))},this.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},this.updateDocTooltip=function(){var e=this.popup,t=e.data,n=t&&(t[e.getHoveredRow()]||t[e.getRow()]),r=null;if(!n||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();this.editor.completers.some(function(e){return e.getDocTooltip&&(r=e.getDocTooltip(n)),r}),!r&&typeof n!="string"&&(r=n),typeof r=="string"&&(r={docText:r});if(!r||!r.docHTML&&!r.docText)return this.hideDocTooltip();this.showDocTooltip(r)},this.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=u.createElement("div"),this.tooltipNode.className="ace_tooltip ace_doc-tooltip",this.tooltipNode.style.margin=0,this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this));var t=this.tooltipNode;e.docHTML?t.innerHTML=e.docHTML:e.docText&&(t.textContent=e.docText),t.parentNode||document.body.appendChild(t);var n=this.popup,r=n.container.getBoundingClientRect();t.style.top=n.container.style.top,t.style.bottom=n.container.style.bottom,t.style.display="block",window.innerWidth-r.right<320?r.left<320?n.isTopdown?(t.style.top=r.bottom+"px",t.style.left=r.left+"px",t.style.right="",t.style.bottom=""):(t.style.top=n.container.offsetTop-t.offsetHeight+"px",t.style.left=r.left+"px",t.style.right="",t.style.bottom=""):(t.style.right=window.innerWidth-r.left+"px",t.style.left=""):(t.style.left=r.right+1+"px",t.style.right="")},this.hideDocTooltip=function(){this.tooltipTimer.cancel();if(!this.tooltipNode)return;var e=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==e&&this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)},this.onTooltipClick=function(e){var t=e.target;while(t&&t!=this.tooltipNode){if(t.nodeName=="A"&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}},this.destroy=function(){this.detach();if(this.popup){this.popup.destroy();var e=this.popup.container;e&&e.parentNode&&e.parentNode.removeChild(e)}this.editor&&this.editor.completer==this&&this.editor.completer==null,this.popup=null}}).call(l.prototype),l.for=function(e){return e.completer?e.completer:(f.get("sharedPopups")?(l.$shared||(l.$sharedInstance=new l),e.completer=l.$sharedInstance):(e.completer=new l,e.once("destroy",function(e,t){t.completer.destroy()})),e.completer)},l.startCommand={name:"startAutocomplete",exec:function(e,t){var n=l.for(e);n.autoInsert=!1,n.autoSelect=!0,n.showPopup(e,t),n.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var c=function(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1};(function(){this.setFilter=function(e){if(e.length>this.filterText&&e.lastIndexOf(this.filterText,0)===0)var t=this.filtered;else var t=this.all;this.filterText=e,t=this.filterCompletions(t,this.filterText),t=t.sort(function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)});var n=null;t=t.filter(function(e){var t=e.snippet||e.caption||e.value;return t===n?!1:(n=t,!0)}),this.filtered=t},this.filterCompletions=function(e,t){var n=[],r=t.toUpperCase(),i=t.toLowerCase();e:for(var s=0,o;o=e[s];s++){var u=o.caption||o.value||o.snippet;if(!u)continue;var a=-1,f=0,l=0,c,h;if(this.exactMatch){if(t!==u.substr(0,t.length))continue e}else{var p=u.toLowerCase().indexOf(i);if(p>-1)l=p;else for(var d=0;d<t.length;d++){var v=u.indexOf(i[d],a+1),m=u.indexOf(r[d],a+1);c=v>=0?m<0||v<m?v:m:m;if(c<0)continue e;h=c-a-1,h>0&&(a===-1&&(l+=10),l+=h,f|=1<<d),a=c}}o.matchMask=f,o.exactMatch=l?0:1,o.$score=(o.score||0)-l,n.push(o)}return n}}).call(c.prototype),t.Autocomplete=l,t.FilteredList=c}),define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(e,t,n){function s(e,t){var n=e.getTextRange(r.fromPoints({row:0,column:0},t));return n.split(i).length-1}function o(e,t){var n=s(e,t),r=e.getValue().split(i),o=Object.create(null),u=r[n];return r.forEach(function(e,t){if(!e||e===u)return;var i=Math.abs(n-t),s=r.length-i;o[e]?o[e]=Math.max(s,o[e]):o[e]=s}),o}var r=e("../range").Range,i=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;t.getCompletions=function(e,t,n,r,i){var s=o(t,n),u=Object.keys(s);i(null,u.map(function(e){return{caption:e,value:e,score:s[e],meta:"local"}}))}}),define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../snippets").snippetManager,i=e("../autocomplete").Autocomplete,s=e("../config"),o=e("../lib/lang"),u=e("../autocomplete/util"),a=e("../autocomplete/text_completer"),f={getCompletions:function(e,t,n,r,i){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,n,r,i);var s=e.session.getState(n.row),o=t.$mode.getCompletions(s,t,n,r);i(null,o)}},l={getCompletions:function(e,t,n,i,s){var o=[],u=t.getTokenAt(n.row,n.column);u&&u.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?o.push("html-tag"):o=r.getActiveScopes(e);var a=r.snippetMap,f=[];o.forEach(function(e){var t=a[e]||[];for(var n=t.length;n--;){var r=t[n],i=r.name||r.tabTrigger;if(!i)continue;f.push({caption:i,snippet:r.content,meta:r.tabTrigger&&!r.name?r.tabTrigger+"\u21e5 ":"snippet",type:"snippet"})}},this),s(null,f)},getDocTooltip:function(e){e.type=="snippet"&&!e.docHTML&&(e.docHTML=["<b>",o.escapeHTML(e.caption),"</b>","<hr></hr>",o.escapeHTML(e.snippet)].join(""))}},c=[l,a,f];t.setCompleters=function(e){c.length=0,e&&c.push.apply(c,e)},t.addCompleter=function(e){c.push(e)},t.textCompleter=a,t.keyWordCompleter=f,t.snippetCompleter=l;var h={name:"expandSnippet",exec:function(e){return r.expandWithTab(e)},bindKey:"Tab"},p=function(e,t){d(t.session.$mode)},d=function(e){typeof e=="string"&&(e=s.$modes[e]);if(!e)return;r.files||(r.files={}),v(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(d)},v=function(e,t){if(!t||!e||r.files[e])return;r.files[e]={},s.loadModule(t,function(t){if(!t)return;r.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=r.parseSnippetFile(t.snippetText)),r.register(t.snippets||[],t.scope),t.includeScopes&&(r.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach(function(e){d("ace/mode/"+e)}))})},m=function(e){var t=e.editor,n=t.completer&&t.completer.activated;if(e.command.name==="backspace")n&&!u.getCompletionPrefix(t)&&t.completer.detach();else if(e.command.name==="insertstring"){var r=u.getCompletionPrefix(t);if(r&&!n){var s=i.for(t);s.autoInsert=!1,s.showPopup(t)}}},g=e("../editor").Editor;e("../config").defineOptions(g.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:c),this.commands.addCommand(i.startCommand)):this.commands.removeCommand(i.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:c),this.commands.on("afterExec",m)):this.commands.removeListener("afterExec",m)},value:!1},enableSnippets:{set:function(e){e?(this.commands.addCommand(h),this.on("changeMode",p),p(null,this)):(this.commands.removeCommand(h),this.off("changeMode",p))},value:!1}})}); (function() {
2
+ window.require(["ace/ext/language_tools"], function(m) {
3
+ if (typeof module == "object" && typeof exports == "object" && module) {
4
+ module.exports = m;
5
+ }
6
+ });
7
+ })();
8
+
backend/components/editable/resources/js/ace/mode-bookly.js ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ define('ace/mode/bookly', function(require, exports, module) {
2
+
3
+ var oop = require("ace/lib/oop");
4
+ var TextMode = require("ace/mode/text").Mode;
5
+ var BooklyHighlightRules = require("ace/mode/bookly_highlight_rules").BooklyHighlightRules;
6
+
7
+ var Mode = function() {
8
+ this.HighlightRules = BooklyHighlightRules;
9
+ };
10
+ oop.inherits(Mode, TextMode);
11
+
12
+ exports.Mode = Mode;
13
+ });
14
+
15
+ define('ace/mode/bookly_highlight_rules', function(require, exports, module) {
16
+
17
+ var oop = require("ace/lib/oop");
18
+ var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules;
19
+
20
+ var BooklyHighlightRules = function() {
21
+
22
+ this.$rules = new TextHighlightRules().getRules();
23
+
24
+ // Generate bookly highlight rules
25
+ this.$rules['start'] = this.$rules['start'] || [];
26
+ // Start loop
27
+ this.$rules['start'].push({
28
+ token: 'bookly_each',
29
+ regex: '{#each (\\w+(?:\\.\\w+)*)\\s+as\\s+(\\w+)(?:\\s+delimited\\s+by\\s+"(.+?)")?\\s*}',
30
+ merge: false,
31
+ });
32
+ // End loop
33
+ this.$rules['start'].push({
34
+ token: 'bookly_endeach',
35
+ regex: '{/each}',
36
+ merge: false,
37
+ });
38
+ // Start if
39
+ this.$rules['start'].push({
40
+ token: 'bookly_if',
41
+ regex: '{#if (\\w+(?:\\.\\w+)*)}',
42
+ merge: false,
43
+ });
44
+ // End if
45
+ this.$rules['start'].push({
46
+ token: 'bookly_endif',
47
+ regex: '{/if}',
48
+ merge: false,
49
+ });
50
+ // Code
51
+ this.$rules['start'].push({
52
+ token: 'bookly_code',
53
+ regex: '{(\\w+(?:\\.\\w+)*)}',
54
+ merge: false,
55
+ });
56
+ }
57
+
58
+ oop.inherits(BooklyHighlightRules, TextHighlightRules);
59
+
60
+ exports.BooklyHighlightRules = BooklyHighlightRules;
61
+ });
62
+
63
+ define('ace/mode/bookly_completer', function(require, exports, module) {
64
+ exports.BooklyCompleter = function( editor, codes ) {
65
+ var TokenIterator = ace.require('ace/token_iterator').TokenIterator;
66
+ return {
67
+ // Add required symbols to ace completions finder
68
+ identifierRegexps: [/[a-zA-Z_0-9\$\{\#\-\u00A2-\u2000\u2070-\uFFFF]/],
69
+ // Rewrite autocomplete rules
70
+ getCompletions: function (state, session, pos, prefix, callback) {
71
+ let iterator = new TokenIterator(session, pos.row, pos.column),
72
+ // Get token for current cursor position (e.g. 'bookly_code' from highlight rules)
73
+ token = iterator.getCurrentToken(),
74
+ completions = [];
75
+ // Disable completions inside {#each ...}
76
+ const line = editor.session.getLine(editor.getSelectionRange().start.row);
77
+ if (token && token.type === 'bookly_each' && line[pos.column - 1] !== '}' && line[pos.column] !== '{') {
78
+ callback(null, []);
79
+ }
80
+ // Fix issue when each or endeach starts at new line
81
+ if (pos.column === 0 && token && (token.type === 'bookly_endeach' || token.type === 'bookly_each')) {
82
+ token = iterator.stepBackward();
83
+ }
84
+ if (token === undefined) {
85
+ token = iterator.stepBackward();
86
+ }
87
+ if (codes) {
88
+ // Check if cursor inside loop
89
+ let level = 0;
90
+ // Get previous token while it available to find loop token
91
+ while (token && !(token.type === 'bookly_each' && level === 0)) {
92
+ if (token.type === 'bookly_endeach') {
93
+ level++;
94
+ }
95
+ if (token.type === 'bookly_each') {
96
+ level--;
97
+ }
98
+ token = iterator.stepBackward();
99
+ }
100
+
101
+ const nested = !!token;
102
+
103
+ if (nested) {
104
+ // Cursor inside a loop
105
+ level = 0;
106
+ let path = [];
107
+ // Build nested loops path
108
+ while (token) {
109
+ if (token.type === 'bookly_endeach') {
110
+ level++;
111
+ }
112
+ if (token.type === 'bookly_each') {
113
+ level--;
114
+ if (level < 1) {
115
+ let _loop = token.value.match(/{(#each (\w+(?:\.\w+)*)\s+as\s+(\w+)(?:\s+delimited\s+by\s+"(.+?)")?\s*)}/);
116
+ path.push({loop: _loop[2].split('.').pop(), name: _loop[3]});
117
+ }
118
+ }
119
+ token = iterator.stepBackward();
120
+ }
121
+
122
+ path.reverse();
123
+
124
+ function getLoopCodes(codes, path) {
125
+ for (let i = 0; i < path.length; i++) {
126
+ if (!codes.hasOwnProperty(path[i]['loop'])) {
127
+ return false;
128
+ }
129
+ codes = codes[path[i]['loop']]['loop']['codes'];
130
+ }
131
+ return codes;
132
+ }
133
+
134
+ // Add codes to completion for all nested loops
135
+ let top = true;
136
+ while (path.length) {
137
+ const name = path[path.length - 1]['name'];
138
+ let loop_codes = getLoopCodes(codes, path);
139
+ if (loop_codes !== false) {
140
+ Object.keys(loop_codes).forEach(function (code) {
141
+ if (!loop_codes[code].hasOwnProperty('loop')) {
142
+ completions.push({
143
+ caption: '{' + name + '.' + code + '}',
144
+ value: '{' + name + '.' + code + '}',
145
+ score: 500,
146
+ docHTML: loop_codes[code]['description']
147
+ });
148
+ } else if (top) {
149
+ // Add top level loops to completions
150
+ completions.push({
151
+ caption: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + '}{/each}',
152
+ value: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + '}{/each}',
153
+ snippet: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + '}$0{/each}',
154
+ score: 400,
155
+ docHTML: loop_codes[code]['description'][0]
156
+ });
157
+ completions.push({
158
+ caption: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + ' delimited by ", "}{/each}',
159
+ value: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + ' delimited by ", "}{/each}',
160
+ snippet: '{#each ' + name + '.' + code + ' as ' + loop_codes[code]['loop']['item'] + ' delimited by ", "}$0{/each}',
161
+ score: 300,
162
+ docHTML: loop_codes[code]['description'][1]
163
+ });
164
+ }
165
+ if (loop_codes[code].hasOwnProperty('if') && loop_codes[code]['if']) {
166
+ completions.push({
167
+ caption: '{#if ' + name + '.' + code + '}{/if}',
168
+ value: '{#if ' + name + '.' + code + '}{/if}',
169
+ snippet: '{#if ' + name + '.' + code + '}$0{/if}',
170
+ score: 200,
171
+ docHTML: loop_codes[code]['description']
172
+ });
173
+ }
174
+ });
175
+ }
176
+ top = false;
177
+ path = path.slice(0, path.length - 1)
178
+ }
179
+ }
180
+ // Add first level codes to completions
181
+ Object.keys(codes).forEach(function (code) {
182
+ if (typeof codes[code] === 'object' && codes[code].hasOwnProperty('loop')) {
183
+ if (!nested) {
184
+ completions.push({
185
+ caption: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + '}{/each}',
186
+ value: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + '}{/each}',
187
+ snippet: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + '}$0{/each}',
188
+ score: 400,
189
+ docHTML: codes[code]['description'][0]
190
+ });
191
+ completions.push({
192
+ caption: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + ' delimited by ", "}{/each}',
193
+ value: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + ' delimited by ", "}{/each}',
194
+ snippet: '{#each ' + code + ' as ' + codes[code]['loop']['item'] + ' delimited by ", "}$0{/each}',
195
+ score: 300,
196
+ docHTML: codes[code]['description'][1]
197
+ });
198
+ }
199
+ } else {
200
+ completions.push({
201
+ caption: '{' + code + '}',
202
+ value: '{' + code + '}',
203
+ score: 500,
204
+ docHTML: codes[code]['description']
205
+ });
206
+ }
207
+ if (codes[code].hasOwnProperty('if') && codes[code]['if']) {
208
+ completions.push({
209
+ caption: '{#if ' + code + '}{/if}',
210
+ value: '{#if ' + code + '}{/if}',
211
+ snippet: '{#if ' + code + '}$0{/if}',
212
+ score: 100,
213
+ docHTML: codes[code]['description']
214
+ });
215
+ }
216
+ });
217
+ }
218
+ callback(null, completions);
219
+ }
220
+ }
221
+ }
222
+ });
backend/components/editable/resources/js/ace/mode-text.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ ; (function() {
2
+ window.require(["ace/mode/text"], function(m) {
3
+ if (typeof module == "object" && typeof exports == "object" && module) {
4
+ module.exports = m;
5
+ }
6
+ });
7
+ })();
8
+
backend/components/editable/resources/js/ace/theme-textmate.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2
+ window.require(["ace/theme/textmate"], function(m) {
3
+ if (typeof module == "object" && typeof exports == "object" && module) {
4
+ module.exports = m;
5
+ }
6
+ });
7
+ })();
8
+
backend/{modules/appearance → components/editable}/resources/js/editable.js RENAMED
@@ -2,8 +2,9 @@
2
  * jQuery booklyEditable.
3
  */
4
  (function ($) {
 
5
  let methods = {
6
- init : function (options) {
7
  let opts = $.extend({}, $.fn.booklyEditable.defaults, options);
8
 
9
  return this.each(function () {
@@ -12,16 +13,28 @@
12
  }
13
  let obj = {
14
  $container: $(this),
15
- opts : opts,
16
- values : {},
17
- option : '',
18
- type : '',
19
- content : function () {
 
 
 
 
 
 
 
 
 
 
 
 
20
  let $content = $('<div class="mt-2">');
21
  switch (obj.type) {
22
  case 'textarea':
23
  $.each(obj.values, function (index, value) {
24
- $content.append('<div class="form-group mb-2"><textarea class="form-control bookly-js-editable-control" name="' + index + '" rows="5">' + value + '</textarea></div>');
25
  });
26
  break;
27
  default:
@@ -32,10 +45,6 @@
32
  }
33
  $content.append('<hr/>');
34
  $content.append('<div class="text-right"><div class="btn-group btn-group-sm" role="group"><button type="button" class="btn btn-success bookly-js-editable-save"><i class="fas fa-fw fa-check"></i></button><button type="button" class="btn btn-default" data-dismiss="bookly-popover"><i class="fas fa-fw fa-times"></i></button></div></div>');
35
- let codes = obj.$container.data('codes');
36
- if (codes !== undefined) {
37
- $content.append(codes);
38
- }
39
  // Click on "Close" button.
40
  $content.find('button[data-dismiss="bookly-popover"]').click(function () {
41
  close();
@@ -67,44 +76,53 @@
67
  }
68
 
69
  return $content;
70
- },
71
- title : function () {
72
- let title = obj.$container.data('title');
73
- return title === undefined ? '' : title;
74
- }
75
- }
76
- $.each(methods.parseJson(obj.$container.data('values')), function (index, value) {
77
- obj.values[index] = value;
78
- });
79
- obj.type = obj.$container.data('fieldtype') || 'input';
80
- obj.option = obj.$container.data('option');
81
- obj.$container.booklyPopover({
82
- html : true,
83
- placement : obj.$container.data('placement') !== undefined ? obj.$container.data('placement') : opts.placement,
84
- fallbackPlacement: obj.$container.data('fallbackPlacement') !== undefined ? obj.$container.data('fallbackPlacement') : opts.fallbackPlacement,
85
- container : opts.container,
86
- template : '<div class="bookly-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
87
- trigger : 'manual',
88
- title : obj.title,
89
- content : obj.content
90
- });
91
 
 
 
 
 
 
 
 
 
 
 
 
92
  // Click on editable field.
93
  obj.$container.on('click', function (e) {
94
  e.preventDefault();
95
- if (!obj.$container.attr('aria-describedby')) {
96
- $('.bookly-popover').each(function () {
97
- $('[aria-describedby="' + $(this).attr('id') + '"]').booklyPopover('hide');
98
- });
99
 
100
- obj.$container.booklyPopover('show');
101
- obj.$container.off('shown.bs.popover').on('shown.bs.popover', function () {
102
- if (obj.$container.attr('aria-describedby') !== undefined) {
103
- $(obj.$container.data('bs.popover').tip).find('.bookly-js-editable-control:first').focus();
104
- }
105
- });
 
 
 
 
106
  } else {
107
- obj.$container.booklyPopover('hide');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  }
109
  });
110
 
@@ -116,7 +134,7 @@
116
  obj.$container.data('booklyEditable', obj);
117
  });
118
  },
119
- setValue : function (values) {
120
  var obj = this.data('booklyEditable');
121
  if (!obj) {
122
  return;
@@ -127,7 +145,7 @@
127
  // Update field text.
128
  obj.$container.text(obj.values[obj.option] === '' ? obj.opts.empty : obj.values[obj.option]);
129
  },
130
- getValue : function () {
131
  var obj = this.data('booklyEditable');
132
  if (!obj) {
133
  return;
@@ -153,6 +171,48 @@
153
  }
154
  });
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  $.fn.booklyEditable = function (method) {
157
  if (methods[method]) {
158
  return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
@@ -164,9 +224,9 @@
164
  };
165
 
166
  $.fn.booklyEditable.defaults = {
167
- placement : 'auto',
168
  fallbackPlacement: ['bottom'],
169
- container : '#bookly-appearance',
170
- empty : 'Empty',
171
  };
172
  })(jQuery);
2
  * jQuery booklyEditable.
3
  */
4
  (function ($) {
5
+ let $modal = $('#bookly-editable-modal');
6
  let methods = {
7
+ init: function (options) {
8
  let opts = $.extend({}, $.fn.booklyEditable.defaults, options);
9
 
10
  return this.each(function () {
13
  }
14
  let obj = {
15
  $container: $(this),
16
+ opts: opts,
17
+ values: {},
18
+ option: '',
19
+ type: '',
20
+ title: function () {
21
+ let title = obj.$container.data('title');
22
+ return title === undefined ? '' : title;
23
+ }
24
+ }
25
+ $.each(methods.parseJson(obj.$container.data('values')), function (index, value) {
26
+ obj.values[index] = value;
27
+ });
28
+ obj.type = obj.$container.data('fieldtype') || 'input';
29
+ obj.option = obj.$container.data('option');
30
+ if (!obj.$container.data('ace')) {
31
+ // Init popover
32
+ obj.content = function () {
33
  let $content = $('<div class="mt-2">');
34
  switch (obj.type) {
35
  case 'textarea':
36
  $.each(obj.values, function (index, value) {
37
+ $content.append('<div class="form-group mb-2"><textarea class="form-control bookly-js-editable-control" name="' + index + '" rows="5" cols="50">' + value + '</textarea></div>');
38
  });
39
  break;
40
  default:
45
  }
46
  $content.append('<hr/>');
47
  $content.append('<div class="text-right"><div class="btn-group btn-group-sm" role="group"><button type="button" class="btn btn-success bookly-js-editable-save"><i class="fas fa-fw fa-check"></i></button><button type="button" class="btn btn-default" data-dismiss="bookly-popover"><i class="fas fa-fw fa-times"></i></button></div></div>');
 
 
 
 
48
  // Click on "Close" button.
49
  $content.find('button[data-dismiss="bookly-popover"]').click(function () {
50
  close();
76
  }
77
 
78
  return $content;
79
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
81
+ obj.$container.booklyPopover({
82
+ html: true,
83
+ placement: obj.$container.data('placement') !== undefined ? obj.$container.data('placement') : opts.placement,
84
+ fallbackPlacement: obj.$container.data('fallbackPlacement') !== undefined ? obj.$container.data('fallbackPlacement') : opts.fallbackPlacement,
85
+ container: opts.container,
86
+ template: '<div class="bookly-popover bookly-editable-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
87
+ trigger: 'manual',
88
+ title: obj.title,
89
+ content: obj.content
90
+ });
91
+ }
92
  // Click on editable field.
93
  obj.$container.on('click', function (e) {
94
  e.preventDefault();
95
+ if (obj.$container.data('ace')) {
96
+ // ACE Editor
97
+ $('.modal-title', $modal).text(obj.$container.data('title') ? obj.$container.data('title') : BooklyL10nEditable.title);
98
+ $('#bookly-ace-save', $modal).data('container', obj.$container).data('option', obj.option);
99
 
100
+ // Init editor and set value
101
+ let editor = $('#bookly-ace-editor').get(0).env.editor;
102
+ editor.session.setValue(obj.values[obj.option]);
103
+
104
+ // Init autocomplete
105
+ var staticWordCompleter = ace.require('ace/mode/bookly_completer').BooklyCompleter;
106
+ var langTools = ace.require('ace/ext/language_tools');
107
+ langTools.setCompleters([staticWordCompleter(editor, obj.$container.data('codes'))]);
108
+
109
+ $modal.booklyModal('show');
110
  } else {
111
+ // Init bootstrap popover if ace editor is not required
112
+ if (!obj.$container.attr('aria-describedby')) {
113
+ $('.bookly-popover').each(function () {
114
+ $('[aria-describedby="' + $(this).attr('id') + '"]').booklyPopover('hide');
115
+ });
116
+
117
+ obj.$container.booklyPopover('show');
118
+ obj.$container.off('shown.bs.popover').on('shown.bs.popover', function () {
119
+ if (obj.$container.attr('aria-describedby') !== undefined) {
120
+ $(obj.$container.data('bs.popover').tip).find('.bookly-js-editable-control:first').focus();
121
+ }
122
+ });
123
+ } else {
124
+ obj.$container.booklyPopover('hide');
125
+ }
126
  }
127
  });
128
 
134
  obj.$container.data('booklyEditable', obj);
135
  });
136
  },
137
+ setValue: function (values) {
138
  var obj = this.data('booklyEditable');
139
  if (!obj) {
140
  return;
145
  // Update field text.
146
  obj.$container.text(obj.values[obj.option] === '' ? obj.opts.empty : obj.values[obj.option]);
147
  },
148
+ getValue: function () {
149
  var obj = this.data('booklyEditable');
150
  if (!obj) {
151
  return;
171
  }
172
  });
173
 
174
+ // Init ACE Editor
175
+ if ($('#bookly-ace-editor').length) {
176
+ var editor = ace.edit('bookly-ace-editor');
177
+ editor.renderer.setShowGutter(false);
178
+ editor.setShowPrintMargin(false);
179
+ editor.setHighlightActiveLine(false);
180
+ editor.setOptions({
181
+ enableBasicAutocompletion: true,
182
+ enableLiveAutocompletion: true,
183
+ enableSnippets: true,
184
+ wrap: true,
185
+ indentedSoftWrap: false,
186
+ fontSize: '14pt',
187
+ });
188
+ editor.getSession().setMode('ace/mode/bookly');
189
+
190
+ $modal.on('hide.bs.modal', function () {
191
+ var editor = $('#bookly-ace-editor').get(0).env.editor;
192
+ editor.setValue('');
193
+ });
194
+
195
+ $modal.on('shown.bs.modal', function () {
196
+ var editor = $('#bookly-ace-editor').get(0).env.editor;
197
+ editor.focus();
198
+ const session = editor.getSession();
199
+ const count = session.getLength();
200
+ editor.gotoLine(count, session.getLine(count - 1).length);
201
+
202
+ });
203
+
204
+ $('#bookly-ace-save', $modal).on('click', function () {
205
+ let option = $(this).data('option'),
206
+ values = {};
207
+ values[option] = $('#bookly-ace-editor').get(0).env.editor.getValue();
208
+ // Update values for all editable fields with same data-option
209
+ $('[data-option="' + option + '"]').each(function () {
210
+ $(this).booklyEditable('setValue', values);
211
+ });
212
+ $modal.booklyModal('hide');
213
+ });
214
+ }
215
+
216
  $.fn.booklyEditable = function (method) {
217
  if (methods[method]) {
218
  return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
224
  };
225
 
226
  $.fn.booklyEditable.defaults = {
227
+ placement: 'auto',
228
  fallbackPlacement: ['bottom'],
229
+ container: '#bookly-appearance',
230
+ empty: 'Empty',
231
  };
232
  })(jQuery);
backend/components/editable/templates/ace-modal.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ use Bookly\Backend\Components\Controls\Buttons;
3
+ /**
4
+ * @var string $doc_slug
5
+ */
6
+ ?>
7
+ <div class="bookly-modal bookly-fade" id="bookly-editable-modal" role="dialog">
8
+ <div class="modal-dialog modal-lg" role="document">
9
+ <div class="modal-content">
10
+ <div class="modal-header">
11
+ <h5 class="modal-title"></h5>
12
+ <button type="button" class="close" data-dismiss="bookly-modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
13
+ </div>
14
+ <div class="modal-body">
15
+ <div id="bookly-ace-editor"></div>
16
+ <small class="form-text text-muted"><?php printf( __( 'Start typing "{" to see the available codes. For more information, see the <a href="%s" target="_blank">documentation</a> page', 'bookly' ), 'https://api.booking-wp-plugin.com/go/' . $doc_slug ) ?></small>
17
+ </div>
18
+ <div class="modal-footer">
19
+ <?php Buttons::renderSubmit( 'bookly-ace-save', null, __( 'Apply', 'bookly' ) ) ?>
20
+ <?php Buttons::renderCancel( __( 'Close', 'bookly' ) ) ?>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
backend/modules/appearance/Page.php CHANGED
@@ -55,8 +55,7 @@ class Page extends Lib\Base\Component
55
  ),
56
  'wp' => array( 'wp-color-picker' ),
57
  'module' => array(
58
- 'js/editable.js' => array( 'bookly-bootstrap.min.js' ),
59
- 'js/appearance.js' => array( 'bookly-editable.js' )
60
  )
61
  ) );
62
 
55
  ),
56
  'wp' => array( 'wp-color-picker' ),
57
  'module' => array(
58
+ 'js/appearance.js' => array( 'jquery' )
 
59
  )
60
  ) );
61
 
backend/modules/appearance/resources/css/appearance.css CHANGED
@@ -38,29 +38,4 @@
38
  #bookly-tbs .bookly-form .bookly-progress-tracker {
39
  display: none !important;
40
  }
41
- }
42
-
43
- #bookly-tbs .bookly-editable {
44
- cursor: pointer;
45
- border-bottom: dashed 1px #0088cc;
46
- }
47
-
48
- #bookly-tbs #bookly-appearance .bookly-popover,
49
- #bookly-tbs #bookly_settings_invoices .bookly-popover {
50
- min-width: 280px;
51
- max-width: unset;
52
- white-space: nowrap;
53
- }
54
-
55
- #bookly-tbs .bookly-editable-clear {
56
- margin-left: -40px;
57
- z-index: 100;
58
- }
59
-
60
- #bookly-tbs .bookly-editable-clear:not(:hover) {
61
- color: grey;
62
- }
63
-
64
- #bookly-tbs .bookly-editable-clear:focus {
65
- box-shadow: none;
66
  }
38
  #bookly-tbs .bookly-form .bookly-progress-tracker {
39
  display: none !important;
40
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
backend/modules/appearance/templates/_3_time.php CHANGED
@@ -9,7 +9,7 @@ use Bookly\Backend\Modules\Appearance\Proxy;
9
  <?php include '_progress_tracker.php' ?>
10
 
11
  <div class="bookly-box">
12
- <?php Editable::renderText( 'bookly_l10n_info_time_step', Codes::getHtml( 3 ) ) ?>
13
  </div>
14
  <?php Proxy\WaitingList::renderInfoText() ?>
15
  <div class="bookly-box bookly-label-error" style="padding-bottom:2px">
9
  <?php include '_progress_tracker.php' ?>
10
 
11
  <div class="bookly-box">
12
+ <?php Editable::renderText( 'bookly_l10n_info_time_step', Codes::getJson( 3 ) ) ?>
13
  </div>
14
  <?php Proxy\WaitingList::renderInfoText() ?>
15
  <div class="bookly-box bookly-label-error" style="padding-bottom:2px">
backend/modules/appearance/templates/_6_details.php CHANGED
@@ -9,10 +9,10 @@ use Bookly\Backend\Modules\Appearance\Proxy;
9
  <?php include '_progress_tracker.php' ?>
10
 
11
  <div class="bookly-box">
12
- <?php Editable::renderText( 'bookly_l10n_info_details_step', Codes::getHtml( 6 ) ) ?>
13
  </div>
14
  <div class="bookly-box">
15
- <?php Editable::renderText( 'bookly_l10n_info_details_step_guest', Codes::getHtml( 6, true ), 'bottom', __( 'Visible to non-logged in customers only', 'bookly' ) ) ?>
16
  </div>
17
  <div class="bookly-box bookly-guest">
18
  <div class="bookly-btn" id="bookly-login-button">
9
  <?php include '_progress_tracker.php' ?>
10
 
11
  <div class="bookly-box">
12
+ <?php Editable::renderText( 'bookly_l10n_info_details_step', Codes::getJson( 6 ) ) ?>
13
  </div>
14
  <div class="bookly-box">
15
+ <?php Editable::renderText( 'bookly_l10n_info_details_step_guest', Codes::getJson( 6, true ), 'bottom', __( 'Visible to non-logged in customers only', 'bookly' ) ) ?>
16
  </div>
17
  <div class="bookly-box bookly-guest">
18
  <div class="bookly-btn" id="bookly-login-button">
backend/modules/appearance/templates/_7_payment.php CHANGED
@@ -11,7 +11,7 @@ use Bookly\Backend\Modules\Appearance\Proxy;
11
 
12
  <div class="bookly-payment-nav">
13
  <div class="bookly-box bookly-js-payment-single-app">
14
- <?php Editable::renderText( 'bookly_l10n_info_payment_step_single_app', Codes::getHtml( 7 ) ) ?>
15
  </div>
16
  <?php Proxy\Pro::renderBookingStatesText() ?>
17
  <div class="bookly-js-payment-gateways">
11
 
12
  <div class="bookly-payment-nav">
13
  <div class="bookly-box bookly-js-payment-single-app">
14
+ <?php Editable::renderText( 'bookly_l10n_info_payment_step_single_app', Codes::getJson( 7 ) ) ?>
15
  </div>
16
  <?php Proxy\Pro::renderBookingStatesText() ?>
17
  <div class="bookly-js-payment-gateways">
backend/modules/appearance/templates/_8_complete.php CHANGED
@@ -5,12 +5,12 @@ use Bookly\Backend\Components\Appearance\Editable;
5
  <div class="bookly-form">
6
  <?php include '_progress_tracker.php' ?>
7
  <div class="bookly-box bookly-js-done-success">
8
- <?php Editable::renderText( 'bookly_l10n_info_complete_step', Codes::getHtml( 8, true ) ) ?>
9
  </div>
10
  <div class="bookly-box bookly-js-done-limit-error collapse">
11
- <?php Editable::renderText( 'bookly_l10n_info_complete_step_limit_error', Codes::getHtml( 8 ) ) ?>
12
  </div>
13
  <div class="bookly-box bookly-js-done-processing collapse">
14
- <?php Editable::renderText( 'bookly_l10n_info_complete_step_processing', Codes::getHtml( 8, true ) ) ?>
15
  </div>
16
  </div>
5
  <div class="bookly-form">
6
  <?php include '_progress_tracker.php' ?>
7
  <div class="bookly-box bookly-js-done-success">
8
+ <?php Editable::renderText( 'bookly_l10n_info_complete_step', Codes::getJson( 8, true ) ) ?>
9
  </div>
10
  <div class="bookly-box bookly-js-done-limit-error collapse">
11
+ <?php Editable::renderText( 'bookly_l10n_info_complete_step_limit_error', Codes::getJson( 8 ) ) ?>
12
  </div>
13
  <div class="bookly-box bookly-js-done-processing collapse">
14
+ <?php Editable::renderText( 'bookly_l10n_info_complete_step_processing', Codes::getJson( 8, true ) ) ?>
15
  </div>
16
  </div>
backend/modules/appearance/templates/index.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
  use Bookly\Lib;
3
  use Bookly\Backend\Components\Support;
 
4
  use Bookly\Backend\Components\Controls\Buttons;
5
  use Bookly\Backend\Components\Controls\Inputs;
 
6
  use Bookly\Backend\Modules\Appearance\Proxy;
7
  ?>
8
  <?php if ( trim( $custom_css ) ) : ?>
@@ -194,4 +196,5 @@ use Bookly\Backend\Modules\Appearance\Proxy;
194
  <?php Buttons::renderReset() ?>
195
  </div>
196
  </div>
 
197
  </div>
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
  use Bookly\Lib;
3
  use Bookly\Backend\Components\Support;
4
+ use Bookly\Backend\Components\Dialogs;
5
  use Bookly\Backend\Components\Controls\Buttons;
6
  use Bookly\Backend\Components\Controls\Inputs;
7
+ use Bookly\Backend\Components;
8
  use Bookly\Backend\Modules\Appearance\Proxy;
9
  ?>
10
  <?php if ( trim( $custom_css ) ) : ?>
196
  <?php Buttons::renderReset() ?>
197
  </div>
198
  </div>
199
+ <?php Components\Editable\Widget::render( 'bookly-appearance' ) ?>
200
  </div>
backend/modules/calendar/Ajax.php CHANGED
@@ -26,8 +26,8 @@ class Ajax extends Page
26
  {
27
  $result = array();
28
  $one_day = new \DateInterval( 'P1D' );
29
- $start_date = new \DateTime( substr( self::parameter( 'start' ), 0, 19 ) );
30
- $end_date = new \DateTime( substr( self::parameter( 'end' ), 0, 19 ) );
31
 
32
  // Due to possibly different time zones of staff members expand start and end dates
33
  // to provide 100% coverage of the requested date range
26
  {
27
  $result = array();
28
  $one_day = new \DateInterval( 'P1D' );
29
+ $start_date = new \DateTime( self::parameter( 'start' ) );
30
+ $end_date = new \DateTime( self::parameter( 'end' ) );
31
 
32
  // Due to possibly different time zones of staff members expand start and end dates
33
  // to provide 100% coverage of the requested date range
backend/modules/calendar/resources/css/event-calendar.min.css CHANGED
@@ -1 +1 @@
1
- .ec-flex{display:flex}.ec-body.ec-month, .ec-days, .ec-day, .ec-day-title, .ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar > * > :not(:first-child){margin-left:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover, .ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-block}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after, .ec-icon.ec-next:after{content:'';position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header, .ec-body, .ec-days, .ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-days{border-bottom:none}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-month.ec-body{flex-basis:auto}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px}.ec-content{display:flex}.ec-month.ec-body .ec-content{flex-direction:column;height:100%}.ec-list.ec-body .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day{border-style:none none none solid}.ec-month.ec-body .ec-days, .ec-resource .ec-days{flex:1 0 auto}.ec-month.ec-body .ec-day{min-height:5em}.ec-month .ec-day:first-child{border-left:none}.ec-month .ec-day-head{text-align:right;padding:4px}.ec-list .ec-day{flex:1 0 auto;border-style:solid none;padding:8px 14px;font-weight:bold;position:sticky;top:0}.ec-list .ec-day:first-child{border-top:none}.ec-list .ec-day-side{float:right}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-events{position:relative;margin:0 6px 0 0}.ec-event{position:absolute;display:flex;flex-direction:column;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;font-weight:400}.ec-month .ec-event, .ec-list .ec-event{position:static}.ec-list .ec-event{flex:1 0 auto;padding:8px 14px;color:inherit;background-color:transparent;border-radius:0;font-size:1em;flex-direction:row;align-items:baseline}.ec-event-time{overflow:hidden;white-space:nowrap;margin-bottom:1px;flex-shrink:0}.ec-list .ec-event-time{width:23ch;margin:0;text-overflow:ellipsis}.ec-list .ec-event-dot{display:inline-block;border-radius:50%;border:6px solid #039be5;margin:0 14px 0 10px}.ec-event-title{position:sticky;top:0;overflow:hidden}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:0.3;width:100%}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-hidden-times{visibility:hidden;overflow-y:hidden;height:0}.ec-time, .ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:'';position:absolute;width:100%;border-bottom:1px solid #dadce0}.ec-body:not(.ec-compact) .ec-line:nth-child(even):after{border-bottom-style:dotted}
1
+ .ec-flex{display:flex}.ec-body.ec-month, .ec-days, .ec-day, .ec-day-title, .ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar > * > :not(:first-child){margin-left:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover, .ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-block}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after, .ec-icon.ec-next:after{content:'';position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header, .ec-body, .ec-days, .ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-days{border-bottom:none}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-month.ec-body{flex-basis:auto}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px}.ec-content{display:flex}.ec-month.ec-body .ec-content{flex-direction:column;height:100%}.ec-list.ec-body .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day{border-style:none none none solid}.ec-month.ec-body .ec-days, .ec-resource .ec-days{flex:1 0 auto}.ec-month.ec-body .ec-day{min-height:5em}.ec-month .ec-day:first-child{border-left:none}.ec-month .ec-day-head{text-align:right;padding:4px}.ec-list .ec-day{flex:1 0 auto;background-color:#fff;border-style:solid none;padding:8px 14px;font-weight:bold;position:sticky;top:0;z-index:1}.ec-list .ec-day:first-child{border-top:none}.ec-list .ec-day-side{float:right}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-events{position:relative;margin:0 6px 0 0}.ec-event{position:absolute;display:flex;flex-direction:column;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;font-weight:400}.ec-month .ec-event, .ec-list .ec-event{position:static}.ec-list .ec-event{flex:1 0 auto;padding:8px 14px;color:inherit;background-color:transparent;border-radius:0;font-size:1em;flex-direction:row;align-items:baseline}.ec-event-time{overflow:hidden;white-space:nowrap;margin-bottom:1px;flex-shrink:0}.ec-list .ec-event-time{width:23ch;margin:0;text-overflow:ellipsis}.ec-list .ec-event-dot{display:inline-block;border-radius:50%;border:6px solid #039be5;margin:0 14px 0 10px}.ec-event-title{position:sticky;top:0;overflow:hidden}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:0.3;width:100%}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-hidden-times{visibility:hidden;overflow-y:hidden;height:0}.ec-time, .ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:'';position:absolute;width:100%;border-bottom:1px solid #dadce0}.ec-body:not(.ec-compact) .ec-line:nth-child(even):after{border-bottom-style:dotted}
backend/modules/calendar/resources/js/calendar-common.js CHANGED
@@ -74,7 +74,7 @@
74
  };
75
  }
76
  }],
77
- eventBackgroundColor: '#d7d7d7',
78
  eventMouseEnter: function(arg) {
79
  if (arg.event.display === 'auto' && arg.view.type !== 'listWeek') {
80
  let $event = $(arg.el)
74
  };
75
  }
76
  }],
77
+ eventBackgroundColor: '#ccc',
78
  eventMouseEnter: function(arg) {
79
  if (arg.event.display === 'auto' && arg.view.type !== 'listWeek') {
80
  let $event = $(arg.el)
backend/modules/calendar/resources/js/event-calendar.min.js CHANGED
@@ -1 +1,2 @@
1
- var EventCalendar=function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,n,e){return t(e={path:n,exports:{},require:function(t,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&e.path)}},e.exports),e.exports}var e,r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},v="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,p=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return d(p(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!g(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!g(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},$=o.document,S=g($)&&g($.createElement),x=function(t){return S?$.createElement(t):{}},k=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),A=Object.getOwnPropertyDescriptor,E={f:a?A:function(t,n){if(t=y(t),n=m(n,!0),k)try{return A(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},T=/#|\.prototype\./,O=function(t,n){var e=_[j(t)];return e==P||e!=D&&("function"==typeof n?i(n):!!n)},j=O.normalize=function(t){return String(t).replace(T,".").toLowerCase()},_=O.data={},D=O.NATIVE="N",P=O.POLYFILL="P",M=O,R={},C=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},L=function(t,n,e){if(C(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},I=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},B=Object.defineProperty,F={f:a?B:function(t,n,e){if(I(t),n=m(n,!0),I(e),k)try{return B(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},U=a?function(t,n,e){return F.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},N=E.f,q=function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n},z=function(t,n){var e,r,i,a,u,c,f,s,l=t.target,h=t.global,v=t.stat,d=t.proto,p=h?o:v?o[l]:(o[l]||{}).prototype,y=h?R:R[l]||(R[l]={}),g=y.prototype;for(i in n)e=!M(h?i:l+(v?".":"#")+i,t.forced)&&p&&w(p,i),u=y[i],e&&(c=t.noTargetGet?(s=N(p,i))&&s.value:p[i]),a=e&&c?c:n[i],e&&typeof u==typeof a||(f=t.bind&&e?L(a,o):t.wrap&&e?q(a):d&&"function"==typeof a?L(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&U(f,"sham",!0),y[i]=f,d&&(w(R,r=l+"Prototype")||U(R,r,{}),R[r][i]=a,t.real&&g&&!g[i]&&U(g,i,a)))},G=function(t){return"function"==typeof t?t:void 0},H=function(t,n){return arguments.length<2?G(R[t])||G(o[t]):R[t]&&R[t][n]||o[t]&&o[t][n]},W=Math.ceil,V=Math.floor,J=function(t){return isNaN(t=+t)?0:(t>0?V:W)(t)},Y=Math.min,X=function(t){return t>0?Y(J(t),9007199254740991):0},K=Math.max,Q=Math.min,Z=function(t,n){var e=J(t);return e<0?K(e+n,0):Q(e,n)},tt=function(t){return function(n,e,r){var o,i=y(n),a=X(i.length),u=Z(r,a);if(t&&e!=e){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},nt={includes:tt(!0),indexOf:tt(!1)},et={},rt=nt.indexOf,ot=function(t,n){var e,r=y(t),o=0,i=[];for(e in r)!w(et,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~rt(i,e)||i.push(e));return i},it=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],at=Object.keys||function(t){return ot(t,it)},ut=a?Object.defineProperties:function(t,n){I(t);for(var e,r=at(n),o=r.length,i=0;o>i;)F.f(t,e=r[i++],n[e]);return t},ct=H("document","documentElement"),ft=!0,st="__core-js_shared__",lt=o[st]||function(t,n){try{U(o,t,n)}catch(e){o[t]=n}return n}(st,{}),ht=n((function(t){(t.exports=function(t,n){return lt[t]||(lt[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),vt=0,dt=Math.random(),pt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++vt+dt).toString(36)},yt=ht("keys"),gt=function(t){return yt[t]||(yt[t]=pt(t))},mt=gt("IE_PROTO"),bt=function(){},wt=function(t){return"<script>"+t+"</"+"script>"},$t=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;$t=e?function(t){t.write(wt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=x("iframe")).style.display="none",ct.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(wt("document.F=Object")),t.close(),t.F);for(var r=it.length;r--;)delete $t.prototype[it[r]];return $t()};et[mt]=!0;var St=Object.create||function(t,n){var e;return null!==t?(bt.prototype=I(t),e=new bt,bt.prototype=null,e[mt]=t):e=$t(),void 0===n?e:ut(e,n)},xt=[].slice,kt={},At=function(t,n,e){if(!(n in kt)){for(var r=[],o=0;o<n;o++)r[o]="a["+o+"]";kt[n]=Function("C,a","return new C("+r.join(",")+")")}return kt[n](t,e)},Et=Function.bind||function(t){var n=C(this),e=xt.call(arguments,1),r=function(){var o=e.concat(xt.call(arguments));return this instanceof r?At(n,o.length,o):n.apply(t,o)};return g(n.prototype)&&(r.prototype=n.prototype),r},Tt=H("Reflect","construct"),Ot=i((function(){function t(){}return!(Tt((function(){}),[],t)instanceof t)})),jt=!i((function(){Tt((function(){}))})),_t=Ot||jt;z({target:"Reflect",stat:!0,forced:_t,sham:_t},{construct:function(t,n){C(t),I(n);var e=arguments.length<3?t:C(arguments[2]);if(jt&&!Ot)return Tt(t,n,e);if(t==e){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var r=[null];return r.push.apply(r,n),new(Et.apply(t,r))}var o=e.prototype,i=St(g(o)?o:Object.prototype),a=Function.apply.call(t,i,n);return g(a)?a:i}});var Dt=R.Reflect.construct;function Pt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}z({target:"Object",stat:!0,sham:!a},{create:St});var Mt=R.Object,Rt=function(t,n){return Mt.create(t,n)},Ct=Rt,Lt=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return I(e),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0);z({target:"Object",stat:!0},{setPrototypeOf:Lt});var It=R.Object.setPrototypeOf,Bt=It;function Ft(t,n){return(Ft=Bt||function(t,n){return t.__proto__=n,t})(t,n)}function Ut(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Ct(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Ft(t,n)}var Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),qt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,zt=ht("wks"),Gt=o.Symbol,Ht=qt?Gt:Gt&&Gt.withoutSetter||pt,Wt=function(t){return w(zt,t)||(Nt&&w(Gt,t)?zt[t]=Gt[t]:zt[t]=Ht("Symbol."+t)),zt[t]},Vt={f:Wt},Jt=F.f,Yt=function(t){var n=R.Symbol||(R.Symbol={});w(n,t)||Jt(n,t,{value:Vt.f(t)})};Yt("iterator");var Xt=function(t){return function(n,e){var r,o,i=String(p(n)),a=J(e),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Kt={codeAt:Xt(!1),charAt:Xt(!0)},Qt=Function.toString;"function"!=typeof lt.inspectSource&&(lt.inspectSource=function(t){return Qt.call(t)});var Zt,tn,nn,en=lt.inspectSource,rn=o.WeakMap,on="function"==typeof rn&&/native code/.test(en(rn)),an=o.WeakMap;if(on){var un=new an,cn=un.get,fn=un.has,sn=un.set;Zt=function(t,n){return sn.call(un,t,n),n},tn=function(t){return cn.call(un,t)||{}},nn=function(t){return fn.call(un,t)}}else{var ln=gt("state");et[ln]=!0,Zt=function(t,n){return U(t,ln,n),n},tn=function(t){return w(t,ln)?t[ln]:{}},nn=function(t){return w(t,ln)}}var hn,vn,dn,pn={set:Zt,get:tn,has:nn,enforce:function(t){return nn(t)?tn(t):Zt(t,{})},getterFor:function(t){return function(n){var e;if(!g(n)||(e=tn(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},yn=function(t){return Object(p(t))},gn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mn=gt("IE_PROTO"),bn=Object.prototype,wn=gn?Object.getPrototypeOf:function(t){return t=yn(t),w(t,mn)?t[mn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?bn:null},$n=(Wt("iterator"),!1);[].keys&&("next"in(dn=[].keys())?(vn=wn(wn(dn)))!==Object.prototype&&(hn=vn):$n=!0),null==hn&&(hn={});var Sn={IteratorPrototype:hn,BUGGY_SAFARI_ITERATORS:$n},xn={};xn[Wt("toStringTag")]="z";var kn="[object z]"===String(xn),An=Wt("toStringTag"),En="Arguments"==h(function(){return arguments}()),Tn=kn?h:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),An))?e:En?h(n):"Object"==(r=h(n))&&"function"==typeof n.callee?"Arguments":r},On=kn?{}.toString:function(){return"[object "+Tn(this)+"]"},jn=F.f,_n=Wt("toStringTag"),Dn=function(t,n,e,r){if(t){var o=e?t:t.prototype;w(o,_n)||jn(o,_n,{configurable:!0,value:n}),r&&!kn&&U(o,"toString",On)}},Pn={},Mn=Sn.IteratorPrototype,Rn=function(){return this},Cn=function(t,n,e){var r=n+" Iterator";return t.prototype=St(Mn,{next:s(1,e)}),Dn(t,r,!1,!0),Pn[r]=Rn,t},Ln=function(t,n,e,r){r&&r.enumerable?t[n]=e:U(t,n,e)},In=Sn.IteratorPrototype,Bn=Sn.BUGGY_SAFARI_ITERATORS,Fn=Wt("iterator"),Un="keys",Nn="values",qn="entries",zn=function(){return this},Gn=function(t,n,e,r,o,i,a){Cn(e,n,r);var u,c,f,s=function(t){if(t===o&&p)return p;if(!Bn&&t in v)return v[t];switch(t){case Un:case Nn:case qn:return function(){return new e(this,t)}}return function(){return new e(this)}},l=n+" Iterator",h=!1,v=t.prototype,d=v[Fn]||v["@@iterator"]||o&&v[o],p=!Bn&&d||s(o),y="Array"==n&&v.entries||d;if(y&&(u=wn(y.call(new t)),In!==Object.prototype&&u.next&&(Dn(u,l,!0,!0),Pn[l]=zn)),o==Nn&&d&&d.name!==Nn&&(h=!0,p=function(){return d.call(this)}),a&&v[Fn]!==p&&U(v,Fn,p),Pn[n]=p,o)if(c={values:s(Nn),keys:i?p:s(Un),entries:s(qn)},a)for(f in c)(Bn||h||!(f in v))&&Ln(v,f,c[f]);else z({target:n,proto:!0,forced:Bn||h},c);return c},Hn=Kt.charAt,Wn="String Iterator",Vn=pn.set,Jn=pn.getterFor(Wn);Gn(String,"String",(function(t){Vn(this,{type:Wn,string:String(t),index:0})}),(function(){var t,n=Jn(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=Hn(e,r),n.index+=t.length,{value:t,done:!1})}));var Yn="Array Iterator",Xn=pn.set,Kn=pn.getterFor(Yn);Gn(Array,"Array",(function(t,n){Xn(this,{type:Yn,target:y(t),index:0,kind:n})}),(function(){var t=Kn(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");Pn.Arguments=Pn.Array;var Qn=Wt("toStringTag");for(var Zn in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var te=o[Zn],ne=te&&te.prototype;ne&&Tn(ne)!==Qn&&U(ne,Qn,Zn),Pn[Zn]=Pn.Array}var ee,re,oe=Vt.f("iterator"),ie=oe,ae=Array.isArray||function(t){return"Array"==h(t)},ue=function(t,n,e){var r=m(n);r in t?F.f(t,r,s(0,e)):t[r]=e},ce=Wt("species"),fe=function(t,n){var e;return ae(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[ce])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},se=H("navigator","userAgent")||"",le=o.process,he=le&&le.versions,ve=he&&he.v8;ve?re=(ee=ve.split("."))[0]+ee[1]:se&&(!(ee=se.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=se.match(/Chrome\/(\d+)/))&&(re=ee[1]);var de=re&&+re,pe=Wt("species"),ye=function(t){return de>=51||!i((function(){var n=[];return(n.constructor={})[pe]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},ge=Wt("isConcatSpreadable"),me=9007199254740991,be="Maximum allowed index exceeded",we=de>=51||!i((function(){var t=[];return t[ge]=!1,t.concat()[0]!==t})),$e=ye("concat"),Se=function(t){if(!g(t))return!1;var n=t[ge];return void 0!==n?!!n:ae(t)};z({target:"Array",proto:!0,forced:!we||!$e},{concat:function(t){var n,e,r,o,i,a=yn(this),u=fe(a,0),c=0;for(n=-1,r=arguments.length;n<r;n++)if(Se(i=-1===n?a:arguments[n])){if(c+(o=X(i.length))>me)throw TypeError(be);for(e=0;e<o;e++,c++)e in i&&ue(u,c,i[e])}else{if(c>=me)throw TypeError(be);ue(u,c++,i)}return u.length=c,u}});var xe=it.concat("length","prototype"),ke={f:Object.getOwnPropertyNames||function(t){return ot(t,xe)}},Ae=ke.f,Ee={}.toString,Te="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Oe={f:function(t){return Te&&"[object Window]"==Ee.call(t)?function(t){try{return Ae(t)}catch(t){return Te.slice()}}(t):Ae(y(t))}},je={f:Object.getOwnPropertySymbols},_e=[].push,De=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,f,s){for(var l,h,v=yn(u),p=d(v),y=L(c,f,3),g=X(p.length),m=0,b=s||fe,w=n?b(u,g):e?b(u,0):void 0;g>m;m++)if((a||m in p)&&(h=y(l=p[m],m,v),t))if(n)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:_e.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},Pe={forEach:De(0),map:De(1),filter:De(2),some:De(3),every:De(4),find:De(5),findIndex:De(6)},Me=Pe.forEach,Re=gt("hidden"),Ce="Symbol",Le=Wt("toPrimitive"),Ie=pn.set,Be=pn.getterFor(Ce),Fe=Object.prototype,Ue=o.Symbol,Ne=H("JSON","stringify"),qe=E.f,ze=F.f,Ge=Oe.f,He=f.f,We=ht("symbols"),Ve=ht("op-symbols"),Je=ht("string-to-symbol-registry"),Ye=ht("symbol-to-string-registry"),Xe=ht("wks"),Ke=o.QObject,Qe=!Ke||!Ke.prototype||!Ke.prototype.findChild,Ze=a&&i((function(){return 7!=St(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=qe(Fe,n);r&&delete Fe[n],ze(t,n,e),r&&t!==Fe&&ze(Fe,n,r)}:ze,tr=function(t,n){var e=We[t]=St(Ue.prototype);return Ie(e,{type:Ce,tag:t,description:n}),a||(e.description=n),e},nr=qt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ue},er=function(t,n,e){t===Fe&&er(Ve,n,e),I(t);var r=m(n,!0);return I(e),w(We,r)?(e.enumerable?(w(t,Re)&&t[Re][r]&&(t[Re][r]=!1),e=St(e,{enumerable:s(0,!1)})):(w(t,Re)||ze(t,Re,s(1,{})),t[Re][r]=!0),Ze(t,r,e)):ze(t,r,e)},rr=function(t,n){I(t);var e=y(n),r=at(e).concat(ur(e));return Me(r,(function(n){a&&!or.call(e,n)||er(t,n,e[n])})),t},or=function(t){var n=m(t,!0),e=He.call(this,n);return!(this===Fe&&w(We,n)&&!w(Ve,n))&&(!(e||!w(this,n)||!w(We,n)||w(this,Re)&&this[Re][n])||e)},ir=function(t,n){var e=y(t),r=m(n,!0);if(e!==Fe||!w(We,r)||w(Ve,r)){var o=qe(e,r);return!o||!w(We,r)||w(e,Re)&&e[Re][r]||(o.enumerable=!0),o}},ar=function(t){var n=Ge(y(t)),e=[];return Me(n,(function(t){w(We,t)||w(et,t)||e.push(t)})),e},ur=function(t){var n=t===Fe,e=Ge(n?Ve:y(t)),r=[];return Me(e,(function(t){!w(We,t)||n&&!w(Fe,t)||r.push(We[t])})),r};if(Nt||(Ln((Ue=function(){if(this instanceof Ue)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=pt(t),e=function(t){this===Fe&&e.call(Ve,t),w(this,Re)&&w(this[Re],n)&&(this[Re][n]=!1),Ze(this,n,s(1,t))};return a&&Qe&&Ze(Fe,n,{configurable:!0,set:e}),tr(n,t)}).prototype,"toString",(function(){return Be(this).tag})),Ln(Ue,"withoutSetter",(function(t){return tr(pt(t),t)})),f.f=or,F.f=er,E.f=ir,ke.f=Oe.f=ar,je.f=ur,Vt.f=function(t){return tr(Wt(t),t)},a&&ze(Ue.prototype,"description",{configurable:!0,get:function(){return Be(this).description}})),z({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ue}),Me(at(Xe),(function(t){Yt(t)})),z({target:Ce,stat:!0,forced:!Nt},{for:function(t){var n=String(t);if(w(Je,n))return Je[n];var e=Ue(n);return Je[n]=e,Ye[e]=n,e},keyFor:function(t){if(!nr(t))throw TypeError(t+" is not a symbol");if(w(Ye,t))return Ye[t]},useSetter:function(){Qe=!0},useSimple:function(){Qe=!1}}),z({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,n){return void 0===n?St(t):rr(St(t),n)},defineProperty:er,defineProperties:rr,getOwnPropertyDescriptor:ir}),z({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:ar,getOwnPropertySymbols:ur}),z({target:"Object",stat:!0,forced:i((function(){je.f(1)}))},{getOwnPropertySymbols:function(t){return je.f(yn(t))}}),Ne){var cr=!Nt||i((function(){var t=Ue();return"[null]"!=Ne([t])||"{}"!=Ne({a:t})||"{}"!=Ne(Object(t))}));z({target:"JSON",stat:!0,forced:cr},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(g(n)||void 0!==t)&&!nr(t))return ae(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!nr(n))return n}),o[1]=n,Ne.apply(null,o)}})}Ue.prototype[Le]||U(Ue.prototype,Le,Ue.prototype.valueOf),Dn(Ue,Ce),et[Re]=!0,Yt("asyncIterator"),Yt("hasInstance"),Yt("isConcatSpreadable"),Yt("match"),Yt("matchAll"),Yt("replace"),Yt("search"),Yt("species"),Yt("split"),Yt("toPrimitive"),Yt("toStringTag"),Yt("unscopables"),Dn(Math,"Math",!0),Dn(o.JSON,"JSON",!0);var fr=R.Symbol;Yt("asyncDispose"),Yt("dispose"),Yt("observable"),Yt("patternMatch"),Yt("replaceAll");var sr=fr;function lr(t){return(lr="function"==typeof sr&&"symbol"==typeof ie?function(t){return typeof t}:function(t){return t&&"function"==typeof sr&&t.constructor===sr&&t!==sr.prototype?"symbol":typeof t})(t)}function hr(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vr(t,n){return!n||"object"!==lr(n)&&"function"!=typeof n?hr(t):n}var dr=i((function(){wn(1)}));z({target:"Object",stat:!0,forced:dr,sham:!gn},{getPrototypeOf:function(t){return wn(yn(t))}});var pr=R.Object.getPrototypeOf,yr=pr;function gr(t){return(gr=Bt?yr:function(t){return t.__proto__||yr(t)})(t)}var mr=function(t,n,e){for(var r in n)e&&e.unsafe&&t[r]?t[r]=n[r]:Ln(t,r,n[r],e);return t},br=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=n((function(t){var n=F.f,e=pt("meta"),r=0,o=Object.isExtensible||function(){return!0},i=function(t){n(t,e,{value:{objectID:"O"+ ++r,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,e)){if(!o(t))return"F";if(!n)return"E";i(t)}return t[e].objectID},getWeakData:function(t,n){if(!w(t,e)){if(!o(t))return!0;if(!n)return!1;i(t)}return t[e].weakData},onFreeze:function(t){return br&&a.REQUIRED&&o(t)&&!w(t,e)&&i(t),t}};et[e]=!0})),$r=Wt("iterator"),Sr=Array.prototype,xr=function(t){return void 0!==t&&(Pn.Array===t||Sr[$r]===t)},kr=Wt("iterator"),Ar=function(t){if(null!=t)return t[kr]||t["@@iterator"]||Pn[Tn(t)]},Er=function(t,n,e,r){try{return r?n(I(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&I(o.call(t)),n}},Tr=n((function(t){var n=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,e,r,o,i){var a,u,c,f,s,l,h,v=L(e,r,o?2:1);if(i)a=t;else{if("function"!=typeof(u=Ar(t)))throw TypeError("Target is not iterable");if(xr(u)){for(c=0,f=X(t.length);f>c;c++)if((s=o?v(I(h=t[c])[0],h[1]):v(t[c]))&&s instanceof n)return s;return new n(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(s=Er(a,v,h.value,o))&&s&&s instanceof n)return s;return new n(!1)}).stop=function(t){return new n(!0,t)}})),Or=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t},jr=F.f,_r=Pe.forEach,Dr=pn.set,Pr=pn.getterFor,Mr=function(t,n,e){var r,u=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),f=u?"set":"add",s=o[t],l=s&&s.prototype,h={};if(a&&"function"==typeof s&&(c||l.forEach&&!i((function(){(new s).entries().next()})))){r=n((function(n,e){Dr(Or(n,r,t),{type:t,collection:new s}),null!=e&&Tr(e,n[f],n,u)}));var v=Pr(t);_r(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var n="add"==t||"set"==t;!(t in l)||c&&"clear"==t||U(r.prototype,t,(function(e,r){var o=v(this).collection;if(!n&&c&&!g(e))return"get"==t&&void 0;var i=o[t](0===e?0:e,r);return n?this:i}))})),c||jr(r.prototype,"size",{configurable:!0,get:function(){return v(this).collection.size}})}else r=e.getConstructor(n,t,u,f),wr.REQUIRED=!0;return Dn(r,t,!1,!0),h[t]=r,z({global:!0,forced:!0},h),c||e.setStrong(r,t,u),r},Rr=wr.getWeakData,Cr=pn.set,Lr=pn.getterFor,Ir=Pe.find,Br=Pe.findIndex,Fr=0,Ur=function(t){return t.frozen||(t.frozen=new Nr)},Nr=function(){this.entries=[]},qr=function(t,n){return Ir(t.entries,(function(t){return t[0]===n}))};Nr.prototype={get:function(t){var n=qr(this,t);if(n)return n[1]},has:function(t){return!!qr(this,t)},set:function(t,n){var e=qr(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=Br(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}};var zr={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Cr(t,{type:n,id:Fr++,frozen:void 0}),null!=i&&Tr(i,t[r],t,e)})),i=Lr(n),a=function(t,n,e){var r=i(t),o=Rr(I(n),!0);return!0===o?Ur(r).set(n,e):o[r.id]=e,t};return mr(o.prototype,{delete:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).delete(t):e&&w(e,n.id)&&delete e[n.id]},has:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).has(t):e&&w(e,n.id)}}),mr(o.prototype,e?{get:function(t){var n=i(this);if(g(t)){var e=Rr(t);return!0===e?Ur(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return a(this,t,n)}}:{add:function(t){return a(this,t,!0)}}),o}},Gr=(n((function(t){var n,e=pn.enforce,r=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Mr("WeakMap",a,zr);if(on&&r){n=zr.getConstructor(a,"WeakMap",!0),wr.REQUIRED=!0;var c=u.prototype,f=c.delete,s=c.has,l=c.get,h=c.set;mr(c,{delete:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),f.call(this,t)||r.frozen.delete(t)}return f.call(this,t)},has:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)||r.frozen.has(t)}return s.call(this,t)},get:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)?l.call(this,t):r.frozen.get(t)}return l.call(this,t)},set:function(t,r){if(g(t)&&!i(t)){var o=e(this);o.frozen||(o.frozen=new n),s.call(this,t)?h.call(this,t,r):o.frozen.set(t,r)}else h.call(this,t,r);return this}})}})),R.WeakMap),Hr=function(t){var n=Ar(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return I(n.call(t))},Wr=Hr;z({target:"Array",stat:!0},{isArray:ae});var Vr=R.Array.isArray,Jr=Vr,Yr=Ar,Xr=fr,Kr=function(t){var n,e,r,o,i,a,u=yn(t),c="function"==typeof this?this:Array,f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=Ar(u),v=0;if(l&&(s=L(s,f>2?arguments[2]:void 0,2)),null==h||c==Array&&xr(h))for(e=new c(n=X(u.length));n>v;v++)a=l?s(u[v],v):u[v],ue(e,v,a);else for(i=(o=h.call(u)).next,e=new c;!(r=i.call(o)).done;v++)a=l?Er(o,s,[r.value,v],!0):r.value,ue(e,v,a);return e.length=v,e},Qr=Wt("iterator"),Zr=!1;try{var to=0,no={next:function(){return{done:!!to++}},return:function(){Zr=!0}};no[Qr]=function(){return this},Array.from(no,(function(){throw 2}))}catch(t){}var eo=function(t,n){if(!n&&!Zr)return!1;var e=!1;try{var r={};r[Qr]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},ro=!eo((function(t){Array.from(t)}));z({target:"Array",stat:!0,forced:ro},{from:Kr});var oo=R.Array.from,io=oo;function ao(t,n){var e=n.get(t);if(!e)throw new TypeError("attempted to get private field on non-instance");return e.get?e.get.call(t):e.value}z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:F.f});var uo=n((function(t){var n=R.Object,e=t.exports=function(t,e,r){return n.defineProperty(t,e,r)};n.defineProperty.sham&&(e.sham=!0)})),co=uo;function fo(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),co(t,r.key,r)}}function so(t,n,e){return n&&fo(t.prototype,n),e&&fo(t,e),t}var lo=Object.defineProperty,ho={},vo=function(t){throw t},po=function(t,n){if(w(ho,t))return ho[t];n||(n={});var e=[][t],r=!!w(n,"ACCESSORS")&&n.ACCESSORS,o=w(n,0)?n[0]:vo,u=w(n,1)?n[1]:void 0;return ho[t]=!!e&&!i((function(){if(r&&!a)return!0;var t={length:-1};r?lo(t,1,{enumerable:!0,get:vo}):t[1]=1,e.call(t,o,u)}))},yo=ye("slice"),go=po("slice",{ACCESSORS:!0,0:0,1:2}),mo=Wt("species"),bo=[].slice,wo=Math.max;z({target:"Array",proto:!0,forced:!yo||!go},{slice:function(t,n){var e,r,o,i=y(this),a=X(i.length),u=Z(t,a),c=Z(void 0===n?a:n,a);if(ae(i)&&("function"!=typeof(e=i.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[mo])&&(e=void 0):e=void 0,e===Array||void 0===e))return bo.call(i,u,c);for(r=new(void 0===e?Array:e)(wo(c-u,0)),o=0;u<c;u++,o++)u in i&&ue(r,o,i[u]);return r.length=o,r}});var $o=function(t){return R[t+"Prototype"]},So=$o("Array").slice,xo=Array.prototype,ko=function(t){var n=t.slice;return t===xo||t instanceof Array&&n===xo.slice?So:n},Ao=ko,Eo=uo;z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:ut});var To=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.defineProperties(t,e)};n.defineProperties.sham&&(e.sham=!0)})),Oo=H("Reflect","ownKeys")||function(t){var n=ke.f(I(t)),e=je.f;return e?n.concat(e(t)):n};z({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var n,e,r=y(t),o=E.f,i=Oo(r),a={},u=0;i.length>u;)void 0!==(e=o(r,n=i[u++]))&&ue(a,n,e);return a}});var jo=R.Object.getOwnPropertyDescriptors,_o=function(t,n){var e=[][t];return!!e&&i((function(){e.call(null,n||function(){throw 1},1)}))},Do=Pe.forEach,Po=_o("forEach"),Mo=po("forEach"),Ro=Po&&Mo?[].forEach:function(t){return Do(this,t,arguments.length>1?arguments[1]:void 0)};z({target:"Array",proto:!0,forced:[].forEach!=Ro},{forEach:Ro});var Co=$o("Array").forEach,Lo=Array.prototype,Io={DOMTokenList:!0,NodeList:!0},Bo=function(t){var n=t.forEach;return t===Lo||t instanceof Array&&n===Lo.forEach||Io.hasOwnProperty(Tn(t))?Co:n},Fo=E.f,Uo=i((function(){Fo(1)}));z({target:"Object",stat:!0,forced:!a||Uo,sham:!a},{getOwnPropertyDescriptor:function(t,n){return Fo(y(t),n)}});var No=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.getOwnPropertyDescriptor(t,e)};n.getOwnPropertyDescriptor.sham&&(e.sham=!0)})),qo=Pe.filter,zo=ye("filter"),Go=po("filter");z({target:"Array",proto:!0,forced:!zo||!Go},{filter:function(t){return qo(this,t,arguments.length>1?arguments[1]:void 0)}});var Ho=$o("Array").filter,Wo=Array.prototype,Vo=function(t){var n=t.filter;return t===Wo||t instanceof Array&&n===Wo.filter?Ho:n},Jo=R.Object.getOwnPropertySymbols,Yo=Jo;function Xo(t,n,e){return n in t?co(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var Ko=nt.indexOf,Qo=[].indexOf,Zo=!!Qo&&1/[1].indexOf(1,-0)<0,ti=_o("indexOf"),ni=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:Zo||!ti||!ni},{indexOf:function(t){return Zo?Qo.apply(this,arguments)||0:Ko(this,t,arguments.length>1?arguments[1]:void 0)}});var ei=$o("Array").indexOf,ri=Array.prototype,oi=function(t){var n=t.indexOf;return t===ri||t instanceof Array&&n===ri.indexOf?ei:n},ii=oi,ai=Jo,ui=i((function(){at(1)}));z({target:"Object",stat:!0,forced:ui},{keys:function(t){return at(yn(t))}});var ci=R.Object.keys,fi=ci;function si(t,n){if(null==t)return{};var e,r,o=function(t,n){if(null==t)return{};var e,r,o={},i=fi(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||(o[e]=t[e]);return o}(t,n);if(ai){var i=ai(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}var li=ci,hi=$o("Array").keys,vi=Array.prototype,di={DOMTokenList:!0,NodeList:!0},pi=function(t){var n=t.keys;return t===vi||t instanceof Array&&n===vi.keys||di.hasOwnProperty(Tn(t))?hi:n},yi=$o("Array").concat,gi=Array.prototype,mi=function(t){var n=t.concat;return t===gi||t instanceof Array&&n===gi.concat?yi:n},bi=f.f,wi=function(t){return function(n){for(var e,r=y(n),o=at(r),i=o.length,u=0,c=[];i>u;)e=o[u++],a&&!bi.call(r,e)||c.push(t?[e,r[e]]:r[e]);return c}},$i={entries:wi(!0),values:wi(!1)}.entries;z({target:"Object",stat:!0},{entries:function(t){return $i(t)}});var Si=R.Object.entries,xi=nt.includes,ki=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:!ki},{includes:function(t){return xi(this,t,arguments.length>1?arguments[1]:void 0)}});var Ai=$o("Array").includes,Ei=Wt("match"),Ti=function(t){if(function(t){var n;return g(t)&&(void 0!==(n=t[Ei])?!!n:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},Oi=Wt("match");z({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[Oi]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(p(this)).indexOf(Ti(t),arguments.length>1?arguments[1]:void 0)}});var ji=$o("String").includes,_i=Array.prototype,Di=String.prototype,Pi=function(t){var n=t.includes;return t===_i||t instanceof Array&&n===_i.includes?Ai:"string"==typeof t||t===Di||t instanceof String&&n===Di.includes?ji:n},Mi=Vr;var Ri=Wt("iterator"),Ci=function(t){var n=Object(t);return void 0!==n[Ri]||"@@iterator"in n||Pn.hasOwnProperty(Tn(n))};var Li=oo,Ii=ko;function Bi(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Fi(t,n){var e;if(t){if("string"==typeof t)return Bi(t,n);var r=Ii(e=Object.prototype.toString.call(t)).call(e,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Li(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bi(t,n):void 0}}function Ui(t,n){return function(t){if(Mi(t))return t}(t)||function(t,n){if(void 0!==sr&&Ci(Object(t))){var e=[],r=!0,o=!1,i=void 0;try{for(var a,u=Wr(t);!(r=(a=u.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return e}}(t,n)||Fi(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ni=Pe.map,qi=ye("map"),zi=po("map");z({target:"Array",proto:!0,forced:!qi||!zi},{map:function(t){return Ni(this,t,arguments.length>1?arguments[1]:void 0)}});var Gi=$o("Array").map,Hi=Array.prototype,Wi=function(t){var n=t.map;return t===Hi||t instanceof Array&&n===Hi.map?Gi:n},Vi=Wt("species"),Ji=function(t){var n=H(t),e=F.f;a&&n&&!n[Vi]&&e(n,Vi,{configurable:!0,get:function(){return this}})},Yi=F.f,Xi=wr.fastKey,Ki=pn.set,Qi=pn.getterFor,Zi={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Ki(t,{type:n,index:St(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Tr(i,t[r],t,e)})),i=Qi(n),u=function(t,n,e){var r,o,u=i(t),f=c(t,n);return f?f.value=e:(u.last=f={index:o=Xi(n,!0),key:n,value:e,previous:r=u.last,next:void 0,removed:!1},u.first||(u.first=f),r&&(r.next=f),a?u.size++:t.size++,"F"!==o&&(u.index[o]=f)),t},c=function(t,n){var e,r=i(t),o=Xi(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return mr(o.prototype,{clear:function(){for(var t=i(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var n=this,e=i(n),r=c(n,t);if(r){var o=r.next,u=r.previous;delete e.index[r.index],r.removed=!0,u&&(u.next=o),o&&(o.previous=u),e.first==r&&(e.first=o),e.last==r&&(e.last=u),a?e.size--:n.size--}return!!r},forEach:function(t){for(var n,e=i(this),r=L(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!c(this,t)}}),mr(o.prototype,e?{get:function(t){var n=c(this,t);return n&&n.value},set:function(t,n){return u(this,0===t?0:t,n)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Yi(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,n,e){var r=n+" Iterator",o=Qi(n),i=Qi(r);Gn(t,n,(function(t,n){Ki(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),Ji(n)}},ta=(Mr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi),R.Set);function na(t){return function(t){if(Mi(t))return Bi(t)}(t)||function(t){if(void 0!==sr&&Ci(Object(t)))return Li(t)}(t)||Fi(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}z({target:"Reflect",stat:!0},{get:function t(n,e){var r,o,i=arguments.length<3?n:arguments[2];return I(n)===i?n[e]:(r=E.f(n,e))?w(r,"value")?r.value:void 0===r.get?void 0:r.get.call(i):g(o=wn(n))?t(o,e,i):void 0}});R.Reflect.get,Mr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi);var ea=R.Map;z({target:"Map",stat:!0},{from:function(t){var n,e,r,o,i=arguments.length,a=i>1?arguments[1]:void 0;return C(this),(n=void 0!==a)&&C(a),null==t?new this:(e=[],n?(r=0,o=L(a,i>2?arguments[2]:void 0,2),Tr(t,(function(t){e.push(o(t,r++))}))):Tr(t,e.push,e),new this(e))}});z({target:"Map",stat:!0},{of:function(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}});var ra=function(){for(var t,n=I(this),e=C(n.delete),r=!0,o=0,i=arguments.length;o<i;o++)t=e.call(n,arguments[o]),r=r&&t;return!!r};z({target:"Map",proto:!0,real:!0,forced:ft},{deleteAll:function(){return ra.apply(this,arguments)}});var oa=Hr;z({target:"Map",proto:!0,real:!0,forced:ft},{every:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return!Tr(e,(function(t,e){if(!r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}});var ia=Wt("species"),aa=function(t,n){var e,r=I(t).constructor;return void 0===r||null==(e=I(r)[ia])?n:C(e)};z({target:"Map",proto:!0,real:!0,forced:ft},{filter:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){r(e,t,n)&&i.call(o,t,e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{find:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(e)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{findKey:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(t)}),void 0,!0,!0).result}}),z({target:"Map",stat:!0},{groupBy:function(t,n){var e=new this;C(n);var r=C(e.has),o=C(e.get),i=C(e.set);return Tr(t,(function(t){var a=n(t);r.call(e,a)?o.call(e,a).push(t):i.call(e,a,[t])})),e}});z({target:"Map",proto:!0,real:!0,forced:ft},{includes:function(t){return Tr(oa(I(this)),(function(n,e){if((r=e)===(o=t)||r!=r&&o!=o)return Tr.stop();var r,o}),void 0,!0,!0).stopped}}),z({target:"Map",stat:!0},{keyBy:function(t,n){var e=new this;C(n);var r=C(e.set);return Tr(t,(function(t){r.call(e,n(t),t)})),e}}),z({target:"Map",proto:!0,real:!0,forced:ft},{keyOf:function(t){return Tr(oa(I(this)),(function(n,e){if(e===t)return Tr.stop(n)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapKeys:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,r(e,t,n),e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapValues:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,t,r(e,t,n))}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{merge:function(t){for(var n=I(this),e=C(n.set),r=0;r<arguments.length;)Tr(arguments[r++],e,n,!0);return n}}),z({target:"Map",proto:!0,real:!0,forced:ft},{reduce:function(t){var n=I(this),e=oa(n),r=arguments.length<2,o=r?void 0:arguments[1];if(C(t),Tr(e,(function(e,i){r?(r=!1,o=i):o=t(o,i,e,n)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{some:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}}),z({target:"Map",proto:!0,real:!0,forced:ft},{update:function(t,n){var e=I(this),r=arguments.length;C(n);var o=e.has(t);if(!o&&r<3)throw TypeError("Updating absent value");var i=o?e.get(t):C(r>2?arguments[2]:void 0)(t,e);return e.set(t,n(i,t,e)),e}});var ua=function(t,n){var e,r=I(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof n&&"function"!=typeof o)throw TypeError("At least one callback required");return r.has(t)?(e=r.get(t),"function"==typeof n&&(e=n(e),r.set(t,e))):"function"==typeof o&&(e=o(),r.set(t,e)),e};z({target:"Map",proto:!0,real:!0,forced:ft},{upsert:ua}),z({target:"Map",proto:!0,real:!0,forced:ft},{updateOrInsert:ua}),z({target:"Function",proto:!0},{bind:Et});$o("Function").bind;z({target:"Array",proto:!0},{fill:function(t){for(var n=yn(this),e=X(n.length),r=arguments.length,o=Z(r>1?arguments[1]:void 0,e),i=r>2?arguments[2]:void 0,a=void 0===i?e:Z(i,e);a>o;)n[o++]=t;return n}});var ca=$o("Array").fill,fa=Array.prototype,sa=function(t){var n=t.fill;return t===fa||t instanceof Array&&n===fa.fill?ca:n},la=H("JSON","stringify"),ha=/[\uD800-\uDFFF]/g,va=/^[\uD800-\uDBFF]$/,da=/^[\uDC00-\uDFFF]$/,pa=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return va.test(t)&&!da.test(o)||da.test(t)&&!va.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},ya=i((function(){return'"\\udf06\\ud834"'!==la("\udf06\ud834")||'"\\udead"'!==la("\udead")}));la&&z({target:"JSON",stat:!0,forced:ya},{stringify:function(t,n,e){var r=la.apply(null,arguments);return"string"==typeof r?r.replace(ha,pa):r}}),R.JSON||(R.JSON={stringify:JSON.stringify});var ga=Object.assign,ma=Object.defineProperty,ba=!ga||i((function(){if(a&&1!==ga({b:1},ga(ma({},"a",{enumerable:!0,get:function(){ma(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=ga({},t)[e]||at(ga({},n)).join("")!=r}))?function(t,n){for(var e=yn(t),r=arguments.length,o=1,i=je.f,u=f.f;r>o;)for(var c,s=d(arguments[o++]),l=i?at(s).concat(i(s)):at(s),h=l.length,v=0;h>v;)c=l[v++],a&&!u.call(s,c)||(e[c]=s[c]);return e}:ga;z({target:"Object",stat:!0,forced:Object.assign!==ba},{assign:ba});var wa=R.Object.assign,$a=ea,Sa="\t\n\v\f\r                 \u2028\u2029\ufeff",xa="["+Sa+"]",ka=RegExp("^"+xa+xa+"*"),Aa=RegExp(xa+xa+"*$"),Ea=function(t){return function(n){var e=String(p(n));return 1&t&&(e=e.replace(ka,"")),2&t&&(e=e.replace(Aa,"")),e}},Ta={start:Ea(1),end:Ea(2),trim:Ea(3)},Oa=Ta.trim,ja=o.parseInt,_a=/^[+-]?0[Xx]/,Da=8!==ja(Sa+"08")||22!==ja(Sa+"0x16")?function(t,n){var e=Oa(String(t));return ja(e,n>>>0||(_a.test(e)?16:10))}:ja;z({global:!0,forced:parseInt!=Da},{parseInt:Da});var Pa=R.parseInt,Ma=ye("splice"),Ra=po("splice",{ACCESSORS:!0,0:0,1:2}),Ca=Math.max,La=Math.min,Ia=9007199254740991,Ba="Maximum allowed length exceeded";z({target:"Array",proto:!0,forced:!Ma||!Ra},{splice:function(t,n){var e,r,o,i,a,u,c=yn(this),f=X(c.length),s=Z(t,f),l=arguments.length;if(0===l?e=r=0:1===l?(e=0,r=f-s):(e=l-2,r=La(Ca(J(n),0),f-s)),f+e-r>Ia)throw TypeError(Ba);for(o=fe(c,r),i=0;i<r;i++)(a=s+i)in c&&ue(o,i,c[a]);if(o.length=r,e<r){for(i=s;i<f-r;i++)u=i+e,(a=i+r)in c?c[u]=c[a]:delete c[u];for(i=f;i>f-r+e;i--)delete c[i-1]}else if(e>r)for(i=f-r;i>s;i--)u=i+e-1,(a=i+r-1)in c?c[u]=c[a]:delete c[u];for(i=0;i<e;i++)c[i+s]=arguments[i+2];return c.length=f-r+e,o}});var Fa,Ua,Na,qa=$o("Array").splice,za=Array.prototype,Ga=function(t){var n=t.splice;return t===za||t instanceof Array&&n===za.splice?qa:n},Ha=oi,Wa=o.Promise,Va=/(iphone|ipod|ipad).*applewebkit/i.test(se),Ja=o.location,Ya=o.setImmediate,Xa=o.clearImmediate,Ka=o.process,Qa=o.MessageChannel,Za=o.Dispatch,tu=0,nu={},eu="onreadystatechange",ru=function(t){if(nu.hasOwnProperty(t)){var n=nu[t];delete nu[t],n()}},ou=function(t){return function(){ru(t)}},iu=function(t){ru(t.data)},au=function(t){o.postMessage(t+"",Ja.protocol+"//"+Ja.host)};Ya&&Xa||(Ya=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return nu[++tu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},Fa(tu),tu},Xa=function(t){delete nu[t]},"process"==h(Ka)?Fa=function(t){Ka.nextTick(ou(t))}:Za&&Za.now?Fa=function(t){Za.now(ou(t))}:Qa&&!Va?(Na=(Ua=new Qa).port2,Ua.port1.onmessage=iu,Fa=L(Na.postMessage,Na,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(au)||"file:"===Ja.protocol?Fa=eu in x("script")?function(t){ct.appendChild(x("script")).onreadystatechange=function(){ct.removeChild(this),ru(t)}}:function(t){setTimeout(ou(t),0)}:(Fa=au,o.addEventListener("message",iu,!1)));var uu,cu,fu,su,lu,hu,vu,du,pu={set:Ya,clear:Xa},yu=E.f,gu=pu.set,mu=o.MutationObserver||o.WebKitMutationObserver,bu=o.process,wu=o.Promise,$u="process"==h(bu),Su=yu(o,"queueMicrotask"),xu=Su&&Su.value;xu||(uu=function(){var t,n;for($u&&(t=bu.domain)&&t.exit();cu;){n=cu.fn,cu=cu.next;try{n()}catch(t){throw cu?su():fu=void 0,t}}fu=void 0,t&&t.enter()},$u?su=function(){bu.nextTick(uu)}:mu&&!Va?(lu=!0,hu=document.createTextNode(""),new mu(uu).observe(hu,{characterData:!0}),su=function(){hu.data=lu=!lu}):wu&&wu.resolve?(vu=wu.resolve(void 0),du=vu.then,su=function(){du.call(vu,uu)}):su=function(){gu.call(o,uu)});var ku,Au,Eu,Tu=xu||function(t){var n={fn:t,next:void 0};fu&&(fu.next=n),cu||(cu=n,su()),fu=n},Ou=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=C(n),this.reject=C(e)},ju={f:function(t){return new Ou(t)}},_u=function(t,n){if(I(t),g(n)&&n.constructor===t)return n;var e=ju.f(t);return(0,e.resolve)(n),e.promise},Du=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Pu=pu.set,Mu=Wt("species"),Ru="Promise",Cu=pn.get,Lu=pn.set,Iu=pn.getterFor(Ru),Bu=Wa,Fu=o.TypeError,Uu=o.document,Nu=o.process,qu=(H("fetch"),ju.f),zu=qu,Gu="process"==h(Nu),Hu=!!(Uu&&Uu.createEvent&&o.dispatchEvent),Wu="unhandledrejection",Vu=M(Ru,(function(){if(!(en(Bu)!==String(Bu))){if(66===de)return!0;if(!Gu&&"function"!=typeof PromiseRejectionEvent)return!0}if(!Bu.prototype.finally)return!0;if(de>=51&&/native code/.test(Bu))return!1;var t=Bu.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Mu]=n,!(t.then((function(){}))instanceof n)})),Ju=Vu||!eo((function(t){Bu.all(t).catch((function(){}))})),Yu=function(t){var n;return!(!g(t)||"function"!=typeof(n=t.then))&&n},Xu=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;Tu((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,h=s.resolve,v=s.reject,d=s.domain;try{l?(i||(2===n.rejection&&tc(t,n),n.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),f=!0)),u===s.promise?v(Fu("Promise-chain cycle")):(c=Yu(u))?c.call(u,h,v):h(u)):v(o)}catch(t){d&&!f&&d.exit(),v(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Qu(t,n)}))}},Ku=function(t,n,e){var r,i;Hu?((r=Uu.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),o.dispatchEvent(r)):r={promise:n,reason:e},(i=o["on"+t])?i(r):t===Wu&&function(t,n){var e=o.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}("Unhandled promise rejection",e)},Qu=function(t,n){Pu.call(o,(function(){var e,r=n.value;if(Zu(n)&&(e=Du((function(){Gu?Nu.emit("unhandledRejection",r,t):Ku(Wu,t,r)})),n.rejection=Gu||Zu(n)?2:1,e.error))throw e.value}))},Zu=function(t){return 1!==t.rejection&&!t.parent},tc=function(t,n){Pu.call(o,(function(){Gu?Nu.emit("rejectionHandled",t):Ku("rejectionhandled",t,n.value)}))},nc=function(t,n,e,r){return function(o){t(n,e,o,r)}},ec=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,Xu(t,n,!0))},rc=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw Fu("Promise can't be resolved itself");var o=Yu(e);o?Tu((function(){var r={done:!1};try{o.call(e,nc(rc,t,r,n),nc(ec,t,r,n))}catch(e){ec(t,r,e,n)}})):(n.value=e,n.state=1,Xu(t,n,!1))}catch(e){ec(t,{done:!1},e,n)}}};Vu&&(Bu=function(t){Or(this,Bu,Ru),C(t),ku.call(this);var n=Cu(this);try{t(nc(rc,this,n),nc(ec,this,n))}catch(t){ec(this,n,t)}},(ku=function(t){Lu(this,{type:Ru,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=mr(Bu.prototype,{then:function(t,n){var e=Iu(this),r=qu(aa(this,Bu));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=Gu?Nu.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&Xu(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),Au=function(){var t=new ku,n=Cu(t);this.promise=t,this.resolve=nc(rc,t,n),this.reject=nc(ec,t,n)},ju.f=qu=function(t){return t===Bu||t===Eu?new Au(t):zu(t)}),z({global:!0,wrap:!0,forced:Vu},{Promise:Bu}),Dn(Bu,Ru,!1,!0),Ji(Ru),Eu=H(Ru),z({target:Ru,stat:!0,forced:Vu},{reject:function(t){var n=qu(this);return n.reject.call(void 0,t),n.promise}}),z({target:Ru,stat:!0,forced:ft},{resolve:function(t){return _u(this===Eu?Bu:this,t)}}),z({target:Ru,stat:!0,forced:Ju},{all:function(t){var n=this,e=qu(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),i=[],a=0,u=1;Tr(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=qu(n),r=e.reject,o=Du((function(){var o=C(n.resolve);Tr(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}}),z({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=ju.f(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),o=[],i=0,a=1;Tr(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,e.call(n,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||r(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||r(o))}))})),--a||r(o)}));return i.error&&o(i.value),e.promise}});var oc=!!Wa&&i((function(){Wa.prototype.finally.call({then:function(){}},(function(){}))}));z({target:"Promise",proto:!0,real:!0,forced:oc},{finally:function(t){var n=aa(this,H("Promise")),e="function"==typeof t;return this.then(e?function(e){return _u(n,t()).then((function(){return e}))}:t,e?function(e){return _u(n,t()).then((function(){throw e}))}:t)}});var ic=R.Promise;z({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var ac=R.Date.now,uc=Rt;function cc(){}function fc(t){return t()}function sc(){return uc(null)}function lc(t){Bo(t).call(t,fc)}function hc(t){return"function"==typeof t}function vc(t,n){return t!=t?n==n:t!==n||t&&"object"===lr(t)||"function"==typeof t}function dc(t){if(null==t)return cc;for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var o=t.subscribe.apply(t,e);return o.unsubscribe?function(){return o.unsubscribe()}:o}function pc(t){var n;return dc(t,(function(t){return n=t}))(),n}function yc(t,n,e){t.$$.on_destroy.push(dc(n,e))}function gc(t,n,e,r){if(t){var o=mc(t,n,e,r);return t[0](o)}}function mc(t,n,e,r){var o;return t[1]&&r?function(t,n){for(var e in n)t[e]=n[e];return t}(Ao(o=e.ctx).call(o),t[1](r(n))):e.ctx}function bc(t,n,e,r,o,i,a){var u=function(t,n,e,r){if(t[2]&&r){var o=t[2](r(e));if(void 0===n.dirty)return o;if("object"===lr(o)){for(var i=[],a=Math.max(n.dirty.length,o.length),u=0;u<a;u+=1)i[u]=n.dirty[u]|o[u];return i}return n.dirty|o}return n.dirty}(n,r,o,i);if(u){var c=mc(n,e,r,a);t.p(c,u)}}function wc(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return t.set(e),n}function $c(t){return t&&hc(t.destroy)?t.destroy:cc}new ta;function Sc(t,n){t.appendChild(n)}function xc(t,n,e){t.insertBefore(n,e||null)}function kc(t){t.parentNode.removeChild(t)}function Ac(t,n){for(var e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Ec(t){return document.createElement(t)}function Tc(t){return document.createTextNode(t)}function Oc(){return Tc(" ")}function jc(){return Tc("")}function _c(t,n,e,r){return t.addEventListener(n,e,r),function(){return t.removeEventListener(n,e,r)}}function Dc(t,n,e){null==e?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function Pc(t){return io(t.childNodes)}function Mc(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function Rc(t,n,e,r){t.style.setProperty(n,e,r?"important":"")}var Cc;new ta;function Lc(t){Cc=t}function Ic(){if(!Cc)throw new Error("Function called outside component initialization");return Cc}function Bc(t){Ic().$$.on_mount.push(t)}function Fc(t,n){Ic().$$.context.set(t,n)}function Uc(t){return Ic().$$.context.get(t)}var Nc=[],qc=[],zc=[],Gc=[],Hc=ic.resolve(),Wc=!1;function Vc(){Wc||(Wc=!0,Hc.then(Qc))}function Jc(){return Vc(),Hc}function Yc(t){zc.push(t)}var Xc=!1,Kc=new ta;function Qc(){if(!Xc){Xc=!0;do{for(var t=0;t<Nc.length;t+=1){var n=Nc[t];Lc(n),Zc(n.$$)}for(Lc(null),Nc.length=0;qc.length;)qc.pop()();for(var e=0;e<zc.length;e+=1){var r=zc[e];Kc.has(r)||(Kc.add(r),r())}zc.length=0}while(Nc.length);for(;Gc.length;)Gc.pop()();Wc=!1,Xc=!1,Kc.clear()}}function Zc(t){if(null!==t.fragment){var n;t.update(),lc(t.before_update);var e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),Bo(n=t.after_update).call(n,Yc)}}var tf,nf=new ta;function ef(){tf={r:0,c:[],p:tf}}function rf(){tf.r||lc(tf.c),tf=tf.p}function of(t,n){t&&t.i&&(nf.delete(t),t.i(n))}function af(t,n,e,r){if(t&&t.o){if(nf.has(t))return;nf.add(t),tf.c.push((function(){nf.delete(t),r&&(e&&t.d(1),r())})),t.o(n)}}new ta(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function uf(t){t&&t.c()}function cf(t,n,e){var r=t.$$,o=r.fragment,i=r.on_mount,a=r.on_destroy,u=r.after_update;o&&o.m(n,e),Yc((function(){var n,e=Vo(n=Wi(i).call(i,fc)).call(n,hc);a?a.push.apply(a,na(e)):lc(e),t.$$.on_mount=[]})),Bo(u).call(u,Yc)}function ff(t,n){var e=t.$$;null!==e.fragment&&(lc(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function sf(t,n){var e;-1===t.$$.dirty[0]&&(Nc.push(t),Vc(),sa(e=t.$$.dirty).call(e,0));t.$$.dirty[n/31|0]|=1<<n%31}function lf(t,n,e,r,o,i){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],u=Cc;Lc(t);var c=n.props||{},f=t.$$={fragment:null,ctx:null,props:i,update:cc,not_equal:o,bound:sc(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new $a(u?u.$$.context:[]),callbacks:sc(),dirty:a,skip_bound:!1},s=!1;if(f.ctx=e?e(t,c,(function(n,e){var r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:e;return f.ctx&&o(f.ctx[n],f.ctx[n]=r)&&(!f.skip_bound&&f.bound[n]&&f.bound[n](r),s&&sf(t,n)),e})):[],f.update(),s=!0,lc(f.before_update),f.fragment=!!r&&r(f.ctx),n.target){if(n.hydrate){var l=Pc(n.target);f.fragment&&f.fragment.l(l),Bo(l).call(l,kc)}else f.fragment&&f.fragment.c();n.intro&&of(t.$$.fragment),cf(t,n.target,n.anchor),Qc()}Lc(u)}var hf=function(){function t(){Pt(this,t)}return so(t,[{key:"$destroy",value:function(){ff(this,1),this.$destroy=cc}},{key:"$on",value:function(t,n){var e=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return e.push(n),function(){var t=Ha(e).call(e,n);-1!==t&&Ga(e).call(e,t,1)}}},{key:"$set",value:function(t){this.$$set&&0!==li(t).length&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}]),t}(),vf=[];function df(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,r=[];function o(e){if(vc(t,e)&&(t=e,n)){for(var o=!vf.length,i=0;i<r.length;i+=1){var a=r[i];a[1](),vf.push(a,t)}if(o){for(var u=0;u<vf.length;u+=2)vf[u][0](vf[u+1]);vf.length=0}}}function i(n){o(n(t))}function a(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,u=[i,a];return r.push(u),1===r.length&&(n=e(o)||cc),i(t),function(){var t=Ha(r).call(r,u);-1!==t&&Ga(r).call(r,t,1),0===r.length&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function pf(t,n,e){var r=!Jr(t),o=r?[t]:t,i=n.length<2;return{subscribe:df(e,(function(t){var e=!1,a=[],u=0,c=cc,f=function(){if(!u){c();var e=n(r?a[0]:a,t);i?t(e):c=hc(e)?e:cc}},s=Wi(o).call(o,(function(t,n){return dc(t,(function(t){a[n]=t,u&=~(1<<n),e&&f()}),(function(){u|=1<<n}))}));return e=!0,f(),function(){lc(s),c()}})).subscribe}}var yf=[],gf=yf.sort,mf=i((function(){yf.sort(void 0)})),bf=i((function(){yf.sort(null)})),wf=_o("sort");z({target:"Array",proto:!0,forced:mf||!bf||!wf},{sort:function(t){return void 0===t?gf.call(yn(this)):gf.call(yn(this),C(t))}});var $f=$o("Array").sort,Sf=Array.prototype,xf=function(t){var n=t.sort;return t===Sf||t instanceof Array&&n===Sf.sort?$f:n},kf=Wt("iterator"),Af=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[kf]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host})),Ef=2147483647,Tf=/[^\0-\u007E]/,Of=/[.\u3002\uFF0E\uFF61]/g,jf="Overflow: input needs wider integers to process",_f=Math.floor,Df=String.fromCharCode,Pf=function(t){return t+22+75*(t<26)},Mf=function(t,n,e){var r=0;for(t=e?_f(t/700):t>>1,t+=_f(t/n);t>455;r+=36)t=_f(t/35);return _f(r+36*t/(t+38))},Rf=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,i=128,a=0,u=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(Df(e));var c=r.length,f=c;for(c&&r.push("-");f<o;){var s=Ef;for(n=0;n<t.length;n++)(e=t[n])>=i&&e<s&&(s=e);var l=f+1;if(s-i>_f((Ef-a)/l))throw RangeError(jf);for(a+=(s-i)*l,i=s,n=0;n<t.length;n++){if((e=t[n])<i&&++a>Ef)throw RangeError(jf);if(e==i){for(var h=a,v=36;;v+=36){var d=v<=u?1:v>=u+26?26:v-u;if(h<d)break;var p=h-d,y=36-d;r.push(Df(Pf(d+p%y))),h=_f(p/y)}r.push(Df(Pf(h))),u=Mf(a,l,f==c),a=0,++f}}++a,++i}return r.join("")},Cf=H("fetch"),Lf=H("Headers"),If=Wt("iterator"),Bf="URLSearchParams",Ff="URLSearchParamsIterator",Uf=pn.set,Nf=pn.getterFor(Bf),qf=pn.getterFor(Ff),zf=/\+/g,Gf=Array(4),Hf=function(t){return Gf[t-1]||(Gf[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},Wf=function(t){try{return decodeURIComponent(t)}catch(n){return t}},Vf=function(t){var n=t.replace(zf," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(Hf(e--),Wf);return n}},Jf=/[!'()~]|%20/g,Yf={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Xf=function(t){return Yf[t]},Kf=function(t){return encodeURIComponent(t).replace(Jf,Xf)},Qf=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:Vf(r.shift()),value:Vf(r.join("="))}))},Zf=function(t){this.entries.length=0,Qf(this.entries,t)},ts=function(t,n){if(t<n)throw TypeError("Not enough arguments")},ns=Cn((function(t,n){Uf(this,{type:Ff,iterator:Hr(Nf(t).entries),kind:n})}),"Iterator",(function(){var t=qf(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),es=function(){Or(this,es,Bf);var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,l=[];if(Uf(s,{type:Bf,entries:l,updateURL:function(){},updateSearchParams:Zf}),void 0!==f)if(g(f))if("function"==typeof(t=Ar(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=Hr(I(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(c in f)w(f,c)&&l.push({key:c,value:f[c]+""});else Qf(l,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},rs=es.prototype;mr(rs,{append:function(t,n){ts(arguments.length,2);var e=Nf(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){ts(arguments.length,1);for(var n=Nf(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){ts(arguments.length,1);for(var e,r=Nf(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=Nf(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=Nf(this).entries,r=L(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new ns(this,"keys")},values:function(){return new ns(this,"values")},entries:function(){return new ns(this,"entries")}},{enumerable:!0}),Ln(rs,If,rs.entries),Ln(rs,"toString",(function(){for(var t,n=Nf(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(Kf(t.key)+"="+Kf(t.value));return e.join("&")}),{enumerable:!0}),Dn(es,Bf),z({global:!0,forced:!Af},{URLSearchParams:es}),Af||"function"!=typeof Cf||"function"!=typeof Lf||z({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(g(n=arguments[1])&&(e=n.body,Tn(e)===Bf&&((r=n.headers?new Lf(n.headers):new Lf).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=St(n,{body:s(0,String(e)),headers:s(0,r)}))),o.push(n)),Cf.apply(this,o)}});var os,is={URLSearchParams:es,getState:Nf},as=Kt.codeAt,us=o.URL,cs=is.URLSearchParams,fs=is.getState,ss=pn.set,ls=pn.getterFor("URL"),hs=Math.floor,vs=Math.pow,ds="Invalid scheme",ps="Invalid host",ys="Invalid port",gs=/[A-Za-z]/,ms=/[\d+-.A-Za-z]/,bs=/\d/,ws=/^(0x|0X)/,$s=/^[0-7]+$/,Ss=/^\d+$/,xs=/^[\dA-Fa-f]+$/,ks=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,As=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Es=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ts=/[\u0009\u000A\u000D]/g,Os=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return ps;if(!(e=_s(n.slice(1,-1))))return ps;t.host=e}else if(Bs(t)){if(n=function(t){var n,e,r=[],o=t.toLowerCase().replace(Of,".").split(".");for(n=0;n<o.length;n++)e=o[n],r.push(Tf.test(e)?"xn--"+Rf(e):e);return r.join(".")}(n),ks.test(n))return ps;if(null===(e=js(n)))return ps;t.host=e}else{if(As.test(n))return ps;for(e="",r=Kr(n),o=0;o<r.length;o++)e+=Ls(r[o],Ps);t.host=e}},js=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=ws.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Ss:8==i?$s:xs).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=vs(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*vs(256,3-r);return u},_s=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;h();){if(8==f)return;if(":"!=h()){for(n=e=0;e<4&&xs.test(h());)n=16*n+parseInt(h(),16),l++,e++;if("."==h()){if(0==e)return;if(l-=e,f>6)return;for(r=0;h();){if(o=null,r>0){if(!("."==h()&&r<4))return;l++}if(!bs.test(h()))return;for(;bs.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},Ds=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=hs(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},Ps={},Ms=ba({},Ps,{" ":1,'"':1,"<":1,">":1,"`":1}),Rs=ba({},Ms,{"#":1,"?":1,"{":1,"}":1}),Cs=ba({},Rs,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ls=function(t,n){var e=as(t,0);return e>32&&e<127&&!w(n,t)?t:encodeURIComponent(t)},Is={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Bs=function(t){return w(Is,t.scheme)},Fs=function(t){return""!=t.username||""!=t.password},Us=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Ns=function(t,n){var e;return 2==t.length&&gs.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},qs=function(t){var n;return t.length>1&&Ns(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},zs=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&Ns(n[0],!0)||n.pop()},Gs=function(t){return"."===t||"%2e"===t.toLowerCase()},Hs={},Ws={},Vs={},Js={},Ys={},Xs={},Ks={},Qs={},Zs={},tl={},nl={},el={},rl={},ol={},il={},al={},ul={},cl={},fl={},sl={},ll={},hl=function(t,n,e,r){var o,i,a,u,c,f=e||Hs,s=0,l="",h=!1,v=!1,d=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(Es,"")),n=n.replace(Ts,""),o=Kr(n);s<=o.length;){switch(i=o[s],f){case Hs:if(!i||!gs.test(i)){if(e)return ds;f=Vs;continue}l+=i.toLowerCase(),f=Ws;break;case Ws:if(i&&(ms.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(e)return ds;l="",f=Vs,s=0;continue}if(e&&(Bs(t)!=w(Is,l)||"file"==l&&(Fs(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,e)return void(Bs(t)&&Is[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?f=ol:Bs(t)&&r&&r.scheme==t.scheme?f=Js:Bs(t)?f=Qs:"/"==o[s+1]?(f=Ys,s++):(t.cannotBeABaseURL=!0,t.path.push(""),f=fl)}break;case Vs:if(!r||r.cannotBeABaseURL&&"#"!=i)return ds;if(r.cannotBeABaseURL&&"#"==i){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,f=ll;break}f="file"==r.scheme?ol:Xs;continue;case Js:if("/"!=i||"/"!=o[s+1]){f=Xs;continue}f=Zs,s++;break;case Ys:if("/"==i){f=tl;break}f=cl;continue;case Xs:if(t.scheme=r.scheme,i==os)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==i||"\\"==i&&Bs(t))f=Ks;else if("?"==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),f=cl;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}break;case Ks:if(!Bs(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,f=cl;continue}f=tl}else f=Zs;break;case Qs:if(f=Zs,"/"!=i||"/"!=l.charAt(s+1))continue;s++;break;case Zs:if("/"!=i&&"\\"!=i){f=tl;continue}break;case tl:if("@"==i){h&&(l="%40"+l),h=!0,a=Kr(l);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||d){var g=Ls(y,Cs);d?t.password+=g:t.username+=g}else d=!0}l=""}else if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(h&&""==l)return"Invalid authority";s-=Kr(l).length+1,l="",f=nl}else l+=i;break;case nl:case el:if(e&&"file"==t.scheme){f=al;continue}if(":"!=i||v){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(Bs(t)&&""==l)return ps;if(e&&""==l&&(Fs(t)||null!==t.port))return;if(u=Os(t,l))return u;if(l="",f=ul,e)return;continue}"["==i?v=!0:"]"==i&&(v=!1),l+=i}else{if(""==l)return ps;if(u=Os(t,l))return u;if(l="",f=rl,e==el)return}break;case rl:if(!bs.test(i)){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)||e){if(""!=l){var m=parseInt(l,10);if(m>65535)return ys;t.port=Bs(t)&&m===Is[t.scheme]?null:m,l=""}if(e)return;f=ul;continue}return ys}l+=i;break;case ol:if(t.scheme="file","/"==i||"\\"==i)f=il;else{if(!r||"file"!=r.scheme){f=cl;continue}if(i==os)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==i)t.host=r.host,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){qs(o.slice(s).join(""))||(t.host=r.host,t.path=r.path.slice(),zs(t)),f=cl;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}}break;case il:if("/"==i||"\\"==i){f=al;break}r&&"file"==r.scheme&&!qs(o.slice(s).join(""))&&(Ns(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),f=cl;continue;case al:if(i==os||"/"==i||"\\"==i||"?"==i||"#"==i){if(!e&&Ns(l))f=cl;else if(""==l){if(t.host="",e)return;f=ul}else{if(u=Os(t,l))return u;if("localhost"==t.host&&(t.host=""),e)return;l="",f=ul}continue}l+=i;break;case ul:if(Bs(t)){if(f=cl,"/"!=i&&"\\"!=i)continue}else if(e||"?"!=i)if(e||"#"!=i){if(i!=os&&(f=cl,"/"!=i))continue}else t.fragment="",f=ll;else t.query="",f=sl;break;case cl:if(i==os||"/"==i||"\\"==i&&Bs(t)||!e&&("?"==i||"#"==i)){if(".."===(c=(c=l).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(zs(t),"/"==i||"\\"==i&&Bs(t)||t.path.push("")):Gs(l)?"/"==i||"\\"==i&&Bs(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Ns(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==os||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",f=sl):"#"==i&&(t.fragment="",f=ll)}else l+=Ls(i,Rs);break;case fl:"?"==i?(t.query="",f=sl):"#"==i?(t.fragment="",f=ll):i!=os&&(t.path[0]+=Ls(i,Ps));break;case sl:e||"#"!=i?i!=os&&("'"==i&&Bs(t)?t.query+="%27":t.query+="#"==i?"%23":Ls(i,Ps)):(t.fragment="",f=ll);break;case ll:i!=os&&(t.fragment+=Ls(i,Ms))}s++}},vl=function(t){var n,e,r=Or(this,vl,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=ss(r,{type:"URL"});if(void 0!==o)if(o instanceof vl)n=ls(o);else if(e=hl(n={},String(o)))throw TypeError(e);if(e=hl(u,i,null,n))throw TypeError(e);var c=u.searchParams=new cs,f=fs(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},a||(r.href=pl.call(r),r.origin=yl.call(r),r.protocol=gl.call(r),r.username=ml.call(r),r.password=bl.call(r),r.host=wl.call(r),r.hostname=$l.call(r),r.port=Sl.call(r),r.pathname=xl.call(r),r.search=kl.call(r),r.searchParams=Al.call(r),r.hash=El.call(r))},dl=vl.prototype,pl=function(){var t=ls(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Fs(t)&&(f+=e+(r?":"+r:"")+"@"),f+=Ds(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},yl=function(){var t=ls(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&Bs(t)?n+"://"+Ds(t.host)+(null!==e?":"+e:""):"null"},gl=function(){return ls(this).scheme+":"},ml=function(){return ls(this).username},bl=function(){return ls(this).password},wl=function(){var t=ls(this),n=t.host,e=t.port;return null===n?"":null===e?Ds(n):Ds(n)+":"+e},$l=function(){var t=ls(this).host;return null===t?"":Ds(t)},Sl=function(){var t=ls(this).port;return null===t?"":String(t)},xl=function(){var t=ls(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},kl=function(){var t=ls(this).query;return t?"?"+t:""},Al=function(){return ls(this).searchParams},El=function(){var t=ls(this).fragment;return t?"#"+t:""},Tl=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(a&&ut(dl,{href:Tl(pl,(function(t){var n=ls(this),e=String(t),r=hl(n,e);if(r)throw TypeError(r);fs(n.searchParams).updateSearchParams(n.query)})),origin:Tl(yl),protocol:Tl(gl,(function(t){var n=ls(this);hl(n,String(t)+":",Hs)})),username:Tl(ml,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=Ls(e[r],Cs)}})),password:Tl(bl,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=Ls(e[r],Cs)}})),host:Tl(wl,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),nl)})),hostname:Tl($l,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),el)})),port:Tl(Sl,(function(t){var n=ls(this);Us(n)||(""==(t=String(t))?n.port=null:hl(n,t,rl))})),pathname:Tl(xl,(function(t){var n=ls(this);n.cannotBeABaseURL||(n.path=[],hl(n,t+"",ul))})),search:Tl(kl,(function(t){var n=ls(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",hl(n,t,sl)),fs(n.searchParams).updateSearchParams(n.query)})),searchParams:Tl(Al),hash:Tl(El,(function(t){var n=ls(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",hl(n,t,ll)):n.fragment=null}))}),Ln(dl,"toJSON",(function(){return pl.call(this)}),{enumerable:!0}),Ln(dl,"toString",(function(){return pl.call(this)}),{enumerable:!0}),us){var Ol=us.createObjectURL,jl=us.revokeObjectURL;Ol&&Ln(vl,"createObjectURL",(function(t){return Ol.apply(us,arguments)})),jl&&Ln(vl,"revokeObjectURL",(function(t){return jl.apply(us,arguments)}))}Dn(vl,"URL"),z({global:!0,forced:!Af,sham:!a},{URL:vl});var _l=R.URL;function Dl(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function Pl(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=Dl(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=Dl(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}function Ml(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Rl(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rl(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Rl(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Cl=86400;function Ll(t){return void 0!==t?t instanceof Date?Bl(t):(n=t.match(/\d+/g),new Date(Number(n[0]),Number(n[1])-1,Number(n[2]),Number(n[3]||0),Number(n[4]||0),Number(n[5]||0))):new Date;var n}function Il(t){if("number"==typeof t)t={seconds:t};else if("string"==typeof t){var n,e=0,r=2,o=Ml(t.split(":",3));try{for(o.s();!(n=o.n()).done;){var i=n.value;e+=Pa(i,10)*Math.pow(60,r--)}}catch(t){o.e(t)}finally{o.f()}t={seconds:e}}else t instanceof Date&&(t={hours:t.getHours(),minutes:t.getMinutes(),seconds:t.getSeconds()});var a=t.weeks||t.week||0;return{years:t.years||t.year||0,months:t.months||t.month||0,days:7*a+(t.days||t.day||0),seconds:60*(t.hours||t.hour||0)*60+60*(t.minutes||t.minute||0)+(t.seconds||t.second||0),inWeeks:!!a}}function Bl(t){return new Date(t.getTime())}function Fl(t,n,e){return Vl(t,n,void 0===e?1:e)}function Ul(t){return Jl(t,1)}function Nl(t){return Jl(t,-1)}function ql(t){return t.setHours(0,0,0,0),t}function zl(t){var n=-t.getTimezoneOffset(),e=n>=0?"+":"-";return t.getFullYear()+"-"+Yl(t.getMonth()+1)+"-"+Yl(t.getDate())+"T"+Yl(t.getHours())+":"+Yl(t.getMinutes())+":"+Yl(t.getSeconds())+e+Yl(n/60)+":"+Yl(n%60)}function Gl(t,n,e){if(t.getFullYear()!==n.getFullYear())return e.format(t)+" - "+e.format(n);var r=[];if(t.getMonth()!==n.getMonth()&&r.push("month"),t.getDate()!==n.getDate()&&r.push("day"),!r.length)return e.format(t);for(var o=e.resolvedOptions(),i={},a=0,u=r;a<u.length;a++){var c=u[a];i[c]=o[c]}var f=new Intl.DateTimeFormat(o.locale,i),s=e.format(t),l=e.format(n),h=f.format(t),v=f.format(n),d=function(t,n,e,r){var o=0;for(;o<t.length;){var i=void 0,a=Ui(Xl(t,n,o),2);if(o=a[0],!(i=a[1]))break;for(var u=0;u<e.length;){var c=void 0,f=Ui(Xl(e,r,u),2);if(u=f[0],!(c=f[1]))break;if(i.head===c.head&&i.tail===c.tail)return i}}return null}(s,h,l,v);return d?d.head+h+" - "+v+d.tail:s+" - "+l}function Hl(t,n){return t.getTime()===n.getTime()}function Wl(t,n){var e=n-t.getDay();return t.setDate(t.getDate()+(e<=0?e:e-7)),t}function Vl(t,n,e){t.setFullYear(t.getFullYear()+e*n.years);var r=t.getMonth()+e*n.months;for(t.setMonth(r),(r%=12)<0&&(r+=12);t.getMonth()!==r;)Nl(t);return t.setDate(t.getDate()+e*n.days),t.setSeconds(t.getSeconds()+e*n.seconds),t}function Jl(t,n){return t.setDate(t.getDate()+n),t}function Yl(t){var n=Math.floor(Math.abs(t));return(n<10?"0":"")+n}function Xl(t,n,e){var r=Ha(t).call(t,n,e);if(r>=0){var o=r+n.length;return[o,{head:t.substr(0,r),tail:t.substr(o)}]}return[-1,null]}var Kl=1;function Ql(t){return Wi(t).call(t,(function(t){var n;return{id:"id"in t?String(t.id):"{generated-".concat(Kl++,"}"),resourceIds:Jr(t.resourceIds)?Wi(n=t.resourceIds).call(n,String):"resourceId"in t?[String(t.resourceId)]:[],start:Ll(t.start),end:Ll(t.end),title:t.title||"",display:t.display||"auto",extendedProps:t.extendedProps||{},backgroundColor:t.backgroundColor||t.color}}))}var Zl=new RegExp("^(?:[a-z]+:)?//","i"),th="http://a";function nh(t){return Wi(t).call(t,(function(t){return{url:new _l(t.url,th),urlFrom:Zl.test(t.url)?0:th.length,extraParams:t.extraParams||{}}}))}function eh(t,n,e){return{start:t.start>n?t.start:n,end:t.end<e?t.end:e,event:t}}function rh(t){xf(t).call(t,(function(t,n){return t.start<n.start?-1:t.start>n.start?1:0}))}function oh(t,n,e,r,o,i,a,u){var c,f,s,l,h=o.format(t.start);if(n&&(h+=" - ".concat(o.format(t.end))),e)"string"==typeof(l=hc(e)?e({event:t.event,timeText:h,view:i}):e)&&(l={html:l});else switch(t.event.display){case"background":l={html:""};break;default:l={html:mi(c='<div class="'.concat(r.eventTime,'">')).call(c,h,"</div>")+(a?mi(f='<div><div class="'.concat(r.eventDot,'"')).call(f,u?' style="border-color:'.concat(u,'"'):"","></div></div>"):"")+mi(s='<div class="'.concat(r.eventTitle,'">')).call(s,t.event.title,"</div>")}}return[h,l]}function ih(t,n,e){return Pl(Pl({},df(n?n(t):t,e)),{},{mutate:n})}function ah(t,n,e){var r=e,o=!1,i=n.length<2,a=pf(t,(function(t,e){return o=!0,i?(r=n(t,e),e(r)):n(t,(function(t){r=t,e(t)})),function(){o=!1}}),r);return Pl(Pl({},a),{},{get:function(){return o?r:pc(a)}})}function uh(t,n){return pf([t,n],(function(t){var n=Ui(t,2),e=n[0],r=n[1];return hc(r)?{format:r}:new Intl.DateTimeFormat(e,r)}))}function ch(){return wa.apply(Object,arguments)}function fh(t){return t.offsetWidth-t.clientWidth-2*t.clientLeft>0}function sh(t,n){var e={update:function(n){for(;t.firstChild;)t.removeChild(t.lastChild);if(n.domNodes){var e,r=Ml(n.domNodes);try{for(r.s();!(e=r.n()).done;){var o=e.value;t.appendChild(o)}}catch(t){r.e(t)}finally{r.f()}}else n.html&&(t.innerHTML=n.html)}};return e.update(n),e}function lh(t,n,e,r){return{type:t,title:n,currentStart:e.start,currentEnd:e.end,activeStart:r.start,activeEnd:r.end,calendar:void 0}}function hh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function vh(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function dh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return ph(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function ph(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var yh=function t(n){var e,r=this;Pt(this,t);for(var o,i,a,u=n.plugins||[],c=function(t,n){var e,r={buttonText:{today:"today"},date:new Date,dateClick:void 0,dayHeaderFormat:{weekday:"short",month:"numeric",day:"numeric"},displayEventEnd:!0,duration:{weeks:1},events:[],eventBackgroundColor:void 0,eventClick:void 0,eventColor:void 0,eventContent:void 0,eventDidMount:void 0,eventMouseEnter:void 0,eventMouseLeave:void 0,eventSources:[],eventTimeFormat:{hour:"numeric",minute:"2-digit"},firstDay:0,flexibleSlotTimeLimits:!1,headerToolbar:{start:"title",center:"",end:"today prev,next"},height:"auto",hiddenDays:[],highlightedDates:[],lazyFetching:!0,loading:void 0,locale:void 0,monthMode:!1,scrollTime:"06:00:00",slotDuration:"00:30:00",slotLabelFormat:{hour:"numeric",minute:"2-digit"},slotMaxTime:"24:00:00",slotMinTime:"00:00:00",theme:{calendar:"ec",header:"ec-header",withScroll:"ec-with-scroll",hiddenScroll:"ec-hidden-scroll",body:"ec-body",compact:"ec-compact",toolbar:"ec-toolbar",sidebar:"ec-sidebar",content:"ec-content",lines:"ec-lines",line:"ec-line",days:"ec-days",day:"ec-day",dayHead:"ec-day-head",today:"ec-today",otherMonth:"ec-other-month",highlight:"ec-highlight",events:"ec-events",event:"ec-event",eventTime:"ec-event-time",eventDot:"ec-event-dot",eventTitle:"ec-event-title",bgEvents:"ec-bg-events",bgEvent:"ec-bg-event",hiddenTimes:"ec-hidden-times",time:"ec-time",button:"ec-button",buttonGroup:"ec-button-group",icon:"ec-icon",active:"ec-active",title:"ec-title"},titleFormat:{year:"numeric",month:"short",day:"numeric"},view:t.view||void 0,viewDidMount:void 0,views:{}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createOptions"in i&&i.createOptions(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(n,u),f=function(t,n){var e,r={buttonText:function(n){return hc(n)?n(t.buttonText):n},date:function(t){return ql(Ll(t))},duration:Il,events:Ql,eventSources:nh,hiddenDays:function(t){return na(new ta(t))},highlightedDates:function(t){return Wi(t).call(t,Ll)},scrollTime:Il,slotDuration:Il,slotMaxTime:Il,slotMinTime:Il,theme:function(n){return hc(n)?n(t.theme):n}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createMutators"in i&&i.createMutators(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(c,u),s=0,l=Si(c);s<l.length;s++){var h=Ui(l[s],2),v=h[0],d=h[1];this[v]=ih(d,f[v])}this._currentRange=pf([(o=this).date,o.duration,o.monthMode,o.firstDay],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2],i=n[3],a=Bl(e);return o?a.setDate(1):r.inWeeks&&Wl(a,i),{start:a,end:Fl(Bl(a),r)}})),this._activeRange=function(t){return pf([t._currentRange,t.firstDay,t.monthMode,t.slotMinTime,t.slotMaxTime],(function(t){var n,e,r=Ui(t,5),o=r[0],i=r[1],a=r[2],u=(r[3],r[4]),c=Bl(o.start),f=Bl(o.end);if(a)Wl(c,i),e=i-(n=f).getDay(),n.setDate(n.getDate()+(e>=0?e:e+7));else if(u.days||u.seconds>Cl){Fl(Nl(f),u);var s=Nl(Bl(f));s<c&&(c=s)}return{start:c,end:f}}))}(this),this._fetchedRange=df({start:void 0,end:void 0}),this._events=function(t){var n,e=df([]),r=0;return pf([t.events,t.eventSources,t._activeRange,t._fetchedRange,t.lazyFetching,t.loading],(function(t,e){return Jc().then((function(){var o=Ui(t,6),i=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s=o[5];a.length?(!c.start||c.start>u.start||c.end<u.end||!f)&&function(){n&&n.abort(),n=new AbortController,hc(s)&&!r&&s(!0);var t,o=[],i=dh(a);try{for(i.s();!(t=i.n()).done;){var f,l=t.value,h=hc(l.extraParams)?l.extraParams():ch({},l.extraParams);h.start=zl(u.start),h.end=zl(u.end);var v,d=dh(pi(f=l.url.searchParams).call(f));try{for(d.s();!(v=d.n()).done;){var p=v.value;l.url.searchParams.delete(p)}}catch(t){d.e(t)}finally{d.f()}for(var y=0,g=Si(h);y<g.length;y++){var m=Ui(g[y],2),b=m[0],w=m[1];l.url.searchParams.set(b,w)}fetch(l.url.href.substr(l.urlFrom),{signal:n.signal,credentials:"same-origin"}).then((function(t){return t.json()})).then((function(t){o=mi(o).call(o,Ql(t)),e(o),0==--r&&hc(s)&&s(!1)})).catch((function(t){0==--r&&hc(s)&&s(!1)})),++r,c.start=u.start,c.end=u.end}}catch(t){i.e(t)}finally{i.f()}}():e(i)}))}),[]).subscribe(e.set),e}(this),this._intlEventTime=uh(this.locale,this.eventTimeFormat),this._intlSlotLabel=uh(this.locale,this.slotLabelFormat),this._intlDayHeader=uh(this.locale,this.dayHeaderFormat),this._titleIntlRange=(i=this.locale,a=this.titleFormat,pf([i,a],(function(t){var n=Ui(t,2),e=n[0],r=n[1];if(hc(r))return{format:r};var o=new Intl.DateTimeFormat(e,r);return{format:function(t,n){return Gl(t,n,o)}}}))),this._scrollable=df(!1),this._viewTitle=function(t){return pf([t.date,t._activeRange,t._titleIntlRange,t.monthMode],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2];return n[3]?o.format(e,e):o.format(r.start,Nl(Bl(r.end)))}))}(this),this._viewDates=function(t){return ah([t._activeRange,t.hiddenDays],(function(n){for(var e=Ui(n,2),r=e[0],o=e[1],i=[],a=ql(Bl(r.start)),u=ql(Bl(r.end));a<u;)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return!i.length&&o.length&&o.length<7&&(t.date.update((function(t){for(;Pi(o).call(o,t.getDay());)Ul(t);return t})),i=t._viewDates.get()),i}))}(this),this._view=function(t){return ah([t.view,t._viewTitle,t._currentRange,t._activeRange],(function(t){return lh.apply(void 0,na(t))}))}(this),this._viewComponent=df(void 0);var p,y=dh(u);try{for(y.s();!(p=y.n()).done;){var g=p.value;"createStores"in g&&g.createStores(this)}}catch(t){y.e(t)}finally{y.f()}var m,b=dh(new ta(mi(e=[]).call(e,na(li(c.views)),na(li(n.views||{})))));try{var w=function(){var t=m.value,e=ch({},c,c.views[t]||{},n,n.views&&n.views[t]||{});r.view.subscribe((function(n){n===t&&(r._viewComponent.set(e.component),hc(e.viewDidMount)&&Jc().then((function(){return e.viewDidMount(r._view.get())})))}));for(var o=function(){var n=a[i];if(r.hasOwnProperty(n)&&"_"!==n[0]){var o=r[n],u=o.set,c=o._set,f=o.mutate,s=si(o,["set","_set","mutate"]);c||(c=u),f&&(e[n]=f(e[n])),r[n]=function(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=vh(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=vh(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}({set:function(t){e[n]=t,u(t)},_set:c,mutate:f},s),r.view.subscribe((function(r){r===t&&c(e[n])}))}},i=0,a=li(e);i<a.length;i++)o()};for(b.s();!(m=b.n()).done;)w()}catch(t){b.e(t)}finally{b.f()}};function gh(t,n,e){var r=Ao(t).call(t);return r[24]=n[e],r}function mh(t){var n,e,r,o,i,a=t[5][t[24]]+"";function u(){for(var n,e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=t)[19].apply(n,mi(e=[t[24]]).call(e,o))}return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])},m:function(t,r){xc(t,n,r),Sc(n,e),o||(i=_c(n,"click",u),o=!0)},p:function(o,i){t=o,33&i&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),73&i&&r!==(r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])&&Dc(n,"class",r)},d:function(t){t&&kc(n),o=!1,i()}}}function bh(t){var n,e,r,o,i,a=t[5][t[24]]+"";return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+" ec-"+t[24]),n.disabled=t[1]},m:function(r,a){xc(r,n,a),Sc(n,e),o||(i=_c(n,"click",t[18]),o=!0)},p:function(t,o){33&o&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),9&o&&r!==(r=t[3].button+" ec-"+t[24])&&Dc(n,"class",r),2&o&&(n.disabled=t[1])},d:function(t){t&&kc(n),o=!1,i()}}}function wh(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[17]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function $h(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[16]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function Sh(t){var n,e,r;return{c:function(){n=Ec("h2"),e=Tc(t[4]),Dc(n,"class",r=t[3].title)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,o){16&o&&Mc(e,t[4]),8&o&&r!==(r=t[3].title)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function xh(t){return{c:cc,m:cc,p:cc,d:cc}}function kh(t){var n;function e(t,n){return""==t[24]?xh:"title"==t[24]?Sh:"prev"==t[24]?$h:"next"===t[24]?wh:"today"===t[24]?bh:mh}var r=e(t),o=r(t);return{c:function(){o.c(),n=jc()},m:function(t,e){o.m(t,e),xc(t,n,e)},p:function(t,i){r===(r=e(t))&&o?o.p(t,i):(o.d(1),(o=r(t))&&(o.c(),o.m(n.parentNode,n)))},d:function(t){o.d(t),t&&kc(n)}}}function Ah(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=kh(gh(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){var i=Ui(o,1)[0];if(229503&i){var a;for(e=t[0],a=0;a<e.length;a+=1){var u=gh(t,e,a);r[a]?r[a].p(u,i):(r[a]=kh(u),r[a].c(),r[a].m(n.parentNode,n))}for(;a<r.length;a+=1)r[a].d(1);r.length=e.length}},i:cc,o:cc,d:function(t){Ac(r,t),t&&kc(n)}}}function Eh(t,n,e){var r,o,i,a,u,c,f,s,l=n.buttons,h=Uc("state"),v=h._currentRange,d=h._viewTitle,p=h.buttonText,y=h.date,g=h.duration,m=h.hiddenDays,b=(h.monthMode,h.theme),w=h.view;yc(t,v,(function(t){return e(20,r=t)})),yc(t,d,(function(t){return e(4,c=t)})),yc(t,p,(function(t){return e(5,f=t)})),yc(t,y,(function(t){return e(2,o=t)})),yc(t,g,(function(t){return e(21,i=t)})),yc(t,m,(function(t){return e(22,a=t)})),yc(t,b,(function(t){return e(3,u=t)})),yc(t,w,(function(t){return e(6,s=t)}));var $,S=ql(new Date);return t.$$set=function(t){"buttons"in t&&e(0,l=t.buttons)},t.$$.update=function(){1048576&t.$$.dirty&&e(1,$=S>=r.start&&S<r.end||null)},[l,$,o,u,c,f,s,v,d,p,y,g,m,b,w,S,function(){var t=function(t,n,e){return Vl(t,n,void 0===e?-1:e)}(o,i);if(a.length&&a.length<7)for(;Pi(a).call(a,t.getDay());)Nl(t);wc(y,o=t)},function(){wc(y,o=Fl(o,i))},function(){return wc(y,o=Bl(S))},function(t){return wc(w,s=t)}]}var Th=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Eh,Ah,vc,{buttons:0}),r}return e}(hf);function Oh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function jh(t,n,e){var r=Ao(t).call(t);return r[5]=n[e],r}function _h(t){var n,e;return n=new Th({props:{buttons:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.buttons=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Dh(t){var n,e,r,o;return e=new Th({props:{buttons:t[8]}}),{c:function(){n=Ec("div"),uf(e.$$.fragment),Dc(n,"class",r=t[1].buttonGroup)},m:function(t,r){xc(t,n,r),cf(e,n,null),o=!0},p:function(t,i){var a={};1&i&&(a.buttons=t[8]),e.$set(a),(!o||2&i&&r!==(r=t[1].buttonGroup))&&Dc(n,"class",r)},i:function(t){o||(of(e.$$.fragment,t),o=!0)},o:function(t){af(e.$$.fragment,t),o=!1},d:function(t){t&&kc(n),ff(e)}}}function Ph(t){var n,e,r,o,i=[Dh,_h],a=[];function u(t,n){return t[8].length>1?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Mh(t){for(var n,e,r,o=t[0][t[5]],i=[],a=0;a<o.length;a+=1)i[a]=Ph(Oh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var t=0;t<i.length;t+=1)i[t].c();e=Oc()},m:function(t,o){xc(t,n,o);for(var a=0;a<i.length;a+=1)i[a].m(n,null);Sc(n,e),r=!0},p:function(t,r){if(3&r){var a;for(o=t[0][t[5]],a=0;a<o.length;a+=1){var c=Oh(t,o,a);i[a]?(i[a].p(c,r),of(i[a],1)):(i[a]=Ph(c),i[a].c(),of(i[a],1),i[a].m(n,e))}for(ef(),a=o.length;a<i.length;a+=1)u(a);rf()}},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Rh(t){for(var n,e,r,o=li(t[0]),i=[],a=0;a<o.length;a+=1)i[a]=Mh(jh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[1].toolbar)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(3&c){var f;for(o=li(t[0]),f=0;f<o.length;f+=1){var s=jh(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=Mh(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||2&c&&e!==(e=t[1].toolbar))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Ch(t,n,e){var r,o,i=Uc("state"),a=i.headerToolbar,u=i.theme;yc(t,a,(function(t){return e(4,r=t)})),yc(t,u,(function(t){return e(1,o=t)}));var c={start:[],center:[],end:[]};return t.$$.update=function(){if(17&t.$$.dirty)for(var n=0,o=li(c);n<o.length;n++){var i,a=o[n];e(0,c[a]=Wi(i=r[a].split(" ")).call(i,(function(t){return t.split(",")})),c)}},[c,o,a,u]}var Lh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Ch,Rh,vc,{}),r}return e}(hf);function Ih(t){var n,e,r,o,i,a;e=new Lh({});var u=t[2];return u&&(o=new u({})),{c:function(){n=Ec("div"),uf(e.$$.fragment),r=Oc(),o&&uf(o.$$.fragment),Dc(n,"class",i=t[0].calendar),Rc(n,"height",t[1])},m:function(t,i){xc(t,n,i),cf(e,n,null),Sc(n,r),o&&cf(o,n,null),a=!0},p:function(t,e){var r=Ui(e,1)[0];if(u!==(u=t[2])){if(o){ef();var c=o;af(c.$$.fragment,1,0,(function(){ff(c,1)})),rf()}u?(uf((o=new u({})).$$.fragment),of(o.$$.fragment,1),cf(o,n,null)):o=null}(!a||1&r&&i!==(i=t[0].calendar))&&Dc(n,"class",i),(!a||2&r)&&Rc(n,"height",t[1])},i:function(t){a||(of(e.$$.fragment,t),o&&of(o.$$.fragment,t),a=!0)},o:function(t){af(e.$$.fragment,t),o&&af(o.$$.fragment,t),a=!1},d:function(t){t&&kc(n),ff(e),o&&ff(o)}}}function Bh(t,n,e){var r,o,i,a=n.options,u=new yh(a);Fc("state",u);var c=u._viewComponent,f=u.height,s=u.theme;return yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),yc(t,s,(function(t){return e(0,r=t)})),t.$$set=function(t){"options"in t&&e(6,a=t.options)},[r,o,i,c,f,s,a,function(t,n){u.hasOwnProperty(t)&&(u[t].mutate&&(n=u[t].mutate(n)),u[t].set(n))},function(t){return u.hasOwnProperty(t)?pc(u[t]):void 0},function(){u._fetchedRange.set({start:void 0,end:void 0})},function(t){var n,e=dh(pc(u._events));try{for(e.s();!(n=e.n()).done;){var r=n.value;if(r.id==t)return r}}catch(t){e.e(t)}finally{e.f()}return null},function(t){u._events.update((function(n){return mi(n).call(n,u.events.mutate([t]))}))},function(t){u._events.update((function(n){var e,r=dh(n);try{for(r.s();!(e=r.n()).done;){var o=e.value;if(o.id==t.id){ch(o,u.events.mutate([t])[0]);break}}}catch(t){r.e(t)}finally{r.f()}return n}))},function(t){u._events.update((function(n){return Vo(n).call(n,(function(n){return n.id!=t}))}))},function(){return u._view.get()}]}var Fh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Bh,Ih,vc,{options:6,setOption:7,getOption:8,refetchEvents:9,getEventById:10,addEvent:11,updateEvent:12,removeEvent:13,getView:14}),r}return so(e,[{key:"setOption",get:function(){return this.$$.ctx[7]}},{key:"getOption",get:function(){return this.$$.ctx[8]}},{key:"refetchEvents",get:function(){return this.$$.ctx[9]}},{key:"getEventById",get:function(){return this.$$.ctx[10]}},{key:"addEvent",get:function(){return this.$$.ctx[11]}},{key:"updateEvent",get:function(){return this.$$.ctx[12]}},{key:"removeEvent",get:function(){return this.$$.ctx[13]}},{key:"getView",get:function(){return this.$$.ctx[14]}}]),e}(hf),Uh=new Gr,Nh=function(){function t(n,e){Pt(this,t),Uh.set(this,{writable:!0,value:void 0}),function(t,n,e){var r=n.get(t);if(!r)throw new TypeError("attempted to set private field on non-instance");if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(this,Uh,new Fh({target:n,props:{options:e}}))}return so(t,[{key:"setOption",value:function(t,n){return ao(this,Uh).setOption(t,n),this}},{key:"getOption",value:function(t){return ao(this,Uh).getOption(t)}},{key:"refetchEvents",value:function(){return ao(this,Uh).refetchEvents(),this}},{key:"addEvent",value:function(t){return ao(this,Uh).addEvent(t),this}},{key:"updateEvent",value:function(t,n){return ao(this,Uh).updateEvent(t,n),this}},{key:"removeEvent",value:function(t){return ao(this,Uh).removeEvent(t),this}},{key:"view",get:function(){return ao(this,Uh).getView()}}]),t}(),qh=Pe.some,zh=_o("some"),Gh=po("some");z({target:"Array",proto:!0,forced:!zh||!Gh},{some:function(t){return qh(this,t,arguments.length>1?arguments[1]:void 0)}});var Hh=$o("Array").some,Wh=Array.prototype,Vh=function(t){var n=t.some;return t===Wh||t instanceof Array&&n===Wh.some?Hh:n};function Jh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Yh(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Yh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Xh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}var Kh=function t(n){Pt(this,t),this._days=function(t){return pf([t.date,t.firstDay,t.hiddenDays],(function(t){for(var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=[],a=Bl(e),u=7;a.getDay()!==r&&u;)Nl(a),--u;for(var c=0;c<7;++c)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return i}))}(n)};function Qh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function Zh(t){var n,e,r,o=t[3].format(t[8])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[8])+"")&&Mc(e,o),1&i&&r!==(r=t[0].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function tv(t){for(var n,e,r,o,i,a,u,c=t[2],f=[],s=0;s<c.length;s+=1)f[s]=Zh(Qh(t,c,s));return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<f.length;c+=1)f[c].c();o=Oc(),i=Ec("div"),Dc(e,"class",r=t[0].days),Dc(i,"class",a=t[0].hiddenScroll),Dc(n,"class",u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))},m:function(t,r){xc(t,n,r),Sc(n,e);for(var a=0;a<f.length;a+=1)f[a].m(e,null);Sc(n,o),Sc(n,i)},p:function(t,o){var s=Ui(o,1)[0];if(13&s){var l;for(c=t[2],l=0;l<c.length;l+=1){var h=Qh(t,c,l);f[l]?f[l].p(h,s):(f[l]=Zh(h),f[l].c(),f[l].m(e,null))}for(;l<f.length;l+=1)f[l].d(1);f.length=c.length}1&s&&r!==(r=t[0].days)&&Dc(e,"class",r),1&s&&a!==(a=t[0].hiddenScroll)&&Dc(i,"class",a),3&s&&u!==(u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))&&Dc(n,"class",u)},i:cc,o:cc,d:function(t){t&&kc(n),Ac(f,t)}}}function nv(t,n,e){var r,o,i,a,u=Uc("state"),c=u.theme,f=u._intlDayHeader,s=u._scrollable;yc(t,c,(function(t){return e(0,r=t)})),yc(t,f,(function(t){return e(3,a=t)})),yc(t,s,(function(t){return e(1,o=t)}));var l=Uc("view-state")._days;return yc(t,l,(function(t){return e(2,i=t)})),[r,o,i,a,c,f,s,l]}var ev=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,nv,tv,vc,{}),r}return e}(hf);function rv(t){var n,e,r,o,i,a,u,c=t[7].default,f=gc(c,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),f&&f.c(),Dc(e,"class",r=t[1].content),Dc(n,"class",o=t[1].body+" "+t[1].month)},m:function(r,o){xc(r,n,o),Sc(n,e),f&&f.m(e,null),t[8](n),i=!0,a||(u=_c(window,"resize",t[5]),a=!0)},p:function(t,a){var u=Ui(a,1)[0];f&&f.p&&64&u&&bc(f,c,t,t[6],u,null,null),(!i||2&u&&r!==(r=t[1].content))&&Dc(e,"class",r),(!i||2&u&&o!==(o=t[1].body+" "+t[1].month))&&Dc(n,"class",o)},i:function(t){i||(of(f,t),i=!0)},o:function(t){af(f,t),i=!1},d:function(e){e&&kc(n),f&&f.d(e),t[8](null),a=!1,u()}}}function ov(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._events,l=f._scrollable,h=f.theme;function v(){wc(l,fh(i))}return yc(t,s,(function(t){return e(9,r=t)})),yc(t,l,(function(t){return e(10,t)})),yc(t,h,(function(t){return e(1,o=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},t.$$.update=function(){513&t.$$.dirty&&i&&r&&Jc().then(v)},[i,o,s,l,h,v,c,u,function(t){qc[t?"unshift":"push"]((function(){e(0,i=t)}))}]}var iv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ov,rv,vc,{}),r}return e}(hf);function av(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].event),Dc(n,"style",t[1])},m:function(e,a){xc(e,n,a),t[23](n),o||(i=[_c(window,"resize",t[20]),$c(r=sh.call(null,n,t[2])),_c(n,"click",(function(){hc(t[19](t[4]))&&t[19](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[19](t[5]))&&t[19](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[19](t[6]))&&t[19](t[6]).apply(this,arguments)}))],o=!0)},p:function(o,i){t=o,8&i[0]&&e!==(e=t[3].event)&&Dc(n,"class",e),2&i[0]&&Dc(n,"style",t[1]),r&&hc(r.update)&&4&i[0]&&r.update.call(null,t[2])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),o=!1,lc(i)}}}function uv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g,m,b=n.chunk,w=n.longChunks,$=Uc("state"),S=$.displayEventEnd,x=$.eventBackgroundColor,k=$.eventClick,A=$.eventColor,E=$.eventContent,T=$.eventDidMount,O=$.eventMouseEnter,j=$.eventMouseLeave,_=$.theme,D=$._view,P=$._intlEventTime;yc(t,S,(function(t){return e(28,a=t)})),yc(t,x,(function(t){return e(25,r=t)})),yc(t,k,(function(t){return e(4,h=t)})),yc(t,A,(function(t){return e(26,o=t)})),yc(t,E,(function(t){return e(29,u=t)})),yc(t,T,(function(t){return e(32,l=t)})),yc(t,O,(function(t){return e(5,v=t)})),yc(t,j,(function(t){return e(6,d=t)})),yc(t,_,(function(t){return e(3,c=t)})),yc(t,D,(function(t){return e(31,s=t)})),yc(t,P,(function(t){return e(30,f=t)}));var M,R=df(1);function C(){if(p){var t=b;t.top=0,t.prev&&(t.top=t.prev.bottom+1),t.bottom=t.top+p.getBoundingClientRect().height;var n=t.date.getTime();if(w[n]){var e,r=1,o=Jh(w[n]);try{for(o.s();!(e=o.n()).done;){var a=e.value;if(t.top<a.bottom&&t.bottom>a.top){var u=a.bottom-t.top+1;r+=u,t.top+=u,t.bottom+=u}}}catch(t){o.e(t)}finally{o.f()}wc(R,i=r)}}}return yc(t,R,(function(t){return e(27,i=t)})),Bc((function(){hc(l)&&l({event:b.event,timeText:m,el:p,view:s})})),M=C,Ic().$$.after_update.push(M),t.$$set=function(t){"chunk"in t&&e(21,b=t.chunk),"longChunks"in t&&e(22,w=t.longChunks)},t.$$.update=function(){if(236978178&t.$$.dirty[0]){var n,l=b.event.backgroundColor||r||o;e(1,y=mi(n="width:calc(".concat(100*b.days,"% + ")).call(n,7*(b.days-1),"px);")+"margin-top:".concat(i,"px;")),l&&e(1,y+="background-color:".concat(l,";"))}var h,v;1881145352&t.$$.dirty[0]|1&t.$$.dirty[1]&&e(2,(v=Ui(h=oh(b,a,u,c,f,s),2),m=v[0],g=v[1],h),g)},[p,y,g,c,h,v,d,S,x,k,A,E,T,O,j,_,D,P,R,function(t){return function(n){hc(t)&&t({event:b.event,el:p,jsEvent:n,view:s})}},C,b,w,function(t){qc[t?"unshift":"push"]((function(){e(0,p=t)}))}]}var cv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,uv,av,vc,{chunk:21,longChunks:22},[-1,-1]),r}return e}(hf);function fv(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function sv(t){var n,e;return n=new cv({props:{chunk:t[19],longChunks:t[1]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.chunk=t[19]),2&e&&(r.longChunks=t[1]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h=t[0].getDate()+"",v=t[2],d=[],p=0;p<v.length;p+=1)d[p]=sv(fv(t,v,p));var y=function(t){return af(d[t],1,1,(function(){d[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(h),i=Oc(),a=Ec("div");for(var f=0;f<d.length;f+=1)d[f].c();Dc(e,"class",o=t[6].dayHead),Dc(a,"class",u=t[6].events),Dc(n,"class",c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:""))},m:function(o,u){xc(o,n,u),Sc(n,e),Sc(e,r),Sc(n,i),Sc(n,a);for(var c=0;c<d.length;c+=1)d[c].m(a,null);f=!0,s||(l=_c(n,"click",t[12]),s=!0)},p:function(t,i){var s=Ui(i,1)[0];if((!f||1&s)&&h!==(h=t[0].getDate()+"")&&Mc(r,h),(!f||64&s&&o!==(o=t[6].dayHead))&&Dc(e,"class",o),6&s){var l;for(v=t[2],l=0;l<v.length;l+=1){var p=fv(t,v,l);d[l]?(d[l].p(p,s),of(d[l],1)):(d[l]=sv(p),d[l].c(),of(d[l],1),d[l].m(a,null))}for(ef(),l=v.length;l<d.length;l+=1)y(l);rf()}(!f||64&s&&u!==(u=t[6].events))&&Dc(a,"class",u),(!f||120&s&&c!==(c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:"")))&&Dc(n,"class",c)},i:function(t){if(!f){for(var n=0;n<v.length;n+=1)of(d[n]);f=!0}},o:function(t){d=Vo(d).call(d,Boolean);for(var n=0;n<d.length;n+=1)af(d[n]);f=!1},d:function(t){t&&kc(n),Ac(d,t),s=!1,l()}}}function hv(t,n,e){var r,o,i,a,u,c,f=n.date,s=n.chunks,l=n.longChunks,h=Uc("state"),v=h.date,d=h.dateClick,p=h.highlightedDates,y=h._view,g=h.theme;yc(t,v,(function(t){return e(14,r=t)})),yc(t,d,(function(t){return e(16,i=t)})),yc(t,p,(function(t){return e(15,o=t)})),yc(t,y,(function(t){return e(17,a=t)})),yc(t,g,(function(t){return e(6,u=t)}));var m,b,w,$=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,f=t.date),"chunks"in t&&e(13,s=t.chunks),"longChunks"in t&&e(1,l=t.longChunks)},t.$$.update=function(){if(8197&t.$$.dirty){e(2,c=[]);var n,i=Jh(s);try{for(i.s();!(n=i.n()).done;){var a=n.value;Hl(a.date,f)&&c.push(a)}}catch(t){i.e(t)}finally{i.f()}}49153&t.$$.dirty&&(e(3,m=Hl(f,$)),e(4,b=f.getMonth()!==r.getMonth()),e(5,w=Vh(o).call(o,(function(t){return Hl(t,f)}))))},[f,l,c,m,b,w,u,v,d,p,y,g,function(t){hc(i)&&i({date:f,jsEvent:t,view:a})},s]}var vv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,hv,lv,vc,{date:0,chunks:13,longChunks:1}),r}return e}(hf);function dv(t,n,e){var r=Ao(t).call(t);return r[9]=n[e],r}function pv(t){var n,e;return n=new vv({props:{date:t[9],chunks:t[1],longChunks:t[2]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[9]),2&e&&(r.chunks=t[1]),4&e&&(r.longChunks=t[2]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function yv(t){for(var n,e,r,o=t[0],i=[],a=0;a<o.length;a+=1)i[a]=pv(dv(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[3].days)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(7&c){var f;for(o=t[0],f=0;f<o.length;f+=1){var s=dv(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=pv(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||8&c&&e!==(e=t[3].days))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function gv(t,n,e){var r,o,i,a,u,c=n.dates,f=Uc("state"),s=f._events,l=f.hiddenDays,h=f.theme;return yc(t,s,(function(t){return e(7,r=t)})),yc(t,l,(function(t){return e(8,o=t)})),yc(t,h,(function(t){return e(3,i=t)})),t.$$set=function(t){"dates"in t&&e(0,c=t.dates)},t.$$.update=function(){if(387&t.$$.dirty){e(1,a=[]);var n,i=c[0],f=Ul(Bl(c[c.length-1])),s=Jh(r);try{for(s.s();!(n=s.n()).done;){var l=n.value;if("auto"===l.display&&l.start<f&&l.end>i){var h=eh(l,i,f);a.push(h)}}}catch(t){s.e(t)}finally{s.f()}e(2,u=function(t,n){if(t.length){rh(t);var e,r,o={},i=Jh(t);try{for(i.s();!(r=i.n()).done;){for(var a=r.value;Pi(n).call(n,a.start.getDay());){var u=Ul(ql(Bl(a.start)));if(u>a.end)break;a.start=u}a.date=ql(Bl(a.start)),a.days=1;for(var c=Ul(Bl(a.date));a.end>c;){++a.days;var f=c.getTime();o[f]?o[f].push(a):o[f]=[a],Ul(c)}e&&Hl(e.date,a.date)&&(a.prev=e),e=a}}catch(t){i.e(t)}finally{i.f()}return o}}(a,o))}},[c,a,u,i,s,l,h]}var mv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,gv,yv,vc,{dates:0}),r}return e}(hf);function bv(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function wv(t){var n,e;return n=new mv({props:{dates:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.dates=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function $v(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=wv(bv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=bv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=wv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Sv(t){var n,e,r,o;return n=new ev({}),r=new iv({props:{$$slots:{default:[$v]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,n){var e=Ui(n,1)[0],o={};2049&e&&(o.$$scope={dirty:e,ctx:t}),r.$set(o)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function xv(t,n,e){var r,o,i,a,u=Uc("state"),c=u._viewDates,f=u.hiddenDays;u.theme;return yc(t,c,(function(t){return e(5,o=t)})),yc(t,f,(function(t){return e(4,r=t)})),Fc("view-state",new Kh(Uc("state"))),t.$$.update=function(){if(57&t.$$.dirty){e(0,i=[]),e(3,a=7-r.length);for(var n=0;n<o.length/a;++n){for(var u=[],c=0;c<a;++c)u.push(o[n*a+c]);i.push(u)}}},[i,c,f]}var kv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,xv,Sv,vc,{}),r}return e}(hf),Av={createOptions:function(t){t.buttonText.dayGridMonth="month",t.theme.month="ec-month",t.view="dayGridMonth",t.views.dayGridMonth={component:kv,dayHeaderFormat:{weekday:"short"},displayEventEnd:!1,duration:{months:1},monthMode:!0,titleFormat:{year:"numeric",month:"long"}}}};function Ev(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Tv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Tv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Tv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ov(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function jv(t){var n,e,r,o,i,a=t[3].default,u=gc(a,t,t[2],null);return{c:function(){n=Ec("div"),e=Ec("div"),u&&u.c(),Dc(e,"class",r=t[0].content),Dc(n,"class",o=t[0].body+" "+t[0].list)},m:function(t,r){xc(t,n,r),Sc(n,e),u&&u.m(e,null),i=!0},p:function(t,c){var f=Ui(c,1)[0];u&&u.p&&4&f&&bc(u,a,t,t[2],f,null,null),(!i||1&f&&r!==(r=t[0].content))&&Dc(e,"class",r),(!i||1&f&&o!==(o=t[0].body+" "+t[0].list))&&Dc(n,"class",o)},i:function(t){i||(of(u,t),i=!0)},o:function(t){af(u,t),i=!1},d:function(t){t&&kc(n),u&&u.d(t)}}}function _v(t,n,e){var r,o=n.$$slots,i=void 0===o?{}:o,a=n.$$scope,u=Uc("state").theme;return yc(t,u,(function(t){return e(0,r=t)})),t.$$set=function(t){"$$scope"in t&&e(2,a=t.$$scope)},[r,u,a,i]}var Dv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_v,jv,vc,{}),r}return e}(hf);function Pv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[2].event)},m:function(e,a){xc(e,n,a),t[19](n),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",(function(){hc(t[17](t[3]))&&t[17](t[3]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[17](t[4]))&&t[17](t[4]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[17](t[5]))&&t[17](t[5]).apply(this,arguments)}))],o=!0)},p:function(o,i){var a=Ui(i,1)[0];t=o,4&a&&e!==(e=t[2].event)&&Dc(n,"class",e),r&&hc(r.update)&&2&a&&r.update.call(null,t[1])},i:cc,o:cc,d:function(e){e&&kc(n),t[19](null),o=!1,lc(i)}}}function Mv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.theme,O=m._view,j=m._intlEventTime;return yc(t,b,(function(t){return e(23,i=t)})),yc(t,w,(function(t){return e(21,r=t)})),yc(t,$,(function(t){return e(22,o=t)})),yc(t,S,(function(t){return e(24,a=t)})),yc(t,x,(function(t){return e(3,l=t)})),yc(t,k,(function(t){return e(27,s=t)})),yc(t,A,(function(t){return e(4,h=t)})),yc(t,E,(function(t){return e(5,v=t)})),yc(t,T,(function(t){return e(2,u=t)})),yc(t,O,(function(t){return e(26,f=t)})),yc(t,j,(function(t){return e(25,c=t)})),Bc((function(){hc(s)&&s({event:g.event,timeText:y,el:d,view:f})})),t.$$set=function(t){"chunk"in t&&e(18,g=t.chunk)},t.$$.update=function(){if(132382724&t.$$.dirty){var n,s,l=g.event.backgroundColor||r||o;e(1,(s=Ui(n=oh(g,i,a,u,c,f,!0,l),2),y=s[0],p=s[1],n),p)}},[d,p,u,l,h,v,b,w,$,S,x,k,A,E,T,O,j,function(t){return function(n){hc(t)&&t({event:g.event,el:d,jsEvent:n,view:f})}},g,function(t){qc[t?"unshift":"push"]((function(){e(0,d=t)}))}]}var Rv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Mv,Pv,vc,{chunk:18}),r}return e}(hf);function Cv(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function Lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v=t[5].format(t[0])+"",d=t[6].format(t[0])+"",p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Iv(Cv(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Tc(v),r=Oc(),o=Ec("span"),i=Tc(d),c=Oc();for(var s=0;s<y.length;s+=1)y[s].c();f=jc(),Dc(o,"class",a=t[4].daySide),Dc(n,"class",u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:""))},m:function(a,u){xc(a,n,u),Sc(n,e),Sc(n,r),Sc(n,o),Sc(o,i),xc(a,c,u);for(var v=0;v<y.length;v+=1)y[v].m(a,u);xc(a,f,u),s=!0,l||(h=_c(n,"click",t[14]),l=!0)},p:function(t,r){if((!s||33&r)&&v!==(v=t[5].format(t[0])+"")&&Mc(e,v),(!s||65&r)&&d!==(d=t[6].format(t[0])+"")&&Mc(i,d),(!s||16&r&&a!==(a=t[4].daySide))&&Dc(o,"class",a),(!s||28&r&&u!==(u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:"")))&&Dc(n,"class",u),2&r){var c;for(p=t[1],c=0;c<p.length;c+=1){var l=Cv(t,p,c);y[c]?(y[c].p(l,r),of(y[c],1)):(y[c]=Iv(l),y[c].c(),of(y[c],1),y[c].m(f.parentNode,f))}for(ef(),c=p.length;c<y.length;c+=1)m(c);rf()}},i:function(t){if(!s){for(var n=0;n<p.length;n+=1)of(y[n]);s=!0}},o:function(t){y=Vo(y).call(y,Boolean);for(var n=0;n<y.length;n+=1)af(y[n]);s=!1},d:function(t){t&&kc(n),t&&kc(c),Ac(y,t),t&&kc(f),l=!1,h()}}}function Iv(t){var n,e;return n=new Rv({props:{chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Bv(t){var n,e,r=t[1].length&&Lv(t);return{c:function(){r&&r.c(),n=jc()},m:function(t,o){r&&r.m(t,o),xc(t,n,o),e=!0},p:function(t,e){var o=Ui(e,1)[0];t[1].length?r?(r.p(t,o),2&o&&of(r,1)):((r=Lv(t)).c(),of(r,1),r.m(n.parentNode,n)):r&&(ef(),af(r,1,1,(function(){r=null})),rf())},i:function(t){e||(of(r),e=!0)},o:function(t){af(r),e=!1},d:function(t){r&&r.d(t),t&&kc(n)}}}function Fv(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=Uc("state"),h=l._events,v=(l._intlDayHeader,l._view),d=(l.date,l.dateClick),p=l.highlightedDates,y=l.theme;yc(t,h,(function(t){return e(15,r=t)})),yc(t,v,(function(t){return e(18,a=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(16,o=t)})),yc(t,y,(function(t){return e(4,u=t)}));var g,m=Uc("view-state"),b=m._intlListDayFormat,w=m._intlListDaySideFormat;yc(t,b,(function(t){return e(5,c=t)})),yc(t,w,(function(t){return e(6,f=t)}));var $,S,x=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date)},t.$$.update=function(){if(32771&t.$$.dirty){e(1,g=[]);var n,i=s,a=Ul(Bl(s)),u=Ev(r);try{for(u.s();!(n=u.n()).done;){var c=n.value;if("auto"===c.display&&c.start<a&&c.end>i){var f=eh(c,i,a);g.push(f)}}}catch(t){u.e(t)}finally{u.f()}rh(g)}65537&t.$$.dirty&&(e(2,$=Hl(s,x)),e(3,S=Vh(o).call(o,(function(t){return Hl(t,s)}))))},[s,g,$,S,u,c,f,h,v,d,p,y,b,w,function(t){hc(i)&&i({date:s,jsEvent:t,view:a})}]}var Uv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Fv,Bv,vc,{date:0}),r}return e}(hf),Nv=function t(n){Pt(this,t),this._intlListDayFormat=uh(n.locale,n.listDayFormat),this._intlListDaySideFormat=uh(n.locale,n.listDaySideFormat)};function qv(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function zv(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Hv(qv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(4&e){var i;for(r=t[2],i=0;i<r.length;i+=1){var u=qv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Gv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].noEvents)},m:function(e,a){xc(e,n,a),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",t[10])],o=!0)},p:function(t,o){8&o&&e!==(e=t[3].noEvents)&&Dc(n,"class",e),r&&hc(r.update)&&2&o&&r.update.call(null,t[1])},i:cc,o:cc,d:function(t){t&&kc(n),o=!1,lc(i)}}}function Hv(t){var n,e;return n=new Uv({props:{date:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Wv(t){var n,e,r,o,i=[Gv,zv],a=[];function u(t,n){return t[0]?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Vv(t){var n,e;return n=new Dv({props:{$$slots:{default:[Wv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r=Ui(e,1)[0],o={};524303&r&&(o.$$scope={dirty:r,ctx:t}),n.$set(o)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Jv(t,n,e){var r,o,i,a,u,c,f,s,l=Uc("state"),h=l._events,v=l._view,d=l._viewDates,p=l.noEventsClick,y=l.noEventsContent,g=l.theme;return yc(t,h,(function(t){return e(11,o=t)})),yc(t,v,(function(t){return e(14,u=t)})),yc(t,d,(function(t){return e(2,r=t)})),yc(t,p,(function(t){return e(13,a=t)})),yc(t,y,(function(t){return e(12,i=t)})),yc(t,g,(function(t){return e(3,c=t)})),Fc("view-state",new Nv(Uc("state"))),t.$$.update=function(){if(2052&t.$$.dirty){e(0,f=!0);var n,a=r[0],u=Ul(Bl(r[r.length-1])),c=Ev(o);try{for(c.s();!(n=c.n()).done;){var l=n.value;if("auto"===l.display&&l.start<u&&l.end>a){e(0,f=!1);break}}}catch(t){c.e(t)}finally{c.f()}}4098&t.$$.dirty&&(e(1,s=hc(i)?i():i),"string"==typeof s&&e(1,s={html:s}))},[f,s,r,c,h,v,d,p,y,g,function(t){hc(a)&&a({jsEvent:t,view:u})}]}var Yv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jv,Vv,vc,{}),r}return e}(hf),Xv={createOptions:function(t){t.buttonText.listDay="list",t.buttonText.listWeek="list",t.buttonText.listMonth="list",t.buttonText.listYear="list",t.listDayFormat={weekday:"long"},t.listDaySideFormat={year:"numeric",month:"long",day:"numeric"},t.noEventsClick=void 0,t.noEventsContent="No events",t.theme.daySide="ec-day-side",t.theme.list="ec-list",t.theme.noEvents="ec-no-events",t.view="listWeek",t.views.listDay={component:Yv,duration:{days:1}},t.views.listWeek={component:Yv,duration:{weeks:1}},t.views.listMonth={component:Yv,duration:{months:1}},t.views.listYear={component:Yv,duration:{years:1}}}};function Kv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Qv(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Zv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Zv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var td=function t(n){Pt(this,t),this._slotTimeLimits=function(t){return pf([t._events,t._viewDates,t.flexibleSlotTimeLimits,t.slotMinTime,t.slotMaxTime],(function(t){var n=Ui(t,5),e=n[0],r=n[1],o=n[2],i=n[3],a=n[4],u=Il(i),c=Il(a);if(o){var f,s=Il(Math.min(u.seconds,Math.max(0,c.seconds-Cl))),l=Il(Math.max(c.seconds,s.seconds+Cl)),h=Qv(r);try{t:for(h.s();!(f=h.n()).done;){var v,d=f.value,p=Fl(Bl(d),u),y=Fl(Bl(d),c),g=Fl(Bl(d),s),m=Fl(Bl(d),l),b=Qv(e);try{for(b.s();!(v=b.n()).done;){var w=v.value;if("auto"===w.display&&w.start<m&&w.end>g){if(w.start<p){var $=Math.max((w.start-d)/1e3,s.seconds);$<u.seconds&&(u.seconds=$)}if(w.end>y){var S=Math.min((w.end-d)/1e3,l.seconds);S>c.seconds&&(c.seconds=S)}if(u.seconds===s.seconds&&c.seconds===l.seconds)break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){h.e(t)}finally{h.f()}}return{min:u,max:c}}))}(n),this._times=function(t,n){return pf([n._slotTimeLimits,t._intlSlotLabel,t.slotDuration],(function(t){var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=o.seconds>=3600,a=[],u=Ll("2020-01-01"),c=Bl(u),f=1;for(Fl(u,e.min),Fl(c,e.max);u<c;)a.push(a.length&&(f||i)?r.format(u):""),Fl(u,o),f=1-f;return a}))}(n,this)};function nd(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function ed(t){var n,e,r,o=t[8]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){4&i&&o!==(o=t[8]+"")&&Mc(e,o),1&i&&r!==(r=t[0].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function rd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=t[2],m=[],b=0;b<g.length;b+=1)m[b]=ed(nd(t,g,b));var w=t[7].default,$=gc(w,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var y=0;y<m.length;y+=1)m[y].c();a=Oc(),u=Ec("div"),c=Ec("div"),s=Oc(),$&&$.c(),h=Oc(),v=Ec("div"),Dc(r,"class",o=t[0].hiddenTimes),Dc(e,"class",i=t[0].sidebar),Dc(c,"class",f=t[0].lines),Dc(u,"class",l=t[0].days),Dc(v,"class",d=t[0].hiddenScroll),Dc(n,"class",p=t[0].header+(t[1]?" "+t[0].withScroll:""))},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r);for(var i=0;i<m.length;i+=1)m[i].m(r,null);Sc(n,a),Sc(n,u),Sc(u,c),Sc(u,s),$&&$.m(u,null),Sc(n,h),Sc(n,v),y=!0},p:function(t,a){var s=Ui(a,1)[0];if(5&s){var h;for(g=t[2],h=0;h<g.length;h+=1){var b=nd(t,g,h);m[h]?m[h].p(b,s):(m[h]=ed(b),m[h].c(),m[h].m(r,null))}for(;h<m.length;h+=1)m[h].d(1);m.length=g.length}(!y||1&s&&o!==(o=t[0].hiddenTimes))&&Dc(r,"class",o),(!y||1&s&&i!==(i=t[0].sidebar))&&Dc(e,"class",i),(!y||1&s&&f!==(f=t[0].lines))&&Dc(c,"class",f),$&&$.p&&64&s&&bc($,w,t,t[6],s,null,null),(!y||1&s&&l!==(l=t[0].days))&&Dc(u,"class",l),(!y||1&s&&d!==(d=t[0].hiddenScroll))&&Dc(v,"class",d),(!y||3&s&&p!==(p=t[0].header+(t[1]?" "+t[0].withScroll:"")))&&Dc(n,"class",p)},i:function(t){y||(of($,t),y=!0)},o:function(t){af($,t),y=!1},d:function(t){t&&kc(n),Ac(m,t),$&&$.d(t)}}}function od(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._scrollable,l=f.theme;yc(t,s,(function(t){return e(1,o=t)})),yc(t,l,(function(t){return e(0,r=t)}));var h=Uc("view-state")._times;return yc(t,h,(function(t){return e(2,i=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},[r,o,i,s,l,h,c,u]}var id=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,od,rd,vc,{}),r}return e}(hf);function ad(t,n,e){var r=Ao(t).call(t);return r[23]=n[e],r}function ud(t,n,e){var r=Ao(t).call(t);return r[26]=n[e],r}function cd(t){var n,e,r,o=t[26]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[4].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){8&i&&o!==(o=t[26]+"")&&Mc(e,o),16&i&&r!==(r=t[4].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function fd(t){var n,e;return{c:function(){Dc(n=Ec("div"),"class",e=t[4].line)},m:function(t,e){xc(t,n,e)},p:function(t,r){16&r&&e!==(e=t[4].line)&&Dc(n,"class",e)},d:function(t){t&&kc(n)}}}function sd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y=t[3],g=[],m=0;m<y.length;m+=1)g[m]=cd(ud(t,y,m));for(var b=t[2],w=[],$=0;$<b.length;$+=1)w[$]=fd(ad(t,b,$));var S=t[14].default,x=gc(S,t,t[13],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<g.length;v+=1)g[v].c();i=Oc(),a=Ec("div"),u=Ec("div");for(var d=0;d<w.length;d+=1)w[d].c();f=Oc(),x&&x.c(),Dc(r,"class",o=t[4].sidebar),Dc(u,"class",c=t[4].lines),Dc(a,"class",s=t[4].days),Dc(e,"class",l=t[4].content),Dc(n,"class",h=t[4].body+(t[1]?" "+t[4].compact:""))},m:function(o,c){xc(o,n,c),Sc(n,e),Sc(e,r);for(var s=0;s<g.length;s+=1)g[s].m(r,null);Sc(e,i),Sc(e,a),Sc(a,u);for(var l=0;l<w.length;l+=1)w[l].m(u,null);Sc(a,f),x&&x.m(a,null),t[15](n),v=!0,d||(p=_c(window,"resize",t[12]),d=!0)},p:function(t,i){var f=Ui(i,1)[0];if(24&f){var d;for(y=t[3],d=0;d<y.length;d+=1){var p=ud(t,y,d);g[d]?g[d].p(p,f):(g[d]=cd(p),g[d].c(),g[d].m(r,null))}for(;d<g.length;d+=1)g[d].d(1);g.length=y.length}if((!v||16&f&&o!==(o=t[4].sidebar))&&Dc(r,"class",o),20&f){var m;for(b=t[2],m=0;m<b.length;m+=1){var $=ad(t,b,m);w[m]?w[m].p($,f):(w[m]=fd($),w[m].c(),w[m].m(u,null))}for(;m<w.length;m+=1)w[m].d(1);w.length=b.length}(!v||16&f&&c!==(c=t[4].lines))&&Dc(u,"class",c),x&&x.p&&8192&f&&bc(x,S,t,t[13],f,null,null),(!v||16&f&&s!==(s=t[4].days))&&Dc(a,"class",s),(!v||16&f&&l!==(l=t[4].content))&&Dc(e,"class",l),(!v||18&f&&h!==(h=t[4].body+(t[1]?" "+t[4].compact:"")))&&Dc(n,"class",h)},i:function(t){v||(of(x,t),v=!0)},o:function(t){af(x,t),v=!1},d:function(e){e&&kc(n),Ac(g,e),Ac(w,e),x&&x.d(e),t[15](null),d=!1,p()}}}function ld(t,n,e){var r,o,i,a,u,c,f=n.$$slots,s=void 0===f?{}:f,l=n.$$scope,h=Uc("state"),v=h.slotDuration,d=(h._intlSlotLabel,h._viewDates),p=h.scrollTime,y=h._scrollable,g=h.theme;yc(t,v,(function(t){return e(17,r=t)})),yc(t,d,(function(t){return e(19,a=t)})),yc(t,p,(function(t){return e(20,u=t)})),yc(t,y,(function(t){return e(21,t)})),yc(t,g,(function(t){return e(4,c=t)}));var m,b,w=Uc("view-state"),$=w._slotTimeLimits,S=w._times;yc(t,$,(function(t){return e(18,i=t)})),yc(t,S,(function(t){return e(3,o=t)}));var x,k=[];function A(){wc(y,fh(m))}return t.$$set=function(t){"$$scope"in t&&e(13,l=t.$$scope)},t.$$.update=function(){393224&t.$$.dirty&&(e(1,b=r.seconds>=3600),e(2,k.length=o.length,k),e(16,x=i.min.seconds)),1769473&t.$$.dirty&&m&&a&&e(0,m.scrollTop=(u.seconds-x)/r.seconds*24-12,m),131081&t.$$.dirty&&m&&o&&r&&Jc().then(A)},[m,b,k,o,c,v,d,p,y,g,$,S,A,l,s,function(t){qc[t?"unshift":"push"]((function(){e(0,m=t),e(19,a),e(20,u),e(16,x),e(17,r),e(3,o),e(18,i)}))}]}var hd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ld,sd,vc,{}),r}return e}(hf);function vd(t){var n,e,r,o;return{c:function(){Dc(n=Ec("div"),"class",t[1]),Dc(n,"style",t[2])},m:function(i,a){xc(i,n,a),t[23](n),r||(o=[$c(e=sh.call(null,n,t[3])),_c(n,"click",(function(){hc(t[20](t[4]))&&t[20](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[20](t[5]))&&t[20](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[20](t[6]))&&t[20](t[6]).apply(this,arguments)}))],r=!0)},p:function(r,o){t=r,2&o[0]&&Dc(n,"class",t[1]),4&o[0]&&Dc(n,"style",t[2]),e&&hc(e.update)&&8&o[0]&&e.update.call(null,t[3])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),r=!1,lc(o)}}}function dd(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y=n.date,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.slotDuration,O=m.theme,j=m._view,_=m._intlEventTime;yc(t,b,(function(t){return e(30,c=t)})),yc(t,w,(function(t){return e(27,i=t)})),yc(t,$,(function(t){return e(28,a=t)})),yc(t,S,(function(t){return e(31,f=t)})),yc(t,x,(function(t){return e(4,v=t)})),yc(t,k,(function(t){return e(34,h=t)})),yc(t,A,(function(t){return e(5,d=t)})),yc(t,E,(function(t){return e(6,p=t)})),yc(t,T,(function(t){return e(25,r=t)})),yc(t,O,(function(t){return e(29,u=t)})),yc(t,j,(function(t){return e(33,l=t)})),yc(t,_,(function(t){return e(32,s=t)}));var D,P,M,R,C,L=Uc("view-state")._slotTimeLimits;return yc(t,L,(function(t){return e(26,o=t)})),Bc((function(){hc(h)&&h({event:g.event,timeText:C,el:D,view:l})})),t.$$set=function(t){"date"in t&&e(21,y=t.date),"chunk"in t&&e(22,g=t.chunk)},t.$$.update=function(){if(2120220676&t.$$.dirty[0]|7&t.$$.dirty[1]){var n,h,v=r.seconds/60,d=o.min.seconds/60,p=(g.start-y)/1e3/60,m=(p-d)/v*24,b=((g.end-y)/1e3/60-p)/v*24,w=(o.max.seconds/60-p)/v*24,$=g.event.backgroundColor||i||a;switch(e(2,M="top:".concat(m,"px;")+"min-height:".concat(b,"px;")+"height:".concat(b,"px;")+"max-height:".concat(w,"px;")+"z-index:".concat(g.column+1,";")),$&&e(2,M+="background-color:".concat($,";")),g.event.display){case"background":e(1,P=u.bgEvent);break;default:e(1,P=u.event),e(2,M+="left:".concat(100/g.group.columns.length*g.column,"%;")+"width:".concat(100/g.group.columns.length*.5*(1+g.group.columns.length-g.column),"%;"))}e(3,(h=Ui(n=oh(g,c,f,u,s,l),2),C=h[0],R=h[1],n),R)}},[D,P,M,R,v,d,p,b,w,$,S,x,k,A,E,T,O,j,_,L,function(t){return function(n){hc(t)&&t({event:g.event,el:D,jsEvent:n,view:l})}},y,g,function(t){qc[t?"unshift":"push"]((function(){e(0,D=t)}))}]}var pd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,dd,vd,vc,{date:21,chunk:22},[-1,-1]),r}return e}(hf);function yd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function gd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function md(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),4&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function bd(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function wd(t){for(var n,e,r,o,i,a,u,c,f,s,l=t[2],h=[],v=0;v<l.length;v+=1)h[v]=md(gd(t,l,v));for(var d=function(t){return af(h[t],1,1,(function(){h[t]=null}))},p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=bd(yd(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<h.length;c+=1)h[c].c();o=Oc(),i=Ec("div");for(var f=0;f<y.length;f+=1)y[f].c();Dc(e,"class",r=t[5].bgEvents),Dc(i,"class",a=t[5].events),Dc(n,"class",u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:""))},m:function(r,a){xc(r,n,a),Sc(n,e);for(var u=0;u<h.length;u+=1)h[u].m(e,null);Sc(n,o),Sc(n,i);for(var l=0;l<y.length;l+=1)y[l].m(i,null);c=!0,f||(s=_c(n,"click",t[13]),f=!0)},p:function(t,o){var f=Ui(o,1)[0];if(5&f){var s;for(l=t[2],s=0;s<l.length;s+=1){var v=gd(t,l,s);h[s]?(h[s].p(v,f),of(h[s],1)):(h[s]=md(v),h[s].c(),of(h[s],1),h[s].m(e,null))}for(ef(),s=l.length;s<h.length;s+=1)d(s);rf()}if((!c||32&f&&r!==(r=t[5].bgEvents))&&Dc(e,"class",r),3&f){var g;for(p=t[1],g=0;g<p.length;g+=1){var b=yd(t,p,g);y[g]?(y[g].p(b,f),of(y[g],1)):(y[g]=bd(b),y[g].c(),of(y[g],1),y[g].m(i,null))}for(ef(),g=p.length;g<y.length;g+=1)m(g);rf()}(!c||32&f&&a!==(a=t[5].events))&&Dc(i,"class",a),(!c||56&f&&u!==(u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:"")))&&Dc(n,"class",u)},i:function(t){if(!c){for(var n=0;n<l.length;n+=1)of(h[n]);for(var e=0;e<p.length;e+=1)of(y[e]);c=!0}},o:function(t){h=Vo(h).call(h,Boolean);for(var n=0;n<h.length;n+=1)af(h[n]);y=Vo(y).call(y,Boolean);for(var e=0;e<y.length;e+=1)af(y[e]);c=!1},d:function(t){t&&kc(n),Ac(h,t),Ac(y,t),f=!1,s()}}}function $d(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=n.resource,h=void 0===l?void 0:l,v=Uc("state"),d=v._events,p=v.dateClick,y=v.highlightedDates,g=v.slotDuration,m=v._view,b=v.theme;yc(t,d,(function(t){return e(16,o=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(17,i=t)})),yc(t,g,(function(t){return e(19,u=t)})),yc(t,m,(function(t){return e(20,c=t)})),yc(t,b,(function(t){return e(5,f=t)}));var w,$,S=Uc("view-state")._slotTimeLimits;yc(t,S,(function(t){return e(15,r=t)}));var x,k,A=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date),"resource"in t&&e(14,h=t.resource)},t.$$.update=function(){if(114695&t.$$.dirty){e(1,w=[]),e(2,$=[]);var n,a=Fl(Bl(s),r.min),u=Fl(Bl(s),r.max),c=Qv(o);try{for(c.s();!(n=c.n()).done;){var f,l=n.value;if(l.start<u&&l.end>a&&(void 0===h||Pi(f=l.resourceIds).call(f,h.id))){var v=eh(l,a,u);switch(l.display){case"background":$.push(v);break;default:w.push(v)}}}}catch(t){c.e(t)}finally{c.f()}!function(t){if(t.length){rh(t);var n,e={columns:[],end:t[0].end},r=Qv(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=0;if(o.start<e.end){for(;i<e.columns.length&&!(e.columns[i][e.columns[i].length-1].end<=o.start);++i);o.end>e.end&&(e.end=o.end)}else e={columns:[],end:o.end};e.columns.length<i+1&&e.columns.push([]),e.columns[i].push(o),o.group=e,o.column=i}}catch(t){r.e(t)}finally{r.f()}}}(w)}131073&t.$$.dirty&&(e(3,x=Hl(s,A)),e(4,k=Vh(i).call(i,(function(t){return Hl(t,s)}))))},[s,w,$,x,k,f,d,p,y,g,m,b,S,function(t){if(hc(a)){var n=t.currentTarget.getBoundingClientRect(),e=t.clientY-n.top,o=Fl(Bl(s),u,Math.floor(e/24+r.min.seconds/u.seconds));a({date:o,jsEvent:t,view:c,resource:h})}},h]}var Sd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,$d,wd,vc,{date:0,resource:14}),r}return e}(hf);function xd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function kd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function Ad(t){var n,e,r,o=t[2].format(t[7])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){5&i&&o!==(o=t[2].format(t[7])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function Ed(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Ad(kd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(7&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=kd(t,e,i);r[i]?r[i].p(a,o):(r[i]=Ad(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Td(t){var n,e;return n=new Sd({props:{date:t[7]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[7]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Od(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Td(xd(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=xd(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Td(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function jd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[Ed]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Od]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};4103&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};4097&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function _d(t,n,e){var r,o,i,a=Uc("state"),u=a._viewDates,c=a._intlDayHeader,f=a.theme;return yc(t,u,(function(t){return e(0,r=t)})),yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),Fc("view-state",new td(Uc("state"))),[r,o,i,u,c,f]}var Dd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_d,jd,vc,{}),r}return e}(hf),Pd={createOptions:function(t){t.buttonText.timeGridDay="day",t.buttonText.timeGridWeek="week",t.view="timeGridWeek",t.views.timeGridDay={component:Dd,dayHeaderFormat:{weekday:"long"},duration:{days:1},titleFormat:{year:"numeric",month:"long",day:"numeric"}},t.views.timeGridWeek={component:Dd,duration:{weeks:1}}}};function Md(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Rd(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Cd(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cd(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Cd(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ld(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Id(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Bd(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Fd(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Ud(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Nd(Bd(t,r,i));return{c:function(){n=Ec("div");for(var r=0;r<o.length;r+=1)o[r].c();Dc(n,"class",e=t[1].days)},m:function(t,e){xc(t,n,e);for(var r=0;r<o.length;r+=1)o[r].m(n,null)},p:function(t,i){if(14&i){var a;for(r=t[2],a=0;a<r.length;a+=1){var u=Bd(t,r,a);o[a]?o[a].p(u,i):(o[a]=Nd(u),o[a].c(),o[a].m(n,null))}for(;a<o.length;a+=1)o[a].d(1);o.length=r.length}2&i&&e!==(e=t[1].days)&&Dc(n,"class",e)},d:function(t){t&&kc(n),Ac(o,t)}}}function Nd(t){var n,e,r,o=t[3].format(t[19])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[19])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function qd(t){var n,e,r,o,i,a,u,c=t[16].title+"",f=t[2].length>1&&Ud(t);return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(c),i=Oc(),f&&f.c(),a=Oc(),Dc(e,"class",o=t[1].day),Dc(n,"class",u=t[1].resource)},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r),Sc(n,i),f&&f.m(n,null),Sc(n,a)},p:function(t,i){1&i&&c!==(c=t[16].title+"")&&Mc(r,c),2&i&&o!==(o=t[1].day)&&Dc(e,"class",o),t[2].length>1?f?f.p(t,i):((f=Ud(t)).c(),f.m(n,a)):f&&(f.d(1),f=null),2&i&&u!==(u=t[1].resource)&&Dc(n,"class",u)},d:function(t){t&&kc(n),f&&f.d()}}}function zd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=qd(Fd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(15&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=Fd(t,e,i);r[i]?r[i].p(a,o):(r[i]=qd(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Gd(t){var n,e;return n=new Sd({props:{date:t[19],resource:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[19]),1&e&&(r.resource=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Hd(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Gd(Ld(t,i,u));var c=function(t){return af(a[t],1,1,(function(){a[t]=null}))};return{c:function(){n=Ec("div");for(var o=0;o<a.length;o+=1)a[o].c();e=Oc(),Dc(n,"class",r=t[1].resource)},m:function(t,r){xc(t,n,r);for(var i=0;i<a.length;i+=1)a[i].m(n,null);Sc(n,e),o=!0},p:function(t,u){if(5&u){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Ld(t,i,f);a[f]?(a[f].p(s,u),of(a[f],1)):(a[f]=Gd(s),a[f].c(),of(a[f],1),a[f].m(n,e))}for(ef(),f=i.length;f<a.length;f+=1)c(f);rf()}(!o||2&u&&r!==(r=t[1].resource))&&Dc(n,"class",r)},i:function(t){if(!o){for(var n=0;n<i.length;n+=1)of(a[n]);o=!0}},o:function(t){a=Vo(a).call(a,Boolean);for(var n=0;n<a.length;n+=1)af(a[n]);o=!1},d:function(t){t&&kc(n),Ac(a,t)}}}function Wd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Hd(Id(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(7&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Id(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hd(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Vd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[zd]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Wd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};67108879&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};67108871&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function Jd(t,n,e){var r,o,i,a,u,c,f,s=Uc("state"),l=s.resources,h=s.filterResourcesWithEvents,v=s._activeRange,d=s._events,p=s._viewDates,y=s._intlDayHeader,g=s.theme;yc(t,l,(function(t){return e(11,r=t)})),yc(t,h,(function(t){return e(12,o=t)})),yc(t,v,(function(t){return e(14,a=t)})),yc(t,d,(function(t){return e(13,i=t)})),yc(t,p,(function(t){return e(2,c=t)})),yc(t,y,(function(t){return e(3,f=t)})),yc(t,g,(function(t){return e(1,u=t)})),Fc("view-state",new td(Uc("state")));var m=r;return t.$$.update=function(){30721&t.$$.dirty&&(o&&e(0,m=Vo(r).call(r,(function(t){var n,e=Rd(i);try{for(e.s();!(n=e.n()).done;){var r,o=n.value;if("auto"===o.display&&Pi(r=o.resourceIds).call(r,t.id)&&o.start<a.end&&o.end>a.start)return!0}}catch(t){e.e(t)}finally{e.f()}return!1}))),m.length||e(0,m=l.mutate([{}])))},[m,u,c,f,l,h,v,d,p,y,g]}var Yd=function(t){Ut(e,t);var n=Md(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jd,Vd,vc,{}),r}return e}(hf),Xd={createOptions:function(t){t.resources=[],t.filterResourcesWithEvents=!1,t.buttonText.resourceTimeGridDay="day",t.buttonText.resourceTimeGridWeek="week",t.theme.resource="ec-resource",t.theme.resourceTitle="ec-resource-title",t.view="resourceTimeGridWeek",t.views.resourceTimeGridDay={component:Yd,duration:{days:1}},t.views.resourceTimeGridWeek={component:Yd,duration:{weeks:1}}},createMutators:function(t,n){t.resources=Kd}};function Kd(t){return Wi(t).call(t,(function(t){return{id:String(t.id),title:t.title||""}}))}var Qd=[].slice,Zd=/MSIE .\./.test(se),tp=function(t){return function(n,e){var r=arguments.length>2,o=r?Qd.call(arguments,2):void 0;return t(r?function(){("function"==typeof n?n:Function(n)).apply(this,o)}:n,e)}};z({global:!0,bind:!0,forced:Zd},{setTimeout:tp(o.setTimeout),setInterval:tp(o.setInterval)});var np,ep=R.setTimeout,rp=Ta.trim;z({target:"String",proto:!0,forced:(np="trim",i((function(){return!!Sa[np]()||"​…᠎"!="​…᠎"[np]()||Sa[np].name!==np})))},{trim:function(){return rp(this)}});var op=$o("String").trim,ip=String.prototype,ap=function(t){var n=t.trim;return"string"==typeof t||t===ip||t instanceof String&&n===ip.trim?op:n},up=R.URLSearchParams,cp=$o("Array").entries,fp=Array.prototype,sp={DOMTokenList:!0,NodeList:!0},lp=function(t){var n=t.entries;return t===fp||t instanceof Array&&n===fp.entries||sp.hasOwnProperty(Tn(t))?cp:n},hp=Oe.f,vp=i((function(){return!Object.getOwnPropertyNames(1)}));z({target:"Object",stat:!0,forced:vp},{getOwnPropertyNames:hp});var dp=R.Object,pp=function(t){return dp.getOwnPropertyNames(t)},yp=oe,gp="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==gp&&gp,mp="URLSearchParams"in gp,bp="Symbol"in gp&&"iterator"in Xr,wp="FileReader"in gp&&"Blob"in gp&&function(){try{return new Blob,!0}catch(t){return!1}}(),$p="FormData"in gp,Sp="ArrayBuffer"in gp;if(Sp)var xp=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],kp=ArrayBuffer.isView||function(t){return t&&Ha(xp).call(xp,Object.prototype.toString.call(t))>-1};function Ap(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Ep(t){return"string"!=typeof t&&(t=String(t)),t}function Tp(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return bp&&(n[yp]=function(){return n}),n}function Op(t){if(this.map={},t instanceof Op)Bo(t).call(t,(function(t,n){this.append(n,t)}),this);else if(Jr(t))Bo(t).call(t,(function(t){this.append(t[0],t[1])}),this);else if(t){var n;Bo(n=pp(t)).call(n,(function(n){this.append(n,t[n])}),this)}}function jp(t){if(t.bodyUsed)return ic.reject(new TypeError("Already read"));t.bodyUsed=!0}function _p(t){return new ic((function(n,e){t.onload=function(){n(t.result)},t.onerror=function(){e(t.error)}}))}function Dp(t){var n=new FileReader,e=_p(n);return n.readAsArrayBuffer(t),e}function Pp(t){if(Ao(t))return Ao(t).call(t,0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function Mp(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:wp&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:$p&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:mp&&up.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Sp&&wp&&((n=t)&&DataView.prototype.isPrototypeOf(n))?(this._bodyArrayBuffer=Pp(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Sp&&(ArrayBuffer.prototype.isPrototypeOf(t)||kp(t))?this._bodyArrayBuffer=Pp(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):mp&&up.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},wp&&(this.blob=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return ic.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return ic.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t,n=jp(this);return n||(ArrayBuffer.isView(this._bodyArrayBuffer)?ic.resolve(Ao(t=this._bodyArrayBuffer.buffer).call(t,this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):ic.resolve(this._bodyArrayBuffer))}return this.blob().then(Dp)}),this.text=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return function(t){var n=new FileReader,e=_p(n);return n.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(function(t){for(var n=new Uint8Array(t),e=new Array(n.length),r=0;r<n.length;r++)e[r]=String.fromCharCode(n[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return ic.resolve(this._bodyText)},$p&&(this.formData=function(){return this.text().then(Lp)}),this.json=function(){return this.text().then(JSON.parse)},this}Op.prototype.append=function(t,n){t=Ap(t),n=Ep(n);var e=Wi(this)[t];Wi(this)[t]=e?e+", "+n:n},Op.prototype.delete=function(t){delete Wi(this)[Ap(t)]},Op.prototype.get=function(t){return t=Ap(t),this.has(t)?Wi(this)[t]:null},Op.prototype.has=function(t){return Wi(this).hasOwnProperty(Ap(t))},Op.prototype.set=function(t,n){Wi(this)[Ap(t)]=Ep(n)},Op.prototype.forEach=function(t,n){for(var e in Wi(this))Wi(this).hasOwnProperty(e)&&t.call(n,Wi(this)[e],e,this)},Op.prototype.keys=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push(e)})),Tp(t)},Op.prototype.values=function(){var t=[];return Bo(this).call(this,(function(n){t.push(n)})),Tp(t)},Op.prototype.entries=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push([e,n])})),Tp(t)},bp&&(Op.prototype[yp]=lp(Op.prototype));var Rp=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Cp(t,n){if(!(this instanceof Cp))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var e,r,o=(n=n||{}).body;if(t instanceof Cp){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,n.headers||(this.headers=new Op(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=n.credentials||this.credentials||"same-origin",!n.headers&&this.headers||(this.headers=new Op(n.headers)),this.method=(e=n.method||this.method||"GET",r=e.toUpperCase(),Ha(Rp).call(Rp,r)>-1?r:e),this.mode=n.mode||this.mode||null,this.signal=n.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==n.cache&&"no-cache"!==n.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function Lp(t){var n,e=new FormData;return Bo(n=ap(t).call(t).split("&")).call(n,(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function Ip(t,n){if(!(this instanceof Ip))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in n?n.statusText:"",this.headers=new Op(n.headers),this.url=n.url||"",this._initBody(t)}Cp.prototype.clone=function(){return new Cp(this,{body:this._bodyInit})},Mp.call(Cp.prototype),Mp.call(Ip.prototype),Ip.prototype.clone=function(){return new Ip(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Op(this.headers),url:this.url})},Ip.error=function(){var t=new Ip(null,{status:0,statusText:""});return t.type="error",t};var Bp=[301,302,303,307,308];Ip.redirect=function(t,n){if(-1===Ha(Bp).call(Bp,n))throw new RangeError("Invalid status code");return new Ip(null,{status:n,headers:{location:t}})};var Fp=gp.DOMException;try{new Fp}catch(t){(Fp=function(t,n){this.message=t,this.name=n;var e=Error(t);this.stack=e.stack}).prototype=uc(Error.prototype),Fp.prototype.constructor=Fp}function Up(t,n){return new ic((function(e,r){var o=new Cp(t,n);if(o.signal&&o.signal.aborted)return r(new Fp("Aborted","AbortError"));var i,a,u,c=new XMLHttpRequest;function f(){c.abort()}(c.onload=function(){var t,n,r,o,i={status:c.status,statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",r=new Op,o=t.replace(/\r?\n[\t ]+/g," "),Bo(n=o.split(/\r?\n/)).call(n,(function(t){var n,e=t.split(":"),o=ap(n=e.shift()).call(n);if(o){var i,a=ap(i=e.join(":")).call(i);r.append(o,a)}})),r)};i.url="responseURL"in c?c.responseURL:i.headers.get("X-Request-URL");var a="response"in c?c.response:c.responseText;ep((function(){e(new Ip(a,i))}),0)},c.onerror=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.onabort=function(){ep((function(){r(new Fp("Aborted","AbortError"))}),0)},c.open(o.method,function(t){try{return""===t&&gp.location.href?gp.location.href:t}catch(n){return t}}(o.url),!0),"include"===o.credentials?c.withCredentials=!0:"omit"===o.credentials&&(c.withCredentials=!1),"responseType"in c)&&(wp?c.responseType="blob":Sp&&o.headers.get("Content-Type")&&-1!==Ha(i=o.headers.get("Content-Type")).call(i,"application/octet-stream")&&(c.responseType="arraybuffer"));!n||"object"!==lr(n.headers)||n.headers instanceof Op?Bo(a=o.headers).call(a,(function(t,n){c.setRequestHeader(n,t)})):Bo(u=pp(n.headers)).call(u,(function(t){c.setRequestHeader(t,Ep(n.headers[t]))}));o.signal&&(o.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&o.signal.removeEventListener("abort",f)}),c.send(void 0===o._bodyInit?null:o._bodyInit)}))}Up.polyfill=!0,gp.fetch||(gp.fetch=Up,gp.Headers=Op,gp.Request=Cp,gp.Response=Ip);var Np=Vt.f("toStringTag"),qp=pr,zp=It,Gp=new Gr,Hp=new Gr;function Wp(t){var n=Gp.get(t);return console.assert(null!=n,"'this' is expected an Event object, but got",t),n}function Vp(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function Jp(t,n){Gp.set(this,{eventTarget:t,event:n,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:n.timeStamp||ac()}),Eo(this,"isTrusted",{value:!1,enumerable:!0});for(var e=li(n),r=0;r<e.length;++r){var o=e[r];o in this||Eo(this,o,Yp(o))}}function Yp(t){return{get:function(){return Wp(this).event[t]},set:function(n){Wp(this).event[t]=n},configurable:!0,enumerable:!0}}function Xp(t){return{value:function(){var n=Wp(this).event;return n[t].apply(n,arguments)},configurable:!0,enumerable:!0}}function Kp(t){if(null==t||t===Object.prototype)return Jp;var n=Hp.get(t);return null==n&&(n=function(t,n){var e=li(n);if(0===e.length)return t;function r(n,e){t.call(this,n,e)}r.prototype=uc(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(var o=0;o<e.length;++o){var i=e[o];if(!(i in t.prototype)){var a="function"==typeof No(n,i).value;Eo(r.prototype,i,a?Xp(i):Yp(i))}}return r}(Kp(qp(t)),t),Hp.set(t,n)),n}function Qp(t){return Wp(t).immediateStopped}function Zp(t,n){Wp(t).passiveListener=n}Jp.prototype={get type(){return Wp(this).event.type},get target(){return Wp(this).eventTarget},get currentTarget(){return Wp(this).currentTarget},composedPath:function(){var t=Wp(this).currentTarget;return null==t?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Wp(this).eventPhase},stopPropagation:function(){var t=Wp(this);t.stopped=!0,"function"==typeof t.event.stopPropagation&&t.event.stopPropagation()},stopImmediatePropagation:function(){var t=Wp(this);t.stopped=!0,t.immediateStopped=!0,"function"==typeof t.event.stopImmediatePropagation&&t.event.stopImmediatePropagation()},get bubbles(){return Boolean(Wp(this).event.bubbles)},get cancelable(){return Boolean(Wp(this).event.cancelable)},preventDefault:function(){Vp(Wp(this))},get defaultPrevented(){return Wp(this).canceled},get composed(){return Boolean(Wp(this).event.composed)},get timeStamp(){return Wp(this).timeStamp},get srcElement(){return Wp(this).eventTarget},get cancelBubble(){return Wp(this).stopped},set cancelBubble(t){if(t){var n=Wp(this);n.stopped=!0,"boolean"==typeof n.event.cancelBubble&&(n.event.cancelBubble=!0)}},get returnValue(){return!Wp(this).canceled},set returnValue(t){t||Vp(Wp(this))},initEvent:function(){}},Eo(Jp.prototype,"constructor",{value:Jp,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.Event&&(zp(Jp.prototype,window.Event.prototype),Hp.set(window.Event.prototype,Jp));var ty=new Gr;function ny(t){return null!==t&&"object"===lr(t)}function ey(t){var n=ty.get(t);if(null==n)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return n}function ry(t,n){Eo(t,"on".concat(n),function(t){return{get:function(){for(var n=ey(this).get(t);null!=n;){if(3===n.listenerType)return n.listener;n=n.next}return null},set:function(n){"function"==typeof n||ny(n)||(n=null);for(var e=ey(this),r=null,o=e.get(t);null!=o;)3===o.listenerType?null!==r?r.next=o.next:null!==o.next?e.set(t,o.next):e.delete(t):r=o,o=o.next;if(null!==n){var i={listener:n,listenerType:3,passive:!1,once:!1,next:null};null===r?e.set(t,i):r.next=i}},configurable:!0,enumerable:!0}}(n))}function oy(t){function n(){iy.call(this)}n.prototype=uc(iy.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(var e=0;e<t.length;++e)ry(n.prototype,t[e]);return n}function iy(){if(!(this instanceof iy)){if(1===arguments.length&&Jr(arguments[0]))return oy(arguments[0]);if(arguments.length>0){for(var t=new Array(arguments.length),n=0;n<arguments.length;++n)t[n]=arguments[n];return oy(t)}throw new TypeError("Cannot call a class as a function")}ty.set(this,new $a)}function ay(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}iy.prototype={addEventListener:function(t,n,e){if(null!=n){if("function"!=typeof n&&!ny(n))throw new TypeError("'listener' should be a function or an object.");var r=ey(this),o=ny(e),i=(o?Boolean(e.capture):Boolean(e))?1:2,a={listener:n,listenerType:i,passive:o&&Boolean(e.passive),once:o&&Boolean(e.once),next:null},u=r.get(t);if(void 0!==u){for(var c=null;null!=u;){if(u.listener===n&&u.listenerType===i)return;c=u,u=u.next}c.next=a}else r.set(t,a)}},removeEventListener:function(t,n,e){if(null!=n)for(var r=ey(this),o=(ny(e)?Boolean(e.capture):Boolean(e))?1:2,i=null,a=r.get(t);null!=a;){if(a.listener===n&&a.listenerType===o)return void(null!==i?i.next=a.next:null!==a.next?r.set(t,a.next):r.delete(t));i=a,a=a.next}},dispatchEvent:function(t){if(null==t||"string"!=typeof t.type)throw new TypeError('"event.type" should be a string.');var n=ey(this),e=t.type,r=n.get(e);if(null==r)return!0;for(var o=function(t,n){return new(Kp(qp(n)))(t,n)}(this,t),i=null;null!=r;){if(r.once?null!==i?i.next=r.next:null!==r.next?n.set(e,r.next):n.delete(e):i=r,Zp(o,r.passive?r.listener:null),"function"==typeof r.listener)try{r.listener.call(this,o)}catch(t){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(t)}else 3!==r.listenerType&&"function"==typeof r.listener.handleEvent&&r.listener.handleEvent(o);if(Qp(o))break;r=r.next}return Zp(o,null),function(t,n){Wp(t).eventPhase=n}(o,0),function(t,n){Wp(t).currentTarget=n}(o,null),!o.defaultPrevented}},Eo(iy.prototype,"constructor",{value:iy,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.EventTarget&&zp(iy.prototype,window.EventTarget.prototype);var uy=function(t){Ut(e,t);var n=ay(e);function e(){throw Pt(this,e),n.call(this),new TypeError("AbortSignal cannot be constructed directly")}return so(e,[{key:"aborted",get:function(){var t=cy.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got ".concat(null===this?"null":lr(this)));return t}}]),e}(iy);ry(uy.prototype,"abort");var cy=new Gr;To(uy.prototype,{aborted:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(uy.prototype,Np,{configurable:!0,value:"AbortSignal"});var fy=function(){function t(){var n;Pt(this,t),sy.set(this,(n=uc(uy.prototype),iy.call(n),cy.set(n,!1),n))}return so(t,[{key:"abort",value:function(){var t;t=ly(this),!1===cy.get(t)&&(cy.set(t,!0),t.dispatchEvent({type:"abort"}))}},{key:"signal",get:function(){return ly(this)}}]),t}(),sy=new Gr;function ly(t){var n=sy.get(t);if(null==n)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got ".concat(null===t?"null":lr(t)));return n}To(fy.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(fy.prototype,Np,{configurable:!0,value:"AbortController"});var hy="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function vy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}return hy&&(void 0===hy.AbortController&&(hy.AbortController=fy),void 0===hy.AbortSignal&&(hy.AbortSignal=uy)),function(t){Ut(e,t);var n=vy(e);function e(t,r){return Pt(this,e),r.plugins=r.plugins||[Av,Xv,Pd,Xd],n.call(this,t,r)}return e}(Nh)}();
 
1
+ /*! EventCalendar v0.0.1-beta.1 | https://vkurko.github.io/calendar */
2
+ var EventCalendar=function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,n,e){return t(e={path:n,exports:{},require:function(t,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&e.path)}},e.exports),e.exports}var e,r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},v="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,p=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return d(p(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!g(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!g(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},$=o.document,S=g($)&&g($.createElement),T=function(t){return S?$.createElement(t):{}},x=!a&&!i((function(){return 7!=Object.defineProperty(T("div"),"a",{get:function(){return 7}}).a})),k=Object.getOwnPropertyDescriptor,E={f:a?k:function(t,n){if(t=y(t),n=m(n,!0),x)try{return k(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},A=/#|\.prototype\./,O=function(t,n){var e=_[j(t)];return e==C||e!=D&&("function"==typeof n?i(n):!!n)},j=O.normalize=function(t){return String(t).replace(A,".").toLowerCase()},_=O.data={},D=O.NATIVE="N",C=O.POLYFILL="P",P=O,M={},R=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},L=function(t,n,e){if(R(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},U=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},I=Object.defineProperty,B={f:a?I:function(t,n,e){if(U(t),n=m(n,!0),U(e),x)try{return I(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},F=a?function(t,n,e){return B.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},N=E.f,q=function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n},z=function(t,n){var e,r,i,a,u,c,f,s,l=t.target,h=t.global,v=t.stat,d=t.proto,p=h?o:v?o[l]:(o[l]||{}).prototype,y=h?M:M[l]||(M[l]={}),g=y.prototype;for(i in n)e=!P(h?i:l+(v?".":"#")+i,t.forced)&&p&&w(p,i),u=y[i],e&&(c=t.noTargetGet?(s=N(p,i))&&s.value:p[i]),a=e&&c?c:n[i],e&&typeof u==typeof a||(f=t.bind&&e?L(a,o):t.wrap&&e?q(a):d&&"function"==typeof a?L(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&F(f,"sham",!0),y[i]=f,d&&(w(M,r=l+"Prototype")||F(M,r,{}),M[r][i]=a,t.real&&g&&!g[i]&&F(g,i,a)))},G=function(t){return"function"==typeof t?t:void 0},H=function(t,n){return arguments.length<2?G(M[t])||G(o[t]):M[t]&&M[t][n]||o[t]&&o[t][n]},W=Math.ceil,V=Math.floor,J=function(t){return isNaN(t=+t)?0:(t>0?V:W)(t)},Y=Math.min,X=function(t){return t>0?Y(J(t),9007199254740991):0},K=Math.max,Q=Math.min,Z=function(t,n){var e=J(t);return e<0?K(e+n,0):Q(e,n)},tt=function(t){return function(n,e,r){var o,i=y(n),a=X(i.length),u=Z(r,a);if(t&&e!=e){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},nt={includes:tt(!0),indexOf:tt(!1)},et={},rt=nt.indexOf,ot=function(t,n){var e,r=y(t),o=0,i=[];for(e in r)!w(et,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~rt(i,e)||i.push(e));return i},it=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],at=Object.keys||function(t){return ot(t,it)},ut=a?Object.defineProperties:function(t,n){U(t);for(var e,r=at(n),o=r.length,i=0;o>i;)B.f(t,e=r[i++],n[e]);return t},ct=H("document","documentElement"),ft=!0,st="__core-js_shared__",lt=o[st]||function(t,n){try{F(o,t,n)}catch(e){o[t]=n}return n}(st,{}),ht=n((function(t){(t.exports=function(t,n){return lt[t]||(lt[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),vt=0,dt=Math.random(),pt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++vt+dt).toString(36)},yt=ht("keys"),gt=function(t){return yt[t]||(yt[t]=pt(t))},mt=gt("IE_PROTO"),bt=function(){},wt=function(t){return"<script>"+t+"</"+"script>"},$t=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;$t=e?function(t){t.write(wt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=T("iframe")).style.display="none",ct.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(wt("document.F=Object")),t.close(),t.F);for(var r=it.length;r--;)delete $t.prototype[it[r]];return $t()};et[mt]=!0;var St=Object.create||function(t,n){var e;return null!==t?(bt.prototype=U(t),e=new bt,bt.prototype=null,e[mt]=t):e=$t(),void 0===n?e:ut(e,n)},Tt=[].slice,xt={},kt=function(t,n,e){if(!(n in xt)){for(var r=[],o=0;o<n;o++)r[o]="a["+o+"]";xt[n]=Function("C,a","return new C("+r.join(",")+")")}return xt[n](t,e)},Et=Function.bind||function(t){var n=R(this),e=Tt.call(arguments,1),r=function(){var o=e.concat(Tt.call(arguments));return this instanceof r?kt(n,o.length,o):n.apply(t,o)};return g(n.prototype)&&(r.prototype=n.prototype),r},At=H("Reflect","construct"),Ot=i((function(){function t(){}return!(At((function(){}),[],t)instanceof t)})),jt=!i((function(){At((function(){}))})),_t=Ot||jt;z({target:"Reflect",stat:!0,forced:_t,sham:_t},{construct:function(t,n){R(t),U(n);var e=arguments.length<3?t:R(arguments[2]);if(jt&&!Ot)return At(t,n,e);if(t==e){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var r=[null];return r.push.apply(r,n),new(Et.apply(t,r))}var o=e.prototype,i=St(g(o)?o:Object.prototype),a=Function.apply.call(t,i,n);return g(a)?a:i}});var Dt=M.Reflect.construct;function Ct(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}z({target:"Object",stat:!0,sham:!a},{create:St});var Pt=M.Object,Mt=function(t,n){return Pt.create(t,n)},Rt=Mt,Lt=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return U(e),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0);z({target:"Object",stat:!0},{setPrototypeOf:Lt});var Ut=M.Object.setPrototypeOf,It=Ut;function Bt(t,n){return(Bt=It||function(t,n){return t.__proto__=n,t})(t,n)}function Ft(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Rt(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Bt(t,n)}var Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),qt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,zt=ht("wks"),Gt=o.Symbol,Ht=qt?Gt:Gt&&Gt.withoutSetter||pt,Wt=function(t){return w(zt,t)||(Nt&&w(Gt,t)?zt[t]=Gt[t]:zt[t]=Ht("Symbol."+t)),zt[t]},Vt={f:Wt},Jt=B.f,Yt=function(t){var n=M.Symbol||(M.Symbol={});w(n,t)||Jt(n,t,{value:Vt.f(t)})};Yt("iterator");var Xt=function(t){return function(n,e){var r,o,i=String(p(n)),a=J(e),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Kt={codeAt:Xt(!1),charAt:Xt(!0)},Qt=Function.toString;"function"!=typeof lt.inspectSource&&(lt.inspectSource=function(t){return Qt.call(t)});var Zt,tn,nn,en=lt.inspectSource,rn=o.WeakMap,on="function"==typeof rn&&/native code/.test(en(rn)),an=o.WeakMap;if(on){var un=new an,cn=un.get,fn=un.has,sn=un.set;Zt=function(t,n){return sn.call(un,t,n),n},tn=function(t){return cn.call(un,t)||{}},nn=function(t){return fn.call(un,t)}}else{var ln=gt("state");et[ln]=!0,Zt=function(t,n){return F(t,ln,n),n},tn=function(t){return w(t,ln)?t[ln]:{}},nn=function(t){return w(t,ln)}}var hn,vn,dn,pn={set:Zt,get:tn,has:nn,enforce:function(t){return nn(t)?tn(t):Zt(t,{})},getterFor:function(t){return function(n){var e;if(!g(n)||(e=tn(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},yn=function(t){return Object(p(t))},gn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mn=gt("IE_PROTO"),bn=Object.prototype,wn=gn?Object.getPrototypeOf:function(t){return t=yn(t),w(t,mn)?t[mn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?bn:null},$n=(Wt("iterator"),!1);[].keys&&("next"in(dn=[].keys())?(vn=wn(wn(dn)))!==Object.prototype&&(hn=vn):$n=!0),null==hn&&(hn={});var Sn={IteratorPrototype:hn,BUGGY_SAFARI_ITERATORS:$n},Tn={};Tn[Wt("toStringTag")]="z";var xn="[object z]"===String(Tn),kn=Wt("toStringTag"),En="Arguments"==h(function(){return arguments}()),An=xn?h:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),kn))?e:En?h(n):"Object"==(r=h(n))&&"function"==typeof n.callee?"Arguments":r},On=xn?{}.toString:function(){return"[object "+An(this)+"]"},jn=B.f,_n=Wt("toStringTag"),Dn=function(t,n,e,r){if(t){var o=e?t:t.prototype;w(o,_n)||jn(o,_n,{configurable:!0,value:n}),r&&!xn&&F(o,"toString",On)}},Cn={},Pn=Sn.IteratorPrototype,Mn=function(){return this},Rn=function(t,n,e){var r=n+" Iterator";return t.prototype=St(Pn,{next:s(1,e)}),Dn(t,r,!1,!0),Cn[r]=Mn,t},Ln=function(t,n,e,r){r&&r.enumerable?t[n]=e:F(t,n,e)},Un=Sn.IteratorPrototype,In=Sn.BUGGY_SAFARI_ITERATORS,Bn=Wt("iterator"),Fn="keys",Nn="values",qn="entries",zn=function(){return this},Gn=function(t,n,e,r,o,i,a){Rn(e,n,r);var u,c,f,s=function(t){if(t===o&&p)return p;if(!In&&t in v)return v[t];switch(t){case Fn:case Nn:case qn:return function(){return new e(this,t)}}return function(){return new e(this)}},l=n+" Iterator",h=!1,v=t.prototype,d=v[Bn]||v["@@iterator"]||o&&v[o],p=!In&&d||s(o),y="Array"==n&&v.entries||d;if(y&&(u=wn(y.call(new t)),Un!==Object.prototype&&u.next&&(Dn(u,l,!0,!0),Cn[l]=zn)),o==Nn&&d&&d.name!==Nn&&(h=!0,p=function(){return d.call(this)}),a&&v[Bn]!==p&&F(v,Bn,p),Cn[n]=p,o)if(c={values:s(Nn),keys:i?p:s(Fn),entries:s(qn)},a)for(f in c)(In||h||!(f in v))&&Ln(v,f,c[f]);else z({target:n,proto:!0,forced:In||h},c);return c},Hn=Kt.charAt,Wn="String Iterator",Vn=pn.set,Jn=pn.getterFor(Wn);Gn(String,"String",(function(t){Vn(this,{type:Wn,string:String(t),index:0})}),(function(){var t,n=Jn(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=Hn(e,r),n.index+=t.length,{value:t,done:!1})}));var Yn="Array Iterator",Xn=pn.set,Kn=pn.getterFor(Yn);Gn(Array,"Array",(function(t,n){Xn(this,{type:Yn,target:y(t),index:0,kind:n})}),(function(){var t=Kn(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");Cn.Arguments=Cn.Array;var Qn=Wt("toStringTag");for(var Zn in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var te=o[Zn],ne=te&&te.prototype;ne&&An(ne)!==Qn&&F(ne,Qn,Zn),Cn[Zn]=Cn.Array}var ee,re,oe=Vt.f("iterator"),ie=oe,ae=Array.isArray||function(t){return"Array"==h(t)},ue=function(t,n,e){var r=m(n);r in t?B.f(t,r,s(0,e)):t[r]=e},ce=Wt("species"),fe=function(t,n){var e;return ae(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[ce])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},se=H("navigator","userAgent")||"",le=o.process,he=le&&le.versions,ve=he&&he.v8;ve?re=(ee=ve.split("."))[0]+ee[1]:se&&(!(ee=se.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=se.match(/Chrome\/(\d+)/))&&(re=ee[1]);var de=re&&+re,pe=Wt("species"),ye=function(t){return de>=51||!i((function(){var n=[];return(n.constructor={})[pe]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},ge=Wt("isConcatSpreadable"),me=9007199254740991,be="Maximum allowed index exceeded",we=de>=51||!i((function(){var t=[];return t[ge]=!1,t.concat()[0]!==t})),$e=ye("concat"),Se=function(t){if(!g(t))return!1;var n=t[ge];return void 0!==n?!!n:ae(t)};z({target:"Array",proto:!0,forced:!we||!$e},{concat:function(t){var n,e,r,o,i,a=yn(this),u=fe(a,0),c=0;for(n=-1,r=arguments.length;n<r;n++)if(Se(i=-1===n?a:arguments[n])){if(c+(o=X(i.length))>me)throw TypeError(be);for(e=0;e<o;e++,c++)e in i&&ue(u,c,i[e])}else{if(c>=me)throw TypeError(be);ue(u,c++,i)}return u.length=c,u}});var Te=it.concat("length","prototype"),xe={f:Object.getOwnPropertyNames||function(t){return ot(t,Te)}},ke=xe.f,Ee={}.toString,Ae="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Oe={f:function(t){return Ae&&"[object Window]"==Ee.call(t)?function(t){try{return ke(t)}catch(t){return Ae.slice()}}(t):ke(y(t))}},je={f:Object.getOwnPropertySymbols},_e=[].push,De=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,f,s){for(var l,h,v=yn(u),p=d(v),y=L(c,f,3),g=X(p.length),m=0,b=s||fe,w=n?b(u,g):e?b(u,0):void 0;g>m;m++)if((a||m in p)&&(h=y(l=p[m],m,v),t))if(n)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:_e.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},Ce={forEach:De(0),map:De(1),filter:De(2),some:De(3),every:De(4),find:De(5),findIndex:De(6)},Pe=Ce.forEach,Me=gt("hidden"),Re="Symbol",Le=Wt("toPrimitive"),Ue=pn.set,Ie=pn.getterFor(Re),Be=Object.prototype,Fe=o.Symbol,Ne=H("JSON","stringify"),qe=E.f,ze=B.f,Ge=Oe.f,He=f.f,We=ht("symbols"),Ve=ht("op-symbols"),Je=ht("string-to-symbol-registry"),Ye=ht("symbol-to-string-registry"),Xe=ht("wks"),Ke=o.QObject,Qe=!Ke||!Ke.prototype||!Ke.prototype.findChild,Ze=a&&i((function(){return 7!=St(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=qe(Be,n);r&&delete Be[n],ze(t,n,e),r&&t!==Be&&ze(Be,n,r)}:ze,tr=function(t,n){var e=We[t]=St(Fe.prototype);return Ue(e,{type:Re,tag:t,description:n}),a||(e.description=n),e},nr=qt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Fe},er=function(t,n,e){t===Be&&er(Ve,n,e),U(t);var r=m(n,!0);return U(e),w(We,r)?(e.enumerable?(w(t,Me)&&t[Me][r]&&(t[Me][r]=!1),e=St(e,{enumerable:s(0,!1)})):(w(t,Me)||ze(t,Me,s(1,{})),t[Me][r]=!0),Ze(t,r,e)):ze(t,r,e)},rr=function(t,n){U(t);var e=y(n),r=at(e).concat(ur(e));return Pe(r,(function(n){a&&!or.call(e,n)||er(t,n,e[n])})),t},or=function(t){var n=m(t,!0),e=He.call(this,n);return!(this===Be&&w(We,n)&&!w(Ve,n))&&(!(e||!w(this,n)||!w(We,n)||w(this,Me)&&this[Me][n])||e)},ir=function(t,n){var e=y(t),r=m(n,!0);if(e!==Be||!w(We,r)||w(Ve,r)){var o=qe(e,r);return!o||!w(We,r)||w(e,Me)&&e[Me][r]||(o.enumerable=!0),o}},ar=function(t){var n=Ge(y(t)),e=[];return Pe(n,(function(t){w(We,t)||w(et,t)||e.push(t)})),e},ur=function(t){var n=t===Be,e=Ge(n?Ve:y(t)),r=[];return Pe(e,(function(t){!w(We,t)||n&&!w(Be,t)||r.push(We[t])})),r};if(Nt||(Ln((Fe=function(){if(this instanceof Fe)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=pt(t),e=function(t){this===Be&&e.call(Ve,t),w(this,Me)&&w(this[Me],n)&&(this[Me][n]=!1),Ze(this,n,s(1,t))};return a&&Qe&&Ze(Be,n,{configurable:!0,set:e}),tr(n,t)}).prototype,"toString",(function(){return Ie(this).tag})),Ln(Fe,"withoutSetter",(function(t){return tr(pt(t),t)})),f.f=or,B.f=er,E.f=ir,xe.f=Oe.f=ar,je.f=ur,Vt.f=function(t){return tr(Wt(t),t)},a&&ze(Fe.prototype,"description",{configurable:!0,get:function(){return Ie(this).description}})),z({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Fe}),Pe(at(Xe),(function(t){Yt(t)})),z({target:Re,stat:!0,forced:!Nt},{for:function(t){var n=String(t);if(w(Je,n))return Je[n];var e=Fe(n);return Je[n]=e,Ye[e]=n,e},keyFor:function(t){if(!nr(t))throw TypeError(t+" is not a symbol");if(w(Ye,t))return Ye[t]},useSetter:function(){Qe=!0},useSimple:function(){Qe=!1}}),z({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,n){return void 0===n?St(t):rr(St(t),n)},defineProperty:er,defineProperties:rr,getOwnPropertyDescriptor:ir}),z({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:ar,getOwnPropertySymbols:ur}),z({target:"Object",stat:!0,forced:i((function(){je.f(1)}))},{getOwnPropertySymbols:function(t){return je.f(yn(t))}}),Ne){var cr=!Nt||i((function(){var t=Fe();return"[null]"!=Ne([t])||"{}"!=Ne({a:t})||"{}"!=Ne(Object(t))}));z({target:"JSON",stat:!0,forced:cr},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(g(n)||void 0!==t)&&!nr(t))return ae(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!nr(n))return n}),o[1]=n,Ne.apply(null,o)}})}Fe.prototype[Le]||F(Fe.prototype,Le,Fe.prototype.valueOf),Dn(Fe,Re),et[Me]=!0,Yt("asyncIterator"),Yt("hasInstance"),Yt("isConcatSpreadable"),Yt("match"),Yt("matchAll"),Yt("replace"),Yt("search"),Yt("species"),Yt("split"),Yt("toPrimitive"),Yt("toStringTag"),Yt("unscopables"),Dn(Math,"Math",!0),Dn(o.JSON,"JSON",!0);var fr=M.Symbol;Yt("asyncDispose"),Yt("dispose"),Yt("observable"),Yt("patternMatch"),Yt("replaceAll");var sr=fr;function lr(t){return(lr="function"==typeof sr&&"symbol"==typeof ie?function(t){return typeof t}:function(t){return t&&"function"==typeof sr&&t.constructor===sr&&t!==sr.prototype?"symbol":typeof t})(t)}function hr(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vr(t,n){return!n||"object"!==lr(n)&&"function"!=typeof n?hr(t):n}var dr=i((function(){wn(1)}));z({target:"Object",stat:!0,forced:dr,sham:!gn},{getPrototypeOf:function(t){return wn(yn(t))}});var pr=M.Object.getPrototypeOf,yr=pr;function gr(t){return(gr=It?yr:function(t){return t.__proto__||yr(t)})(t)}var mr=function(t,n,e){for(var r in n)e&&e.unsafe&&t[r]?t[r]=n[r]:Ln(t,r,n[r],e);return t},br=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=n((function(t){var n=B.f,e=pt("meta"),r=0,o=Object.isExtensible||function(){return!0},i=function(t){n(t,e,{value:{objectID:"O"+ ++r,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,e)){if(!o(t))return"F";if(!n)return"E";i(t)}return t[e].objectID},getWeakData:function(t,n){if(!w(t,e)){if(!o(t))return!0;if(!n)return!1;i(t)}return t[e].weakData},onFreeze:function(t){return br&&a.REQUIRED&&o(t)&&!w(t,e)&&i(t),t}};et[e]=!0})),$r=Wt("iterator"),Sr=Array.prototype,Tr=function(t){return void 0!==t&&(Cn.Array===t||Sr[$r]===t)},xr=Wt("iterator"),kr=function(t){if(null!=t)return t[xr]||t["@@iterator"]||Cn[An(t)]},Er=function(t,n,e,r){try{return r?n(U(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&U(o.call(t)),n}},Ar=n((function(t){var n=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,e,r,o,i){var a,u,c,f,s,l,h,v=L(e,r,o?2:1);if(i)a=t;else{if("function"!=typeof(u=kr(t)))throw TypeError("Target is not iterable");if(Tr(u)){for(c=0,f=X(t.length);f>c;c++)if((s=o?v(U(h=t[c])[0],h[1]):v(t[c]))&&s instanceof n)return s;return new n(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(s=Er(a,v,h.value,o))&&s&&s instanceof n)return s;return new n(!1)}).stop=function(t){return new n(!0,t)}})),Or=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t},jr=B.f,_r=Ce.forEach,Dr=pn.set,Cr=pn.getterFor,Pr=function(t,n,e){var r,u=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),f=u?"set":"add",s=o[t],l=s&&s.prototype,h={};if(a&&"function"==typeof s&&(c||l.forEach&&!i((function(){(new s).entries().next()})))){r=n((function(n,e){Dr(Or(n,r,t),{type:t,collection:new s}),null!=e&&Ar(e,n[f],n,u)}));var v=Cr(t);_r(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var n="add"==t||"set"==t;!(t in l)||c&&"clear"==t||F(r.prototype,t,(function(e,r){var o=v(this).collection;if(!n&&c&&!g(e))return"get"==t&&void 0;var i=o[t](0===e?0:e,r);return n?this:i}))})),c||jr(r.prototype,"size",{configurable:!0,get:function(){return v(this).collection.size}})}else r=e.getConstructor(n,t,u,f),wr.REQUIRED=!0;return Dn(r,t,!1,!0),h[t]=r,z({global:!0,forced:!0},h),c||e.setStrong(r,t,u),r},Mr=wr.getWeakData,Rr=pn.set,Lr=pn.getterFor,Ur=Ce.find,Ir=Ce.findIndex,Br=0,Fr=function(t){return t.frozen||(t.frozen=new Nr)},Nr=function(){this.entries=[]},qr=function(t,n){return Ur(t.entries,(function(t){return t[0]===n}))};Nr.prototype={get:function(t){var n=qr(this,t);if(n)return n[1]},has:function(t){return!!qr(this,t)},set:function(t,n){var e=qr(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=Ir(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}};var zr={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Rr(t,{type:n,id:Br++,frozen:void 0}),null!=i&&Ar(i,t[r],t,e)})),i=Lr(n),a=function(t,n,e){var r=i(t),o=Mr(U(n),!0);return!0===o?Fr(r).set(n,e):o[r.id]=e,t};return mr(o.prototype,{delete:function(t){var n=i(this);if(!g(t))return!1;var e=Mr(t);return!0===e?Fr(n).delete(t):e&&w(e,n.id)&&delete e[n.id]},has:function(t){var n=i(this);if(!g(t))return!1;var e=Mr(t);return!0===e?Fr(n).has(t):e&&w(e,n.id)}}),mr(o.prototype,e?{get:function(t){var n=i(this);if(g(t)){var e=Mr(t);return!0===e?Fr(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return a(this,t,n)}}:{add:function(t){return a(this,t,!0)}}),o}},Gr=(n((function(t){var n,e=pn.enforce,r=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Pr("WeakMap",a,zr);if(on&&r){n=zr.getConstructor(a,"WeakMap",!0),wr.REQUIRED=!0;var c=u.prototype,f=c.delete,s=c.has,l=c.get,h=c.set;mr(c,{delete:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),f.call(this,t)||r.frozen.delete(t)}return f.call(this,t)},has:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)||r.frozen.has(t)}return s.call(this,t)},get:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)?l.call(this,t):r.frozen.get(t)}return l.call(this,t)},set:function(t,r){if(g(t)&&!i(t)){var o=e(this);o.frozen||(o.frozen=new n),s.call(this,t)?h.call(this,t,r):o.frozen.set(t,r)}else h.call(this,t,r);return this}})}})),M.WeakMap),Hr=function(t){var n=kr(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return U(n.call(t))},Wr=Hr;z({target:"Array",stat:!0},{isArray:ae});var Vr=M.Array.isArray,Jr=Vr,Yr=kr,Xr=fr,Kr=function(t){var n,e,r,o,i,a,u=yn(t),c="function"==typeof this?this:Array,f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=kr(u),v=0;if(l&&(s=L(s,f>2?arguments[2]:void 0,2)),null==h||c==Array&&Tr(h))for(e=new c(n=X(u.length));n>v;v++)a=l?s(u[v],v):u[v],ue(e,v,a);else for(i=(o=h.call(u)).next,e=new c;!(r=i.call(o)).done;v++)a=l?Er(o,s,[r.value,v],!0):r.value,ue(e,v,a);return e.length=v,e},Qr=Wt("iterator"),Zr=!1;try{var to=0,no={next:function(){return{done:!!to++}},return:function(){Zr=!0}};no[Qr]=function(){return this},Array.from(no,(function(){throw 2}))}catch(t){}var eo=function(t,n){if(!n&&!Zr)return!1;var e=!1;try{var r={};r[Qr]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},ro=!eo((function(t){Array.from(t)}));z({target:"Array",stat:!0,forced:ro},{from:Kr});var oo=M.Array.from,io=oo;function ao(t,n){var e=n.get(t);if(!e)throw new TypeError("attempted to get private field on non-instance");return e.get?e.get.call(t):e.value}z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:B.f});var uo=n((function(t){var n=M.Object,e=t.exports=function(t,e,r){return n.defineProperty(t,e,r)};n.defineProperty.sham&&(e.sham=!0)})),co=uo;function fo(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),co(t,r.key,r)}}function so(t,n,e){return n&&fo(t.prototype,n),e&&fo(t,e),t}var lo=Object.defineProperty,ho={},vo=function(t){throw t},po=function(t,n){if(w(ho,t))return ho[t];n||(n={});var e=[][t],r=!!w(n,"ACCESSORS")&&n.ACCESSORS,o=w(n,0)?n[0]:vo,u=w(n,1)?n[1]:void 0;return ho[t]=!!e&&!i((function(){if(r&&!a)return!0;var t={length:-1};r?lo(t,1,{enumerable:!0,get:vo}):t[1]=1,e.call(t,o,u)}))},yo=ye("slice"),go=po("slice",{ACCESSORS:!0,0:0,1:2}),mo=Wt("species"),bo=[].slice,wo=Math.max;z({target:"Array",proto:!0,forced:!yo||!go},{slice:function(t,n){var e,r,o,i=y(this),a=X(i.length),u=Z(t,a),c=Z(void 0===n?a:n,a);if(ae(i)&&("function"!=typeof(e=i.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[mo])&&(e=void 0):e=void 0,e===Array||void 0===e))return bo.call(i,u,c);for(r=new(void 0===e?Array:e)(wo(c-u,0)),o=0;u<c;u++,o++)u in i&&ue(r,o,i[u]);return r.length=o,r}});var $o=function(t){return M[t+"Prototype"]},So=$o("Array").slice,To=Array.prototype,xo=function(t){var n=t.slice;return t===To||t instanceof Array&&n===To.slice?So:n},ko=xo,Eo=uo;z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:ut});var Ao=n((function(t){var n=M.Object,e=t.exports=function(t,e){return n.defineProperties(t,e)};n.defineProperties.sham&&(e.sham=!0)})),Oo=H("Reflect","ownKeys")||function(t){var n=xe.f(U(t)),e=je.f;return e?n.concat(e(t)):n};z({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var n,e,r=y(t),o=E.f,i=Oo(r),a={},u=0;i.length>u;)void 0!==(e=o(r,n=i[u++]))&&ue(a,n,e);return a}});var jo=M.Object.getOwnPropertyDescriptors,_o=function(t,n){var e=[][t];return!!e&&i((function(){e.call(null,n||function(){throw 1},1)}))},Do=Ce.forEach,Co=_o("forEach"),Po=po("forEach"),Mo=Co&&Po?[].forEach:function(t){return Do(this,t,arguments.length>1?arguments[1]:void 0)};z({target:"Array",proto:!0,forced:[].forEach!=Mo},{forEach:Mo});var Ro=$o("Array").forEach,Lo=Array.prototype,Uo={DOMTokenList:!0,NodeList:!0},Io=function(t){var n=t.forEach;return t===Lo||t instanceof Array&&n===Lo.forEach||Uo.hasOwnProperty(An(t))?Ro:n},Bo=E.f,Fo=i((function(){Bo(1)}));z({target:"Object",stat:!0,forced:!a||Fo,sham:!a},{getOwnPropertyDescriptor:function(t,n){return Bo(y(t),n)}});var No=n((function(t){var n=M.Object,e=t.exports=function(t,e){return n.getOwnPropertyDescriptor(t,e)};n.getOwnPropertyDescriptor.sham&&(e.sham=!0)})),qo=Ce.filter,zo=ye("filter"),Go=po("filter");z({target:"Array",proto:!0,forced:!zo||!Go},{filter:function(t){return qo(this,t,arguments.length>1?arguments[1]:void 0)}});var Ho=$o("Array").filter,Wo=Array.prototype,Vo=function(t){var n=t.filter;return t===Wo||t instanceof Array&&n===Wo.filter?Ho:n},Jo=M.Object.getOwnPropertySymbols,Yo=Jo;function Xo(t,n,e){return n in t?co(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var Ko=nt.indexOf,Qo=[].indexOf,Zo=!!Qo&&1/[1].indexOf(1,-0)<0,ti=_o("indexOf"),ni=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:Zo||!ti||!ni},{indexOf:function(t){return Zo?Qo.apply(this,arguments)||0:Ko(this,t,arguments.length>1?arguments[1]:void 0)}});var ei=$o("Array").indexOf,ri=Array.prototype,oi=function(t){var n=t.indexOf;return t===ri||t instanceof Array&&n===ri.indexOf?ei:n},ii=oi,ai=Jo,ui=i((function(){at(1)}));z({target:"Object",stat:!0,forced:ui},{keys:function(t){return at(yn(t))}});var ci=M.Object.keys,fi=ci;function si(t,n){if(null==t)return{};var e,r,o=function(t,n){if(null==t)return{};var e,r,o={},i=fi(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||(o[e]=t[e]);return o}(t,n);if(ai){var i=ai(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}var li=ci,hi=$o("Array").keys,vi=Array.prototype,di={DOMTokenList:!0,NodeList:!0},pi=function(t){var n=t.keys;return t===vi||t instanceof Array&&n===vi.keys||di.hasOwnProperty(An(t))?hi:n},yi=$o("Array").concat,gi=Array.prototype,mi=function(t){var n=t.concat;return t===gi||t instanceof Array&&n===gi.concat?yi:n},bi=f.f,wi=function(t){return function(n){for(var e,r=y(n),o=at(r),i=o.length,u=0,c=[];i>u;)e=o[u++],a&&!bi.call(r,e)||c.push(t?[e,r[e]]:r[e]);return c}},$i={entries:wi(!0),values:wi(!1)}.entries;z({target:"Object",stat:!0},{entries:function(t){return $i(t)}});var Si=M.Object.entries,Ti=nt.includes,xi=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:!xi},{includes:function(t){return Ti(this,t,arguments.length>1?arguments[1]:void 0)}});var ki=$o("Array").includes,Ei=Wt("match"),Ai=function(t){if(function(t){var n;return g(t)&&(void 0!==(n=t[Ei])?!!n:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},Oi=Wt("match");z({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[Oi]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(p(this)).indexOf(Ai(t),arguments.length>1?arguments[1]:void 0)}});var ji=$o("String").includes,_i=Array.prototype,Di=String.prototype,Ci=function(t){var n=t.includes;return t===_i||t instanceof Array&&n===_i.includes?ki:"string"==typeof t||t===Di||t instanceof String&&n===Di.includes?ji:n},Pi=Vr;var Mi=Wt("iterator"),Ri=function(t){var n=Object(t);return void 0!==n[Mi]||"@@iterator"in n||Cn.hasOwnProperty(An(n))};var Li=oo,Ui=xo;function Ii(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Bi(t,n){var e;if(t){if("string"==typeof t)return Ii(t,n);var r=Ui(e=Object.prototype.toString.call(t)).call(e,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Li(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ii(t,n):void 0}}function Fi(t,n){return function(t){if(Pi(t))return t}(t)||function(t,n){if(void 0!==sr&&Ri(Object(t))){var e=[],r=!0,o=!1,i=void 0;try{for(var a,u=Wr(t);!(r=(a=u.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return e}}(t,n)||Bi(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ni=Ce.map,qi=ye("map"),zi=po("map");z({target:"Array",proto:!0,forced:!qi||!zi},{map:function(t){return Ni(this,t,arguments.length>1?arguments[1]:void 0)}});var Gi=$o("Array").map,Hi=Array.prototype,Wi=function(t){var n=t.map;return t===Hi||t instanceof Array&&n===Hi.map?Gi:n},Vi=Wt("species"),Ji=function(t){var n=H(t),e=B.f;a&&n&&!n[Vi]&&e(n,Vi,{configurable:!0,get:function(){return this}})},Yi=B.f,Xi=wr.fastKey,Ki=pn.set,Qi=pn.getterFor,Zi={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Ki(t,{type:n,index:St(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Ar(i,t[r],t,e)})),i=Qi(n),u=function(t,n,e){var r,o,u=i(t),f=c(t,n);return f?f.value=e:(u.last=f={index:o=Xi(n,!0),key:n,value:e,previous:r=u.last,next:void 0,removed:!1},u.first||(u.first=f),r&&(r.next=f),a?u.size++:t.size++,"F"!==o&&(u.index[o]=f)),t},c=function(t,n){var e,r=i(t),o=Xi(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return mr(o.prototype,{clear:function(){for(var t=i(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var n=this,e=i(n),r=c(n,t);if(r){var o=r.next,u=r.previous;delete e.index[r.index],r.removed=!0,u&&(u.next=o),o&&(o.previous=u),e.first==r&&(e.first=o),e.last==r&&(e.last=u),a?e.size--:n.size--}return!!r},forEach:function(t){for(var n,e=i(this),r=L(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!c(this,t)}}),mr(o.prototype,e?{get:function(t){var n=c(this,t);return n&&n.value},set:function(t,n){return u(this,0===t?0:t,n)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Yi(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,n,e){var r=n+" Iterator",o=Qi(n),i=Qi(r);Gn(t,n,(function(t,n){Ki(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),Ji(n)}},ta=(Pr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi),M.Set);function na(t){return function(t){if(Pi(t))return Ii(t)}(t)||function(t){if(void 0!==sr&&Ri(Object(t)))return Li(t)}(t)||Bi(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}z({target:"Reflect",stat:!0},{get:function t(n,e){var r,o,i=arguments.length<3?n:arguments[2];return U(n)===i?n[e]:(r=E.f(n,e))?w(r,"value")?r.value:void 0===r.get?void 0:r.get.call(i):g(o=wn(n))?t(o,e,i):void 0}});M.Reflect.get,Pr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi);var ea=M.Map;z({target:"Map",stat:!0},{from:function(t){var n,e,r,o,i=arguments.length,a=i>1?arguments[1]:void 0;return R(this),(n=void 0!==a)&&R(a),null==t?new this:(e=[],n?(r=0,o=L(a,i>2?arguments[2]:void 0,2),Ar(t,(function(t){e.push(o(t,r++))}))):Ar(t,e.push,e),new this(e))}});z({target:"Map",stat:!0},{of:function(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}});var ra=function(){for(var t,n=U(this),e=R(n.delete),r=!0,o=0,i=arguments.length;o<i;o++)t=e.call(n,arguments[o]),r=r&&t;return!!r};z({target:"Map",proto:!0,real:!0,forced:ft},{deleteAll:function(){return ra.apply(this,arguments)}});var oa=Hr;z({target:"Map",proto:!0,real:!0,forced:ft},{every:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return!Ar(e,(function(t,e){if(!r(e,t,n))return Ar.stop()}),void 0,!0,!0).stopped}});var ia=Wt("species"),aa=function(t,n){var e,r=U(t).constructor;return void 0===r||null==(e=U(r)[ia])?n:R(e)};z({target:"Map",proto:!0,real:!0,forced:ft},{filter:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=R(o.set);return Ar(e,(function(t,e){r(e,t,n)&&i.call(o,t,e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{find:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Ar(e,(function(t,e){if(r(e,t,n))return Ar.stop(e)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{findKey:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Ar(e,(function(t,e){if(r(e,t,n))return Ar.stop(t)}),void 0,!0,!0).result}}),z({target:"Map",stat:!0},{groupBy:function(t,n){var e=new this;R(n);var r=R(e.has),o=R(e.get),i=R(e.set);return Ar(t,(function(t){var a=n(t);r.call(e,a)?o.call(e,a).push(t):i.call(e,a,[t])})),e}});z({target:"Map",proto:!0,real:!0,forced:ft},{includes:function(t){return Ar(oa(U(this)),(function(n,e){if((r=e)===(o=t)||r!=r&&o!=o)return Ar.stop();var r,o}),void 0,!0,!0).stopped}}),z({target:"Map",stat:!0},{keyBy:function(t,n){var e=new this;R(n);var r=R(e.set);return Ar(t,(function(t){r.call(e,n(t),t)})),e}}),z({target:"Map",proto:!0,real:!0,forced:ft},{keyOf:function(t){return Ar(oa(U(this)),(function(n,e){if(e===t)return Ar.stop(n)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapKeys:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=R(o.set);return Ar(e,(function(t,e){i.call(o,r(e,t,n),e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapValues:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=R(o.set);return Ar(e,(function(t,e){i.call(o,t,r(e,t,n))}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{merge:function(t){for(var n=U(this),e=R(n.set),r=0;r<arguments.length;)Ar(arguments[r++],e,n,!0);return n}}),z({target:"Map",proto:!0,real:!0,forced:ft},{reduce:function(t){var n=U(this),e=oa(n),r=arguments.length<2,o=r?void 0:arguments[1];if(R(t),Ar(e,(function(e,i){r?(r=!1,o=i):o=t(o,i,e,n)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{some:function(t){var n=U(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Ar(e,(function(t,e){if(r(e,t,n))return Ar.stop()}),void 0,!0,!0).stopped}}),z({target:"Map",proto:!0,real:!0,forced:ft},{update:function(t,n){var e=U(this),r=arguments.length;R(n);var o=e.has(t);if(!o&&r<3)throw TypeError("Updating absent value");var i=o?e.get(t):R(r>2?arguments[2]:void 0)(t,e);return e.set(t,n(i,t,e)),e}});var ua=function(t,n){var e,r=U(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof n&&"function"!=typeof o)throw TypeError("At least one callback required");return r.has(t)?(e=r.get(t),"function"==typeof n&&(e=n(e),r.set(t,e))):"function"==typeof o&&(e=o(),r.set(t,e)),e};z({target:"Map",proto:!0,real:!0,forced:ft},{upsert:ua}),z({target:"Map",proto:!0,real:!0,forced:ft},{updateOrInsert:ua}),z({target:"Function",proto:!0},{bind:Et});$o("Function").bind;z({target:"Array",proto:!0},{fill:function(t){for(var n=yn(this),e=X(n.length),r=arguments.length,o=Z(r>1?arguments[1]:void 0,e),i=r>2?arguments[2]:void 0,a=void 0===i?e:Z(i,e);a>o;)n[o++]=t;return n}});var ca=$o("Array").fill,fa=Array.prototype,sa=function(t){var n=t.fill;return t===fa||t instanceof Array&&n===fa.fill?ca:n},la=H("JSON","stringify"),ha=/[\uD800-\uDFFF]/g,va=/^[\uD800-\uDBFF]$/,da=/^[\uDC00-\uDFFF]$/,pa=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return va.test(t)&&!da.test(o)||da.test(t)&&!va.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},ya=i((function(){return'"\\udf06\\ud834"'!==la("\udf06\ud834")||'"\\udead"'!==la("\udead")}));la&&z({target:"JSON",stat:!0,forced:ya},{stringify:function(t,n,e){var r=la.apply(null,arguments);return"string"==typeof r?r.replace(ha,pa):r}}),M.JSON||(M.JSON={stringify:JSON.stringify});var ga=Object.assign,ma=Object.defineProperty,ba=!ga||i((function(){if(a&&1!==ga({b:1},ga(ma({},"a",{enumerable:!0,get:function(){ma(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=ga({},t)[e]||at(ga({},n)).join("")!=r}))?function(t,n){for(var e=yn(t),r=arguments.length,o=1,i=je.f,u=f.f;r>o;)for(var c,s=d(arguments[o++]),l=i?at(s).concat(i(s)):at(s),h=l.length,v=0;h>v;)c=l[v++],a&&!u.call(s,c)||(e[c]=s[c]);return e}:ga;z({target:"Object",stat:!0,forced:Object.assign!==ba},{assign:ba});var wa=M.Object.assign,$a=ea,Sa="\t\n\v\f\r                 \u2028\u2029\ufeff",Ta="["+Sa+"]",xa=RegExp("^"+Ta+Ta+"*"),ka=RegExp(Ta+Ta+"*$"),Ea=function(t){return function(n){var e=String(p(n));return 1&t&&(e=e.replace(xa,"")),2&t&&(e=e.replace(ka,"")),e}},Aa={start:Ea(1),end:Ea(2),trim:Ea(3)},Oa=Aa.trim,ja=o.parseInt,_a=/^[+-]?0[Xx]/,Da=8!==ja(Sa+"08")||22!==ja(Sa+"0x16")?function(t,n){var e=Oa(String(t));return ja(e,n>>>0||(_a.test(e)?16:10))}:ja;z({global:!0,forced:parseInt!=Da},{parseInt:Da});var Ca=M.parseInt,Pa=ye("splice"),Ma=po("splice",{ACCESSORS:!0,0:0,1:2}),Ra=Math.max,La=Math.min,Ua=9007199254740991,Ia="Maximum allowed length exceeded";z({target:"Array",proto:!0,forced:!Pa||!Ma},{splice:function(t,n){var e,r,o,i,a,u,c=yn(this),f=X(c.length),s=Z(t,f),l=arguments.length;if(0===l?e=r=0:1===l?(e=0,r=f-s):(e=l-2,r=La(Ra(J(n),0),f-s)),f+e-r>Ua)throw TypeError(Ia);for(o=fe(c,r),i=0;i<r;i++)(a=s+i)in c&&ue(o,i,c[a]);if(o.length=r,e<r){for(i=s;i<f-r;i++)u=i+e,(a=i+r)in c?c[u]=c[a]:delete c[u];for(i=f;i>f-r+e;i--)delete c[i-1]}else if(e>r)for(i=f-r;i>s;i--)u=i+e-1,(a=i+r-1)in c?c[u]=c[a]:delete c[u];for(i=0;i<e;i++)c[i+s]=arguments[i+2];return c.length=f-r+e,o}});var Ba,Fa,Na,qa=$o("Array").splice,za=Array.prototype,Ga=function(t){var n=t.splice;return t===za||t instanceof Array&&n===za.splice?qa:n},Ha=oi,Wa=o.Promise,Va=/(iphone|ipod|ipad).*applewebkit/i.test(se),Ja=o.location,Ya=o.setImmediate,Xa=o.clearImmediate,Ka=o.process,Qa=o.MessageChannel,Za=o.Dispatch,tu=0,nu={},eu="onreadystatechange",ru=function(t){if(nu.hasOwnProperty(t)){var n=nu[t];delete nu[t],n()}},ou=function(t){return function(){ru(t)}},iu=function(t){ru(t.data)},au=function(t){o.postMessage(t+"",Ja.protocol+"//"+Ja.host)};Ya&&Xa||(Ya=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return nu[++tu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},Ba(tu),tu},Xa=function(t){delete nu[t]},"process"==h(Ka)?Ba=function(t){Ka.nextTick(ou(t))}:Za&&Za.now?Ba=function(t){Za.now(ou(t))}:Qa&&!Va?(Na=(Fa=new Qa).port2,Fa.port1.onmessage=iu,Ba=L(Na.postMessage,Na,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(au)||"file:"===Ja.protocol?Ba=eu in T("script")?function(t){ct.appendChild(T("script")).onreadystatechange=function(){ct.removeChild(this),ru(t)}}:function(t){setTimeout(ou(t),0)}:(Ba=au,o.addEventListener("message",iu,!1)));var uu,cu,fu,su,lu,hu,vu,du,pu={set:Ya,clear:Xa},yu=E.f,gu=pu.set,mu=o.MutationObserver||o.WebKitMutationObserver,bu=o.process,wu=o.Promise,$u="process"==h(bu),Su=yu(o,"queueMicrotask"),Tu=Su&&Su.value;Tu||(uu=function(){var t,n;for($u&&(t=bu.domain)&&t.exit();cu;){n=cu.fn,cu=cu.next;try{n()}catch(t){throw cu?su():fu=void 0,t}}fu=void 0,t&&t.enter()},$u?su=function(){bu.nextTick(uu)}:mu&&!Va?(lu=!0,hu=document.createTextNode(""),new mu(uu).observe(hu,{characterData:!0}),su=function(){hu.data=lu=!lu}):wu&&wu.resolve?(vu=wu.resolve(void 0),du=vu.then,su=function(){du.call(vu,uu)}):su=function(){gu.call(o,uu)});var xu,ku,Eu,Au=Tu||function(t){var n={fn:t,next:void 0};fu&&(fu.next=n),cu||(cu=n,su()),fu=n},Ou=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=R(n),this.reject=R(e)},ju={f:function(t){return new Ou(t)}},_u=function(t,n){if(U(t),g(n)&&n.constructor===t)return n;var e=ju.f(t);return(0,e.resolve)(n),e.promise},Du=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Cu=pu.set,Pu=Wt("species"),Mu="Promise",Ru=pn.get,Lu=pn.set,Uu=pn.getterFor(Mu),Iu=Wa,Bu=o.TypeError,Fu=o.document,Nu=o.process,qu=(H("fetch"),ju.f),zu=qu,Gu="process"==h(Nu),Hu=!!(Fu&&Fu.createEvent&&o.dispatchEvent),Wu="unhandledrejection",Vu=P(Mu,(function(){if(!(en(Iu)!==String(Iu))){if(66===de)return!0;if(!Gu&&"function"!=typeof PromiseRejectionEvent)return!0}if(!Iu.prototype.finally)return!0;if(de>=51&&/native code/.test(Iu))return!1;var t=Iu.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Pu]=n,!(t.then((function(){}))instanceof n)})),Ju=Vu||!eo((function(t){Iu.all(t).catch((function(){}))})),Yu=function(t){var n;return!(!g(t)||"function"!=typeof(n=t.then))&&n},Xu=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;Au((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,h=s.resolve,v=s.reject,d=s.domain;try{l?(i||(2===n.rejection&&tc(t,n),n.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),f=!0)),u===s.promise?v(Bu("Promise-chain cycle")):(c=Yu(u))?c.call(u,h,v):h(u)):v(o)}catch(t){d&&!f&&d.exit(),v(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Qu(t,n)}))}},Ku=function(t,n,e){var r,i;Hu?((r=Fu.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),o.dispatchEvent(r)):r={promise:n,reason:e},(i=o["on"+t])?i(r):t===Wu&&function(t,n){var e=o.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}("Unhandled promise rejection",e)},Qu=function(t,n){Cu.call(o,(function(){var e,r=n.value;if(Zu(n)&&(e=Du((function(){Gu?Nu.emit("unhandledRejection",r,t):Ku(Wu,t,r)})),n.rejection=Gu||Zu(n)?2:1,e.error))throw e.value}))},Zu=function(t){return 1!==t.rejection&&!t.parent},tc=function(t,n){Cu.call(o,(function(){Gu?Nu.emit("rejectionHandled",t):Ku("rejectionhandled",t,n.value)}))},nc=function(t,n,e,r){return function(o){t(n,e,o,r)}},ec=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,Xu(t,n,!0))},rc=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw Bu("Promise can't be resolved itself");var o=Yu(e);o?Au((function(){var r={done:!1};try{o.call(e,nc(rc,t,r,n),nc(ec,t,r,n))}catch(e){ec(t,r,e,n)}})):(n.value=e,n.state=1,Xu(t,n,!1))}catch(e){ec(t,{done:!1},e,n)}}};Vu&&(Iu=function(t){Or(this,Iu,Mu),R(t),xu.call(this);var n=Ru(this);try{t(nc(rc,this,n),nc(ec,this,n))}catch(t){ec(this,n,t)}},(xu=function(t){Lu(this,{type:Mu,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=mr(Iu.prototype,{then:function(t,n){var e=Uu(this),r=qu(aa(this,Iu));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=Gu?Nu.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&Xu(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),ku=function(){var t=new xu,n=Ru(t);this.promise=t,this.resolve=nc(rc,t,n),this.reject=nc(ec,t,n)},ju.f=qu=function(t){return t===Iu||t===Eu?new ku(t):zu(t)}),z({global:!0,wrap:!0,forced:Vu},{Promise:Iu}),Dn(Iu,Mu,!1,!0),Ji(Mu),Eu=H(Mu),z({target:Mu,stat:!0,forced:Vu},{reject:function(t){var n=qu(this);return n.reject.call(void 0,t),n.promise}}),z({target:Mu,stat:!0,forced:ft},{resolve:function(t){return _u(this===Eu?Iu:this,t)}}),z({target:Mu,stat:!0,forced:Ju},{all:function(t){var n=this,e=qu(n),r=e.resolve,o=e.reject,i=Du((function(){var e=R(n.resolve),i=[],a=0,u=1;Ar(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=qu(n),r=e.reject,o=Du((function(){var o=R(n.resolve);Ar(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}}),z({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=ju.f(n),r=e.resolve,o=e.reject,i=Du((function(){var e=R(n.resolve),o=[],i=0,a=1;Ar(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,e.call(n,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||r(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||r(o))}))})),--a||r(o)}));return i.error&&o(i.value),e.promise}});var oc=!!Wa&&i((function(){Wa.prototype.finally.call({then:function(){}},(function(){}))}));z({target:"Promise",proto:!0,real:!0,forced:oc},{finally:function(t){var n=aa(this,H("Promise")),e="function"==typeof t;return this.then(e?function(e){return _u(n,t()).then((function(){return e}))}:t,e?function(e){return _u(n,t()).then((function(){throw e}))}:t)}});var ic=M.Promise;z({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var ac=M.Date.now,uc=Mt;function cc(){}function fc(t){return t()}function sc(){return uc(null)}function lc(t){Io(t).call(t,fc)}function hc(t){return"function"==typeof t}function vc(t,n){return t!=t?n==n:t!==n||t&&"object"===lr(t)||"function"==typeof t}function dc(t){if(null==t)return cc;for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var o=t.subscribe.apply(t,e);return o.unsubscribe?function(){return o.unsubscribe()}:o}function pc(t){var n;return dc(t,(function(t){return n=t}))(),n}function yc(t,n,e){t.$$.on_destroy.push(dc(n,e))}function gc(t,n,e,r){if(t){var o=mc(t,n,e,r);return t[0](o)}}function mc(t,n,e,r){var o;return t[1]&&r?function(t,n){for(var e in n)t[e]=n[e];return t}(ko(o=e.ctx).call(o),t[1](r(n))):e.ctx}function bc(t,n,e,r,o,i,a){var u=function(t,n,e,r){if(t[2]&&r){var o=t[2](r(e));if(void 0===n.dirty)return o;if("object"===lr(o)){for(var i=[],a=Math.max(n.dirty.length,o.length),u=0;u<a;u+=1)i[u]=n.dirty[u]|o[u];return i}return n.dirty|o}return n.dirty}(n,r,o,i);if(u){var c=mc(n,e,r,a);t.p(c,u)}}function wc(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return t.set(e),n}function $c(t){return t&&hc(t.destroy)?t.destroy:cc}new ta;function Sc(t,n){t.appendChild(n)}function Tc(t,n,e){t.insertBefore(n,e||null)}function xc(t){t.parentNode.removeChild(t)}function kc(t,n){for(var e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Ec(t){return document.createElement(t)}function Ac(t){return document.createTextNode(t)}function Oc(){return Ac(" ")}function jc(){return Ac("")}function _c(t,n,e,r){return t.addEventListener(n,e,r),function(){return t.removeEventListener(n,e,r)}}function Dc(t,n,e){null==e?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function Cc(t){return io(t.childNodes)}function Pc(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function Mc(t,n,e,r){t.style.setProperty(n,e,r?"important":"")}var Rc;new ta;function Lc(t){Rc=t}function Uc(){if(!Rc)throw new Error("Function called outside component initialization");return Rc}function Ic(t){Uc().$$.on_mount.push(t)}function Bc(t,n){Uc().$$.context.set(t,n)}function Fc(t){return Uc().$$.context.get(t)}var Nc=[],qc=[],zc=[],Gc=[],Hc=ic.resolve(),Wc=!1;function Vc(){Wc||(Wc=!0,Hc.then(Qc))}function Jc(){return Vc(),Hc}function Yc(t){zc.push(t)}var Xc=!1,Kc=new ta;function Qc(){if(!Xc){Xc=!0;do{for(var t=0;t<Nc.length;t+=1){var n=Nc[t];Lc(n),Zc(n.$$)}for(Lc(null),Nc.length=0;qc.length;)qc.pop()();for(var e=0;e<zc.length;e+=1){var r=zc[e];Kc.has(r)||(Kc.add(r),r())}zc.length=0}while(Nc.length);for(;Gc.length;)Gc.pop()();Wc=!1,Xc=!1,Kc.clear()}}function Zc(t){if(null!==t.fragment){var n;t.update(),lc(t.before_update);var e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),Io(n=t.after_update).call(n,Yc)}}var tf,nf=new ta;function ef(){tf={r:0,c:[],p:tf}}function rf(){tf.r||lc(tf.c),tf=tf.p}function of(t,n){t&&t.i&&(nf.delete(t),t.i(n))}function af(t,n,e,r){if(t&&t.o){if(nf.has(t))return;nf.add(t),tf.c.push((function(){nf.delete(t),r&&(e&&t.d(1),r())})),t.o(n)}}new ta(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function uf(t){t&&t.c()}function cf(t,n,e){var r=t.$$,o=r.fragment,i=r.on_mount,a=r.on_destroy,u=r.after_update;o&&o.m(n,e),Yc((function(){var n,e=Vo(n=Wi(i).call(i,fc)).call(n,hc);a?a.push.apply(a,na(e)):lc(e),t.$$.on_mount=[]})),Io(u).call(u,Yc)}function ff(t,n){var e=t.$$;null!==e.fragment&&(lc(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function sf(t,n){var e;-1===t.$$.dirty[0]&&(Nc.push(t),Vc(),sa(e=t.$$.dirty).call(e,0));t.$$.dirty[n/31|0]|=1<<n%31}function lf(t,n,e,r,o,i){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],u=Rc;Lc(t);var c=n.props||{},f=t.$$={fragment:null,ctx:null,props:i,update:cc,not_equal:o,bound:sc(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new $a(u?u.$$.context:[]),callbacks:sc(),dirty:a,skip_bound:!1},s=!1;if(f.ctx=e?e(t,c,(function(n,e){var r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:e;return f.ctx&&o(f.ctx[n],f.ctx[n]=r)&&(!f.skip_bound&&f.bound[n]&&f.bound[n](r),s&&sf(t,n)),e})):[],f.update(),s=!0,lc(f.before_update),f.fragment=!!r&&r(f.ctx),n.target){if(n.hydrate){var l=Cc(n.target);f.fragment&&f.fragment.l(l),Io(l).call(l,xc)}else f.fragment&&f.fragment.c();n.intro&&of(t.$$.fragment),cf(t,n.target,n.anchor),Qc()}Lc(u)}var hf=function(){function t(){Ct(this,t)}return so(t,[{key:"$destroy",value:function(){ff(this,1),this.$destroy=cc}},{key:"$on",value:function(t,n){var e=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return e.push(n),function(){var t=Ha(e).call(e,n);-1!==t&&Ga(e).call(e,t,1)}}},{key:"$set",value:function(t){this.$$set&&0!==li(t).length&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}]),t}(),vf=[];function df(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,r=[];function o(e){if(vc(t,e)&&(t=e,n)){for(var o=!vf.length,i=0;i<r.length;i+=1){var a=r[i];a[1](),vf.push(a,t)}if(o){for(var u=0;u<vf.length;u+=2)vf[u][0](vf[u+1]);vf.length=0}}}function i(n){o(n(t))}function a(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,u=[i,a];return r.push(u),1===r.length&&(n=e(o)||cc),i(t),function(){var t=Ha(r).call(r,u);-1!==t&&Ga(r).call(r,t,1),0===r.length&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function pf(t,n,e){var r=!Jr(t),o=r?[t]:t,i=n.length<2;return{subscribe:df(e,(function(t){var e=!1,a=[],u=0,c=cc,f=function(){if(!u){c();var e=n(r?a[0]:a,t);i?t(e):c=hc(e)?e:cc}},s=Wi(o).call(o,(function(t,n){return dc(t,(function(t){a[n]=t,u&=~(1<<n),e&&f()}),(function(){u|=1<<n}))}));return e=!0,f(),function(){lc(s),c()}})).subscribe}}var yf=[],gf=yf.sort,mf=i((function(){yf.sort(void 0)})),bf=i((function(){yf.sort(null)})),wf=_o("sort");z({target:"Array",proto:!0,forced:mf||!bf||!wf},{sort:function(t){return void 0===t?gf.call(yn(this)):gf.call(yn(this),R(t))}});var $f=$o("Array").sort,Sf=Array.prototype,Tf=function(t){var n=t.sort;return t===Sf||t instanceof Array&&n===Sf.sort?$f:n},xf=Wt("iterator"),kf=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[xf]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host})),Ef=2147483647,Af=/[^\0-\u007E]/,Of=/[.\u3002\uFF0E\uFF61]/g,jf="Overflow: input needs wider integers to process",_f=Math.floor,Df=String.fromCharCode,Cf=function(t){return t+22+75*(t<26)},Pf=function(t,n,e){var r=0;for(t=e?_f(t/700):t>>1,t+=_f(t/n);t>455;r+=36)t=_f(t/35);return _f(r+36*t/(t+38))},Mf=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,i=128,a=0,u=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(Df(e));var c=r.length,f=c;for(c&&r.push("-");f<o;){var s=Ef;for(n=0;n<t.length;n++)(e=t[n])>=i&&e<s&&(s=e);var l=f+1;if(s-i>_f((Ef-a)/l))throw RangeError(jf);for(a+=(s-i)*l,i=s,n=0;n<t.length;n++){if((e=t[n])<i&&++a>Ef)throw RangeError(jf);if(e==i){for(var h=a,v=36;;v+=36){var d=v<=u?1:v>=u+26?26:v-u;if(h<d)break;var p=h-d,y=36-d;r.push(Df(Cf(d+p%y))),h=_f(p/y)}r.push(Df(Cf(h))),u=Pf(a,l,f==c),a=0,++f}}++a,++i}return r.join("")},Rf=H("fetch"),Lf=H("Headers"),Uf=Wt("iterator"),If="URLSearchParams",Bf="URLSearchParamsIterator",Ff=pn.set,Nf=pn.getterFor(If),qf=pn.getterFor(Bf),zf=/\+/g,Gf=Array(4),Hf=function(t){return Gf[t-1]||(Gf[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},Wf=function(t){try{return decodeURIComponent(t)}catch(n){return t}},Vf=function(t){var n=t.replace(zf," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(Hf(e--),Wf);return n}},Jf=/[!'()~]|%20/g,Yf={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Xf=function(t){return Yf[t]},Kf=function(t){return encodeURIComponent(t).replace(Jf,Xf)},Qf=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:Vf(r.shift()),value:Vf(r.join("="))}))},Zf=function(t){this.entries.length=0,Qf(this.entries,t)},ts=function(t,n){if(t<n)throw TypeError("Not enough arguments")},ns=Rn((function(t,n){Ff(this,{type:Bf,iterator:Hr(Nf(t).entries),kind:n})}),"Iterator",(function(){var t=qf(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),es=function(){Or(this,es,If);var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,l=[];if(Ff(s,{type:If,entries:l,updateURL:function(){},updateSearchParams:Zf}),void 0!==f)if(g(f))if("function"==typeof(t=kr(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=Hr(U(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(c in f)w(f,c)&&l.push({key:c,value:f[c]+""});else Qf(l,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},rs=es.prototype;mr(rs,{append:function(t,n){ts(arguments.length,2);var e=Nf(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){ts(arguments.length,1);for(var n=Nf(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){ts(arguments.length,1);for(var e,r=Nf(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=Nf(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=Nf(this).entries,r=L(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new ns(this,"keys")},values:function(){return new ns(this,"values")},entries:function(){return new ns(this,"entries")}},{enumerable:!0}),Ln(rs,Uf,rs.entries),Ln(rs,"toString",(function(){for(var t,n=Nf(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(Kf(t.key)+"="+Kf(t.value));return e.join("&")}),{enumerable:!0}),Dn(es,If),z({global:!0,forced:!kf},{URLSearchParams:es}),kf||"function"!=typeof Rf||"function"!=typeof Lf||z({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(g(n=arguments[1])&&(e=n.body,An(e)===If&&((r=n.headers?new Lf(n.headers):new Lf).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=St(n,{body:s(0,String(e)),headers:s(0,r)}))),o.push(n)),Rf.apply(this,o)}});var os,is={URLSearchParams:es,getState:Nf},as=Kt.codeAt,us=o.URL,cs=is.URLSearchParams,fs=is.getState,ss=pn.set,ls=pn.getterFor("URL"),hs=Math.floor,vs=Math.pow,ds="Invalid scheme",ps="Invalid host",ys="Invalid port",gs=/[A-Za-z]/,ms=/[\d+-.A-Za-z]/,bs=/\d/,ws=/^(0x|0X)/,$s=/^[0-7]+$/,Ss=/^\d+$/,Ts=/^[\dA-Fa-f]+$/,xs=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,ks=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Es=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,As=/[\u0009\u000A\u000D]/g,Os=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return ps;if(!(e=_s(n.slice(1,-1))))return ps;t.host=e}else if(Is(t)){if(n=function(t){var n,e,r=[],o=t.toLowerCase().replace(Of,".").split(".");for(n=0;n<o.length;n++)e=o[n],r.push(Af.test(e)?"xn--"+Mf(e):e);return r.join(".")}(n),xs.test(n))return ps;if(null===(e=js(n)))return ps;t.host=e}else{if(ks.test(n))return ps;for(e="",r=Kr(n),o=0;o<r.length;o++)e+=Ls(r[o],Cs);t.host=e}},js=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=ws.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Ss:8==i?$s:Ts).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=vs(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*vs(256,3-r);return u},_s=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;h();){if(8==f)return;if(":"!=h()){for(n=e=0;e<4&&Ts.test(h());)n=16*n+parseInt(h(),16),l++,e++;if("."==h()){if(0==e)return;if(l-=e,f>6)return;for(r=0;h();){if(o=null,r>0){if(!("."==h()&&r<4))return;l++}if(!bs.test(h()))return;for(;bs.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},Ds=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=hs(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},Cs={},Ps=ba({},Cs,{" ":1,'"':1,"<":1,">":1,"`":1}),Ms=ba({},Ps,{"#":1,"?":1,"{":1,"}":1}),Rs=ba({},Ms,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ls=function(t,n){var e=as(t,0);return e>32&&e<127&&!w(n,t)?t:encodeURIComponent(t)},Us={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Is=function(t){return w(Us,t.scheme)},Bs=function(t){return""!=t.username||""!=t.password},Fs=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Ns=function(t,n){var e;return 2==t.length&&gs.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},qs=function(t){var n;return t.length>1&&Ns(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},zs=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&Ns(n[0],!0)||n.pop()},Gs=function(t){return"."===t||"%2e"===t.toLowerCase()},Hs={},Ws={},Vs={},Js={},Ys={},Xs={},Ks={},Qs={},Zs={},tl={},nl={},el={},rl={},ol={},il={},al={},ul={},cl={},fl={},sl={},ll={},hl=function(t,n,e,r){var o,i,a,u,c,f=e||Hs,s=0,l="",h=!1,v=!1,d=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(Es,"")),n=n.replace(As,""),o=Kr(n);s<=o.length;){switch(i=o[s],f){case Hs:if(!i||!gs.test(i)){if(e)return ds;f=Vs;continue}l+=i.toLowerCase(),f=Ws;break;case Ws:if(i&&(ms.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(e)return ds;l="",f=Vs,s=0;continue}if(e&&(Is(t)!=w(Us,l)||"file"==l&&(Bs(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,e)return void(Is(t)&&Us[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?f=ol:Is(t)&&r&&r.scheme==t.scheme?f=Js:Is(t)?f=Qs:"/"==o[s+1]?(f=Ys,s++):(t.cannotBeABaseURL=!0,t.path.push(""),f=fl)}break;case Vs:if(!r||r.cannotBeABaseURL&&"#"!=i)return ds;if(r.cannotBeABaseURL&&"#"==i){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,f=ll;break}f="file"==r.scheme?ol:Xs;continue;case Js:if("/"!=i||"/"!=o[s+1]){f=Xs;continue}f=Zs,s++;break;case Ys:if("/"==i){f=tl;break}f=cl;continue;case Xs:if(t.scheme=r.scheme,i==os)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==i||"\\"==i&&Is(t))f=Ks;else if("?"==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),f=cl;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}break;case Ks:if(!Is(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,f=cl;continue}f=tl}else f=Zs;break;case Qs:if(f=Zs,"/"!=i||"/"!=l.charAt(s+1))continue;s++;break;case Zs:if("/"!=i&&"\\"!=i){f=tl;continue}break;case tl:if("@"==i){h&&(l="%40"+l),h=!0,a=Kr(l);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||d){var g=Ls(y,Rs);d?t.password+=g:t.username+=g}else d=!0}l=""}else if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Is(t)){if(h&&""==l)return"Invalid authority";s-=Kr(l).length+1,l="",f=nl}else l+=i;break;case nl:case el:if(e&&"file"==t.scheme){f=al;continue}if(":"!=i||v){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Is(t)){if(Is(t)&&""==l)return ps;if(e&&""==l&&(Bs(t)||null!==t.port))return;if(u=Os(t,l))return u;if(l="",f=ul,e)return;continue}"["==i?v=!0:"]"==i&&(v=!1),l+=i}else{if(""==l)return ps;if(u=Os(t,l))return u;if(l="",f=rl,e==el)return}break;case rl:if(!bs.test(i)){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Is(t)||e){if(""!=l){var m=parseInt(l,10);if(m>65535)return ys;t.port=Is(t)&&m===Us[t.scheme]?null:m,l=""}if(e)return;f=ul;continue}return ys}l+=i;break;case ol:if(t.scheme="file","/"==i||"\\"==i)f=il;else{if(!r||"file"!=r.scheme){f=cl;continue}if(i==os)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==i)t.host=r.host,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){qs(o.slice(s).join(""))||(t.host=r.host,t.path=r.path.slice(),zs(t)),f=cl;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}}break;case il:if("/"==i||"\\"==i){f=al;break}r&&"file"==r.scheme&&!qs(o.slice(s).join(""))&&(Ns(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),f=cl;continue;case al:if(i==os||"/"==i||"\\"==i||"?"==i||"#"==i){if(!e&&Ns(l))f=cl;else if(""==l){if(t.host="",e)return;f=ul}else{if(u=Os(t,l))return u;if("localhost"==t.host&&(t.host=""),e)return;l="",f=ul}continue}l+=i;break;case ul:if(Is(t)){if(f=cl,"/"!=i&&"\\"!=i)continue}else if(e||"?"!=i)if(e||"#"!=i){if(i!=os&&(f=cl,"/"!=i))continue}else t.fragment="",f=ll;else t.query="",f=sl;break;case cl:if(i==os||"/"==i||"\\"==i&&Is(t)||!e&&("?"==i||"#"==i)){if(".."===(c=(c=l).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(zs(t),"/"==i||"\\"==i&&Is(t)||t.path.push("")):Gs(l)?"/"==i||"\\"==i&&Is(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Ns(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==os||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",f=sl):"#"==i&&(t.fragment="",f=ll)}else l+=Ls(i,Ms);break;case fl:"?"==i?(t.query="",f=sl):"#"==i?(t.fragment="",f=ll):i!=os&&(t.path[0]+=Ls(i,Cs));break;case sl:e||"#"!=i?i!=os&&("'"==i&&Is(t)?t.query+="%27":t.query+="#"==i?"%23":Ls(i,Cs)):(t.fragment="",f=ll);break;case ll:i!=os&&(t.fragment+=Ls(i,Ps))}s++}},vl=function(t){var n,e,r=Or(this,vl,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=ss(r,{type:"URL"});if(void 0!==o)if(o instanceof vl)n=ls(o);else if(e=hl(n={},String(o)))throw TypeError(e);if(e=hl(u,i,null,n))throw TypeError(e);var c=u.searchParams=new cs,f=fs(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},a||(r.href=pl.call(r),r.origin=yl.call(r),r.protocol=gl.call(r),r.username=ml.call(r),r.password=bl.call(r),r.host=wl.call(r),r.hostname=$l.call(r),r.port=Sl.call(r),r.pathname=Tl.call(r),r.search=xl.call(r),r.searchParams=kl.call(r),r.hash=El.call(r))},dl=vl.prototype,pl=function(){var t=ls(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Bs(t)&&(f+=e+(r?":"+r:"")+"@"),f+=Ds(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},yl=function(){var t=ls(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&Is(t)?n+"://"+Ds(t.host)+(null!==e?":"+e:""):"null"},gl=function(){return ls(this).scheme+":"},ml=function(){return ls(this).username},bl=function(){return ls(this).password},wl=function(){var t=ls(this),n=t.host,e=t.port;return null===n?"":null===e?Ds(n):Ds(n)+":"+e},$l=function(){var t=ls(this).host;return null===t?"":Ds(t)},Sl=function(){var t=ls(this).port;return null===t?"":String(t)},Tl=function(){var t=ls(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},xl=function(){var t=ls(this).query;return t?"?"+t:""},kl=function(){return ls(this).searchParams},El=function(){var t=ls(this).fragment;return t?"#"+t:""},Al=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(a&&ut(dl,{href:Al(pl,(function(t){var n=ls(this),e=String(t),r=hl(n,e);if(r)throw TypeError(r);fs(n.searchParams).updateSearchParams(n.query)})),origin:Al(yl),protocol:Al(gl,(function(t){var n=ls(this);hl(n,String(t)+":",Hs)})),username:Al(ml,(function(t){var n=ls(this),e=Kr(String(t));if(!Fs(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=Ls(e[r],Rs)}})),password:Al(bl,(function(t){var n=ls(this),e=Kr(String(t));if(!Fs(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=Ls(e[r],Rs)}})),host:Al(wl,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),nl)})),hostname:Al($l,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),el)})),port:Al(Sl,(function(t){var n=ls(this);Fs(n)||(""==(t=String(t))?n.port=null:hl(n,t,rl))})),pathname:Al(Tl,(function(t){var n=ls(this);n.cannotBeABaseURL||(n.path=[],hl(n,t+"",ul))})),search:Al(xl,(function(t){var n=ls(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",hl(n,t,sl)),fs(n.searchParams).updateSearchParams(n.query)})),searchParams:Al(kl),hash:Al(El,(function(t){var n=ls(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",hl(n,t,ll)):n.fragment=null}))}),Ln(dl,"toJSON",(function(){return pl.call(this)}),{enumerable:!0}),Ln(dl,"toString",(function(){return pl.call(this)}),{enumerable:!0}),us){var Ol=us.createObjectURL,jl=us.revokeObjectURL;Ol&&Ln(vl,"createObjectURL",(function(t){return Ol.apply(us,arguments)})),jl&&Ln(vl,"revokeObjectURL",(function(t){return jl.apply(us,arguments)}))}Dn(vl,"URL"),z({global:!0,forced:!kf,sham:!a},{URL:vl});var _l=M.URL;function Dl(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function Cl(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Io(e=Dl(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)Ao(t,jo(r));else{var o;Io(o=Dl(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}function Pl(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Ml(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ml(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Ml(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Rl=86400;function Ll(t){return void 0!==t?t instanceof Date?Jl(t):(n=t.match(/\d+/g),new Date(Date.UTC(Number(n[0]),Number(n[1])-1,Number(n[2]),Number(n[3]||0),Number(n[4]||0),Number(n[5]||0)))):Jl(new Date);var n}function Ul(t){if("number"==typeof t)t={seconds:t};else if("string"==typeof t){var n,e=0,r=2,o=Pl(t.split(":",3));try{for(o.s();!(n=o.n()).done;){var i=n.value;e+=Ca(i,10)*Math.pow(60,r--)}}catch(t){o.e(t)}finally{o.f()}t={seconds:e}}else t instanceof Date&&(t={hours:t.getUTCHours(),minutes:t.getUTCMinutes(),seconds:t.getUTCSeconds()});var a=t.weeks||t.week||0;return{years:t.years||t.year||0,months:t.months||t.month||0,days:7*a+(t.days||t.day||0),seconds:60*(t.hours||t.hour||0)*60+60*(t.minutes||t.minute||0)+(t.seconds||t.second||0),inWeeks:!!a}}function Il(t){return new Date(t.getTime())}function Bl(t,n,e){return Yl(t,n,void 0===e?1:e)}function Fl(t){return Xl(t,1)}function Nl(t){return Xl(t,-1)}function ql(t){return t.setUTCHours(0,0,0,0),t}function zl(t){return new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())}function Gl(t){return t.toISOString().substring(0,19)}function Hl(t,n,e){if(t.getFullYear()!==n.getFullYear())return e.format(t)+" - "+e.format(n);var r=[];if(t.getMonth()!==n.getMonth()&&r.push("month"),t.getDate()!==n.getDate()&&r.push("day"),!r.length)return e.format(t);for(var o=e.resolvedOptions(),i={},a=0,u=r;a<u.length;a++){var c=u[a];i[c]=o[c]}var f=new Intl.DateTimeFormat(o.locale,i),s=e.format(t),l=e.format(n),h=f.format(t),v=f.format(n),d=function(t,n,e,r){var o=0;for(;o<t.length;){var i=void 0,a=Fi(Kl(t,n,o),2);if(o=a[0],!(i=a[1]))break;for(var u=0;u<e.length;){var c=void 0,f=Fi(Kl(e,r,u),2);if(u=f[0],!(c=f[1]))break;if(i.head===c.head&&i.tail===c.tail)return i}}return null}(s,h,l,v);return d?d.head+h+" - "+v+d.tail:s+" - "+l}function Wl(t,n){return t.getTime()===n.getTime()}function Vl(t,n){var e=n-t.getUTCDay();return t.setUTCDate(t.getUTCDate()+(e<=0?e:e-7)),t}function Jl(t){return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()))}function Yl(t,n,e){t.setUTCFullYear(t.getUTCFullYear()+e*n.years);var r=t.getUTCMonth()+e*n.months;for(t.setUTCMonth(r),(r%=12)<0&&(r+=12);t.getUTCMonth()!==r;)Nl(t);return t.setUTCDate(t.getUTCDate()+e*n.days),t.setUTCSeconds(t.getUTCSeconds()+e*n.seconds),t}function Xl(t,n){return t.setUTCDate(t.getUTCDate()+n),t}function Kl(t,n,e){var r=Ha(t).call(t,n,e);if(r>=0){var o=r+n.length;return[o,{head:t.substr(0,r),tail:t.substr(o)}]}return[-1,null]}function Ql(){return wa.apply(Object,arguments)}function Zl(t){return t.offsetWidth-t.clientWidth-2*t.clientLeft>0}function th(t,n){var e={update:function(n){for(;t.firstChild;)t.removeChild(t.lastChild);if(n.domNodes){var e,r=Pl(n.domNodes);try{for(r.s();!(e=r.n()).done;){var o=e.value;t.appendChild(o)}}catch(t){r.e(t)}finally{r.f()}}else n.html&&(t.innerHTML=n.html)}};return e.update(n),e}function nh(t,n,e,r){return{type:t,title:n,currentStart:e.start,currentEnd:e.end,activeStart:r.start,activeEnd:r.end,calendar:void 0}}function eh(t){return(t=Ql({},t)).currentStart=zl(t.currentStart),t.currentEnd=zl(t.currentEnd),t.activeStart=zl(t.activeStart),t.activeEnd=zl(t.activeEnd),t}var rh=1;function oh(t){return Wi(t).call(t,(function(t){var n;return{id:"id"in t?String(t.id):"{generated-".concat(rh++,"}"),resourceIds:Jr(t.resourceIds)?Wi(n=t.resourceIds).call(n,String):"resourceId"in t?[String(t.resourceId)]:[],start:Ll(t.start),end:Ll(t.end),title:t.title||"",display:t.display||"auto",extendedProps:t.extendedProps||{},backgroundColor:t.backgroundColor||t.color}}))}var ih=new RegExp("^(?:[a-z]+:)?//","i"),ah="http://a";function uh(t){return Wi(t).call(t,(function(t){return{url:new _l(t.url,ah),urlFrom:ih.test(t.url)?0:ah.length,extraParams:t.extraParams||{}}}))}function ch(t,n,e){return{start:t.start>n?t.start:n,end:t.end<e?t.end:e,event:t}}function fh(t){Tf(t).call(t,(function(t,n){return t.start<n.start?-1:t.start>n.start?1:0}))}function sh(t,n,e,r,o,i,a,u){var c,f,s,l,h=o.format(t.start);if(n&&(h+=" - ".concat(o.format(t.end))),e)"string"==typeof(l=hc(e)?e({event:lh(t.event),timeText:h,view:eh(i)}):e)&&(l={html:l});else switch(t.event.display){case"background":l={html:""};break;default:l={html:mi(c='<div class="'.concat(r.eventTime,'">')).call(c,h,"</div>")+(a?mi(f='<div><div class="'.concat(r.eventDot,'"')).call(f,u?' style="border-color:'.concat(u,'"'):"","></div></div>"):"")+mi(s='<div class="'.concat(r.eventTitle,'">')).call(s,t.event.title,"</div>")}}return[h,l]}function lh(t){return(t=Ql({},t)).start=zl(t.start),t.end=zl(t.end),t}function hh(t,n,e){return Cl(Cl({},df(n?n(t):t,e)),{},{mutate:n})}function vh(t,n,e){var r=e,o=!1,i=n.length<2,a=pf(t,(function(t,e){return o=!0,i?(r=n(t,e),e(r)):n(t,(function(t){r=t,e(t)})),function(){o=!1}}),r);return Cl(Cl({},a),{},{get:function(){return o?r:pc(a)}})}function dh(t,n){return pf([t,n],(function(t){var n=Fi(t,2),e=n[0],r=n[1],o=hc(r)?{format:r}:new Intl.DateTimeFormat(e,r);return{format:function(t){return o.format(zl(t))}}}))}function ph(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function yh(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function gh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return mh(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function mh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var bh=function t(n){var e,r=this;Ct(this,t);for(var o,i,a,u=n.plugins||[],c=function(t,n){var e,r={buttonText:{today:"today"},date:new Date,dateClick:void 0,dayHeaderFormat:{weekday:"short",month:"numeric",day:"numeric"},displayEventEnd:!0,duration:{weeks:1},events:[],eventBackgroundColor:void 0,eventClick:void 0,eventColor:void 0,eventContent:void 0,eventDidMount:void 0,eventMouseEnter:void 0,eventMouseLeave:void 0,eventSources:[],eventTimeFormat:{hour:"numeric",minute:"2-digit"},firstDay:0,flexibleSlotTimeLimits:!1,headerToolbar:{start:"title",center:"",end:"today prev,next"},height:"auto",hiddenDays:[],highlightedDates:[],lazyFetching:!0,loading:void 0,locale:void 0,monthMode:!1,scrollTime:"06:00:00",slotDuration:"00:30:00",slotLabelFormat:{hour:"numeric",minute:"2-digit"},slotMaxTime:"24:00:00",slotMinTime:"00:00:00",theme:{calendar:"ec",header:"ec-header",withScroll:"ec-with-scroll",hiddenScroll:"ec-hidden-scroll",body:"ec-body",compact:"ec-compact",toolbar:"ec-toolbar",sidebar:"ec-sidebar",content:"ec-content",lines:"ec-lines",line:"ec-line",days:"ec-days",day:"ec-day",dayHead:"ec-day-head",today:"ec-today",otherMonth:"ec-other-month",highlight:"ec-highlight",events:"ec-events",event:"ec-event",eventTime:"ec-event-time",eventDot:"ec-event-dot",eventTitle:"ec-event-title",bgEvents:"ec-bg-events",bgEvent:"ec-bg-event",hiddenTimes:"ec-hidden-times",time:"ec-time",button:"ec-button",buttonGroup:"ec-button-group",icon:"ec-icon",active:"ec-active",title:"ec-title"},titleFormat:{year:"numeric",month:"short",day:"numeric"},view:t.view||void 0,viewDidMount:void 0,views:{}},o=gh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createOptions"in i&&i.createOptions(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(n,u),f=function(t,n){var e,r={buttonText:function(n){return hc(n)?n(t.buttonText):n},date:function(t){return ql(Ll(t))},duration:Ul,events:oh,eventSources:uh,hiddenDays:function(t){return na(new ta(t))},highlightedDates:function(t){return Wi(t).call(t,Ll)},scrollTime:Ul,slotDuration:Ul,slotMaxTime:Ul,slotMinTime:Ul,theme:function(n){return hc(n)?n(t.theme):n}},o=gh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createMutators"in i&&i.createMutators(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(c,u),s=0,l=Si(c);s<l.length;s++){var h=Fi(l[s],2),v=h[0],d=h[1];this[v]=hh(d,f[v])}this._currentRange=pf([(o=this).date,o.duration,o.monthMode,o.firstDay],(function(t){var n=Fi(t,4),e=n[0],r=n[1],o=n[2],i=n[3],a=Il(e);return o?a.setDate(1):r.inWeeks&&Vl(a,i),{start:a,end:Bl(Il(a),r)}})),this._activeRange=function(t){return pf([t._currentRange,t.firstDay,t.monthMode,t.slotMinTime,t.slotMaxTime],(function(t){var n,e,r=Fi(t,5),o=r[0],i=r[1],a=r[2],u=(r[3],r[4]),c=Il(o.start),f=Il(o.end);if(a)Vl(c,i),e=i-(n=f).getUTCDay(),n.setUTCDate(n.getUTCDate()+(e>=0?e:e+7));else if(u.days||u.seconds>Rl){Bl(Nl(f),u);var s=Nl(Il(f));s<c&&(c=s)}return{start:c,end:f}}))}(this),this._fetchedRange=df({start:void 0,end:void 0}),this._events=function(t){var n,e=df([]),r=0;return pf([t.events,t.eventSources,t._activeRange,t._fetchedRange,t.lazyFetching,t.loading],(function(t,e){return Jc().then((function(){var o=Fi(t,6),i=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s=o[5];a.length?(!c.start||c.start>u.start||c.end<u.end||!f)&&function(){n&&n.abort(),n=new AbortController,hc(s)&&!r&&s(!0);var t,o=[],i=gh(a);try{for(i.s();!(t=i.n()).done;){var f,l=t.value,h=hc(l.extraParams)?l.extraParams():Ql({},l.extraParams);h.start=Gl(u.start),h.end=Gl(u.end);var v,d=gh(pi(f=l.url.searchParams).call(f));try{for(d.s();!(v=d.n()).done;){var p=v.value;l.url.searchParams.delete(p)}}catch(t){d.e(t)}finally{d.f()}for(var y=0,g=Si(h);y<g.length;y++){var m=Fi(g[y],2),b=m[0],w=m[1];l.url.searchParams.set(b,w)}fetch(l.url.href.substr(l.urlFrom),{signal:n.signal,credentials:"same-origin"}).then((function(t){return t.json()})).then((function(t){o=mi(o).call(o,oh(t)),e(o),0==--r&&hc(s)&&s(!1)})).catch((function(t){0==--r&&hc(s)&&s(!1)})),++r,c.start=u.start,c.end=u.end}}catch(t){i.e(t)}finally{i.f()}}():e(i)}))}),[]).subscribe(e.set),e}(this),this._intlEventTime=dh(this.locale,this.eventTimeFormat),this._intlSlotLabel=dh(this.locale,this.slotLabelFormat),this._intlDayHeader=dh(this.locale,this.dayHeaderFormat),this._titleIntlRange=(i=this.locale,a=this.titleFormat,pf([i,a],(function(t){var n=Fi(t,2),e=n[0],r=n[1];if(hc(r))return{format:function(t,n){return r(zl(t),zl(n))}};var o=new Intl.DateTimeFormat(e,r);return{format:function(t,n){return Hl(zl(t),zl(n),o)}}}))),this._scrollable=df(!1),this._viewTitle=function(t){return pf([t.date,t._activeRange,t._titleIntlRange,t.monthMode],(function(t){var n=Fi(t,4),e=n[0],r=n[1],o=n[2];return n[3]?o.format(e,e):o.format(r.start,Nl(Il(r.end)))}))}(this),this._viewDates=function(t){return vh([t._activeRange,t.hiddenDays],(function(n){for(var e=Fi(n,2),r=e[0],o=e[1],i=[],a=ql(Il(r.start)),u=ql(Il(r.end));a<u;)Ci(o).call(o,a.getDay())||i.push(Il(a)),Fl(a);return!i.length&&o.length&&o.length<7&&(t.date.update((function(t){for(;Ci(o).call(o,t.getDay());)Fl(t);return t})),i=t._viewDates.get()),i}))}(this),this._view=function(t){return vh([t.view,t._viewTitle,t._currentRange,t._activeRange],(function(t){return nh.apply(void 0,na(t))}))}(this),this._viewComponent=df(void 0);var p,y=gh(u);try{for(y.s();!(p=y.n()).done;){var g=p.value;"createStores"in g&&g.createStores(this)}}catch(t){y.e(t)}finally{y.f()}var m,b=gh(new ta(mi(e=[]).call(e,na(li(c.views)),na(li(n.views||{})))));try{var w=function(){var t=m.value,e=Ql({},c,c.views[t]||{},n,n.views&&n.views[t]||{});r.view.subscribe((function(n){n===t&&(r._viewComponent.set(e.component),hc(e.viewDidMount)&&Jc().then((function(){return e.viewDidMount(r._view.get())})))}));for(var o=function(){var n=a[i];if(r.hasOwnProperty(n)&&"_"!==n[0]){var o=r[n],u=o.set,c=o._set,f=o.mutate,s=si(o,["set","_set","mutate"]);c||(c=u),f&&(e[n]=f(e[n])),r[n]=function(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Io(e=yh(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)Ao(t,jo(r));else{var o;Io(o=yh(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}({set:function(t){e[n]=t,u(t)},_set:c,mutate:f},s),r.view.subscribe((function(r){r===t&&c(e[n])}))}},i=0,a=li(e);i<a.length;i++)o()};for(b.s();!(m=b.n()).done;)w()}catch(t){b.e(t)}finally{b.f()}};function wh(t,n,e){var r=ko(t).call(t);return r[24]=n[e],r}function $h(t){var n,e,r,o,i,a=t[5][t[24]]+"";function u(){for(var n,e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=t)[19].apply(n,mi(e=[t[24]]).call(e,o))}return{c:function(){n=Ec("button"),e=Ac(a),Dc(n,"class",r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])},m:function(t,r){Tc(t,n,r),Sc(n,e),o||(i=_c(n,"click",u),o=!0)},p:function(o,i){t=o,33&i&&a!==(a=t[5][t[24]]+"")&&Pc(e,a),73&i&&r!==(r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])&&Dc(n,"class",r)},d:function(t){t&&xc(n),o=!1,i()}}}function Sh(t){var n,e,r,o,i,a=t[5][t[24]]+"";return{c:function(){n=Ec("button"),e=Ac(a),Dc(n,"class",r=t[3].button+" ec-"+t[24]),n.disabled=t[1]},m:function(r,a){Tc(r,n,a),Sc(n,e),o||(i=_c(n,"click",t[18]),o=!0)},p:function(t,o){33&o&&a!==(a=t[5][t[24]]+"")&&Pc(e,a),9&o&&r!==(r=t[3].button+" ec-"+t[24])&&Dc(n,"class",r),2&o&&(n.disabled=t[1])},d:function(t){t&&xc(n),o=!1,i()}}}function Th(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){Tc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[17]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&xc(n),i=!1,a()}}}function xh(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){Tc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[16]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&xc(n),i=!1,a()}}}function kh(t){var n,e,r;return{c:function(){n=Ec("h2"),e=Ac(t[4]),Dc(n,"class",r=t[3].title)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,o){16&o&&Pc(e,t[4]),8&o&&r!==(r=t[3].title)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function Eh(t){return{c:cc,m:cc,p:cc,d:cc}}function Ah(t){var n;function e(t,n){return""==t[24]?Eh:"title"==t[24]?kh:"prev"==t[24]?xh:"next"===t[24]?Th:"today"===t[24]?Sh:$h}var r=e(t),o=r(t);return{c:function(){o.c(),n=jc()},m:function(t,e){o.m(t,e),Tc(t,n,e)},p:function(t,i){r===(r=e(t))&&o?o.p(t,i):(o.d(1),(o=r(t))&&(o.c(),o.m(n.parentNode,n)))},d:function(t){o.d(t),t&&xc(n)}}}function Oh(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Ah(wh(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);Tc(t,n,e)},p:function(t,o){var i=Fi(o,1)[0];if(229503&i){var a;for(e=t[0],a=0;a<e.length;a+=1){var u=wh(t,e,a);r[a]?r[a].p(u,i):(r[a]=Ah(u),r[a].c(),r[a].m(n.parentNode,n))}for(;a<r.length;a+=1)r[a].d(1);r.length=e.length}},i:cc,o:cc,d:function(t){kc(r,t),t&&xc(n)}}}function jh(t,n,e){var r,o,i,a,u,c,f,s,l=n.buttons,h=Fc("state"),v=h._currentRange,d=h._viewTitle,p=h.buttonText,y=h.date,g=h.duration,m=h.hiddenDays,b=(h.monthMode,h.theme),w=h.view;yc(t,v,(function(t){return e(20,r=t)})),yc(t,d,(function(t){return e(4,c=t)})),yc(t,p,(function(t){return e(5,f=t)})),yc(t,y,(function(t){return e(2,o=t)})),yc(t,g,(function(t){return e(21,i=t)})),yc(t,m,(function(t){return e(22,a=t)})),yc(t,b,(function(t){return e(3,u=t)})),yc(t,w,(function(t){return e(6,s=t)}));var $,S=ql(Ll());return t.$$set=function(t){"buttons"in t&&e(0,l=t.buttons)},t.$$.update=function(){1048576&t.$$.dirty&&e(1,$=S>=r.start&&S<r.end||null)},[l,$,o,u,c,f,s,v,d,p,y,g,m,b,w,S,function(){var t=function(t,n,e){return Yl(t,n,void 0===e?-1:e)}(o,i);if(a.length&&a.length<7)for(;Ci(a).call(a,t.getDay());)Nl(t);wc(y,o=t)},function(){wc(y,o=Bl(o,i))},function(){return wc(y,o=Il(S))},function(t){return wc(w,s=t)}]}var _h=function(t){Ft(e,t);var n=ph(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,jh,Oh,vc,{buttons:0}),r}return e}(hf);function Dh(t,n,e){var r=ko(t).call(t);return r[8]=n[e],r}function Ch(t,n,e){var r=ko(t).call(t);return r[5]=n[e],r}function Ph(t){var n,e;return n=new _h({props:{buttons:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.buttons=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Mh(t){var n,e,r,o;return e=new _h({props:{buttons:t[8]}}),{c:function(){n=Ec("div"),uf(e.$$.fragment),Dc(n,"class",r=t[1].buttonGroup)},m:function(t,r){Tc(t,n,r),cf(e,n,null),o=!0},p:function(t,i){var a={};1&i&&(a.buttons=t[8]),e.$set(a),(!o||2&i&&r!==(r=t[1].buttonGroup))&&Dc(n,"class",r)},i:function(t){o||(of(e.$$.fragment,t),o=!0)},o:function(t){af(e.$$.fragment,t),o=!1},d:function(t){t&&xc(n),ff(e)}}}function Rh(t){var n,e,r,o,i=[Mh,Ph],a=[];function u(t,n){return t[8].length>1?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),Tc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&xc(r)}}}function Lh(t){for(var n,e,r,o=t[0][t[5]],i=[],a=0;a<o.length;a+=1)i[a]=Rh(Dh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var t=0;t<i.length;t+=1)i[t].c();e=Oc()},m:function(t,o){Tc(t,n,o);for(var a=0;a<i.length;a+=1)i[a].m(n,null);Sc(n,e),r=!0},p:function(t,r){if(3&r){var a;for(o=t[0][t[5]],a=0;a<o.length;a+=1){var c=Dh(t,o,a);i[a]?(i[a].p(c,r),of(i[a],1)):(i[a]=Rh(c),i[a].c(),of(i[a],1),i[a].m(n,e))}for(ef(),a=o.length;a<i.length;a+=1)u(a);rf()}},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&xc(n),kc(i,t)}}}function Uh(t){for(var n,e,r,o=li(t[0]),i=[],a=0;a<o.length;a+=1)i[a]=Lh(Ch(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[1].toolbar)},m:function(t,e){Tc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Fi(a,1)[0];if(3&c){var f;for(o=li(t[0]),f=0;f<o.length;f+=1){var s=Ch(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=Lh(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||2&c&&e!==(e=t[1].toolbar))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&xc(n),kc(i,t)}}}function Ih(t,n,e){var r,o,i=Fc("state"),a=i.headerToolbar,u=i.theme;yc(t,a,(function(t){return e(4,r=t)})),yc(t,u,(function(t){return e(1,o=t)}));var c={start:[],center:[],end:[]};return t.$$.update=function(){if(17&t.$$.dirty)for(var n=0,o=li(c);n<o.length;n++){var i,a=o[n];e(0,c[a]=Wi(i=r[a].split(" ")).call(i,(function(t){return t.split(",")})),c)}},[c,o,a,u]}var Bh=function(t){Ft(e,t);var n=ph(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Ih,Uh,vc,{}),r}return e}(hf);function Fh(t){var n,e,r,o,i,a;e=new Bh({});var u=t[2];return u&&(o=new u({})),{c:function(){n=Ec("div"),uf(e.$$.fragment),r=Oc(),o&&uf(o.$$.fragment),Dc(n,"class",i=t[0].calendar),Mc(n,"height",t[1])},m:function(t,i){Tc(t,n,i),cf(e,n,null),Sc(n,r),o&&cf(o,n,null),a=!0},p:function(t,e){var r=Fi(e,1)[0];if(u!==(u=t[2])){if(o){ef();var c=o;af(c.$$.fragment,1,0,(function(){ff(c,1)})),rf()}u?(uf((o=new u({})).$$.fragment),of(o.$$.fragment,1),cf(o,n,null)):o=null}(!a||1&r&&i!==(i=t[0].calendar))&&Dc(n,"class",i),(!a||2&r)&&Mc(n,"height",t[1])},i:function(t){a||(of(e.$$.fragment,t),o&&of(o.$$.fragment,t),a=!0)},o:function(t){af(e.$$.fragment,t),o&&af(o.$$.fragment,t),a=!1},d:function(t){t&&xc(n),ff(e),o&&ff(o)}}}function Nh(t,n,e){var r,o,i,a=n.options,u=new bh(a);Bc("state",u);var c=u._viewComponent,f=u.height,s=u.theme;return yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),yc(t,s,(function(t){return e(0,r=t)})),t.$$set=function(t){"options"in t&&e(6,a=t.options)},[r,o,i,c,f,s,a,function(t,n){u.hasOwnProperty(t)&&(u[t].mutate&&(n=u[t].mutate(n)),u[t].set(n))},function(t){return u.hasOwnProperty(t)?pc(u[t]):void 0},function(){u._fetchedRange.set({start:void 0,end:void 0})},function(t){var n,e=gh(pc(u._events));try{for(e.s();!(n=e.n()).done;){var r=n.value;if(r.id==t)return lh(r)}}catch(t){e.e(t)}finally{e.f()}return null},function(t){u._events.update((function(n){return mi(n).call(n,u.events.mutate([t]))}))},function(t){u._events.update((function(n){var e,r=gh(n);try{for(r.s();!(e=r.n()).done;){var o=e.value;if(o.id==t.id){Ql(o,u.events.mutate([t])[0]);break}}}catch(t){r.e(t)}finally{r.f()}return n}))},function(t){u._events.update((function(n){return Vo(n).call(n,(function(n){return n.id!=t}))}))},function(){return eh(u._view.get())}]}var qh=function(t){Ft(e,t);var n=ph(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Nh,Fh,vc,{options:6,setOption:7,getOption:8,refetchEvents:9,getEventById:10,addEvent:11,updateEvent:12,removeEvent:13,getView:14}),r}return so(e,[{key:"setOption",get:function(){return this.$$.ctx[7]}},{key:"getOption",get:function(){return this.$$.ctx[8]}},{key:"refetchEvents",get:function(){return this.$$.ctx[9]}},{key:"getEventById",get:function(){return this.$$.ctx[10]}},{key:"addEvent",get:function(){return this.$$.ctx[11]}},{key:"updateEvent",get:function(){return this.$$.ctx[12]}},{key:"removeEvent",get:function(){return this.$$.ctx[13]}},{key:"getView",get:function(){return this.$$.ctx[14]}}]),e}(hf),zh=new Gr,Gh=function(){function t(n,e){Ct(this,t),zh.set(this,{writable:!0,value:void 0}),function(t,n,e){var r=n.get(t);if(!r)throw new TypeError("attempted to set private field on non-instance");if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(this,zh,new qh({target:n,props:{options:e}}))}return so(t,[{key:"setOption",value:function(t,n){return ao(this,zh).setOption(t,n),this}},{key:"getOption",value:function(t){return ao(this,zh).getOption(t)}},{key:"refetchEvents",value:function(){return ao(this,zh).refetchEvents(),this}},{key:"addEvent",value:function(t){return ao(this,zh).addEvent(t),this}},{key:"updateEvent",value:function(t,n){return ao(this,zh).updateEvent(t,n),this}},{key:"removeEvent",value:function(t){return ao(this,zh).removeEvent(t),this}},{key:"view",get:function(){return ao(this,zh).getView()}}]),t}(),Hh=Ce.some,Wh=_o("some"),Vh=po("some");z({target:"Array",proto:!0,forced:!Wh||!Vh},{some:function(t){return Hh(this,t,arguments.length>1?arguments[1]:void 0)}});var Jh=$o("Array").some,Yh=Array.prototype,Xh=function(t){var n=t.some;return t===Yh||t instanceof Array&&n===Yh.some?Jh:n};function Kh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Qh(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Qh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Zh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}var tv=function t(n){Ct(this,t),this._days=function(t){return pf([t.date,t.firstDay,t.hiddenDays],(function(t){for(var n=Fi(t,3),e=n[0],r=n[1],o=n[2],i=[],a=Il(e),u=7;a.getDay()!==r&&u;)Nl(a),--u;for(var c=0;c<7;++c)Ci(o).call(o,a.getDay())||i.push(Il(a)),Fl(a);return i}))}(n)};function nv(t,n,e){var r=ko(t).call(t);return r[8]=n[e],r}function ev(t){var n,e,r,o=t[3].format(t[8])+"";return{c:function(){n=Ec("div"),e=Ac(o),Dc(n,"class",r=t[0].day)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[8])+"")&&Pc(e,o),1&i&&r!==(r=t[0].day)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function rv(t){for(var n,e,r,o,i,a,u,c=t[2],f=[],s=0;s<c.length;s+=1)f[s]=ev(nv(t,c,s));return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<f.length;c+=1)f[c].c();o=Oc(),i=Ec("div"),Dc(e,"class",r=t[0].days),Dc(i,"class",a=t[0].hiddenScroll),Dc(n,"class",u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))},m:function(t,r){Tc(t,n,r),Sc(n,e);for(var a=0;a<f.length;a+=1)f[a].m(e,null);Sc(n,o),Sc(n,i)},p:function(t,o){var s=Fi(o,1)[0];if(13&s){var l;for(c=t[2],l=0;l<c.length;l+=1){var h=nv(t,c,l);f[l]?f[l].p(h,s):(f[l]=ev(h),f[l].c(),f[l].m(e,null))}for(;l<f.length;l+=1)f[l].d(1);f.length=c.length}1&s&&r!==(r=t[0].days)&&Dc(e,"class",r),1&s&&a!==(a=t[0].hiddenScroll)&&Dc(i,"class",a),3&s&&u!==(u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))&&Dc(n,"class",u)},i:cc,o:cc,d:function(t){t&&xc(n),kc(f,t)}}}function ov(t,n,e){var r,o,i,a,u=Fc("state"),c=u.theme,f=u._intlDayHeader,s=u._scrollable;yc(t,c,(function(t){return e(0,r=t)})),yc(t,f,(function(t){return e(3,a=t)})),yc(t,s,(function(t){return e(1,o=t)}));var l=Fc("view-state")._days;return yc(t,l,(function(t){return e(2,i=t)})),[r,o,i,a,c,f,s,l]}var iv=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,ov,rv,vc,{}),r}return e}(hf);function av(t){var n,e,r,o,i,a,u,c=t[7].default,f=gc(c,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),f&&f.c(),Dc(e,"class",r=t[1].content),Dc(n,"class",o=t[1].body+" "+t[1].month)},m:function(r,o){Tc(r,n,o),Sc(n,e),f&&f.m(e,null),t[8](n),i=!0,a||(u=_c(window,"resize",t[5]),a=!0)},p:function(t,a){var u=Fi(a,1)[0];f&&f.p&&64&u&&bc(f,c,t,t[6],u,null,null),(!i||2&u&&r!==(r=t[1].content))&&Dc(e,"class",r),(!i||2&u&&o!==(o=t[1].body+" "+t[1].month))&&Dc(n,"class",o)},i:function(t){i||(of(f,t),i=!0)},o:function(t){af(f,t),i=!1},d:function(e){e&&xc(n),f&&f.d(e),t[8](null),a=!1,u()}}}function uv(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Fc("state"),s=f._events,l=f._scrollable,h=f.theme;function v(){wc(l,Zl(i))}return yc(t,s,(function(t){return e(9,r=t)})),yc(t,l,(function(t){return e(10,t)})),yc(t,h,(function(t){return e(1,o=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},t.$$.update=function(){513&t.$$.dirty&&i&&r&&Jc().then(v)},[i,o,s,l,h,v,c,u,function(t){qc[t?"unshift":"push"]((function(){e(0,i=t)}))}]}var cv=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,uv,av,vc,{}),r}return e}(hf);function fv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].event),Dc(n,"style",t[1])},m:function(e,a){Tc(e,n,a),t[23](n),o||(i=[_c(window,"resize",t[20]),$c(r=th.call(null,n,t[2])),_c(n,"click",(function(){hc(t[19](t[4]))&&t[19](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[19](t[5]))&&t[19](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[19](t[6]))&&t[19](t[6]).apply(this,arguments)}))],o=!0)},p:function(o,i){t=o,8&i[0]&&e!==(e=t[3].event)&&Dc(n,"class",e),2&i[0]&&Dc(n,"style",t[1]),r&&hc(r.update)&&4&i[0]&&r.update.call(null,t[2])},i:cc,o:cc,d:function(e){e&&xc(n),t[23](null),o=!1,lc(i)}}}function sv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g,m,b=n.chunk,w=n.longChunks,$=Fc("state"),S=$.displayEventEnd,T=$.eventBackgroundColor,x=$.eventClick,k=$.eventColor,E=$.eventContent,A=$.eventDidMount,O=$.eventMouseEnter,j=$.eventMouseLeave,_=$.theme,D=$._view,C=$._intlEventTime;yc(t,S,(function(t){return e(28,a=t)})),yc(t,T,(function(t){return e(25,r=t)})),yc(t,x,(function(t){return e(4,h=t)})),yc(t,k,(function(t){return e(26,o=t)})),yc(t,E,(function(t){return e(29,u=t)})),yc(t,A,(function(t){return e(32,l=t)})),yc(t,O,(function(t){return e(5,v=t)})),yc(t,j,(function(t){return e(6,d=t)})),yc(t,_,(function(t){return e(3,c=t)})),yc(t,D,(function(t){return e(31,s=t)})),yc(t,C,(function(t){return e(30,f=t)}));var P,M=df(1);function R(){if(p){var t=b;t.top=0,t.prev&&(t.top=t.prev.bottom+1),t.bottom=t.top+p.getBoundingClientRect().height;var n=t.date.getTime();if(w[n]){var e,r=1,o=Kh(w[n]);try{for(o.s();!(e=o.n()).done;){var a=e.value;if(t.top<a.bottom&&t.bottom>a.top){var u=a.bottom-t.top+1;r+=u,t.top+=u,t.bottom+=u}}}catch(t){o.e(t)}finally{o.f()}wc(M,i=r)}}}return yc(t,M,(function(t){return e(27,i=t)})),Ic((function(){hc(l)&&l({event:lh(b.event),timeText:m,el:p,view:eh(s)})})),P=R,Uc().$$.after_update.push(P),t.$$set=function(t){"chunk"in t&&e(21,b=t.chunk),"longChunks"in t&&e(22,w=t.longChunks)},t.$$.update=function(){if(236978178&t.$$.dirty[0]){var n,l=b.event.backgroundColor||r||o;e(1,y=mi(n="width:calc(".concat(100*b.days,"% + ")).call(n,7*(b.days-1),"px);")+"margin-top:".concat(i,"px;")),l&&e(1,y+="background-color:".concat(l,";"))}var h,v;1881145352&t.$$.dirty[0]|1&t.$$.dirty[1]&&e(2,(v=Fi(h=sh(b,a,u,c,f,s),2),m=v[0],g=v[1],h),g)},[p,y,g,c,h,v,d,S,T,x,k,E,A,O,j,_,D,C,M,function(t){return function(n){hc(t)&&t({event:lh(b.event),el:p,jsEvent:n,view:eh(s)})}},R,b,w,function(t){qc[t?"unshift":"push"]((function(){e(0,p=t)}))}]}var lv=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,sv,fv,vc,{chunk:21,longChunks:22},[-1,-1]),r}return e}(hf);function hv(t,n,e){var r=ko(t).call(t);return r[19]=n[e],r}function vv(t){var n,e;return n=new lv({props:{chunk:t[19],longChunks:t[1]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.chunk=t[19]),2&e&&(r.longChunks=t[1]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function dv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h=t[0].getDate()+"",v=t[2],d=[],p=0;p<v.length;p+=1)d[p]=vv(hv(t,v,p));var y=function(t){return af(d[t],1,1,(function(){d[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div"),r=Ac(h),i=Oc(),a=Ec("div");for(var f=0;f<d.length;f+=1)d[f].c();Dc(e,"class",o=t[6].dayHead),Dc(a,"class",u=t[6].events),Dc(n,"class",c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:""))},m:function(o,u){Tc(o,n,u),Sc(n,e),Sc(e,r),Sc(n,i),Sc(n,a);for(var c=0;c<d.length;c+=1)d[c].m(a,null);f=!0,s||(l=_c(n,"click",t[12]),s=!0)},p:function(t,i){var s=Fi(i,1)[0];if((!f||1&s)&&h!==(h=t[0].getDate()+"")&&Pc(r,h),(!f||64&s&&o!==(o=t[6].dayHead))&&Dc(e,"class",o),6&s){var l;for(v=t[2],l=0;l<v.length;l+=1){var p=hv(t,v,l);d[l]?(d[l].p(p,s),of(d[l],1)):(d[l]=vv(p),d[l].c(),of(d[l],1),d[l].m(a,null))}for(ef(),l=v.length;l<d.length;l+=1)y(l);rf()}(!f||64&s&&u!==(u=t[6].events))&&Dc(a,"class",u),(!f||120&s&&c!==(c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:"")))&&Dc(n,"class",c)},i:function(t){if(!f){for(var n=0;n<v.length;n+=1)of(d[n]);f=!0}},o:function(t){d=Vo(d).call(d,Boolean);for(var n=0;n<d.length;n+=1)af(d[n]);f=!1},d:function(t){t&&xc(n),kc(d,t),s=!1,l()}}}function pv(t,n,e){var r,o,i,a,u,c,f=n.date,s=n.chunks,l=n.longChunks,h=Fc("state"),v=h.date,d=h.dateClick,p=h.highlightedDates,y=h._view,g=h.theme;yc(t,v,(function(t){return e(14,r=t)})),yc(t,d,(function(t){return e(16,i=t)})),yc(t,p,(function(t){return e(15,o=t)})),yc(t,y,(function(t){return e(17,a=t)})),yc(t,g,(function(t){return e(6,u=t)}));var m,b,w,$=ql(Ll());return t.$$set=function(t){"date"in t&&e(0,f=t.date),"chunks"in t&&e(13,s=t.chunks),"longChunks"in t&&e(1,l=t.longChunks)},t.$$.update=function(){if(8197&t.$$.dirty){e(2,c=[]);var n,i=Kh(s);try{for(i.s();!(n=i.n()).done;){var a=n.value;Wl(a.date,f)&&c.push(a)}}catch(t){i.e(t)}finally{i.f()}}49153&t.$$.dirty&&(e(3,m=Wl(f,$)),e(4,b=f.getMonth()!==r.getMonth()),e(5,w=Xh(o).call(o,(function(t){return Wl(t,f)}))))},[f,l,c,m,b,w,u,v,d,p,y,g,function(t){hc(i)&&i({date:zl(f),jsEvent:t,view:eh(a)})},s]}var yv=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,pv,dv,vc,{date:0,chunks:13,longChunks:1}),r}return e}(hf);function gv(t,n,e){var r=ko(t).call(t);return r[9]=n[e],r}function mv(t){var n,e;return n=new yv({props:{date:t[9],chunks:t[1],longChunks:t[2]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[9]),2&e&&(r.chunks=t[1]),4&e&&(r.longChunks=t[2]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function bv(t){for(var n,e,r,o=t[0],i=[],a=0;a<o.length;a+=1)i[a]=mv(gv(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[3].days)},m:function(t,e){Tc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Fi(a,1)[0];if(7&c){var f;for(o=t[0],f=0;f<o.length;f+=1){var s=gv(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=mv(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||8&c&&e!==(e=t[3].days))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&xc(n),kc(i,t)}}}function wv(t,n,e){var r,o,i,a,u,c=n.dates,f=Fc("state"),s=f._events,l=f.hiddenDays,h=f.theme;return yc(t,s,(function(t){return e(7,r=t)})),yc(t,l,(function(t){return e(8,o=t)})),yc(t,h,(function(t){return e(3,i=t)})),t.$$set=function(t){"dates"in t&&e(0,c=t.dates)},t.$$.update=function(){if(387&t.$$.dirty){e(1,a=[]);var n,i=c[0],f=Fl(Il(c[c.length-1])),s=Kh(r);try{for(s.s();!(n=s.n()).done;){var l=n.value;if("auto"===l.display&&l.start<f&&l.end>i){var h=ch(l,i,f);a.push(h)}}}catch(t){s.e(t)}finally{s.f()}e(2,u=function(t,n){if(t.length){fh(t);var e,r,o={},i=Kh(t);try{for(i.s();!(r=i.n()).done;){for(var a=r.value;Ci(n).call(n,a.start.getDay());){var u=Fl(ql(Il(a.start)));if(u>a.end)break;a.start=u}a.date=ql(Il(a.start)),a.days=1;for(var c=Fl(Il(a.date));a.end>c;){++a.days;var f=c.getTime();o[f]?o[f].push(a):o[f]=[a],Fl(c)}e&&Wl(e.date,a.date)&&(a.prev=e),e=a}}catch(t){i.e(t)}finally{i.f()}return o}}(a,o))}},[c,a,u,i,s,l,h]}var $v=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,wv,bv,vc,{dates:0}),r}return e}(hf);function Sv(t,n,e){var r=ko(t).call(t);return r[8]=n[e],r}function Tv(t){var n,e;return n=new $v({props:{dates:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.dates=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function xv(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Tv(Sv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);Tc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Sv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Tv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){kc(o,t),t&&xc(n)}}}function kv(t){var n,e,r,o;return n=new iv({}),r=new cv({props:{$$slots:{default:[xv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),Tc(t,e,i),cf(r,t,i),o=!0},p:function(t,n){var e=Fi(n,1)[0],o={};2049&e&&(o.$$scope={dirty:e,ctx:t}),r.$set(o)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&xc(e),ff(r,t)}}}function Ev(t,n,e){var r,o,i,a,u=Fc("state"),c=u._viewDates,f=u.hiddenDays;u.theme;return yc(t,c,(function(t){return e(5,o=t)})),yc(t,f,(function(t){return e(4,r=t)})),Bc("view-state",new tv(Fc("state"))),t.$$.update=function(){if(57&t.$$.dirty){e(0,i=[]),e(3,a=7-r.length);for(var n=0;n<o.length/a;++n){for(var u=[],c=0;c<a;++c)u.push(o[n*a+c]);i.push(u)}}},[i,c,f]}var Av=function(t){Ft(e,t);var n=Zh(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Ev,kv,vc,{}),r}return e}(hf),Ov={createOptions:function(t){t.buttonText.dayGridMonth="month",t.theme.month="ec-month",t.view="dayGridMonth",t.views.dayGridMonth={component:Av,dayHeaderFormat:{weekday:"short"},displayEventEnd:!1,duration:{months:1},monthMode:!0,titleFormat:{year:"numeric",month:"long"}}}};function jv(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return _v(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _v(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function _v(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Dv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Cv(t){var n,e,r,o,i,a=t[3].default,u=gc(a,t,t[2],null);return{c:function(){n=Ec("div"),e=Ec("div"),u&&u.c(),Dc(e,"class",r=t[0].content),Dc(n,"class",o=t[0].body+" "+t[0].list)},m:function(t,r){Tc(t,n,r),Sc(n,e),u&&u.m(e,null),i=!0},p:function(t,c){var f=Fi(c,1)[0];u&&u.p&&4&f&&bc(u,a,t,t[2],f,null,null),(!i||1&f&&r!==(r=t[0].content))&&Dc(e,"class",r),(!i||1&f&&o!==(o=t[0].body+" "+t[0].list))&&Dc(n,"class",o)},i:function(t){i||(of(u,t),i=!0)},o:function(t){af(u,t),i=!1},d:function(t){t&&xc(n),u&&u.d(t)}}}function Pv(t,n,e){var r,o=n.$$slots,i=void 0===o?{}:o,a=n.$$scope,u=Fc("state").theme;return yc(t,u,(function(t){return e(0,r=t)})),t.$$set=function(t){"$$scope"in t&&e(2,a=t.$$scope)},[r,u,a,i]}var Mv=function(t){Ft(e,t);var n=Dv(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Pv,Cv,vc,{}),r}return e}(hf);function Rv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[2].event)},m:function(e,a){Tc(e,n,a),t[19](n),o||(i=[$c(r=th.call(null,n,t[1])),_c(n,"click",(function(){hc(t[17](t[3]))&&t[17](t[3]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[17](t[4]))&&t[17](t[4]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[17](t[5]))&&t[17](t[5]).apply(this,arguments)}))],o=!0)},p:function(o,i){var a=Fi(i,1)[0];t=o,4&a&&e!==(e=t[2].event)&&Dc(n,"class",e),r&&hc(r.update)&&2&a&&r.update.call(null,t[1])},i:cc,o:cc,d:function(e){e&&xc(n),t[19](null),o=!1,lc(i)}}}function Lv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=n.chunk,m=Fc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,T=m.eventClick,x=m.eventDidMount,k=m.eventMouseEnter,E=m.eventMouseLeave,A=m.theme,O=m._view,j=m._intlEventTime;return yc(t,b,(function(t){return e(23,i=t)})),yc(t,w,(function(t){return e(21,r=t)})),yc(t,$,(function(t){return e(22,o=t)})),yc(t,S,(function(t){return e(24,a=t)})),yc(t,T,(function(t){return e(3,l=t)})),yc(t,x,(function(t){return e(27,s=t)})),yc(t,k,(function(t){return e(4,h=t)})),yc(t,E,(function(t){return e(5,v=t)})),yc(t,A,(function(t){return e(2,u=t)})),yc(t,O,(function(t){return e(26,f=t)})),yc(t,j,(function(t){return e(25,c=t)})),Ic((function(){hc(s)&&s({event:lh(g.event),timeText:y,el:d,view:eh(f)})})),t.$$set=function(t){"chunk"in t&&e(18,g=t.chunk)},t.$$.update=function(){if(132382724&t.$$.dirty){var n,s,l=g.event.backgroundColor||r||o;e(1,(s=Fi(n=sh(g,i,a,u,c,f,!0,l),2),y=s[0],p=s[1],n),p)}},[d,p,u,l,h,v,b,w,$,S,T,x,k,E,A,O,j,function(t){return function(n){hc(t)&&t({event:lh(g.event),el:d,jsEvent:n,view:eh(f)})}},g,function(t){qc[t?"unshift":"push"]((function(){e(0,d=t)}))}]}var Uv=function(t){Ft(e,t);var n=Dv(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Lv,Rv,vc,{chunk:18}),r}return e}(hf);function Iv(t,n,e){var r=ko(t).call(t);return r[22]=n[e],r}function Bv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v=t[5].format(t[0])+"",d=t[6].format(t[0])+"",p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Fv(Iv(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ac(v),r=Oc(),o=Ec("span"),i=Ac(d),c=Oc();for(var s=0;s<y.length;s+=1)y[s].c();f=jc(),Dc(o,"class",a=t[4].daySide),Dc(n,"class",u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:""))},m:function(a,u){Tc(a,n,u),Sc(n,e),Sc(n,r),Sc(n,o),Sc(o,i),Tc(a,c,u);for(var v=0;v<y.length;v+=1)y[v].m(a,u);Tc(a,f,u),s=!0,l||(h=_c(n,"click",t[14]),l=!0)},p:function(t,r){if((!s||33&r)&&v!==(v=t[5].format(t[0])+"")&&Pc(e,v),(!s||65&r)&&d!==(d=t[6].format(t[0])+"")&&Pc(i,d),(!s||16&r&&a!==(a=t[4].daySide))&&Dc(o,"class",a),(!s||28&r&&u!==(u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:"")))&&Dc(n,"class",u),2&r){var c;for(p=t[1],c=0;c<p.length;c+=1){var l=Iv(t,p,c);y[c]?(y[c].p(l,r),of(y[c],1)):(y[c]=Fv(l),y[c].c(),of(y[c],1),y[c].m(f.parentNode,f))}for(ef(),c=p.length;c<y.length;c+=1)m(c);rf()}},i:function(t){if(!s){for(var n=0;n<p.length;n+=1)of(y[n]);s=!0}},o:function(t){y=Vo(y).call(y,Boolean);for(var n=0;n<y.length;n+=1)af(y[n]);s=!1},d:function(t){t&&xc(n),t&&xc(c),kc(y,t),t&&xc(f),l=!1,h()}}}function Fv(t){var n,e;return n=new Uv({props:{chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Nv(t){var n,e,r=t[1].length&&Bv(t);return{c:function(){r&&r.c(),n=jc()},m:function(t,o){r&&r.m(t,o),Tc(t,n,o),e=!0},p:function(t,e){var o=Fi(e,1)[0];t[1].length?r?(r.p(t,o),2&o&&of(r,1)):((r=Bv(t)).c(),of(r,1),r.m(n.parentNode,n)):r&&(ef(),af(r,1,1,(function(){r=null})),rf())},i:function(t){e||(of(r),e=!0)},o:function(t){af(r),e=!1},d:function(t){r&&r.d(t),t&&xc(n)}}}function qv(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=Fc("state"),h=l._events,v=(l._intlDayHeader,l._view),d=(l.date,l.dateClick),p=l.highlightedDates,y=l.theme;yc(t,h,(function(t){return e(15,r=t)})),yc(t,v,(function(t){return e(18,a=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(16,o=t)})),yc(t,y,(function(t){return e(4,u=t)}));var g,m=Fc("view-state"),b=m._intlListDayFormat,w=m._intlListDaySideFormat;yc(t,b,(function(t){return e(5,c=t)})),yc(t,w,(function(t){return e(6,f=t)}));var $,S,T=ql(Ll());return t.$$set=function(t){"date"in t&&e(0,s=t.date)},t.$$.update=function(){if(32771&t.$$.dirty){e(1,g=[]);var n,i=s,a=Fl(Il(s)),u=jv(r);try{for(u.s();!(n=u.n()).done;){var c=n.value;if("auto"===c.display&&c.start<a&&c.end>i){var f=ch(c,i,a);g.push(f)}}}catch(t){u.e(t)}finally{u.f()}fh(g)}65537&t.$$.dirty&&(e(2,$=Wl(s,T)),e(3,S=Xh(o).call(o,(function(t){return Wl(t,s)}))))},[s,g,$,S,u,c,f,h,v,d,p,y,b,w,function(t){hc(i)&&i({date:zl(s),jsEvent:t,view:eh(a)})}]}var zv=function(t){Ft(e,t);var n=Dv(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,qv,Nv,vc,{date:0}),r}return e}(hf),Gv=function t(n){Ct(this,t),this._intlListDayFormat=dh(n.locale,n.listDayFormat),this._intlListDaySideFormat=dh(n.locale,n.listDaySideFormat)};function Hv(t,n,e){var r=ko(t).call(t);return r[16]=n[e],r}function Wv(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Jv(Hv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);Tc(t,n,r),e=!0},p:function(t,e){if(4&e){var i;for(r=t[2],i=0;i<r.length;i+=1){var u=Hv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Jv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){kc(o,t),t&&xc(n)}}}function Vv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].noEvents)},m:function(e,a){Tc(e,n,a),o||(i=[$c(r=th.call(null,n,t[1])),_c(n,"click",t[10])],o=!0)},p:function(t,o){8&o&&e!==(e=t[3].noEvents)&&Dc(n,"class",e),r&&hc(r.update)&&2&o&&r.update.call(null,t[1])},i:cc,o:cc,d:function(t){t&&xc(n),o=!1,lc(i)}}}function Jv(t){var n,e;return n=new zv({props:{date:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Yv(t){var n,e,r,o,i=[Vv,Wv],a=[];function u(t,n){return t[0]?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),Tc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&xc(r)}}}function Xv(t){var n,e;return n=new Mv({props:{$$slots:{default:[Yv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r=Fi(e,1)[0],o={};524303&r&&(o.$$scope={dirty:r,ctx:t}),n.$set(o)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Kv(t,n,e){var r,o,i,a,u,c,f,s,l=Fc("state"),h=l._events,v=l._view,d=l._viewDates,p=l.noEventsClick,y=l.noEventsContent,g=l.theme;return yc(t,h,(function(t){return e(11,o=t)})),yc(t,v,(function(t){return e(14,u=t)})),yc(t,d,(function(t){return e(2,r=t)})),yc(t,p,(function(t){return e(13,a=t)})),yc(t,y,(function(t){return e(12,i=t)})),yc(t,g,(function(t){return e(3,c=t)})),Bc("view-state",new Gv(Fc("state"))),t.$$.update=function(){if(2052&t.$$.dirty){e(0,f=!0);var n,a=r[0],u=Fl(Il(r[r.length-1])),c=jv(o);try{for(c.s();!(n=c.n()).done;){var l=n.value;if("auto"===l.display&&l.start<u&&l.end>a){e(0,f=!1);break}}}catch(t){c.e(t)}finally{c.f()}}4098&t.$$.dirty&&(e(1,s=hc(i)?i():i),"string"==typeof s&&e(1,s={html:s}))},[f,s,r,c,h,v,d,p,y,g,function(t){hc(a)&&a({jsEvent:t,view:eh(u)})}]}var Qv=function(t){Ft(e,t);var n=Dv(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Kv,Xv,vc,{}),r}return e}(hf),Zv={createOptions:function(t){t.buttonText.listDay="list",t.buttonText.listWeek="list",t.buttonText.listMonth="list",t.buttonText.listYear="list",t.listDayFormat={weekday:"long"},t.listDaySideFormat={year:"numeric",month:"long",day:"numeric"},t.noEventsClick=void 0,t.noEventsContent="No events",t.theme.daySide="ec-day-side",t.theme.list="ec-list",t.theme.noEvents="ec-no-events",t.view="listWeek",t.views.listDay={component:Qv,duration:{days:1}},t.views.listWeek={component:Qv,duration:{weeks:1}},t.views.listMonth={component:Qv,duration:{months:1}},t.views.listYear={component:Qv,duration:{years:1}}}};function td(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function nd(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return ed(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ed(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function ed(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var rd=function t(n){Ct(this,t),this._slotTimeLimits=function(t){return pf([t._events,t._viewDates,t.flexibleSlotTimeLimits,t.slotMinTime,t.slotMaxTime],(function(t){var n=Fi(t,5),e=n[0],r=n[1],o=n[2],i=n[3],a=n[4],u=Ul(i),c=Ul(a);if(o){var f,s=Ul(Math.min(u.seconds,Math.max(0,c.seconds-Rl))),l=Ul(Math.max(c.seconds,s.seconds+Rl)),h=nd(r);try{t:for(h.s();!(f=h.n()).done;){var v,d=f.value,p=Bl(Il(d),u),y=Bl(Il(d),c),g=Bl(Il(d),s),m=Bl(Il(d),l),b=nd(e);try{for(b.s();!(v=b.n()).done;){var w=v.value;if("auto"===w.display&&w.start<m&&w.end>g){if(w.start<p){var $=Math.max((w.start-d)/1e3,s.seconds);$<u.seconds&&(u.seconds=$)}if(w.end>y){var S=Math.min((w.end-d)/1e3,l.seconds);S>c.seconds&&(c.seconds=S)}if(u.seconds===s.seconds&&c.seconds===l.seconds)break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){h.e(t)}finally{h.f()}}return{min:u,max:c}}))}(n),this._times=function(t,n){return pf([n._slotTimeLimits,t._intlSlotLabel,t.slotDuration],(function(t){var n=Fi(t,3),e=n[0],r=n[1],o=n[2],i=o.seconds>=3600,a=[],u=Ll("2020-01-01"),c=Il(u),f=1;for(Bl(u,e.min),Bl(c,e.max);u<c;)a.push(a.length&&(f||i)?r.format(u):""),Bl(u,o),f=1-f;return a}))}(n,this)};function od(t,n,e){var r=ko(t).call(t);return r[8]=n[e],r}function id(t){var n,e,r,o=t[8]+"";return{c:function(){n=Ec("div"),e=Ac(o),Dc(n,"class",r=t[0].time)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,i){4&i&&o!==(o=t[8]+"")&&Pc(e,o),1&i&&r!==(r=t[0].time)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function ad(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=t[2],m=[],b=0;b<g.length;b+=1)m[b]=id(od(t,g,b));var w=t[7].default,$=gc(w,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var y=0;y<m.length;y+=1)m[y].c();a=Oc(),u=Ec("div"),c=Ec("div"),s=Oc(),$&&$.c(),h=Oc(),v=Ec("div"),Dc(r,"class",o=t[0].hiddenTimes),Dc(e,"class",i=t[0].sidebar),Dc(c,"class",f=t[0].lines),Dc(u,"class",l=t[0].days),Dc(v,"class",d=t[0].hiddenScroll),Dc(n,"class",p=t[0].header+(t[1]?" "+t[0].withScroll:""))},m:function(t,o){Tc(t,n,o),Sc(n,e),Sc(e,r);for(var i=0;i<m.length;i+=1)m[i].m(r,null);Sc(n,a),Sc(n,u),Sc(u,c),Sc(u,s),$&&$.m(u,null),Sc(n,h),Sc(n,v),y=!0},p:function(t,a){var s=Fi(a,1)[0];if(5&s){var h;for(g=t[2],h=0;h<g.length;h+=1){var b=od(t,g,h);m[h]?m[h].p(b,s):(m[h]=id(b),m[h].c(),m[h].m(r,null))}for(;h<m.length;h+=1)m[h].d(1);m.length=g.length}(!y||1&s&&o!==(o=t[0].hiddenTimes))&&Dc(r,"class",o),(!y||1&s&&i!==(i=t[0].sidebar))&&Dc(e,"class",i),(!y||1&s&&f!==(f=t[0].lines))&&Dc(c,"class",f),$&&$.p&&64&s&&bc($,w,t,t[6],s,null,null),(!y||1&s&&l!==(l=t[0].days))&&Dc(u,"class",l),(!y||1&s&&d!==(d=t[0].hiddenScroll))&&Dc(v,"class",d),(!y||3&s&&p!==(p=t[0].header+(t[1]?" "+t[0].withScroll:"")))&&Dc(n,"class",p)},i:function(t){y||(of($,t),y=!0)},o:function(t){af($,t),y=!1},d:function(t){t&&xc(n),kc(m,t),$&&$.d(t)}}}function ud(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Fc("state"),s=f._scrollable,l=f.theme;yc(t,s,(function(t){return e(1,o=t)})),yc(t,l,(function(t){return e(0,r=t)}));var h=Fc("view-state")._times;return yc(t,h,(function(t){return e(2,i=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},[r,o,i,s,l,h,c,u]}var cd=function(t){Ft(e,t);var n=td(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,ud,ad,vc,{}),r}return e}(hf);function fd(t,n,e){var r=ko(t).call(t);return r[23]=n[e],r}function sd(t,n,e){var r=ko(t).call(t);return r[26]=n[e],r}function ld(t){var n,e,r,o=t[26]+"";return{c:function(){n=Ec("div"),e=Ac(o),Dc(n,"class",r=t[4].time)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,i){8&i&&o!==(o=t[26]+"")&&Pc(e,o),16&i&&r!==(r=t[4].time)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function hd(t){var n,e;return{c:function(){Dc(n=Ec("div"),"class",e=t[4].line)},m:function(t,e){Tc(t,n,e)},p:function(t,r){16&r&&e!==(e=t[4].line)&&Dc(n,"class",e)},d:function(t){t&&xc(n)}}}function vd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y=t[3],g=[],m=0;m<y.length;m+=1)g[m]=ld(sd(t,y,m));for(var b=t[2],w=[],$=0;$<b.length;$+=1)w[$]=hd(fd(t,b,$));var S=t[14].default,T=gc(S,t,t[13],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<g.length;v+=1)g[v].c();i=Oc(),a=Ec("div"),u=Ec("div");for(var d=0;d<w.length;d+=1)w[d].c();f=Oc(),T&&T.c(),Dc(r,"class",o=t[4].sidebar),Dc(u,"class",c=t[4].lines),Dc(a,"class",s=t[4].days),Dc(e,"class",l=t[4].content),Dc(n,"class",h=t[4].body+(t[1]?" "+t[4].compact:""))},m:function(o,c){Tc(o,n,c),Sc(n,e),Sc(e,r);for(var s=0;s<g.length;s+=1)g[s].m(r,null);Sc(e,i),Sc(e,a),Sc(a,u);for(var l=0;l<w.length;l+=1)w[l].m(u,null);Sc(a,f),T&&T.m(a,null),t[15](n),v=!0,d||(p=_c(window,"resize",t[12]),d=!0)},p:function(t,i){var f=Fi(i,1)[0];if(24&f){var d;for(y=t[3],d=0;d<y.length;d+=1){var p=sd(t,y,d);g[d]?g[d].p(p,f):(g[d]=ld(p),g[d].c(),g[d].m(r,null))}for(;d<g.length;d+=1)g[d].d(1);g.length=y.length}if((!v||16&f&&o!==(o=t[4].sidebar))&&Dc(r,"class",o),20&f){var m;for(b=t[2],m=0;m<b.length;m+=1){var $=fd(t,b,m);w[m]?w[m].p($,f):(w[m]=hd($),w[m].c(),w[m].m(u,null))}for(;m<w.length;m+=1)w[m].d(1);w.length=b.length}(!v||16&f&&c!==(c=t[4].lines))&&Dc(u,"class",c),T&&T.p&&8192&f&&bc(T,S,t,t[13],f,null,null),(!v||16&f&&s!==(s=t[4].days))&&Dc(a,"class",s),(!v||16&f&&l!==(l=t[4].content))&&Dc(e,"class",l),(!v||18&f&&h!==(h=t[4].body+(t[1]?" "+t[4].compact:"")))&&Dc(n,"class",h)},i:function(t){v||(of(T,t),v=!0)},o:function(t){af(T,t),v=!1},d:function(e){e&&xc(n),kc(g,e),kc(w,e),T&&T.d(e),t[15](null),d=!1,p()}}}function dd(t,n,e){var r,o,i,a,u,c,f=n.$$slots,s=void 0===f?{}:f,l=n.$$scope,h=Fc("state"),v=h.slotDuration,d=(h._intlSlotLabel,h._viewDates),p=h.scrollTime,y=h._scrollable,g=h.theme;yc(t,v,(function(t){return e(17,r=t)})),yc(t,d,(function(t){return e(19,a=t)})),yc(t,p,(function(t){return e(20,u=t)})),yc(t,y,(function(t){return e(21,t)})),yc(t,g,(function(t){return e(4,c=t)}));var m,b,w=Fc("view-state"),$=w._slotTimeLimits,S=w._times;yc(t,$,(function(t){return e(18,i=t)})),yc(t,S,(function(t){return e(3,o=t)}));var T,x=[];function k(){wc(y,Zl(m))}return t.$$set=function(t){"$$scope"in t&&e(13,l=t.$$scope)},t.$$.update=function(){393224&t.$$.dirty&&(e(1,b=r.seconds>=3600),e(2,x.length=o.length,x),e(16,T=i.min.seconds)),1769473&t.$$.dirty&&m&&a&&e(0,m.scrollTop=(u.seconds-T)/r.seconds*24-12,m),131081&t.$$.dirty&&m&&o&&r&&Jc().then(k)},[m,b,x,o,c,v,d,p,y,g,$,S,k,l,s,function(t){qc[t?"unshift":"push"]((function(){e(0,m=t),e(19,a),e(20,u),e(16,T),e(17,r),e(3,o),e(18,i)}))}]}var pd=function(t){Ft(e,t);var n=td(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,dd,vd,vc,{}),r}return e}(hf);function yd(t){var n,e,r,o;return{c:function(){Dc(n=Ec("div"),"class",t[1]),Dc(n,"style",t[2])},m:function(i,a){Tc(i,n,a),t[23](n),r||(o=[$c(e=th.call(null,n,t[3])),_c(n,"click",(function(){hc(t[20](t[4]))&&t[20](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[20](t[5]))&&t[20](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[20](t[6]))&&t[20](t[6]).apply(this,arguments)}))],r=!0)},p:function(r,o){t=r,2&o[0]&&Dc(n,"class",t[1]),4&o[0]&&Dc(n,"style",t[2]),e&&hc(e.update)&&8&o[0]&&e.update.call(null,t[3])},i:cc,o:cc,d:function(e){e&&xc(n),t[23](null),r=!1,lc(o)}}}function gd(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y=n.date,g=n.chunk,m=Fc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,T=m.eventClick,x=m.eventDidMount,k=m.eventMouseEnter,E=m.eventMouseLeave,A=m.slotDuration,O=m.theme,j=m._view,_=m._intlEventTime;yc(t,b,(function(t){return e(30,c=t)})),yc(t,w,(function(t){return e(27,i=t)})),yc(t,$,(function(t){return e(28,a=t)})),yc(t,S,(function(t){return e(31,f=t)})),yc(t,T,(function(t){return e(4,v=t)})),yc(t,x,(function(t){return e(34,h=t)})),yc(t,k,(function(t){return e(5,d=t)})),yc(t,E,(function(t){return e(6,p=t)})),yc(t,A,(function(t){return e(25,r=t)})),yc(t,O,(function(t){return e(29,u=t)})),yc(t,j,(function(t){return e(33,l=t)})),yc(t,_,(function(t){return e(32,s=t)}));var D,C,P,M,R,L=Fc("view-state")._slotTimeLimits;return yc(t,L,(function(t){return e(26,o=t)})),Ic((function(){hc(h)&&h({event:lh(g.event),timeText:R,el:D,view:eh(l)})})),t.$$set=function(t){"date"in t&&e(21,y=t.date),"chunk"in t&&e(22,g=t.chunk)},t.$$.update=function(){if(2120220676&t.$$.dirty[0]|7&t.$$.dirty[1]){var n,h,v=r.seconds/60,d=o.min.seconds/60,p=(g.start-y)/1e3/60,m=(p-d)/v*24,b=((g.end-y)/1e3/60-p)/v*24,w=(o.max.seconds/60-p)/v*24,$=g.event.backgroundColor||i||a;switch(e(2,P="top:".concat(m,"px;")+"min-height:".concat(b,"px;")+"height:".concat(b,"px;")+"max-height:".concat(w,"px;")),$&&e(2,P+="background-color:".concat($,";")),g.event.display){case"background":e(1,C=u.bgEvent);break;default:e(1,C=u.event),e(2,P+="z-index:".concat(g.column+1,";")+"left:".concat(100/g.group.columns.length*g.column,"%;")+"width:".concat(100/g.group.columns.length*.5*(1+g.group.columns.length-g.column),"%;"))}e(3,(h=Fi(n=sh(g,c,f,u,s,l),2),R=h[0],M=h[1],n),M)}},[D,C,P,M,v,d,p,b,w,$,S,T,x,k,E,A,O,j,_,L,function(t){return function(n){hc(t)&&t({event:lh(g.event),el:D,jsEvent:n,view:eh(l)})}},y,g,function(t){qc[t?"unshift":"push"]((function(){e(0,D=t)}))}]}var md=function(t){Ft(e,t);var n=td(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,gd,yd,vc,{date:21,chunk:22},[-1,-1]),r}return e}(hf);function bd(t,n,e){var r=ko(t).call(t);return r[22]=n[e],r}function wd(t,n,e){var r=ko(t).call(t);return r[22]=n[e],r}function $d(t){var n,e;return n=new md({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),4&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Sd(t){var n,e;return n=new md({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Td(t){for(var n,e,r,o,i,a,u,c,f,s,l=t[2],h=[],v=0;v<l.length;v+=1)h[v]=$d(wd(t,l,v));for(var d=function(t){return af(h[t],1,1,(function(){h[t]=null}))},p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Sd(bd(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<h.length;c+=1)h[c].c();o=Oc(),i=Ec("div");for(var f=0;f<y.length;f+=1)y[f].c();Dc(e,"class",r=t[5].bgEvents),Dc(i,"class",a=t[5].events),Dc(n,"class",u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:""))},m:function(r,a){Tc(r,n,a),Sc(n,e);for(var u=0;u<h.length;u+=1)h[u].m(e,null);Sc(n,o),Sc(n,i);for(var l=0;l<y.length;l+=1)y[l].m(i,null);c=!0,f||(s=_c(n,"click",t[13]),f=!0)},p:function(t,o){var f=Fi(o,1)[0];if(5&f){var s;for(l=t[2],s=0;s<l.length;s+=1){var v=wd(t,l,s);h[s]?(h[s].p(v,f),of(h[s],1)):(h[s]=$d(v),h[s].c(),of(h[s],1),h[s].m(e,null))}for(ef(),s=l.length;s<h.length;s+=1)d(s);rf()}if((!c||32&f&&r!==(r=t[5].bgEvents))&&Dc(e,"class",r),3&f){var g;for(p=t[1],g=0;g<p.length;g+=1){var b=bd(t,p,g);y[g]?(y[g].p(b,f),of(y[g],1)):(y[g]=Sd(b),y[g].c(),of(y[g],1),y[g].m(i,null))}for(ef(),g=p.length;g<y.length;g+=1)m(g);rf()}(!c||32&f&&a!==(a=t[5].events))&&Dc(i,"class",a),(!c||56&f&&u!==(u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:"")))&&Dc(n,"class",u)},i:function(t){if(!c){for(var n=0;n<l.length;n+=1)of(h[n]);for(var e=0;e<p.length;e+=1)of(y[e]);c=!0}},o:function(t){h=Vo(h).call(h,Boolean);for(var n=0;n<h.length;n+=1)af(h[n]);y=Vo(y).call(y,Boolean);for(var e=0;e<y.length;e+=1)af(y[e]);c=!1},d:function(t){t&&xc(n),kc(h,t),kc(y,t),f=!1,s()}}}function xd(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=n.resource,h=void 0===l?void 0:l,v=Fc("state"),d=v._events,p=v.dateClick,y=v.highlightedDates,g=v.slotDuration,m=v._view,b=v.theme;yc(t,d,(function(t){return e(16,o=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(17,i=t)})),yc(t,g,(function(t){return e(19,u=t)})),yc(t,m,(function(t){return e(20,c=t)})),yc(t,b,(function(t){return e(5,f=t)}));var w,$,S=Fc("view-state")._slotTimeLimits;yc(t,S,(function(t){return e(15,r=t)}));var T,x,k=ql(Ll());return t.$$set=function(t){"date"in t&&e(0,s=t.date),"resource"in t&&e(14,h=t.resource)},t.$$.update=function(){if(114695&t.$$.dirty){e(1,w=[]),e(2,$=[]);var n,a=Bl(Il(s),r.min),u=Bl(Il(s),r.max),c=nd(o);try{for(c.s();!(n=c.n()).done;){var f,l=n.value;if(l.start<u&&l.end>a&&(void 0===h||Ci(f=l.resourceIds).call(f,h.id))){var v=ch(l,a,u);switch(l.display){case"background":$.push(v);break;default:w.push(v)}}}}catch(t){c.e(t)}finally{c.f()}!function(t){if(t.length){fh(t);var n,e={columns:[],end:t[0].end},r=nd(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=0;if(o.start<e.end){for(;i<e.columns.length&&!(e.columns[i][e.columns[i].length-1].end<=o.start);++i);o.end>e.end&&(e.end=o.end)}else e={columns:[],end:o.end};e.columns.length<i+1&&e.columns.push([]),e.columns[i].push(o),o.group=e,o.column=i}}catch(t){r.e(t)}finally{r.f()}}}(w)}131073&t.$$.dirty&&(e(3,T=Wl(s,k)),e(4,x=Xh(i).call(i,(function(t){return Wl(t,s)}))))},[s,w,$,T,x,f,d,p,y,g,m,b,S,function(t){if(hc(a)){var n=t.currentTarget.getBoundingClientRect(),e=t.clientY-n.top,o=Bl(Il(s),u,Math.floor(e/24+r.min.seconds/u.seconds));a({date:zl(o),jsEvent:t,view:eh(c),resource:h})}},h]}var kd=function(t){Ft(e,t);var n=td(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,xd,Td,vc,{date:0,resource:14}),r}return e}(hf);function Ed(t,n,e){var r=ko(t).call(t);return r[7]=n[e],r}function Ad(t,n,e){var r=ko(t).call(t);return r[7]=n[e],r}function Od(t){var n,e,r,o=t[2].format(t[7])+"";return{c:function(){n=Ec("div"),e=Ac(o),Dc(n,"class",r=t[1].day)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,i){5&i&&o!==(o=t[2].format(t[7])+"")&&Pc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function jd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Od(Ad(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);Tc(t,n,e)},p:function(t,o){if(7&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=Ad(t,e,i);r[i]?r[i].p(a,o):(r[i]=Od(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){kc(r,t),t&&xc(n)}}}function _d(t){var n,e;return n=new kd({props:{date:t[7]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[7]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Dd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=_d(Ed(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);Tc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Ed(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=_d(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){kc(o,t),t&&xc(n)}}}function Cd(t){var n,e,r,o;return n=new cd({props:{$$slots:{default:[jd]},$$scope:{ctx:t}}}),r=new pd({props:{$$slots:{default:[Dd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),Tc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Fi(e,1)[0],i={};4103&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};4097&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&xc(e),ff(r,t)}}}function Pd(t,n,e){var r,o,i,a=Fc("state"),u=a._viewDates,c=a._intlDayHeader,f=a.theme;return yc(t,u,(function(t){return e(0,r=t)})),yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),Bc("view-state",new rd(Fc("state"))),[r,o,i,u,c,f]}var Md=function(t){Ft(e,t);var n=td(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Pd,Cd,vc,{}),r}return e}(hf),Rd={createOptions:function(t){t.buttonText.timeGridDay="day",t.buttonText.timeGridWeek="week",t.view="timeGridWeek",t.views.timeGridDay={component:Md,dayHeaderFormat:{weekday:"long"},duration:{days:1},titleFormat:{year:"numeric",month:"long",day:"numeric"}},t.views.timeGridWeek={component:Md,duration:{weeks:1}}}};function Ld(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Ud(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Id(t,n);var r=ko(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Id(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Id(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Bd(t,n,e){var r=ko(t).call(t);return r[19]=n[e],r}function Fd(t,n,e){var r=ko(t).call(t);return r[16]=n[e],r}function Nd(t,n,e){var r=ko(t).call(t);return r[19]=n[e],r}function qd(t,n,e){var r=ko(t).call(t);return r[16]=n[e],r}function zd(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Gd(Nd(t,r,i));return{c:function(){n=Ec("div");for(var r=0;r<o.length;r+=1)o[r].c();Dc(n,"class",e=t[1].days)},m:function(t,e){Tc(t,n,e);for(var r=0;r<o.length;r+=1)o[r].m(n,null)},p:function(t,i){if(14&i){var a;for(r=t[2],a=0;a<r.length;a+=1){var u=Nd(t,r,a);o[a]?o[a].p(u,i):(o[a]=Gd(u),o[a].c(),o[a].m(n,null))}for(;a<o.length;a+=1)o[a].d(1);o.length=r.length}2&i&&e!==(e=t[1].days)&&Dc(n,"class",e)},d:function(t){t&&xc(n),kc(o,t)}}}function Gd(t){var n,e,r,o=t[3].format(t[19])+"";return{c:function(){n=Ec("div"),e=Ac(o),Dc(n,"class",r=t[1].day)},m:function(t,r){Tc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[19])+"")&&Pc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&xc(n)}}}function Hd(t){var n,e,r,o,i,a,u,c=t[16].title+"",f=t[2].length>1&&zd(t);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ac(c),i=Oc(),f&&f.c(),a=Oc(),Dc(e,"class",o=t[1].day),Dc(n,"class",u=t[1].resource)},m:function(t,o){Tc(t,n,o),Sc(n,e),Sc(e,r),Sc(n,i),f&&f.m(n,null),Sc(n,a)},p:function(t,i){1&i&&c!==(c=t[16].title+"")&&Pc(r,c),2&i&&o!==(o=t[1].day)&&Dc(e,"class",o),t[2].length>1?f?f.p(t,i):((f=zd(t)).c(),f.m(n,a)):f&&(f.d(1),f=null),2&i&&u!==(u=t[1].resource)&&Dc(n,"class",u)},d:function(t){t&&xc(n),f&&f.d()}}}function Wd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Hd(qd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);Tc(t,n,e)},p:function(t,o){if(15&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=qd(t,e,i);r[i]?r[i].p(a,o):(r[i]=Hd(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){kc(r,t),t&&xc(n)}}}function Vd(t){var n,e;return n=new kd({props:{date:t[19],resource:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[19]),1&e&&(r.resource=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Jd(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Vd(Bd(t,i,u));var c=function(t){return af(a[t],1,1,(function(){a[t]=null}))};return{c:function(){n=Ec("div");for(var o=0;o<a.length;o+=1)a[o].c();e=Oc(),Dc(n,"class",r=t[1].resource)},m:function(t,r){Tc(t,n,r);for(var i=0;i<a.length;i+=1)a[i].m(n,null);Sc(n,e),o=!0},p:function(t,u){if(5&u){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Bd(t,i,f);a[f]?(a[f].p(s,u),of(a[f],1)):(a[f]=Vd(s),a[f].c(),of(a[f],1),a[f].m(n,e))}for(ef(),f=i.length;f<a.length;f+=1)c(f);rf()}(!o||2&u&&r!==(r=t[1].resource))&&Dc(n,"class",r)},i:function(t){if(!o){for(var n=0;n<i.length;n+=1)of(a[n]);o=!0}},o:function(t){a=Vo(a).call(a,Boolean);for(var n=0;n<a.length;n+=1)af(a[n]);o=!1},d:function(t){t&&xc(n),kc(a,t)}}}function Yd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Jd(Fd(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);Tc(t,n,r),e=!0},p:function(t,e){if(7&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Fd(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Jd(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){kc(o,t),t&&xc(n)}}}function Xd(t){var n,e,r,o;return n=new cd({props:{$$slots:{default:[Wd]},$$scope:{ctx:t}}}),r=new pd({props:{$$slots:{default:[Yd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),Tc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Fi(e,1)[0],i={};67108879&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};67108871&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&xc(e),ff(r,t)}}}function Kd(t,n,e){var r,o,i,a,u,c,f,s,l=Fc("state"),h=l.resources,v=l.filterResourcesWithEvents,d=l._activeRange,p=l._events,y=l._viewDates,g=l._intlDayHeader,m=l.theme;return yc(t,h,(function(t){return e(11,r=t)})),yc(t,v,(function(t){return e(12,o=t)})),yc(t,d,(function(t){return e(14,a=t)})),yc(t,p,(function(t){return e(13,i=t)})),yc(t,y,(function(t){return e(2,c=t)})),yc(t,g,(function(t){return e(3,f=t)})),yc(t,m,(function(t){return e(1,u=t)})),Bc("view-state",new rd(Fc("state"))),t.$$.update=function(){30721&t.$$.dirty&&(e(0,s=r),o&&e(0,s=Vo(r).call(r,(function(t){var n,e=Ud(i);try{for(e.s();!(n=e.n()).done;){var r,o=n.value;if("auto"===o.display&&Ci(r=o.resourceIds).call(r,t.id)&&o.start<a.end&&o.end>a.start)return!0}}catch(t){e.e(t)}finally{e.f()}return!1}))),s.length||e(0,s=h.mutate([{}])))},[s,u,c,f,h,v,d,p,y,g,m]}var Qd=function(t){Ft(e,t);var n=Ld(e);function e(t){var r;return Ct(this,e),lf(hr(r=n.call(this)),t,Kd,Xd,vc,{}),r}return e}(hf),Zd={createOptions:function(t){t.resources=[],t.filterResourcesWithEvents=!1,t.buttonText.resourceTimeGridDay="day",t.buttonText.resourceTimeGridWeek="week",t.theme.resource="ec-resource",t.theme.resourceTitle="ec-resource-title",t.view="resourceTimeGridWeek",t.views.resourceTimeGridDay={component:Qd,duration:{days:1}},t.views.resourceTimeGridWeek={component:Qd,duration:{weeks:1}}},createMutators:function(t,n){t.resources=tp}};function tp(t){return Wi(t).call(t,(function(t){return{id:String(t.id),title:t.title||""}}))}var np=[].slice,ep=/MSIE .\./.test(se),rp=function(t){return function(n,e){var r=arguments.length>2,o=r?np.call(arguments,2):void 0;return t(r?function(){("function"==typeof n?n:Function(n)).apply(this,o)}:n,e)}};z({global:!0,bind:!0,forced:ep},{setTimeout:rp(o.setTimeout),setInterval:rp(o.setInterval)});var op,ip=M.setTimeout,ap=Aa.trim;z({target:"String",proto:!0,forced:(op="trim",i((function(){return!!Sa[op]()||"​…᠎"!="​…᠎"[op]()||Sa[op].name!==op})))},{trim:function(){return ap(this)}});var up=$o("String").trim,cp=String.prototype,fp=function(t){var n=t.trim;return"string"==typeof t||t===cp||t instanceof String&&n===cp.trim?up:n},sp=M.URLSearchParams,lp=$o("Array").entries,hp=Array.prototype,vp={DOMTokenList:!0,NodeList:!0},dp=function(t){var n=t.entries;return t===hp||t instanceof Array&&n===hp.entries||vp.hasOwnProperty(An(t))?lp:n},pp=Oe.f,yp=i((function(){return!Object.getOwnPropertyNames(1)}));z({target:"Object",stat:!0,forced:yp},{getOwnPropertyNames:pp});var gp=M.Object,mp=function(t){return gp.getOwnPropertyNames(t)},bp=oe,wp="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==wp&&wp,$p="URLSearchParams"in wp,Sp="Symbol"in wp&&"iterator"in Xr,Tp="FileReader"in wp&&"Blob"in wp&&function(){try{return new Blob,!0}catch(t){return!1}}(),xp="FormData"in wp,kp="ArrayBuffer"in wp;if(kp)var Ep=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Ap=ArrayBuffer.isView||function(t){return t&&Ha(Ep).call(Ep,Object.prototype.toString.call(t))>-1};function Op(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function jp(t){return"string"!=typeof t&&(t=String(t)),t}function _p(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return Sp&&(n[bp]=function(){return n}),n}function Dp(t){if(this.map={},t instanceof Dp)Io(t).call(t,(function(t,n){this.append(n,t)}),this);else if(Jr(t))Io(t).call(t,(function(t){this.append(t[0],t[1])}),this);else if(t){var n;Io(n=mp(t)).call(n,(function(n){this.append(n,t[n])}),this)}}function Cp(t){if(t.bodyUsed)return ic.reject(new TypeError("Already read"));t.bodyUsed=!0}function Pp(t){return new ic((function(n,e){t.onload=function(){n(t.result)},t.onerror=function(){e(t.error)}}))}function Mp(t){var n=new FileReader,e=Pp(n);return n.readAsArrayBuffer(t),e}function Rp(t){if(ko(t))return ko(t).call(t,0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function Lp(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Tp&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:xp&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:$p&&sp.prototype.isPrototypeOf(t)?this._bodyText=t.toString():kp&&Tp&&((n=t)&&DataView.prototype.isPrototypeOf(n))?(this._bodyArrayBuffer=Rp(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):kp&&(ArrayBuffer.prototype.isPrototypeOf(t)||Ap(t))?this._bodyArrayBuffer=Rp(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):$p&&sp.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Tp&&(this.blob=function(){var t=Cp(this);if(t)return t;if(this._bodyBlob)return ic.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return ic.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t,n=Cp(this);return n||(ArrayBuffer.isView(this._bodyArrayBuffer)?ic.resolve(ko(t=this._bodyArrayBuffer.buffer).call(t,this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):ic.resolve(this._bodyArrayBuffer))}return this.blob().then(Mp)}),this.text=function(){var t=Cp(this);if(t)return t;if(this._bodyBlob)return function(t){var n=new FileReader,e=Pp(n);return n.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(function(t){for(var n=new Uint8Array(t),e=new Array(n.length),r=0;r<n.length;r++)e[r]=String.fromCharCode(n[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return ic.resolve(this._bodyText)},xp&&(this.formData=function(){return this.text().then(Bp)}),this.json=function(){return this.text().then(JSON.parse)},this}Dp.prototype.append=function(t,n){t=Op(t),n=jp(n);var e=Wi(this)[t];Wi(this)[t]=e?e+", "+n:n},Dp.prototype.delete=function(t){delete Wi(this)[Op(t)]},Dp.prototype.get=function(t){return t=Op(t),this.has(t)?Wi(this)[t]:null},Dp.prototype.has=function(t){return Wi(this).hasOwnProperty(Op(t))},Dp.prototype.set=function(t,n){Wi(this)[Op(t)]=jp(n)},Dp.prototype.forEach=function(t,n){for(var e in Wi(this))Wi(this).hasOwnProperty(e)&&t.call(n,Wi(this)[e],e,this)},Dp.prototype.keys=function(){var t=[];return Io(this).call(this,(function(n,e){t.push(e)})),_p(t)},Dp.prototype.values=function(){var t=[];return Io(this).call(this,(function(n){t.push(n)})),_p(t)},Dp.prototype.entries=function(){var t=[];return Io(this).call(this,(function(n,e){t.push([e,n])})),_p(t)},Sp&&(Dp.prototype[bp]=dp(Dp.prototype));var Up=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Ip(t,n){if(!(this instanceof Ip))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var e,r,o=(n=n||{}).body;if(t instanceof Ip){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,n.headers||(this.headers=new Dp(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=n.credentials||this.credentials||"same-origin",!n.headers&&this.headers||(this.headers=new Dp(n.headers)),this.method=(e=n.method||this.method||"GET",r=e.toUpperCase(),Ha(Up).call(Up,r)>-1?r:e),this.mode=n.mode||this.mode||null,this.signal=n.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==n.cache&&"no-cache"!==n.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function Bp(t){var n,e=new FormData;return Io(n=fp(t).call(t).split("&")).call(n,(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function Fp(t,n){if(!(this instanceof Fp))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in n?n.statusText:"",this.headers=new Dp(n.headers),this.url=n.url||"",this._initBody(t)}Ip.prototype.clone=function(){return new Ip(this,{body:this._bodyInit})},Lp.call(Ip.prototype),Lp.call(Fp.prototype),Fp.prototype.clone=function(){return new Fp(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Dp(this.headers),url:this.url})},Fp.error=function(){var t=new Fp(null,{status:0,statusText:""});return t.type="error",t};var Np=[301,302,303,307,308];Fp.redirect=function(t,n){if(-1===Ha(Np).call(Np,n))throw new RangeError("Invalid status code");return new Fp(null,{status:n,headers:{location:t}})};var qp=wp.DOMException;try{new qp}catch(t){(qp=function(t,n){this.message=t,this.name=n;var e=Error(t);this.stack=e.stack}).prototype=uc(Error.prototype),qp.prototype.constructor=qp}function zp(t,n){return new ic((function(e,r){var o=new Ip(t,n);if(o.signal&&o.signal.aborted)return r(new qp("Aborted","AbortError"));var i,a,u,c=new XMLHttpRequest;function f(){c.abort()}(c.onload=function(){var t,n,r,o,i={status:c.status,statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",r=new Dp,o=t.replace(/\r?\n[\t ]+/g," "),Io(n=o.split(/\r?\n/)).call(n,(function(t){var n,e=t.split(":"),o=fp(n=e.shift()).call(n);if(o){var i,a=fp(i=e.join(":")).call(i);r.append(o,a)}})),r)};i.url="responseURL"in c?c.responseURL:i.headers.get("X-Request-URL");var a="response"in c?c.response:c.responseText;ip((function(){e(new Fp(a,i))}),0)},c.onerror=function(){ip((function(){r(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){ip((function(){r(new TypeError("Network request failed"))}),0)},c.onabort=function(){ip((function(){r(new qp("Aborted","AbortError"))}),0)},c.open(o.method,function(t){try{return""===t&&wp.location.href?wp.location.href:t}catch(n){return t}}(o.url),!0),"include"===o.credentials?c.withCredentials=!0:"omit"===o.credentials&&(c.withCredentials=!1),"responseType"in c)&&(Tp?c.responseType="blob":kp&&o.headers.get("Content-Type")&&-1!==Ha(i=o.headers.get("Content-Type")).call(i,"application/octet-stream")&&(c.responseType="arraybuffer"));!n||"object"!==lr(n.headers)||n.headers instanceof Dp?Io(a=o.headers).call(a,(function(t,n){c.setRequestHeader(n,t)})):Io(u=mp(n.headers)).call(u,(function(t){c.setRequestHeader(t,jp(n.headers[t]))}));o.signal&&(o.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&o.signal.removeEventListener("abort",f)}),c.send(void 0===o._bodyInit?null:o._bodyInit)}))}zp.polyfill=!0,wp.fetch||(wp.fetch=zp,wp.Headers=Dp,wp.Request=Ip,wp.Response=Fp);var Gp=Vt.f("toStringTag"),Hp=pr,Wp=Ut,Vp=new Gr,Jp=new Gr;function Yp(t){var n=Vp.get(t);return console.assert(null!=n,"'this' is expected an Event object, but got",t),n}function Xp(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function Kp(t,n){Vp.set(this,{eventTarget:t,event:n,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:n.timeStamp||ac()}),Eo(this,"isTrusted",{value:!1,enumerable:!0});for(var e=li(n),r=0;r<e.length;++r){var o=e[r];o in this||Eo(this,o,Qp(o))}}function Qp(t){return{get:function(){return Yp(this).event[t]},set:function(n){Yp(this).event[t]=n},configurable:!0,enumerable:!0}}function Zp(t){return{value:function(){var n=Yp(this).event;return n[t].apply(n,arguments)},configurable:!0,enumerable:!0}}function ty(t){if(null==t||t===Object.prototype)return Kp;var n=Jp.get(t);return null==n&&(n=function(t,n){var e=li(n);if(0===e.length)return t;function r(n,e){t.call(this,n,e)}r.prototype=uc(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(var o=0;o<e.length;++o){var i=e[o];if(!(i in t.prototype)){var a="function"==typeof No(n,i).value;Eo(r.prototype,i,a?Zp(i):Qp(i))}}return r}(ty(Hp(t)),t),Jp.set(t,n)),n}function ny(t){return Yp(t).immediateStopped}function ey(t,n){Yp(t).passiveListener=n}Kp.prototype={get type(){return Yp(this).event.type},get target(){return Yp(this).eventTarget},get currentTarget(){return Yp(this).currentTarget},composedPath:function(){var t=Yp(this).currentTarget;return null==t?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Yp(this).eventPhase},stopPropagation:function(){var t=Yp(this);t.stopped=!0,"function"==typeof t.event.stopPropagation&&t.event.stopPropagation()},stopImmediatePropagation:function(){var t=Yp(this);t.stopped=!0,t.immediateStopped=!0,"function"==typeof t.event.stopImmediatePropagation&&t.event.stopImmediatePropagation()},get bubbles(){return Boolean(Yp(this).event.bubbles)},get cancelable(){return Boolean(Yp(this).event.cancelable)},preventDefault:function(){Xp(Yp(this))},get defaultPrevented(){return Yp(this).canceled},get composed(){return Boolean(Yp(this).event.composed)},get timeStamp(){return Yp(this).timeStamp},get srcElement(){return Yp(this).eventTarget},get cancelBubble(){return Yp(this).stopped},set cancelBubble(t){if(t){var n=Yp(this);n.stopped=!0,"boolean"==typeof n.event.cancelBubble&&(n.event.cancelBubble=!0)}},get returnValue(){return!Yp(this).canceled},set returnValue(t){t||Xp(Yp(this))},initEvent:function(){}},Eo(Kp.prototype,"constructor",{value:Kp,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.Event&&(Wp(Kp.prototype,window.Event.prototype),Jp.set(window.Event.prototype,Kp));var ry=new Gr;function oy(t){return null!==t&&"object"===lr(t)}function iy(t){var n=ry.get(t);if(null==n)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return n}function ay(t,n){Eo(t,"on".concat(n),function(t){return{get:function(){for(var n=iy(this).get(t);null!=n;){if(3===n.listenerType)return n.listener;n=n.next}return null},set:function(n){"function"==typeof n||oy(n)||(n=null);for(var e=iy(this),r=null,o=e.get(t);null!=o;)3===o.listenerType?null!==r?r.next=o.next:null!==o.next?e.set(t,o.next):e.delete(t):r=o,o=o.next;if(null!==n){var i={listener:n,listenerType:3,passive:!1,once:!1,next:null};null===r?e.set(t,i):r.next=i}},configurable:!0,enumerable:!0}}(n))}function uy(t){function n(){cy.call(this)}n.prototype=uc(cy.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(var e=0;e<t.length;++e)ay(n.prototype,t[e]);return n}function cy(){if(!(this instanceof cy)){if(1===arguments.length&&Jr(arguments[0]))return uy(arguments[0]);if(arguments.length>0){for(var t=new Array(arguments.length),n=0;n<arguments.length;++n)t[n]=arguments[n];return uy(t)}throw new TypeError("Cannot call a class as a function")}ry.set(this,new $a)}function fy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}cy.prototype={addEventListener:function(t,n,e){if(null!=n){if("function"!=typeof n&&!oy(n))throw new TypeError("'listener' should be a function or an object.");var r=iy(this),o=oy(e),i=(o?Boolean(e.capture):Boolean(e))?1:2,a={listener:n,listenerType:i,passive:o&&Boolean(e.passive),once:o&&Boolean(e.once),next:null},u=r.get(t);if(void 0!==u){for(var c=null;null!=u;){if(u.listener===n&&u.listenerType===i)return;c=u,u=u.next}c.next=a}else r.set(t,a)}},removeEventListener:function(t,n,e){if(null!=n)for(var r=iy(this),o=(oy(e)?Boolean(e.capture):Boolean(e))?1:2,i=null,a=r.get(t);null!=a;){if(a.listener===n&&a.listenerType===o)return void(null!==i?i.next=a.next:null!==a.next?r.set(t,a.next):r.delete(t));i=a,a=a.next}},dispatchEvent:function(t){if(null==t||"string"!=typeof t.type)throw new TypeError('"event.type" should be a string.');var n=iy(this),e=t.type,r=n.get(e);if(null==r)return!0;for(var o=function(t,n){return new(ty(Hp(n)))(t,n)}(this,t),i=null;null!=r;){if(r.once?null!==i?i.next=r.next:null!==r.next?n.set(e,r.next):n.delete(e):i=r,ey(o,r.passive?r.listener:null),"function"==typeof r.listener)try{r.listener.call(this,o)}catch(t){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(t)}else 3!==r.listenerType&&"function"==typeof r.listener.handleEvent&&r.listener.handleEvent(o);if(ny(o))break;r=r.next}return ey(o,null),function(t,n){Yp(t).eventPhase=n}(o,0),function(t,n){Yp(t).currentTarget=n}(o,null),!o.defaultPrevented}},Eo(cy.prototype,"constructor",{value:cy,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.EventTarget&&Wp(cy.prototype,window.EventTarget.prototype);var sy=function(t){Ft(e,t);var n=fy(e);function e(){throw Ct(this,e),n.call(this),new TypeError("AbortSignal cannot be constructed directly")}return so(e,[{key:"aborted",get:function(){var t=ly.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got ".concat(null===this?"null":lr(this)));return t}}]),e}(cy);ay(sy.prototype,"abort");var ly=new Gr;Ao(sy.prototype,{aborted:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Gp)&&Eo(sy.prototype,Gp,{configurable:!0,value:"AbortSignal"});var hy=function(){function t(){var n;Ct(this,t),vy.set(this,(n=uc(sy.prototype),cy.call(n),ly.set(n,!1),n))}return so(t,[{key:"abort",value:function(){var t;t=dy(this),!1===ly.get(t)&&(ly.set(t,!0),t.dispatchEvent({type:"abort"}))}},{key:"signal",get:function(){return dy(this)}}]),t}(),vy=new Gr;function dy(t){var n=vy.get(t);if(null==n)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got ".concat(null===t?"null":lr(t)));return n}Ao(hy.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Gp)&&Eo(hy.prototype,Gp,{configurable:!0,value:"AbortController"});var py="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function yy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}return py&&(void 0===py.AbortController&&(py.AbortController=hy),void 0===py.AbortSignal&&(py.AbortSignal=sy)),function(t){Ft(e,t);var n=yy(e);function e(t,r){return Ct(this,e),r.plugins=r.plugins||[Ov,Zv,Rd,Zd],n.call(this,t,r)}return e}(Gh)}();
backend/modules/calendar/templates/calendar.php CHANGED
@@ -11,10 +11,6 @@ use Bookly\Backend\Modules\Calendar\Proxy;
11
  * @var int $refresh_rate
12
  */
13
  ?>
14
- <style>
15
- .fc-slats tr { height: <?php echo max( 21, (int) ( 0.43 * get_option( 'bookly_gen_time_slot_length' ) ) ) ?>px; }
16
- .fc-time-grid-event.fc-short .fc-time::after { content: '' !important; }
17
- </style>
18
  <div id="bookly-tbs" class="wrap">
19
  <div class="form-row align-items-center mb-3">
20
  <h4 class="col m-0"><?php esc_html_e( 'Calendar', 'bookly' ) ?></h4>
11
  * @var int $refresh_rate
12
  */
13
  ?>
 
 
 
 
14
  <div id="bookly-tbs" class="wrap">
15
  <div class="form-row align-items-center mb-3">
16
  <h4 class="col m-0"><?php esc_html_e( 'Calendar', 'bookly' ) ?></h4>
backend/modules/cloud_settings/resources/js/cloud-settings.js CHANGED
@@ -100,6 +100,9 @@ jQuery(function ($) {
100
  invoiceDataValid = false;
101
  }
102
  });
 
 
 
103
 
104
  /**
105
  * Notifications tab
100
  invoiceDataValid = false;
101
  }
102
  });
103
+ $('input[name="invoice[send]"]').on('change', function () {
104
+ $(this).closest('.form-group').next().toggle(this.checked);
105
+ }).trigger('change');
106
 
107
  /**
108
  * Notifications tab
backend/modules/cloud_settings/templates/index.php CHANGED
@@ -87,10 +87,12 @@ $invoice = $cloud->account->getInvoiceData();
87
  <?php Inputs::renderCheckBox( __( 'Send invoice', 'bookly' ), 1, $invoice['send'], array( 'name' => 'invoice[send]' ) ) ?>
88
  <small class="text-muted"><?php printf( __( 'The invoice will be sent to <a href="mailto:%1$s">%1$s</a>', 'bookly' ), $cloud->account->getUserName() ) ?></small>
89
  </div>
90
- <div class="form-group">
91
- <?php Inputs::renderCheckBox( __( 'Copy invoice to another email(s)', 'bookly' ), 1, $invoice['send_copy'], array( 'name' => 'invoice[send_copy]' ) ) ?>
92
- <input name="invoice[cc]" type="text" class="form-control mt-2" value="<?php echo esc_attr( $invoice['cc'] ) ?>">
93
- <small class="form-text text-muted"><?php esc_html_e( 'Enter one or more email addresses separated by commas.', 'bookly' ) ?></small>
 
 
94
  </div>
95
  <?php Buttons::renderSubmit( 'bookly-save-invoice', null, __( 'Save invoice settings', 'bookly' ) ) ?>
96
  </form>
87
  <?php Inputs::renderCheckBox( __( 'Send invoice', 'bookly' ), 1, $invoice['send'], array( 'name' => 'invoice[send]' ) ) ?>
88
  <small class="text-muted"><?php printf( __( 'The invoice will be sent to <a href="mailto:%1$s">%1$s</a>', 'bookly' ), $cloud->account->getUserName() ) ?></small>
89
  </div>
90
+ <div class="border-left ml-4 pl-3">
91
+ <div class="form-group">
92
+ <?php Inputs::renderCheckBox( __( 'Copy invoice to another email(s)', 'bookly' ), 1, $invoice['send_copy'], array( 'name' => 'invoice[send_copy]' ) ) ?>
93
+ <input name="invoice[cc]" type="text" class="form-control mt-2" value="<?php echo esc_attr( $invoice['cc'] ) ?>">
94
+ <small class="form-text text-muted"><?php esc_html_e( 'Enter one or more email addresses separated by commas.', 'bookly' ) ?></small>
95
+ </div>
96
  </div>
97
  <?php Buttons::renderSubmit( 'bookly-save-invoice', null, __( 'Save invoice settings', 'bookly' ) ) ?>
98
  </form>
backend/modules/customers/Ajax.php CHANGED
@@ -251,6 +251,9 @@ class Ajax extends Lib\Base\Ajax
251
  if ( $target_customer->getNotes() == '' ) {
252
  $target_customer->setNotes( $customer->getNotes() );
253
  }
 
 
 
254
  // Delete merged customer.
255
  $customer->delete();
256
  }
251
  if ( $target_customer->getNotes() == '' ) {
252
  $target_customer->setNotes( $customer->getNotes() );
253
  }
254
+ if ( $target_customer->getStripeAccount() == '' ) {
255
+ $target_customer->setStripeAccount( $customer->getStripeAccount() );
256
+ }
257
  // Delete merged customer.
258
  $customer->delete();
259
  }
backend/modules/debug/Ajax.php CHANGED
@@ -291,6 +291,7 @@ class Ajax extends Lib\Base\Ajax
291
  'bookly_customers.additional_address' => "varchar(255) null default null",
292
  'bookly_customers.notes' => "text not null",
293
  'bookly_customers.info_fields' => "text null default null",
 
294
  'bookly_customers.created_at' => "datetime not null",
295
  'bookly_files.id' => "int unsigned not null auto_increment primary key",
296
  'bookly_files.name' => "text not null",
@@ -465,6 +466,9 @@ class Ajax extends Lib\Base\Ajax
465
  'bookly_staff.position' => "int not null default '9999'",
466
  'bookly_staff.google_data' => "text null default null",
467
  'bookly_staff.outlook_data' => "text null default null",
 
 
 
468
  'bookly_staff_categories.id' => "int unsigned not null auto_increment primary key",
469
  'bookly_staff_categories.name' => "varchar(255) not null",
470
  'bookly_staff_categories.position' => "int not null default '9999'",
291
  'bookly_customers.additional_address' => "varchar(255) null default null",
292
  'bookly_customers.notes' => "text not null",
293
  'bookly_customers.info_fields' => "text null default null",
294
+ 'bookly_customers.stripe_account' => "varchar(255) null default null",
295
  'bookly_customers.created_at' => "datetime not null",
296
  'bookly_files.id' => "int unsigned not null auto_increment primary key",
297
  'bookly_files.name' => "text not null",
466
  'bookly_staff.position' => "int not null default '9999'",
467
  'bookly_staff.google_data' => "text null default null",
468
  'bookly_staff.outlook_data' => "text null default null",
469
+ 'bookly_staff.zoom_personal' => "tinyint(1) null default '0'",
470
+ 'bookly_staff.zoom_jwt_api_key' => "varchar(255) null default null",
471
+ 'bookly_staff.zoom_jwt_api_secret' => "varchar(255) null default null",
472
  'bookly_staff_categories.id' => "int unsigned not null auto_increment primary key",
473
  'bookly_staff_categories.name' => "varchar(255) not null",
474
  'bookly_staff_categories.position' => "int not null default '9999'",
backend/modules/debug/lib/QueryBuilder.php CHANGED
@@ -251,6 +251,7 @@ class QueryBuilder
251
  'bookly_customers.additional_address' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
252
  'bookly_customers.notes' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
253
  'bookly_customers.info_fields' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
 
254
  'bookly_customers.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
255
  'bookly_files.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
256
  'bookly_files.name' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -425,6 +426,9 @@ class QueryBuilder
425
  'bookly_staff.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
426
  'bookly_staff.google_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
427
  'bookly_staff.outlook_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
 
 
 
428
  'bookly_staff_categories.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
429
  'bookly_staff_categories.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
430
  'bookly_staff_categories.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
251
  'bookly_customers.additional_address' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
252
  'bookly_customers.notes' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
253
  'bookly_customers.info_fields' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
254
+ 'bookly_customers.stripe_account' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
255
  'bookly_customers.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
256
  'bookly_files.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
257
  'bookly_files.name' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
426
  'bookly_staff.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
427
  'bookly_staff.google_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
428
  'bookly_staff.outlook_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
429
+ 'bookly_staff.zoom_personal' => array( 'type' => "tinyint(1)", 'is_nullabe' => 1, 'extra' => "", 'default' => "0", 'key' => "" ),
430
+ 'bookly_staff.zoom_jwt_api_key' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
431
+ 'bookly_staff.zoom_jwt_api_secret' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
432
  'bookly_staff_categories.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
433
  'bookly_staff_categories.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
434
  'bookly_staff_categories.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
backend/modules/notifications/lib/Codes.php CHANGED
@@ -27,81 +27,81 @@ class Codes
27
  $this->type = $type;
28
  $this->codes = array(
29
  'appointment' => array(
30
- 'appointment_date' => __( 'date of appointment', 'bookly' ),
31
- 'appointment_end_date' => __( 'end date of appointment', 'bookly' ),
32
- 'appointment_end_time' => __( 'end time of appointment', 'bookly' ),
33
- 'appointment_notes' => __( 'customer notes for appointment', 'bookly' ),
34
- 'appointment_time' => __( 'time of appointment', 'bookly' ),
35
- 'booking_number' => __( 'booking number', 'bookly' ),
36
  ),
37
  'cart' => array(
38
- 'cart_info' => __( 'cart information', 'bookly' ),
39
- 'cart_info_c' => __( 'cart information with cancel', 'bookly' ),
40
- 'appointment_notes' => __( 'customer notes for appointment', 'bookly' ),
41
  ),
42
  'category' => array(
43
- 'category_name' => __( 'name of category', 'bookly' ),
44
  ),
45
  'company' => array(
46
- 'company_address' => __( 'address of company', 'bookly' ),
47
- 'company_name' => __( 'name of company', 'bookly' ),
48
- 'company_phone' => __( 'company phone', 'bookly' ),
49
- 'company_website' => __( 'company web-site address', 'bookly' ),
50
  ),
51
  'customer' => array(
52
- 'client_address' => __( 'address of client', 'bookly' ),
53
- 'client_email' => __( 'email of client', 'bookly' ),
54
- 'client_first_name' => __( 'first name of client', 'bookly' ),
55
- 'client_last_name' => __( 'last name of client', 'bookly' ),
56
- 'client_name' => __( 'full name of client', 'bookly' ),
57
- 'client_phone' => __( 'phone of client', 'bookly' ),
58
  ),
59
  'customer_timezone' => array(
60
- 'client_timezone' => __( 'time zone of client', 'bookly' ),
61
  ),
62
  'customer_appointment' => array(
63
  'approve_appointment_url' => __( 'URL of approve appointment link (to use inside <a> tag)', 'bookly' ),
64
  'cancel_appointment_confirm_url' => __( 'URL of cancel appointment link with confirmation (to use inside <a> tag)', 'bookly' ),
65
  'cancel_appointment_url' => __( 'URL of cancel appointment link (to use inside <a> tag)', 'bookly' ),
66
- 'cancellation_reason' => __( 'reason you mentioned while deleting appointment', 'bookly' ),
67
  'google_calendar_url' => __( 'URL for adding event to client\'s Google Calendar (to use inside <a> tag)', 'bookly' ),
68
  'reject_appointment_url' => __( 'URL of reject appointment link (to use inside <a> tag)', 'bookly' ),
69
  ),
70
  'payment' => array(
71
- 'payment_type' => __( 'payment type', 'bookly' ),
72
- 'payment_status' => __( 'payment status', 'bookly' ),
73
- 'total_price' => __( 'total price of booking (sum of all cart items after applying coupon)' ),
74
  ),
75
  'service' => array(
76
- 'service_duration' => __( 'duration of service', 'bookly' ),
77
- 'service_info' => __( 'info of service', 'bookly' ),
78
- 'service_name' => __( 'name of service', 'bookly' ),
79
- 'service_price' => __( 'price of service', 'bookly' ),
80
  ),
81
  'staff' => array(
82
- 'staff_email' => __( 'email of staff', 'bookly' ),
83
- 'staff_info' => __( 'info of staff', 'bookly' ),
84
- 'staff_name' => __( 'name of staff', 'bookly' ),
85
- 'staff_phone' => __( 'phone of staff', 'bookly' ),
86
  ),
87
  'staff_agenda' => array(
88
- 'agenda_date' => __( 'agenda date', 'bookly' ),
89
- 'next_day_agenda' => __( 'staff agenda for next day', 'bookly' ),
90
- 'tomorrow_date' => __( 'date of next day', 'bookly' ),
91
  ),
92
  'user_credentials' => array(
93
- 'new_password' => __( 'customer new password', 'bookly' ),
94
- 'new_username' => __( 'customer new username', 'bookly' ),
95
- 'site_address' => __( 'site address', 'bookly' ),
96
  ),
97
  'rating' => array(),
98
  );
99
 
100
  if ( $type == 'email' ) {
101
  // Only email.
102
- $this->codes['company']['company_logo'] = __( 'company logo', 'bookly' );
103
- $this->codes['customer_appointment']['cancel_appointment'] = __( 'cancel appointment link', 'bookly' );
104
- $this->codes['staff']['staff_photo'] = __( 'photo of staff', 'bookly' );
105
  }
106
 
107
  // Add codes from add-ons.
@@ -221,9 +221,9 @@ class Codes
221
  /**
222
  * @param array $groups
223
  * @param bool $echo
224
- * @return string
225
  */
226
- public function renderGroups( array $groups, $echo = true )
227
  {
228
  $codes = array();
229
  foreach ( $groups as $group ) {
@@ -234,24 +234,6 @@ class Codes
234
 
235
  ksort( $codes );
236
 
237
- $tbody = '';
238
- foreach ( $codes as $code => $description ) {
239
- $tbody .= sprintf(
240
- '<tr><td class="p-0"><input value="{%s}" readonly="readonly" class="border-0" onclick="this.select()" /> - %s</td></tr>',
241
- $code,
242
- esc_html( $description )
243
- );
244
- }
245
-
246
- $result = sprintf(
247
- '<table class="overflow-auto" style="max-height: 300px"><tbody>%s</tbody></table>',
248
- $tbody
249
- );
250
-
251
- if ( $echo ) {
252
- echo $result;
253
- }
254
-
255
- return $result;
256
  }
257
  }
27
  $this->type = $type;
28
  $this->codes = array(
29
  'appointment' => array(
30
+ 'appointment_date' => __( 'Date of appointment', 'bookly' ),
31
+ 'appointment_end_date' => __( 'End date of appointment', 'bookly' ),
32
+ 'appointment_end_time' => __( 'End time of appointment', 'bookly' ),
33
+ 'appointment_notes' => __( 'Customer notes for appointment', 'bookly' ),
34
+ 'appointment_time' => __( 'Time of appointment', 'bookly' ),
35
+ 'booking_number' => __( 'Booking number', 'bookly' ),
36
  ),
37
  'cart' => array(
38
+ 'cart_info' => __( 'Cart information', 'bookly' ),
39
+ 'cart_info_c' => __( 'Cart information with cancel', 'bookly' ),
40
+ 'appointment_notes' => __( 'Customer notes for appointment', 'bookly' ),
41
  ),
42
  'category' => array(
43
+ 'category_name' => __( 'Name of category', 'bookly' ),
44
  ),
45
  'company' => array(
46
+ 'company_address' => __( 'Address of company', 'bookly' ),
47
+ 'company_name' => __( 'Name of company', 'bookly' ),
48
+ 'company_phone' => __( 'Company phone', 'bookly' ),
49
+ 'company_website' => __( 'Company web-site address', 'bookly' ),
50
  ),
51
  'customer' => array(
52
+ 'client_address' => __( 'Address of client', 'bookly' ),
53
+ 'client_email' => __( 'Email of client', 'bookly' ),
54
+ 'client_first_name' => __( 'First name of client', 'bookly' ),
55
+ 'client_last_name' => __( 'Last name of client', 'bookly' ),
56
+ 'client_name' => __( 'Full name of client', 'bookly' ),
57
+ 'client_phone' => __( 'Phone of client', 'bookly' ),
58
  ),
59
  'customer_timezone' => array(
60
+ 'client_timezone' => __( 'Time zone of client', 'bookly' ),
61
  ),
62
  'customer_appointment' => array(
63
  'approve_appointment_url' => __( 'URL of approve appointment link (to use inside <a> tag)', 'bookly' ),
64
  'cancel_appointment_confirm_url' => __( 'URL of cancel appointment link with confirmation (to use inside <a> tag)', 'bookly' ),
65
  'cancel_appointment_url' => __( 'URL of cancel appointment link (to use inside <a> tag)', 'bookly' ),
66
+ 'cancellation_reason' => __( 'Reason you mentioned while deleting appointment', 'bookly' ),
67
  'google_calendar_url' => __( 'URL for adding event to client\'s Google Calendar (to use inside <a> tag)', 'bookly' ),
68
  'reject_appointment_url' => __( 'URL of reject appointment link (to use inside <a> tag)', 'bookly' ),
69
  ),
70
  'payment' => array(
71
+ 'payment_type' => __( 'Payment type', 'bookly' ),
72
+ 'payment_status' => __( 'Payment status', 'bookly' ),
73
+ 'total_price' => __( 'Total price of booking (sum of all cart items after applying coupon)' ),
74
  ),
75
  'service' => array(
76
+ 'service_duration' => __( 'Duration of service', 'bookly' ),
77
+ 'service_info' => __( 'Info of service', 'bookly' ),
78
+ 'service_name' => __( 'Name of service', 'bookly' ),
79
+ 'service_price' => __( 'Price of service', 'bookly' ),
80
  ),
81
  'staff' => array(
82
+ 'staff_email' => __( 'Email of staff', 'bookly' ),
83
+ 'staff_info' => __( 'Info of staff', 'bookly' ),
84
+ 'staff_name' => __( 'Name of staff', 'bookly' ),
85
+ 'staff_phone' => __( 'Phone of staff', 'bookly' ),
86
  ),
87
  'staff_agenda' => array(
88
+ 'agenda_date' => __( 'Agenda date', 'bookly' ),
89
+ 'next_day_agenda' => __( 'Staff agenda for next day', 'bookly' ),
90
+ 'tomorrow_date' => __( 'Date of next day', 'bookly' ),
91
  ),
92
  'user_credentials' => array(
93
+ 'new_password' => __( 'Customer new password', 'bookly' ),
94
+ 'new_username' => __( 'Customer new username', 'bookly' ),
95
+ 'site_address' => __( 'Site address', 'bookly' ),
96
  ),
97
  'rating' => array(),
98
  );
99
 
100
  if ( $type == 'email' ) {
101
  // Only email.
102
+ $this->codes['company']['company_logo'] = __( 'Company logo', 'bookly' );
103
+ $this->codes['customer_appointment']['cancel_appointment'] = __( 'Cancel appointment link', 'bookly' );
104
+ $this->codes['staff']['staff_photo'] = __( 'Photo of staff', 'bookly' );
105
  }
106
 
107
  // Add codes from add-ons.
221
  /**
222
  * @param array $groups
223
  * @param bool $echo
224
+ * @return array
225
  */
226
+ public function getGroups( array $groups )
227
  {
228
  $codes = array();
229
  foreach ( $groups as $group ) {
234
 
235
  ksort( $codes );
236
 
237
+ return $codes;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  }
239
  }
backend/modules/services/Ajax.php CHANGED
@@ -2,6 +2,7 @@
2
  namespace Bookly\Backend\Modules\Services;
3
 
4
  use Bookly\Backend\Components\Notices\Limitation;
 
5
  use Bookly\Backend\Modules\Appointments;
6
  use Bookly\Lib;
7
 
@@ -152,60 +153,6 @@ class Ajax extends Page
152
  ) );
153
  }
154
 
155
- /**
156
- * Edit Service
157
- */
158
- public static function getServiceData()
159
- {
160
- $service_id = self::parameter( 'id' );
161
- $service_collection_data = Lib\Entities\Service::query( 's' )
162
- ->select( 's.*, COUNT(staff.id) AS total_staff, GROUP_CONCAT(DISTINCT staff.id) AS staff_ids' )
163
- ->leftJoin( 'StaffService', 'ss', 'ss.service_id = s.id' )
164
- ->leftJoin( 'Staff', 'staff', 'staff.id = ss.staff_id' )
165
- ->whereIn( 's.type', array_keys( Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => Lib\Entities\Service::TYPE_SIMPLE ) ) ) )
166
- ->groupBy( 's.id' )
167
- ->fetchArray();
168
- $service_collection = array();
169
- foreach ( $service_collection_data as $current_service ) {
170
- if ( $current_service['id'] == $service_id ) {
171
- $service = $current_service;
172
- }
173
- $service_collection[ $current_service['id'] ] = $current_service;
174
- }
175
- $service['sub_services'] = Lib\Entities\SubService::query()
176
- ->where( 'service_id', $service['id'] )
177
- ->sortBy( 'position' )
178
- ->fetchArray();
179
- $service['sub_services_count'] = array_sum( array_map( function ( $sub_service ) {
180
- return (int) ( $sub_service['type'] == Lib\Entities\SubService::TYPE_SERVICE );
181
- }, $service['sub_services'] ) );
182
- $service['colors'] = Proxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] );
183
-
184
- $staff_dropdown_data = self::getStaffDropDownData();
185
-
186
- $categories_collection = Lib\Entities\Category::query()->sortBy( 'position' )->fetchArray();
187
- $service_types = Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => __( 'Simple', 'bookly' ) ) );
188
- $result = array(
189
- 'general_html' => self::renderTemplate( 'general', compact( 'service', 'service_types', 'service_collection', 'staff_dropdown_data', 'categories_collection' ), false ),
190
- 'advanced_html' => self::renderTemplate( 'advanced', compact( 'service', 'service_types', 'service_collection', 'staff_dropdown_data', 'categories_collection' ), false ),
191
- 'time_html' => self::renderTemplate( 'time', compact( 'service', 'service_types', 'service_collection', 'staff_dropdown_data', 'categories_collection' ), false ),
192
- 'extras_html' => Proxy\ServiceExtras::getTabHtml( $service_id ),
193
- 'schedule_html' => Proxy\ServiceSchedule::getTabHtml( $service_id ),
194
- 'special_days_html' => Proxy\ServiceSpecialDays::getTabHtml( $service_id ),
195
- 'additional_html' => Proxy\Shared::prepareAfterServiceList( '', $service_collection ),
196
- 'title' => $service['title'],
197
- 'type' => $service['type'],
198
- 'price' => Lib\Utils\Price::format( $service['price'] ),
199
- 'duration' => in_array( $service['type'], array(
200
- Lib\Entities\Service::TYPE_COLLABORATIVE,
201
- Lib\Entities\Service::TYPE_COMPOUND,
202
- ) ) ? sprintf( _n( '%d service', '%d services', $service['sub_services_count'], 'bookly' ), $service['sub_services_count'] ) : Lib\Utils\DateTime::secondsToInterval( $service['duration'] ),
203
- 'staff' => $staff_dropdown_data,
204
- );
205
-
206
- wp_send_json_success( $result );
207
- }
208
-
209
  /**
210
  * 'Safely' remove services (report if there are future appointments)
211
  */
@@ -274,59 +221,6 @@ class Ajax extends Page
274
  wp_send_json_success();
275
  }
276
 
277
- /**
278
- * Update service parameters and assign staff
279
- */
280
- public static function updateService()
281
- {
282
- $form = new Forms\Service();
283
- $form->bind( self::postParameters() );
284
- $service = $form->save();
285
-
286
- $staff_ids = self::parameter( 'staff_ids', array() );
287
- if ( empty ( $staff_ids ) ) {
288
- Lib\Entities\StaffService::query()->delete()->where( 'service_id', $service->getId() )->execute();
289
- } else {
290
- Lib\Entities\StaffService::query()->delete()->where( 'service_id', $service->getId() )->whereNotIn( 'staff_id', $staff_ids )->execute();
291
- if ( $service->getType() == Lib\Entities\Service::TYPE_SIMPLE ) {
292
- if ( self::parameter( 'update_staff', false ) ) {
293
- Lib\Entities\StaffService::query()
294
- ->update()
295
- ->set( 'price', self::parameter( 'price' ) )
296
- ->set( 'capacity_min', $service->getCapacityMin() )
297
- ->set( 'capacity_max', $service->getCapacityMax() )
298
- ->where( 'service_id', self::parameter( 'id' ) )
299
- ->execute();
300
- }
301
- // Create records for newly linked staff.
302
- $existing_staff_ids = array();
303
- $res = Lib\Entities\StaffService::query()
304
- ->select( 'staff_id' )
305
- ->where( 'service_id', $service->getId() )
306
- ->fetchArray();
307
- foreach ( $res as $staff ) {
308
- $existing_staff_ids[] = $staff['staff_id'];
309
- }
310
- foreach ( $staff_ids as $staff_id ) {
311
- if ( ! in_array( $staff_id, $existing_staff_ids ) ) {
312
- $staff_service = new Lib\Entities\StaffService();
313
- $staff_service->setStaffId( $staff_id )
314
- ->setServiceId( $service->getId() )
315
- ->setPrice( $service->getPrice() )
316
- ->setCapacityMin( $service->getCapacityMin() )
317
- ->setCapacityMax( $service->getCapacityMax() )
318
- ->save();
319
- }
320
- }
321
- }
322
- }
323
-
324
- // Update services in addons.
325
- $alert = Proxy\Shared::updateService( array( 'success' => array( __( 'Settings saved.', 'bookly' ) ) ), $service, self::postParameters() );
326
-
327
- wp_send_json_success( Proxy\Shared::prepareUpdateServiceResponse( compact( 'alert' ), $service, self::postParameters() ) );
328
- }
329
-
330
  /**
331
  * Update service categories
332
  */
2
  namespace Bookly\Backend\Modules\Services;
3
 
4
  use Bookly\Backend\Components\Notices\Limitation;
5
+ use Bookly\Backend\Components\Dialogs\Service\Edit\Forms;
6
  use Bookly\Backend\Modules\Appointments;
7
  use Bookly\Lib;
8
 
153
  ) );
154
  }
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  /**
157
  * 'Safely' remove services (report if there are future appointments)
158
  */
221
  wp_send_json_success();
222
  }
223
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  /**
225
  * Update service categories
226
  */
backend/modules/services/Page.php CHANGED
@@ -75,9 +75,6 @@ class Page extends Lib\Base\Ajax
75
  'datatables' => $datatables,
76
  ) );
77
 
78
- // Allow add-ons to enqueue their assets.
79
- Proxy\Shared::enqueueAssetsForServices();
80
-
81
  foreach ( $services as &$service ) {
82
  $service['colors'] = Proxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] );
83
  $service['sub_services'] = Lib\Entities\SubService::query()
75
  'datatables' => $datatables,
76
  ) );
77
 
 
 
 
78
  foreach ( $services as &$service ) {
79
  $service['colors'] = Proxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] );
80
  $service['sub_services'] = Lib\Entities\SubService::query()
backend/modules/services/proxy/CollaborativeServices.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class CollaborativeServices
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service, array $service_collection ) Render collaborative services sub-form.
11
  */
12
  abstract class CollaborativeServices extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class CollaborativeServices
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class CollaborativeServices extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/CompoundServices.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class CompoundServices
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service, array $service_collection ) Render compound services sub-form.
11
  */
12
  abstract class CompoundServices extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class CompoundServices
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class CompoundServices extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/CustomDuration.php CHANGED
@@ -6,11 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class CustomerGroups
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static array prepareServiceDurationOptions( array $options, array $service ) Add "Custom" option to service duration select.
11
- * @method static void renderServiceDurationFields( array $service ) Render services duration(units) fields.
12
- * @method static void renderServiceDurationHelp() Render services duration help tip.
13
- * @method static void renderServicePriceLabel( $service_id ) Render service price label.
14
  */
15
  abstract class CustomDuration extends Lib\Base\Proxy
16
  {
6
  /**
7
  * Class CustomerGroups
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
 
 
 
9
  */
10
  abstract class CustomDuration extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/CustomerGroups.php CHANGED
@@ -6,9 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class CustomerGroups
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service ) Render customer groups sub-form.
11
- * @method static void renderVisibilityOption( array $service ) Render services visibility option 'based on groups'.
12
  */
13
  abstract class CustomerGroups extends Lib\Base\Proxy
14
  {
6
  /**
7
  * Class CustomerGroups
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
 
9
  */
10
  abstract class CustomerGroups extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/DepositPayments.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class DepositPayments
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderDeposit( array $service ) Render Deposit controls on service settings.
11
  */
12
  abstract class DepositPayments extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class DepositPayments
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class DepositPayments extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/GroupBooking.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class GroupBooking
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service ) Render Permit one booking per time slot sub-form.
11
  */
12
  abstract class GroupBooking extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class GroupBooking
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class GroupBooking extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/Packages.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class Packages
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service, array $service_collection )
11
  */
12
  abstract class Packages extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class Packages
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class Packages extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/Pro.php CHANGED
@@ -7,12 +7,6 @@ use Bookly\Lib;
7
  * Class Pro
8
  *
9
  * @package Bookly\Backend\Components\Service\Proxy
10
- *
11
- * @method static void renderLimitAppointmentsPerCustomer( array $service ) Render limit appointments rules per customer.
12
- * @method static void renderOnlineMeetings( array $service ) Render online meetings dropdown.
13
- * @method static void renderPadding( array $service ) Render padding settings for service.
14
- * @method static void renderStaffPreference( array $service ) Render staff preference rules "any" is selected.
15
- * @method static void renderVisibility( array $service ) Render visibility option for service.
16
  */
17
  abstract class Pro extends Lib\Base\Proxy
18
  {
7
  * Class Pro
8
  *
9
  * @package Bookly\Backend\Components\Service\Proxy
 
 
 
 
 
 
10
  */
11
  abstract class Pro extends Lib\Base\Proxy
12
  {
backend/modules/services/proxy/RecurringAppointments.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class RecurringAppointments
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service ) Render repeat sub form.
11
  */
12
  abstract class RecurringAppointments extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class RecurringAppointments
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class RecurringAppointments extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/ServiceExtras.php CHANGED
@@ -6,9 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class ServiceExtras
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static string getTabHtml( int $service_id ) Render extras tab html.
11
- * @method static void renderTab() Render extras tab.
12
  */
13
  abstract class ServiceExtras extends Lib\Base\Proxy
14
  {
6
  /**
7
  * Class ServiceExtras
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
 
9
  */
10
  abstract class ServiceExtras extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/ServiceSchedule.php CHANGED
@@ -6,9 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class ServiceSchedule
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static string getTabHtml( int $service_id ) Render service schedule html.
11
- * @method static void renderTab() Render service schedule tab.
12
  */
13
  abstract class ServiceSchedule extends Lib\Base\Proxy
14
  {
6
  /**
7
  * Class ServiceSchedule
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
 
9
  */
10
  abstract class ServiceSchedule extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/ServiceSpecialDays.php CHANGED
@@ -6,9 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class ServiceSpecialDays
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static string getTabHtml( int $service_id ) Render special days html.
11
- * @method static void renderTab() Render special days tab.
12
  */
13
  abstract class ServiceSpecialDays extends Lib\Base\Proxy
14
  {
6
  /**
7
  * Class ServiceSpecialDays
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
 
9
  */
10
  abstract class ServiceSpecialDays extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/Shared.php CHANGED
@@ -7,17 +7,12 @@ use Bookly\Lib;
7
  * Class Shared
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
  *
10
- * @method static void enqueueAssetsForServices() Enqueue assets for page Services.
11
  * @method static void duplicateService( int $source_id, int $target_id ) Duplicate service.
12
  * @method static array prepareServiceColors( array $colors, int $service_id, int $service_type ) Prepare colors for service.
13
  * @method static array prepareServiceIcons( array $icons ) Prepare service icons.
14
  * @method static array prepareServiceTypes( array $types ) Prepare service types.
15
- * @method static array prepareUpdateService( array $data ) Prepare update service settings in add-ons.
16
- * @method static array prepareUpdateServiceResponse( array $response, Lib\Entities\Service $service, array $_post ) Prepare response for updated service.
17
- * @method static string prepareAfterServiceList( string $html, array $service_collection ) Render content after services forms.
18
  * @method static array serviceCreated( Lib\Entities\Service $service, array $_post ) Service created.
19
  * @method static void serviceDeleted( Lib\Entities\Service $service ) Service deleted.
20
- * @method static array updateService( array $alert, Lib\Entities\Service $service, array $_post ) Update service settings in add-ons.
21
  */
22
  abstract class Shared extends Lib\Base\Proxy
23
  {
7
  * Class Shared
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
  *
 
10
  * @method static void duplicateService( int $source_id, int $target_id ) Duplicate service.
11
  * @method static array prepareServiceColors( array $colors, int $service_id, int $service_type ) Prepare colors for service.
12
  * @method static array prepareServiceIcons( array $icons ) Prepare service icons.
13
  * @method static array prepareServiceTypes( array $types ) Prepare service types.
 
 
 
14
  * @method static array serviceCreated( Lib\Entities\Service $service, array $_post ) Service created.
15
  * @method static void serviceDeleted( Lib\Entities\Service $service ) Service deleted.
 
16
  */
17
  abstract class Shared extends Lib\Base\Proxy
18
  {
backend/modules/services/proxy/Tasks.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class Tasks
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service ) Render taxes sub-form.
11
  */
12
  abstract class Tasks extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class Tasks
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class Tasks extends Lib\Base\Proxy
11
  {
backend/modules/services/proxy/Taxes.php CHANGED
@@ -6,8 +6,6 @@ use Bookly\Lib;
6
  /**
7
  * Class Taxes
8
  * @package Bookly\Backend\Modules\Services\Proxy
9
- *
10
- * @method static void renderSubForm( array $service ) Render taxes sub-form.
11
  */
12
  abstract class Taxes extends Lib\Base\Proxy
13
  {
6
  /**
7
  * Class Taxes
8
  * @package Bookly\Backend\Modules\Services\Proxy
 
 
9
  */
10
  abstract class Taxes extends Lib\Base\Proxy
11
  {
backend/modules/services/templates/advanced.php DELETED
@@ -1,16 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
- use Bookly\Backend\Modules\Services\Proxy;
3
- use Bookly\Lib\Entities\Service;
4
- /**
5
- * @var array $service
6
- */
7
- ?>
8
- <div class="bookly-js-service-advanced-container">
9
- <?php if ( $service['type'] == Service::TYPE_SIMPLE ) : ?>
10
- <?php Proxy\GroupBooking::renderSubForm( $service ) ?>
11
- <?php Proxy\Pro::renderOnlineMeetings( $service ) ?>
12
- <?php endif ?>
13
- <?php Proxy\Pro::renderLimitAppointmentsPerCustomer( $service ) ?>
14
- <?php Proxy\Taxes::renderSubForm( $service ) ?>
15
- <?php Proxy\RecurringAppointments::renderSubForm( $service ) ?>
16
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
backend/modules/settings/templates/_calendar_codes.php CHANGED
@@ -2,37 +2,37 @@
2
  use Bookly\Backend\Modules\Settings\Proxy;
3
 
4
  $codes = array(
5
- array( 'code' => 'appointment_date', 'description' => __( 'date of appointment', 'bookly' ) ),
6
- array( 'code' => 'appointment_time', 'description' => __( 'time of appointment', 'bookly' ) ),
7
- array( 'code' => 'booking_number', 'description' => __( 'booking number', 'bookly' ) ),
8
- array( 'code' => 'category_name', 'description' => __( 'name of category', 'bookly' ) ),
9
- array( 'code' => 'company_address', 'description' => __( 'address of company', 'bookly' ) ),
10
- array( 'code' => 'company_name', 'description' => __( 'name of company', 'bookly' ) ),
11
- array( 'code' => 'company_phone', 'description' => __( 'company phone', 'bookly' ) ),
12
- array( 'code' => 'company_website', 'description' => __( 'company web-site address', 'bookly' ) ),
13
- array( 'code' => 'internal_note', 'description' => __( 'internal note', 'bookly' ) ),
14
- array( 'code' => 'service_capacity', 'description' => __( 'capacity of service', 'bookly' ) ),
15
- array( 'code' => 'service_duration', 'description' => __( 'duration of service', 'bookly' ) ),
16
- array( 'code' => 'service_info', 'description' => __( 'info of service', 'bookly' ) ),
17
- array( 'code' => 'service_name', 'description' => __( 'name of service', 'bookly' ) ),
18
- array( 'code' => 'service_price', 'description' => __( 'price of service', 'bookly' ) ),
19
- array( 'code' => 'staff_email', 'description' => __( 'email of staff', 'bookly' ) ),
20
- array( 'code' => 'staff_info', 'description' => __( 'info of staff', 'bookly' ) ),
21
- array( 'code' => 'staff_name', 'description' => __( 'name of staff', 'bookly' ) ),
22
- array( 'code' => 'staff_phone', 'description' => __( 'phone of staff', 'bookly' ) ),
23
  );
24
  if ( $participants == 'one' ) {
25
- $codes[] = array( 'code' => 'client_email', 'description' => __( 'email of client', 'bookly' ) );
26
- $codes[] = array( 'code' => 'client_name', 'description' => __( 'full name of client', 'bookly' ) );
27
- $codes[] = array( 'code' => 'client_first_name', 'description' => __( 'first name of client', 'bookly' ) );
28
- $codes[] = array( 'code' => 'client_last_name', 'description' => __( 'last name of client', 'bookly' ) );
29
- $codes[] = array( 'code' => 'client_phone', 'description' => __( 'phone of client', 'bookly' ) );
30
- $codes[] = array( 'code' => 'payment_status', 'description' => __( 'status of payment', 'bookly' ) );
31
- $codes[] = array( 'code' => 'payment_type', 'description' => __( 'payment type', 'bookly' ) );
32
- $codes[] = array( 'code' => 'status', 'description' => __( 'status of appointment', 'bookly' ) );
33
- $codes[] = array( 'code' => 'total_price', 'description' => __( 'total price of booking (sum of all cart items after applying coupon)', 'bookly' ) );
34
  }
35
 
36
  $codes = Proxy\Shared::prepareCalendarAppointmentCodes( $codes, $participants );
37
 
38
- echo Bookly\Lib\Utils\Common::codes( $codes );
2
  use Bookly\Backend\Modules\Settings\Proxy;
3
 
4
  $codes = array(
5
+ 'appointment_date' => __( 'Date of appointment', 'bookly' ),
6
+ 'appointment_time' => __( 'Time of appointment', 'bookly' ),
7
+ 'booking_number' => __( 'Booking number', 'bookly' ),
8
+ 'category_name' => __( 'Name of category', 'bookly' ),
9
+ 'company_address' => __( 'Address of company', 'bookly' ),
10
+ 'company_name' => __( 'Name of company', 'bookly' ),
11
+ 'company_phone' => __( 'Company phone', 'bookly' ),
12
+ 'company_website' => __( 'Company web-site address', 'bookly' ),
13
+ 'internal_note' => __( 'Internal note', 'bookly' ),
14
+ 'service_capacity' => __( 'Capacity of service', 'bookly' ),
15
+ 'service_duration' => __( 'Duration of service', 'bookly' ),
16
+ 'service_info' => __( 'Info of service', 'bookly' ),
17
+ 'service_name' => __( 'Name of service', 'bookly' ),
18
+ 'service_price' => __( 'Price of service', 'bookly' ),
19
+ 'staff_email' => __( 'Email of staff', 'bookly' ),
20
+ 'staff_info' => __( 'Info of staff', 'bookly' ),
21
+ 'staff_name' => __( 'Name of staff', 'bookly' ),
22
+ 'staff_phone' => __( 'Phone of staff', 'bookly' ),
23
  );
24
  if ( $participants == 'one' ) {
25
+ $codes['client_email'] = __( 'Email of client', 'bookly' );
26
+ $codes['client_name'] = __( 'Full name of client', 'bookly' );
27
+ $codes['client_first_name'] = __( 'First name of client', 'bookly' );
28
+ $codes['client_last_name'] = __( 'Last name of client', 'bookly' );
29
+ $codes['client_phone'] = __( 'Phone of client', 'bookly' );
30
+ $codes['payment_status'] = __( 'Status of payment', 'bookly' );
31
+ $codes['payment_type'] = __( 'Payment type', 'bookly' );
32
+ $codes['status'] = __( 'Status of appointment', 'bookly' );
33
+ $codes['total_price'] = __( 'Total price of booking (sum of all cart items after applying coupon)', 'bookly' );
34
  }
35
 
36
  $codes = Proxy\Shared::prepareCalendarAppointmentCodes( $codes, $participants );
37
 
38
+ echo Bookly\Lib\Utils\Codes::tableHtml( $codes );
backend/modules/staff/proxy/Shared.php CHANGED
@@ -11,7 +11,7 @@ use Bookly\Lib;
11
  * @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
12
  * @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
13
  * @method static Lib\Query prepareGetStaffQuery( Lib\Query $query ) Prepare get staff list query.
14
- * @method static int renderStaffPage( array $params ) Do stuff on staff page render.
15
  * @method static array searchStaff( array $fields, array $columns, Lib\Query $query ) Search staff, prepare query and fields.
16
  */
17
  abstract class Shared extends Lib\Base\Proxy
11
  * @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
12
  * @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
13
  * @method static Lib\Query prepareGetStaffQuery( Lib\Query $query ) Prepare get staff list query.
14
+ * @method static array renderStaffPage( array $params ) Do stuff on staff page render.
15
  * @method static array searchStaff( array $fields, array $columns, Lib\Query $query ) Search staff, prepare query and fields.
16
  */
17
  abstract class Shared extends Lib\Base\Proxy
backend/resources/bootstrap/css/bootstrap.min.css CHANGED
@@ -3,4 +3,4 @@
3
  * Copyright 2011-2019 The Bootstrap Authors
4
  * Copyright 2011-2019 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
- */#bookly-tbs{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:transparent}#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{box-sizing:border-box}#bookly-tbs html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs nav,#bookly-tbs section{display:block}#bookly-tbs body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}#bookly-tbs [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#bookly-tbs hr{box-sizing:content-box;height:0;overflow:visible}#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:0;margin-bottom:.5rem}#bookly-tbs p{margin-top:0;margin-bottom:1rem}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#bookly-tbs address{margin-bottom:1rem;font-style:normal;line-height:inherit}#bookly-tbs dl,#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:1rem}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-bottom:.5rem;margin-left:0}#bookly-tbs blockquote{margin:0 0 1rem}#bookly-tbs b,#bookly-tbs strong{font-weight:bolder}#bookly-tbs small{font-size:80%}#bookly-tbs sub,#bookly-tbs sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}#bookly-tbs sub{bottom:-.25em}#bookly-tbs sup{top:-.5em}#bookly-tbs a{color:#007bff;text-decoration:none;background-color:transparent}#bookly-tbs a:hover{color:#0056b3;text-decoration:underline}#bookly-tbs a:not([href]){color:inherit;text-decoration:none}#bookly-tbs a:not([href]):hover{color:inherit;text-decoration:none}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}#bookly-tbs pre{margin-top:0;margin-bottom:1rem;overflow:auto}#bookly-tbs figure{margin:0 0 1rem}#bookly-tbs img{vertical-align:middle;border-style:none}#bookly-tbs svg{overflow:hidden;vertical-align:middle}#bookly-tbs table{border-collapse:collapse}#bookly-tbs caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}#bookly-tbs th{text-align:inherit}#bookly-tbs label{display:inline-block;margin-bottom:.5rem}#bookly-tbs button{border-radius:0}#bookly-tbs button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs button,#bookly-tbs input{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs select{word-wrap:normal}#bookly-tbs [type=button],#bookly-tbs [type=reset],#bookly-tbs [type=submit],#bookly-tbs button{-webkit-appearance:button}#bookly-tbs [type=button]:not(:disabled),#bookly-tbs [type=reset]:not(:disabled),#bookly-tbs [type=submit]:not(:disabled),#bookly-tbs button:not(:disabled){cursor:pointer}#bookly-tbs [type=button]::-moz-focus-inner,#bookly-tbs [type=reset]::-moz-focus-inner,#bookly-tbs [type=submit]::-moz-focus-inner,#bookly-tbs button::-moz-focus-inner{padding:0;border-style:none}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{box-sizing:border-box;padding:0}#bookly-tbs input[type=date],#bookly-tbs input[type=datetime-local],#bookly-tbs input[type=month],#bookly-tbs input[type=time]{-webkit-appearance:listbox}#bookly-tbs textarea{overflow:auto;resize:vertical}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}#bookly-tbs progress{vertical-align:baseline}#bookly-tbs [type=number]::-webkit-inner-spin-button,#bookly-tbs [type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs [type=search]{outline-offset:-2px;-webkit-appearance:none}#bookly-tbs [type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}#bookly-tbs output{display:inline-block}#bookly-tbs summary{display:list-item;cursor:pointer}#bookly-tbs template{display:none}#bookly-tbs [hidden]{display:none!important}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}#bookly-tbs .h1,#bookly-tbs h1{font-size:2.5rem}#bookly-tbs .h2,#bookly-tbs h2{font-size:2rem}#bookly-tbs .h3,#bookly-tbs h3{font-size:1.75rem}#bookly-tbs .h4,#bookly-tbs h4{font-size:1.5rem}#bookly-tbs .h5,#bookly-tbs h5{font-size:1.25rem}#bookly-tbs .h6,#bookly-tbs h6{font-size:1rem}#bookly-tbs .lead{font-size:1.25rem;font-weight:300}#bookly-tbs .display-1{font-size:6rem;font-weight:300;line-height:1.2}#bookly-tbs .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}#bookly-tbs hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}#bookly-tbs .small,#bookly-tbs small{font-size:80%;font-weight:400}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;list-style:none}#bookly-tbs .list-inline-item{display:inline-block}#bookly-tbs .list-inline-item:not(:last-child){margin-right:.5rem}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs .blockquote{margin-bottom:1rem;font-size:1.25rem}#bookly-tbs .blockquote-footer{display:block;font-size:80%;color:#6c757d}#bookly-tbs .blockquote-footer::before{content:"\2014\00A0"}#bookly-tbs .img-fluid{max-width:100%;height:auto}#bookly-tbs .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}#bookly-tbs .figure{display:inline-block}#bookly-tbs .figure-img{margin-bottom:.5rem;line-height:1}#bookly-tbs .figure-caption{font-size:90%;color:#6c757d}#bookly-tbs code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>#bookly-tbs code{color:inherit}#bookly-tbs kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700}#bookly-tbs pre{display:block;font-size:87.5%;color:#212529}#bookly-tbs pre code{font-size:inherit;color:inherit;word-break:normal}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container{max-width:540px}}@media (min-width:768px){#bookly-tbs .container{max-width:720px}}@media (min-width:992px){#bookly-tbs .container{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container{max-width:1140px}}#bookly-tbs .container-fluid,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container,#bookly-tbs .container-sm{max-width:540px}}@media (min-width:768px){#bookly-tbs .container,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:720px}}@media (min-width:992px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{max-width:1140px}}#bookly-tbs .jCal-wrap,#bookly-tbs .row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .no-gutters{margin-right:0;margin-left:0}#bookly-tbs .no-gutters>.col,#bookly-tbs .no-gutters>[class*=col-]{padding-right:0;padding-left:0}#bookly-tbs .col,#bookly-tbs .col-1,#bookly-tbs .col-10,#bookly-tbs .col-11,#bookly-tbs .col-12,#bookly-tbs .col-2,#bookly-tbs .col-3,#bookly-tbs .col-4,#bookly-tbs .col-5,#bookly-tbs .col-6,#bookly-tbs .col-7,#bookly-tbs .col-8,#bookly-tbs .col-9,#bookly-tbs .col-auto,#bookly-tbs .col-lg,#bookly-tbs .col-lg-1,#bookly-tbs .col-lg-10,#bookly-tbs .col-lg-11,#bookly-tbs .col-lg-12,#bookly-tbs .col-lg-2,#bookly-tbs .col-lg-3,#bookly-tbs .col-lg-4,#bookly-tbs .col-lg-5,#bookly-tbs .col-lg-6,#bookly-tbs .col-lg-7,#bookly-tbs .col-lg-8,#bookly-tbs .col-lg-9,#bookly-tbs .col-lg-auto,#bookly-tbs .col-md,#bookly-tbs .col-md-1,#bookly-tbs .col-md-10,#bookly-tbs .col-md-11,#bookly-tbs .col-md-12,#bookly-tbs .col-md-2,#bookly-tbs .col-md-3,#bookly-tbs .col-md-4,#bookly-tbs .col-md-5,#bookly-tbs .col-md-6,#bookly-tbs .col-md-7,#bookly-tbs .col-md-8,#bookly-tbs .col-md-9,#bookly-tbs .col-md-auto,#bookly-tbs .col-sm,#bookly-tbs .col-sm-1,#bookly-tbs .col-sm-10,#bookly-tbs .col-sm-11,#bookly-tbs .col-sm-12,#bookly-tbs .col-sm-2,#bookly-tbs .col-sm-3,#bookly-tbs .col-sm-4,#bookly-tbs .col-sm-5,#bookly-tbs .col-sm-6,#bookly-tbs .col-sm-7,#bookly-tbs .col-sm-8,#bookly-tbs .col-sm-9,#bookly-tbs .col-sm-auto,#bookly-tbs .col-xl,#bookly-tbs .col-xl-1,#bookly-tbs .col-xl-10,#bookly-tbs .col-xl-11,#bookly-tbs .col-xl-12,#bookly-tbs .col-xl-2,#bookly-tbs .col-xl-3,#bookly-tbs .col-xl-4,#bookly-tbs .col-xl-5,#bookly-tbs .col-xl-6,#bookly-tbs .col-xl-7,#bookly-tbs .col-xl-8,#bookly-tbs .col-xl-9,#bookly-tbs .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}#bookly-tbs .col{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-first{order:-1}#bookly-tbs .order-last{order:13}#bookly-tbs .order-0{order:0}#bookly-tbs .order-1{order:1}#bookly-tbs .order-2{order:2}#bookly-tbs .order-3{order:3}#bookly-tbs .order-4{order:4}#bookly-tbs .order-5{order:5}#bookly-tbs .order-6{order:6}#bookly-tbs .order-7{order:7}#bookly-tbs .order-8{order:8}#bookly-tbs .order-9{order:9}#bookly-tbs .order-10{order:10}#bookly-tbs .order-11{order:11}#bookly-tbs .order-12{order:12}#bookly-tbs .offset-1{margin-left:8.333333%}#bookly-tbs .offset-2{margin-left:16.666667%}#bookly-tbs .offset-3{margin-left:25%}#bookly-tbs .offset-4{margin-left:33.333333%}#bookly-tbs .offset-5{margin-left:41.666667%}#bookly-tbs .offset-6{margin-left:50%}#bookly-tbs .offset-7{margin-left:58.333333%}#bookly-tbs .offset-8{margin-left:66.666667%}#bookly-tbs .offset-9{margin-left:75%}#bookly-tbs .offset-10{margin-left:83.333333%}#bookly-tbs .offset-11{margin-left:91.666667%}@media (min-width:576px){#bookly-tbs .col-sm{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-sm-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-sm-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-sm-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-sm-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-sm-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-sm-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-sm-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-sm-first{order:-1}#bookly-tbs .order-sm-last{order:13}#bookly-tbs .order-sm-0{order:0}#bookly-tbs .order-sm-1{order:1}#bookly-tbs .order-sm-2{order:2}#bookly-tbs .order-sm-3{order:3}#bookly-tbs .order-sm-4{order:4}#bookly-tbs .order-sm-5{order:5}#bookly-tbs .order-sm-6{order:6}#bookly-tbs .order-sm-7{order:7}#bookly-tbs .order-sm-8{order:8}#bookly-tbs .order-sm-9{order:9}#bookly-tbs .order-sm-10{order:10}#bookly-tbs .order-sm-11{order:11}#bookly-tbs .order-sm-12{order:12}#bookly-tbs .offset-sm-0{margin-left:0}#bookly-tbs .offset-sm-1{margin-left:8.333333%}#bookly-tbs .offset-sm-2{margin-left:16.666667%}#bookly-tbs .offset-sm-3{margin-left:25%}#bookly-tbs .offset-sm-4{margin-left:33.333333%}#bookly-tbs .offset-sm-5{margin-left:41.666667%}#bookly-tbs .offset-sm-6{margin-left:50%}#bookly-tbs .offset-sm-7{margin-left:58.333333%}#bookly-tbs .offset-sm-8{margin-left:66.666667%}#bookly-tbs .offset-sm-9{margin-left:75%}#bookly-tbs .offset-sm-10{margin-left:83.333333%}#bookly-tbs .offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){#bookly-tbs .col-md{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-md-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-md-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-md-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-md-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-md-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-md-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-md-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-md-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-md-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-md-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-md-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-md-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-md-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-md-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-md-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-md-first{order:-1}#bookly-tbs .order-md-last{order:13}#bookly-tbs .order-md-0{order:0}#bookly-tbs .order-md-1{order:1}#bookly-tbs .order-md-2{order:2}#bookly-tbs .order-md-3{order:3}#bookly-tbs .order-md-4{order:4}#bookly-tbs .order-md-5{order:5}#bookly-tbs .order-md-6{order:6}#bookly-tbs .order-md-7{order:7}#bookly-tbs .order-md-8{order:8}#bookly-tbs .order-md-9{order:9}#bookly-tbs .order-md-10{order:10}#bookly-tbs .order-md-11{order:11}#bookly-tbs .order-md-12{order:12}#bookly-tbs .offset-md-0{margin-left:0}#bookly-tbs .offset-md-1{margin-left:8.333333%}#bookly-tbs .offset-md-2{margin-left:16.666667%}#bookly-tbs .offset-md-3{margin-left:25%}#bookly-tbs .offset-md-4{margin-left:33.333333%}#bookly-tbs .offset-md-5{margin-left:41.666667%}#bookly-tbs .offset-md-6{margin-left:50%}#bookly-tbs .offset-md-7{margin-left:58.333333%}#bookly-tbs .offset-md-8{margin-left:66.666667%}#bookly-tbs .offset-md-9{margin-left:75%}#bookly-tbs .offset-md-10{margin-left:83.333333%}#bookly-tbs .offset-md-11{margin-left:91.666667%}}@media (min-width:992px){#bookly-tbs .col-lg{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-lg-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-lg-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-lg-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-lg-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-lg-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-lg-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-lg-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-lg-first{order:-1}#bookly-tbs .order-lg-last{order:13}#bookly-tbs .order-lg-0{order:0}#bookly-tbs .order-lg-1{order:1}#bookly-tbs .order-lg-2{order:2}#bookly-tbs .order-lg-3{order:3}#bookly-tbs .order-lg-4{order:4}#bookly-tbs .order-lg-5{order:5}#bookly-tbs .order-lg-6{order:6}#bookly-tbs .order-lg-7{order:7}#bookly-tbs .order-lg-8{order:8}#bookly-tbs .order-lg-9{order:9}#bookly-tbs .order-lg-10{order:10}#bookly-tbs .order-lg-11{order:11}#bookly-tbs .order-lg-12{order:12}#bookly-tbs .offset-lg-0{margin-left:0}#bookly-tbs .offset-lg-1{margin-left:8.333333%}#bookly-tbs .offset-lg-2{margin-left:16.666667%}#bookly-tbs .offset-lg-3{margin-left:25%}#bookly-tbs .offset-lg-4{margin-left:33.333333%}#bookly-tbs .offset-lg-5{margin-left:41.666667%}#bookly-tbs .offset-lg-6{margin-left:50%}#bookly-tbs .offset-lg-7{margin-left:58.333333%}#bookly-tbs .offset-lg-8{margin-left:66.666667%}#bookly-tbs .offset-lg-9{margin-left:75%}#bookly-tbs .offset-lg-10{margin-left:83.333333%}#bookly-tbs .offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){#bookly-tbs .col-xl{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-xl-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-xl-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-xl-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-xl-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-xl-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-xl-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-xl-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-xl-first{order:-1}#bookly-tbs .order-xl-last{order:13}#bookly-tbs .order-xl-0{order:0}#bookly-tbs .order-xl-1{order:1}#bookly-tbs .order-xl-2{order:2}#bookly-tbs .order-xl-3{order:3}#bookly-tbs .order-xl-4{order:4}#bookly-tbs .order-xl-5{order:5}#bookly-tbs .order-xl-6{order:6}#bookly-tbs .order-xl-7{order:7}#bookly-tbs .order-xl-8{order:8}#bookly-tbs .order-xl-9{order:9}#bookly-tbs .order-xl-10{order:10}#bookly-tbs .order-xl-11{order:11}#bookly-tbs .order-xl-12{order:12}#bookly-tbs .offset-xl-0{margin-left:0}#bookly-tbs .offset-xl-1{margin-left:8.333333%}#bookly-tbs .offset-xl-2{margin-left:16.666667%}#bookly-tbs .offset-xl-3{margin-left:25%}#bookly-tbs .offset-xl-4{margin-left:33.333333%}#bookly-tbs .offset-xl-5{margin-left:41.666667%}#bookly-tbs .offset-xl-6{margin-left:50%}#bookly-tbs .offset-xl-7{margin-left:58.333333%}#bookly-tbs .offset-xl-8{margin-left:66.666667%}#bookly-tbs .offset-xl-9{margin-left:75%}#bookly-tbs .offset-xl-10{margin-left:83.333333%}#bookly-tbs .offset-xl-11{margin-left:91.666667%}}#bookly-tbs .table{width:100%;margin-bottom:1rem;color:#212529}#bookly-tbs .table td,#bookly-tbs .table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}#bookly-tbs .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}#bookly-tbs .table tbody+tbody{border-top:2px solid #dee2e6}#bookly-tbs .table-sm td,#bookly-tbs .table-sm th{padding:.3rem}#bookly-tbs .table-bordered{border:1px solid #dee2e6}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6}#bookly-tbs .table-bordered thead td,#bookly-tbs .table-bordered thead th{border-bottom-width:2px}#bookly-tbs .table-borderless tbody+tbody,#bookly-tbs .table-borderless td,#bookly-tbs .table-borderless th,#bookly-tbs .table-borderless thead th{border:0}#bookly-tbs .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}#bookly-tbs .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}#bookly-tbs .table-primary,#bookly-tbs .table-primary>td,#bookly-tbs .table-primary>th{background-color:#b8daff}#bookly-tbs .table-primary tbody+tbody,#bookly-tbs .table-primary td,#bookly-tbs .table-primary th,#bookly-tbs .table-primary thead th{border-color:#7abaff}#bookly-tbs .table-hover .table-primary:hover{background-color:#9fcdff}#bookly-tbs .table-hover .table-primary:hover>td,#bookly-tbs .table-hover .table-primary:hover>th{background-color:#9fcdff}#bookly-tbs .table-secondary,#bookly-tbs .table-secondary>td,#bookly-tbs .table-secondary>th{background-color:#d6d8db}#bookly-tbs .table-secondary tbody+tbody,#bookly-tbs .table-secondary td,#bookly-tbs .table-secondary th,#bookly-tbs .table-secondary thead th{border-color:#b3b7bb}#bookly-tbs .table-hover .table-secondary:hover{background-color:#c8cbcf}#bookly-tbs .table-hover .table-secondary:hover>td,#bookly-tbs .table-hover .table-secondary:hover>th{background-color:#c8cbcf}#bookly-tbs .table-success,#bookly-tbs .table-success>td,#bookly-tbs .table-success>th{background-color:#c3e6cb}#bookly-tbs .table-success tbody+tbody,#bookly-tbs .table-success td,#bookly-tbs .table-success th,#bookly-tbs .table-success thead th{border-color:#8fd19e}#bookly-tbs .table-hover .table-success:hover{background-color:#b1dfbb}#bookly-tbs .table-hover .table-success:hover>td,#bookly-tbs .table-hover .table-success:hover>th{background-color:#b1dfbb}#bookly-tbs .table-info,#bookly-tbs .table-info>td,#bookly-tbs .table-info>th{background-color:#bee5eb}#bookly-tbs .table-info tbody+tbody,#bookly-tbs .table-info td,#bookly-tbs .table-info th,#bookly-tbs .table-info thead th{border-color:#86cfda}#bookly-tbs .table-hover .table-info:hover{background-color:#abdde5}#bookly-tbs .table-hover .table-info:hover>td,#bookly-tbs .table-hover .table-info:hover>th{background-color:#abdde5}#bookly-tbs .table-warning,#bookly-tbs .table-warning>td,#bookly-tbs .table-warning>th{background-color:#ffeeba}#bookly-tbs .table-warning tbody+tbody,#bookly-tbs .table-warning td,#bookly-tbs .table-warning th,#bookly-tbs .table-warning thead th{border-color:#ffdf7e}#bookly-tbs .table-hover .table-warning:hover{background-color:#ffe8a1}#bookly-tbs .table-hover .table-warning:hover>td,#bookly-tbs .table-hover .table-warning:hover>th{background-color:#ffe8a1}#bookly-tbs .table-danger,#bookly-tbs .table-danger>td,#bookly-tbs .table-danger>th{background-color:#f5c6cb}#bookly-tbs .table-danger tbody+tbody,#bookly-tbs .table-danger td,#bookly-tbs .table-danger th,#bookly-tbs .table-danger thead th{border-color:#ed969e}#bookly-tbs .table-hover .table-danger:hover{background-color:#f1b0b7}#bookly-tbs .table-hover .table-danger:hover>td,#bookly-tbs .table-hover .table-danger:hover>th{background-color:#f1b0b7}#bookly-tbs .table-light,#bookly-tbs .table-light>td,#bookly-tbs .table-light>th{background-color:#fdfdfe}#bookly-tbs .table-light tbody+tbody,#bookly-tbs .table-light td,#bookly-tbs .table-light th,#bookly-tbs .table-light thead th{border-color:#fbfcfc}#bookly-tbs .table-hover .table-light:hover{background-color:#ececf6}#bookly-tbs .table-hover .table-light:hover>td,#bookly-tbs .table-hover .table-light:hover>th{background-color:#ececf6}#bookly-tbs .table-dark,#bookly-tbs .table-dark>td,#bookly-tbs .table-dark>th{background-color:#c6c8ca}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#95999c}#bookly-tbs .table-hover .table-dark:hover{background-color:#b9bbbe}#bookly-tbs .table-hover .table-dark:hover>td,#bookly-tbs .table-hover .table-dark:hover>th{background-color:#b9bbbe}#bookly-tbs .table-active,#bookly-tbs .table-active>td,#bookly-tbs .table-active>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover>td,#bookly-tbs .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}#bookly-tbs .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .table-dark{color:#fff;background-color:#343a40}#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#454d55}#bookly-tbs .table-dark.table-bordered{border:0}#bookly-tbs .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}#bookly-tbs .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){#bookly-tbs .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){#bookly-tbs .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){#bookly-tbs .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){#bookly-tbs .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-xl>.table-bordered{border:0}}#bookly-tbs .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .form-control{transition:none}}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .form-control::-moz-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:disabled,#bookly-tbs .form-control[readonly]{background-color:#e9ecef;opacity:1}#bookly-tbs select.form-control:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .form-control-file,#bookly-tbs .form-control-range{display:block;width:100%}#bookly-tbs .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}#bookly-tbs .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}#bookly-tbs .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}#bookly-tbs .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}#bookly-tbs .form-control-plaintext.form-control-lg,#bookly-tbs .form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}#bookly-tbs .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs select.form-control[multiple],#bookly-tbs select.form-control[size]{height:auto}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs .form-group{margin-bottom:1rem}#bookly-tbs .form-text{display:block;margin-top:.25rem}#bookly-tbs .form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}#bookly-tbs .form-row>.col,#bookly-tbs .form-row>[class*=col-]{padding-right:5px;padding-left:5px}#bookly-tbs .form-check{position:relative;display:block;padding-left:1.25rem}#bookly-tbs .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}#bookly-tbs .form-check-input:disabled~.form-check-label,#bookly-tbs .form-check-input[disabled]~.form-check-label{color:#6c757d}#bookly-tbs .form-check-label{margin-bottom:0}#bookly-tbs .form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}#bookly-tbs .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}#bookly-tbs .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}#bookly-tbs .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}#bookly-tbs.is-valid~.valid-feedback,#bookly-tbs.is-valid~.valid-tooltip,.was-validated #bookly-tbs:valid~.valid-feedback,.was-validated #bookly-tbs:valid~.valid-tooltip{display:block}#bookly-tbs .form-control.is-valid,.was-validated #bookly-tbs .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-valid:focus,.was-validated #bookly-tbs .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs textarea.form-control.is-valid,.was-validated #bookly-tbs textarea.form-control:valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-valid,.was-validated #bookly-tbs .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-valid:focus,.was-validated #bookly-tbs .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .form-check-input.is-valid~.form-check-label,.was-validated #bookly-tbs .form-check-input:valid~.form-check-label{color:#28a745}#bookly-tbs .form-check-input.is-valid~.valid-feedback,#bookly-tbs .form-check-input.is-valid~.valid-tooltip,.was-validated #bookly-tbs .form-check-input:valid~.valid-feedback,.was-validated #bookly-tbs .form-check-input:valid~.valid-tooltip{display:block}#bookly-tbs .custom-control-input.is-valid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label{color:#28a745}#bookly-tbs .custom-control-input.is-valid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}#bookly-tbs .custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid~.custom-file-label{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}#bookly-tbs .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}#bookly-tbs.is-invalid~.invalid-feedback,#bookly-tbs.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs:invalid~.invalid-feedback,.was-validated #bookly-tbs:invalid~.invalid-tooltip{display:block}#bookly-tbs .form-control.is-invalid,.was-validated #bookly-tbs .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-invalid:focus,.was-validated #bookly-tbs .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs textarea.form-control.is-invalid,.was-validated #bookly-tbs textarea.form-control:invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-invalid,.was-validated #bookly-tbs .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-invalid:focus,.was-validated #bookly-tbs .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-check-input.is-invalid~.form-check-label,.was-validated #bookly-tbs .form-check-input:invalid~.form-check-label{color:#dc3545}#bookly-tbs .form-check-input.is-invalid~.invalid-feedback,#bookly-tbs .form-check-input.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-feedback,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-tooltip{display:block}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label{color:#dc3545}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}#bookly-tbs .custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-inline{display:flex;flex-flow:row wrap;align-items:center}#bookly-tbs .form-inline .form-check{width:100%}@media (min-width:576px){#bookly-tbs .form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}#bookly-tbs .form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-plaintext{display:inline-block}#bookly-tbs .form-inline .custom-select,#bookly-tbs .form-inline .input-group{width:auto}#bookly-tbs .form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}#bookly-tbs .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}#bookly-tbs .form-inline .custom-control{align-items:center;justify-content:center}#bookly-tbs .form-inline .custom-control-label{margin-bottom:0}}#bookly-tbs .btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .btn{transition:none}}#bookly-tbs .btn:hover{color:#212529;text-decoration:none}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .btn.disabled,#bookly-tbs .btn:disabled{opacity:.65}#bookly-tbs a.btn.disabled,#bookly-tbs fieldset:disabled a.btn{pointer-events:none}#bookly-tbs .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-primary.disabled,#bookly-tbs .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#bookly-tbs .btn-secondary.focus,#bookly-tbs .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-secondary.disabled,#bookly-tbs .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-success,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:hover,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:hover{color:#fff;background-color:#218838;border-color:#1e7e34}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .focus.btn-primary{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-success.disabled,#bookly-tbs .btn-success:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .disabled.btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-success.dropdown-toggle,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary{color:#fff;background-color:#1e7e34;border-color:#1c7430}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-success.dropdown-toggle:focus,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-info.disabled,#bookly-tbs .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-warning.disabled,#bookly-tbs .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-danger.disabled,#bookly-tbs .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}#bookly-tbs .btn-light.focus,#bookly-tbs .btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-light.disabled,#bookly-tbs .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}#bookly-tbs .btn-dark.focus,#bookly-tbs .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-dark.disabled,#bookly-tbs .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-outline-primary{color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary.focus,#bookly-tbs .btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-primary.disabled,#bookly-tbs .btn-outline-primary:disabled{color:#007bff;background-color:transparent}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-secondary{color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary.focus,#bookly-tbs .btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-secondary.disabled,#bookly-tbs .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-success{color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success.focus,#bookly-tbs .btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-success.disabled,#bookly-tbs .btn-outline-success:disabled{color:#28a745;background-color:transparent}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-info{color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info.focus,#bookly-tbs .btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-info.disabled,#bookly-tbs .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-warning{color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning.focus,#bookly-tbs .btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-warning.disabled,#bookly-tbs .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-danger{color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger.focus,#bookly-tbs .btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-danger.disabled,#bookly-tbs .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light.focus,#bookly-tbs .btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-light.disabled,#bookly-tbs .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-dark{color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark.focus,#bookly-tbs .btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-outline-dark.disabled,#bookly-tbs .btn-outline-dark:disabled{color:#343a40;background-color:transparent}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-link{font-weight:400;color:#007bff;text-decoration:none}#bookly-tbs .btn-link:hover{color:#0056b3;text-decoration:underline}#bookly-tbs .btn-link.focus,#bookly-tbs .btn-link:focus{text-decoration:underline;box-shadow:none}#bookly-tbs .btn-link.disabled,#bookly-tbs .btn-link:disabled{color:#6c757d;pointer-events:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:.5rem}#bookly-tbs input[type=button].btn-block,#bookly-tbs input[type=reset].btn-block,#bookly-tbs input[type=submit].btn-block{width:100%}#bookly-tbs .fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .fade{transition:none}}#bookly-tbs .fade:not(.show){opacity:0}#bookly-tbs .collapse:not(.show){display:none}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .collapsing{transition:none}}#bookly-tbs .dropdown,#bookly-tbs .dropleft,#bookly-tbs .dropright,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle{white-space:nowrap}#bookly-tbs .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}@media (min-width:576px){#bookly-tbs .dropdown-menu-sm-left{right:auto;left:0}#bookly-tbs .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){#bookly-tbs .dropdown-menu-md-left{right:auto;left:0}#bookly-tbs .dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){#bookly-tbs .dropdown-menu-lg-left{right:auto;left:0}#bookly-tbs .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){#bookly-tbs .dropdown-menu-xl-left{right:auto;left:0}#bookly-tbs .dropdown-menu-xl-right{right:0;left:auto}}#bookly-tbs .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}#bookly-tbs .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}#bookly-tbs .dropup .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}#bookly-tbs .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}#bookly-tbs .dropright .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-toggle::after{vertical-align:0}#bookly-tbs .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}#bookly-tbs .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}#bookly-tbs .dropleft .dropdown-toggle::after{display:none}#bookly-tbs .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}#bookly-tbs .dropleft .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropleft .dropdown-toggle::before{vertical-align:0}#bookly-tbs .dropdown-menu[x-placement^=bottom],#bookly-tbs .dropdown-menu[x-placement^=left],#bookly-tbs .dropdown-menu[x-placement^=right],#bookly-tbs .dropdown-menu[x-placement^=top]{right:auto;bottom:auto}#bookly-tbs .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}#bookly-tbs .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.active,#bookly-tbs .dropdown-item:active{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.disabled,#bookly-tbs .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}#bookly-tbs .dropdown-menu.show{display:block}#bookly-tbs .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}#bookly-tbs .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn{position:relative;flex:1 1 auto}#bookly-tbs .btn-group-vertical>.btn:hover,#bookly-tbs .btn-group>.btn:hover{z-index:1}#bookly-tbs .btn-group-vertical>.btn.active,#bookly-tbs .btn-group-vertical>.btn:active,#bookly-tbs .btn-group-vertical>.btn:focus,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus{z-index:1}#bookly-tbs .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}#bookly-tbs .btn-toolbar .input-group{width:auto}#bookly-tbs .btn-group>.btn-group:not(:first-child),#bookly-tbs .btn-group>.btn:not(:first-child){margin-left:-1px}#bookly-tbs .btn-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}#bookly-tbs .dropdown-toggle-split::after,.dropright #bookly-tbs .dropdown-toggle-split::after,.dropup #bookly-tbs .dropdown-toggle-split::after{margin-left:0}.dropleft #bookly-tbs .dropdown-toggle-split::before{margin-right:0}#bookly-tbs .btn-group-sm>.btn+.dropdown-toggle-split,#bookly-tbs .btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}#bookly-tbs .btn-group-lg>.btn+.dropdown-toggle-split,#bookly-tbs .btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}#bookly-tbs .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group{width:100%}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child),#bookly-tbs .btn-group-vertical>.btn:not(:first-child){margin-top:-1px}#bookly-tbs .btn-group-vertical>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-toggle>.btn,#bookly-tbs .btn-group-toggle>.btn-group>.btn{margin-bottom:0}#bookly-tbs .btn-group-toggle>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn input[type=radio],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}#bookly-tbs .input-group>.custom-file,#bookly-tbs .input-group>.custom-select,#bookly-tbs .input-group>.form-control,#bookly-tbs .input-group>.form-control-plaintext{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}#bookly-tbs .input-group>.custom-file+.custom-file,#bookly-tbs .input-group>.custom-file+.custom-select,#bookly-tbs .input-group>.custom-file+.form-control,#bookly-tbs .input-group>.custom-select+.custom-file,#bookly-tbs .input-group>.custom-select+.custom-select,#bookly-tbs .input-group>.custom-select+.form-control,#bookly-tbs .input-group>.form-control+.custom-file,#bookly-tbs .input-group>.form-control+.custom-select,#bookly-tbs .input-group>.form-control+.form-control,#bookly-tbs .input-group>.form-control-plaintext+.custom-file,#bookly-tbs .input-group>.form-control-plaintext+.custom-select,#bookly-tbs .input-group>.form-control-plaintext+.form-control{margin-left:-1px}#bookly-tbs .input-group>.custom-file .custom-file-input:focus~.custom-file-label,#bookly-tbs .input-group>.custom-select:focus,#bookly-tbs .input-group>.form-control:focus{z-index:3}#bookly-tbs .input-group>.custom-file .custom-file-input:focus{z-index:4}#bookly-tbs .input-group>.custom-select:not(:last-child),#bookly-tbs .input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-select:not(:first-child),#bookly-tbs .input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.custom-file{display:flex;align-items:center}#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label,#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-append,#bookly-tbs .input-group-prepend{display:flex}#bookly-tbs .input-group-append .btn,#bookly-tbs .input-group-prepend .btn{position:relative;z-index:2}#bookly-tbs .input-group-append .btn:focus,#bookly-tbs .input-group-prepend .btn:focus{z-index:3}#bookly-tbs .input-group-append .btn+.btn,#bookly-tbs .input-group-append .btn+.input-group-text,#bookly-tbs .input-group-append .input-group-text+.btn,#bookly-tbs .input-group-append .input-group-text+.input-group-text,#bookly-tbs .input-group-prepend .btn+.btn,#bookly-tbs .input-group-prepend .btn+.input-group-text,#bookly-tbs .input-group-prepend .input-group-text+.btn,#bookly-tbs .input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}#bookly-tbs .input-group-prepend{margin-right:-1px}#bookly-tbs .input-group-append{margin-left:-1px}#bookly-tbs .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .input-group-text input[type=checkbox],#bookly-tbs .input-group-text input[type=radio]{margin-top:0}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-append>.btn,#bookly-tbs .input-group-lg>.input-group-append>.input-group-text,#bookly-tbs .input-group-lg>.input-group-prepend>.btn,#bookly-tbs .input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-append>.btn,#bookly-tbs .input-group-sm>.input-group-append>.input-group-text,#bookly-tbs .input-group-sm>.input-group-prepend>.btn,#bookly-tbs .input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-sm>.custom-select{padding-right:1.75rem}#bookly-tbs .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),#bookly-tbs .input-group>.input-group-append:not(:last-child)>.btn,#bookly-tbs .input-group>.input-group-append:not(:last-child)>.input-group-text,#bookly-tbs .input-group>.input-group-prepend>.btn,#bookly-tbs .input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.input-group-append>.btn,#bookly-tbs .input-group>.input-group-append>.input-group-text,#bookly-tbs .input-group>.input-group-prepend:first-child>.btn:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.btn,#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}#bookly-tbs .custom-control-inline{display:inline-flex;margin-right:1rem}#bookly-tbs .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}#bookly-tbs .custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}#bookly-tbs .custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}#bookly-tbs .custom-control-input:disabled~.custom-control-label,#bookly-tbs .custom-control-input[disabled]~.custom-control-label{color:#6c757d}#bookly-tbs .custom-control-input:disabled~.custom-control-label::before,#bookly-tbs .custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}#bookly-tbs .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}#bookly-tbs .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}#bookly-tbs .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}#bookly-tbs .custom-checkbox .custom-control-label::before{border-radius:.25rem}#bookly-tbs .custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-radio .custom-control-label::before{border-radius:50%}#bookly-tbs .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}#bookly-tbs .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-switch{padding-left:2.25rem}#bookly-tbs .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}#bookly-tbs .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-switch .custom-control-label::after{transition:none}}#bookly-tbs .custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}#bookly-tbs .custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-select:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .custom-select[multiple],#bookly-tbs .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}#bookly-tbs .custom-select:disabled{color:#6c757d;background-color:#e9ecef}#bookly-tbs .custom-select::-ms-expand{display:none}#bookly-tbs .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}#bookly-tbs .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}#bookly-tbs .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}#bookly-tbs .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}#bookly-tbs .custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-file-input:disabled~.custom-file-label,#bookly-tbs .custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}#bookly-tbs .custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}#bookly-tbs .custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}#bookly-tbs .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}#bookly-tbs .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-range:focus{outline:0}#bookly-tbs .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range::-moz-focus-outer{border:0}#bookly-tbs .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}#bookly-tbs .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}#bookly-tbs .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-ms-thumb{-ms-transition:none;transition:none}}#bookly-tbs .custom-range::-ms-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}#bookly-tbs .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}#bookly-tbs .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-moz-range-track{cursor:default}#bookly-tbs .custom-range:disabled::-ms-thumb{background-color:#adb5bd}#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{transition:none}}#bookly-tbs .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav-link{display:block;padding:.5rem 1rem}#bookly-tbs .nav-link:focus,#bookly-tbs .nav-link:hover{text-decoration:none}#bookly-tbs .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}#bookly-tbs .nav-tabs{border-bottom:1px solid #dee2e6}#bookly-tbs .nav-tabs .nav-item{margin-bottom:-1px}#bookly-tbs .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .nav-tabs .nav-link:focus,#bookly-tbs .nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}#bookly-tbs .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}#bookly-tbs .nav-tabs .nav-item.show .nav-link,#bookly-tbs .nav-tabs .nav-link.active{color:#343a40;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .nav-pills .nav-link{border-radius:.25rem}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}#bookly-tbs .nav-fill .nav-item{flex:1 1 auto;text-align:center}#bookly-tbs .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}#bookly-tbs .navbar .container,#bookly-tbs .navbar .container-fluid,#bookly-tbs .navbar .container-lg,#bookly-tbs .navbar .container-md,#bookly-tbs .navbar .container-sm,#bookly-tbs .navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}#bookly-tbs .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .navbar-nav .nav-link{padding-right:0;padding-left:0}#bookly-tbs .navbar-nav .dropdown-menu{position:static;float:none}#bookly-tbs .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}#bookly-tbs .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}#bookly-tbs .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .navbar-toggler:focus,#bookly-tbs .navbar-toggler:hover{text-decoration:none}#bookly-tbs .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){#bookly-tbs .navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-sm .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){#bookly-tbs .navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-md .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){#bookly-tbs .navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-lg .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){#bookly-tbs .navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-xl .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-xl .navbar-toggler{display:none}}#bookly-tbs .navbar-expand{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{padding-right:0;padding-left:0}#bookly-tbs .navbar-expand .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand .navbar-toggler{display:none}#bookly-tbs .navbar-light .navbar-brand{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-brand:focus,#bookly-tbs .navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-nav .nav-link:focus,#bookly-tbs .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}#bookly-tbs .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}#bookly-tbs .navbar-light .navbar-nav .active>.nav-link,#bookly-tbs .navbar-light .navbar-nav .nav-link.active,#bookly-tbs .navbar-light .navbar-nav .nav-link.show,#bookly-tbs .navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}#bookly-tbs .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-light .navbar-text{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-text a{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-text a:focus,#bookly-tbs .navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-dark .navbar-brand{color:#fff}#bookly-tbs .navbar-dark .navbar-brand:focus,#bookly-tbs .navbar-dark .navbar-brand:hover{color:#fff}#bookly-tbs .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-nav .nav-link:focus,#bookly-tbs .navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}#bookly-tbs .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}#bookly-tbs .navbar-dark .navbar-nav .active>.nav-link,#bookly-tbs .navbar-dark .navbar-nav .nav-link.active,#bookly-tbs .navbar-dark .navbar-nav .nav-link.show,#bookly-tbs .navbar-dark .navbar-nav .show>.nav-link{color:#fff}#bookly-tbs .navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}#bookly-tbs .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-dark .navbar-text{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-text a{color:#fff}#bookly-tbs .navbar-dark .navbar-text a:focus,#bookly-tbs .navbar-dark .navbar-text a:hover{color:#fff}#bookly-tbs .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}#bookly-tbs .card>hr{margin-right:0;margin-left:0}#bookly-tbs .card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}#bookly-tbs .card-title{margin-bottom:.75rem}#bookly-tbs .card-subtitle{margin-top:-.375rem;margin-bottom:0}#bookly-tbs .card-text:last-child{margin-bottom:0}#bookly-tbs .card-link:hover{text-decoration:none}#bookly-tbs .card-link+.card-link{margin-left:1.25rem}#bookly-tbs .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}#bookly-tbs .card-header+.list-group .list-group-item:first-child{border-top:0}#bookly-tbs .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}#bookly-tbs .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}#bookly-tbs .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}#bookly-tbs .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom,#bookly-tbs .card-img-top{flex-shrink:0;width:100%}#bookly-tbs .card-img,#bookly-tbs .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}#bookly-tbs .card-deck .card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}#bookly-tbs .card-group>.card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-group{display:flex;flex-flow:row wrap}#bookly-tbs .card-group>.card{flex:1 0 0%;margin-bottom:0}#bookly-tbs .card-group>.card+.card{margin-left:0;border-left:0}#bookly-tbs .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-header,#bookly-tbs .card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-footer,#bookly-tbs .card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-header,#bookly-tbs .card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-footer,#bookly-tbs .card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}#bookly-tbs .card-columns .card{margin-bottom:.75rem}@media (min-width:576px){#bookly-tbs .card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}#bookly-tbs .card-columns .card{display:inline-block;width:100%}}#bookly-tbs .accordion>.card{overflow:hidden}#bookly-tbs .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}#bookly-tbs .breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}#bookly-tbs .breadcrumb-item.active{color:#6c757d}#bookly-tbs .pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}#bookly-tbs .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}#bookly-tbs .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}#bookly-tbs .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}#bookly-tbs .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}#bookly-tbs .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}#bookly-tbs .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}#bookly-tbs .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}#bookly-tbs .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}#bookly-tbs .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .badge{transition:none}}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{text-decoration:none}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge{position:relative;top:-1px}#bookly-tbs .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}#bookly-tbs .badge-primary{color:#fff;background-color:#007bff}#bookly-tbs a.badge-primary:focus,#bookly-tbs a.badge-primary:hover{color:#fff;background-color:#0062cc}#bookly-tbs a.badge-primary.focus,#bookly-tbs a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .badge-secondary{color:#fff;background-color:#6c757d}#bookly-tbs a.badge-secondary:focus,#bookly-tbs a.badge-secondary:hover{color:#fff;background-color:#545b62}#bookly-tbs a.badge-secondary.focus,#bookly-tbs a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .badge-success{color:#fff;background-color:#28a745}#bookly-tbs a.badge-success:focus,#bookly-tbs a.badge-success:hover{color:#fff;background-color:#1e7e34}#bookly-tbs a.badge-success.focus,#bookly-tbs a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .badge-info{color:#fff;background-color:#17a2b8}#bookly-tbs a.badge-info:focus,#bookly-tbs a.badge-info:hover{color:#fff;background-color:#117a8b}#bookly-tbs a.badge-info.focus,#bookly-tbs a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .badge-warning{color:#212529;background-color:#ffc107}#bookly-tbs a.badge-warning:focus,#bookly-tbs a.badge-warning:hover{color:#212529;background-color:#d39e00}#bookly-tbs a.badge-warning.focus,#bookly-tbs a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .badge-danger{color:#fff;background-color:#dc3545}#bookly-tbs a.badge-danger:focus,#bookly-tbs a.badge-danger:hover{color:#fff;background-color:#bd2130}#bookly-tbs a.badge-danger.focus,#bookly-tbs a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .badge-light{color:#212529;background-color:#f8f9fa}#bookly-tbs a.badge-light:focus,#bookly-tbs a.badge-light:hover{color:#212529;background-color:#dae0e5}#bookly-tbs a.badge-light.focus,#bookly-tbs a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .badge-dark{color:#fff;background-color:#343a40}#bookly-tbs a.badge-dark:focus,#bookly-tbs a.badge-dark:hover{color:#fff;background-color:#1d2124}#bookly-tbs a.badge-dark.focus,#bookly-tbs a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){#bookly-tbs .jumbotron{padding:4rem 2rem}}#bookly-tbs .jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}#bookly-tbs .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .alert-heading{color:inherit}#bookly-tbs .alert-link{font-weight:700}#bookly-tbs .alert-dismissible{padding-right:4rem}#bookly-tbs .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}#bookly-tbs .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}#bookly-tbs .alert-primary hr{border-top-color:#9fcdff}#bookly-tbs .alert-primary .alert-link{color:#002752}#bookly-tbs .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}#bookly-tbs .alert-secondary hr{border-top-color:#c8cbcf}#bookly-tbs .alert-secondary .alert-link{color:#202326}#bookly-tbs .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#bookly-tbs .alert-success hr{border-top-color:#b1dfbb}#bookly-tbs .alert-success .alert-link{color:#0b2e13}#bookly-tbs .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}#bookly-tbs .alert-info hr{border-top-color:#abdde5}#bookly-tbs .alert-info .alert-link{color:#062c33}#bookly-tbs .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}#bookly-tbs .alert-warning hr{border-top-color:#ffe8a1}#bookly-tbs .alert-warning .alert-link{color:#533f03}#bookly-tbs .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}#bookly-tbs .alert-danger hr{border-top-color:#f1b0b7}#bookly-tbs .alert-danger .alert-link{color:#491217}#bookly-tbs .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}#bookly-tbs .alert-light hr{border-top-color:#ececf6}#bookly-tbs .alert-light .alert-link{color:#686868}#bookly-tbs .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}#bookly-tbs .alert-dark hr{border-top-color:#b9bbbe}#bookly-tbs .alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}#bookly-tbs .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar{transition:none}}#bookly-tbs .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}#bookly-tbs .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar-animated{-webkit-animation:none;animation:none}}#bookly-tbs .media{display:flex;align-items:flex-start}#bookly-tbs .media-body{flex:1}#bookly-tbs .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}#bookly-tbs .list-group-item-action{width:100%;color:#495057;text-align:inherit}#bookly-tbs .list-group-item-action:focus,#bookly-tbs .list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .list-group-item-action:active{color:#212529;background-color:#e9ecef}#bookly-tbs .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}#bookly-tbs .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item{border-top-width:0}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-horizontal{flex-direction:row}#bookly-tbs .list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){#bookly-tbs .list-group-horizontal-sm{flex-direction:row}#bookly-tbs .list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){#bookly-tbs .list-group-horizontal-md{flex-direction:row}#bookly-tbs .list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){#bookly-tbs .list-group-horizontal-lg{flex-direction:row}#bookly-tbs .list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){#bookly-tbs .list-group-horizontal-xl{flex-direction:row}#bookly-tbs .list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}#bookly-tbs .list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}#bookly-tbs .list-group-flush .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}#bookly-tbs .list-group-item-primary{color:#004085;background-color:#b8daff}#bookly-tbs .list-group-item-primary.list-group-item-action:focus,#bookly-tbs .list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}#bookly-tbs .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}#bookly-tbs .list-group-item-secondary{color:#383d41;background-color:#d6d8db}#bookly-tbs .list-group-item-secondary.list-group-item-action:focus,#bookly-tbs .list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}#bookly-tbs .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}#bookly-tbs .list-group-item-success{color:#155724;background-color:#c3e6cb}#bookly-tbs .list-group-item-success.list-group-item-action:focus,#bookly-tbs .list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}#bookly-tbs .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}#bookly-tbs .list-group-item-info{color:#0c5460;background-color:#bee5eb}#bookly-tbs .list-group-item-info.list-group-item-action:focus,#bookly-tbs .list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}#bookly-tbs .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}#bookly-tbs .list-group-item-warning{color:#856404;background-color:#ffeeba}#bookly-tbs .list-group-item-warning.list-group-item-action:focus,#bookly-tbs .list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}#bookly-tbs .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}#bookly-tbs .list-group-item-danger{color:#721c24;background-color:#f5c6cb}#bookly-tbs .list-group-item-danger.list-group-item-action:focus,#bookly-tbs .list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}#bookly-tbs .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}#bookly-tbs .list-group-item-light{color:#818182;background-color:#fdfdfe}#bookly-tbs .list-group-item-light.list-group-item-action:focus,#bookly-tbs .list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}#bookly-tbs .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}#bookly-tbs .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}#bookly-tbs .list-group-item-dark.list-group-item-action:focus,#bookly-tbs .list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}#bookly-tbs .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}#bookly-tbs .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}#bookly-tbs .close:hover{color:#000;text-decoration:none}#bookly-tbs .close:not(:disabled):not(.disabled):focus,#bookly-tbs .close:not(:disabled):not(.disabled):hover{opacity:.75}#bookly-tbs button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs a.close.disabled{pointer-events:none}#bookly-tbs .toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}#bookly-tbs .toast:not(:last-child){margin-bottom:.75rem}#bookly-tbs .toast.showing{opacity:1}#bookly-tbs .toast.show{display:block;opacity:1}#bookly-tbs .toast.hide{display:none}#bookly-tbs .toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}#bookly-tbs .toast-body{padding:.75rem}.bookly-modal-open{overflow:hidden}#bookly-tbs .bookly-modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.bookly-modal-open #bookly-tbs .bookly-modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{transition:none}}#bookly-tbs .bookly-modal.show .modal-dialog{transform:none}#bookly-tbs .bookly-modal.modal-static .modal-dialog{transform:scale(1.02)}#bookly-tbs .modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}#bookly-tbs .modal-dialog-scrollable .modal-footer,#bookly-tbs .modal-dialog-scrollable .modal-header{flex-shrink:0}#bookly-tbs .modal-dialog-scrollable .modal-body{overflow-y:auto}#bookly-tbs .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable::before{content:none}#bookly-tbs .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.bookly-modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.bookly-modal-backdrop.bookly-fade{transition:opacity .15s linear;opacity:0}@media (prefers-reduced-motion:reduce){.bookly-modal-backdrop.bookly-fade{transition:none}}.bookly-modal-backdrop.show{opacity:.5}.bookly-modal-backdrop+.bookly-modal-backdrop{display:none!important}#bookly-tbs .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}#bookly-tbs .modal-title{margin-bottom:0;line-height:1.5}#bookly-tbs .modal-body{position:relative;flex:1 1 auto;padding:1rem}#bookly-tbs .modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}#bookly-tbs .modal-footer>*{margin:.25rem}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){#bookly-tbs .modal-dialog{max-width:500px;margin:3rem auto}#bookly-tbs .modal-dialog-scrollable{max-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 6rem)}#bookly-tbs .modal-dialog-centered{min-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-centered::before{height:calc(100vh - 6rem)}#bookly-tbs .modal-sm{max-width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg,#bookly-tbs .modal-xl{max-width:800px}}@media (min-width:1200px){#bookly-tbs .modal-xl{max-width:1140px}}#bookly-tbs .modal-faded{z-index:1039!important}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}#bookly-tbs .tooltip.show{opacity:.9}#bookly-tbs .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}#bookly-tbs .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-tooltip-auto[x-placement^=top],#bookly-tbs .bs-tooltip-top{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow,#bookly-tbs .bs-tooltip-top .arrow{bottom:0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow::before,#bookly-tbs .bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=right],#bookly-tbs .bs-tooltip-right{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow,#bookly-tbs .bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow::before,#bookly-tbs .bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom],#bookly-tbs .bs-tooltip-bottom{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow,#bookly-tbs .bs-tooltip-bottom .arrow{top:0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow::before,#bookly-tbs .bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=left],#bookly-tbs .bs-tooltip-left{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow,#bookly-tbs .bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow::before,#bookly-tbs .bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}#bookly-tbs .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}#bookly-tbs [class*=bs-popover-]>.arrow{overflow:visible;left:auto;top:auto;bottom:auto;right:auto;z-index:1040}#bookly-tbs [class*=bs-popover-]>.arrow::after{left:auto;top:auto;bottom:auto;right:auto;background-color:transparent;box-shadow:none;transform:none;width:auto;height:auto;z-index:1040}#bookly-tbs #bookly-appearance .bookly-popover{z-index:9999!important}#bookly-tbs .bookly-popover{position:absolute;top:0;left:0;z-index:1040;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}#bookly-tbs .bookly-popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}#bookly-tbs .bookly-popover .arrow::after,#bookly-tbs .bookly-popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-popover-auto[x-placement^=top],#bookly-tbs .bs-popover-top{margin-bottom:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow,#bookly-tbs .bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::before,#bookly-tbs .bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::after,#bookly-tbs .bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=right],#bookly-tbs .bs-popover-right{margin-left:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow,#bookly-tbs .bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::before,#bookly-tbs .bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::after,#bookly-tbs .bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom],#bookly-tbs .bs-popover-bottom{margin-top:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow,#bookly-tbs .bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::before,#bookly-tbs .bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::after,#bookly-tbs .bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom] .popover-header::before,#bookly-tbs .bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}#bookly-tbs .bs-popover-auto[x-placement^=left],#bookly-tbs .bs-popover-left{margin-right:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow,#bookly-tbs .bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::before,#bookly-tbs .bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::after,#bookly-tbs .bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}#bookly-tbs .popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .popover-header:empty{display:none}#bookly-tbs .popover-body{padding:.5rem .75rem;color:#212529}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel.pointer-event{touch-action:pan-y}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner::after{display:block;clear:both;content:""}#bookly-tbs .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-item{transition:none}}#bookly-tbs .carousel-item-next,#bookly-tbs .carousel-item-prev,#bookly-tbs .carousel-item.active{display:block}#bookly-tbs .active.carousel-item-right,#bookly-tbs .carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}#bookly-tbs .active.carousel-item-left,#bookly-tbs .carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}#bookly-tbs .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}#bookly-tbs .carousel-fade .carousel-item-next.carousel-item-left,#bookly-tbs .carousel-fade .carousel-item-prev.carousel-item-right,#bookly-tbs .carousel-fade .carousel-item.active{z-index:1;opacity:1}#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{transition:none}}#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{transition:none}}#bookly-tbs .carousel-control-next:focus,#bookly-tbs .carousel-control-next:hover,#bookly-tbs .carousel-control-prev:focus,#bookly-tbs .carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}#bookly-tbs .carousel-control-prev{left:0}#bookly-tbs .carousel-control-next{right:0}#bookly-tbs .carousel-control-next-icon,#bookly-tbs .carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}#bookly-tbs .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}#bookly-tbs .carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-indicators li{transition:none}}#bookly-tbs .carousel-indicators .active{opacity:1}#bookly-tbs .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}#bookly-tbs .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}#bookly-tbs .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}#bookly-tbs .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}#bookly-tbs .spinner-grow-sm{width:1rem;height:1rem}#bookly-tbs .align-baseline{vertical-align:baseline!important}#bookly-tbs .align-top{vertical-align:top!important}#bookly-tbs .align-middle{vertical-align:middle!important}#bookly-tbs .align-bottom{vertical-align:bottom!important}#bookly-tbs .align-text-bottom{vertical-align:text-bottom!important}#bookly-tbs .align-text-top{vertical-align:text-top!important}#bookly-tbs .bg-primary{background-color:#007bff!important}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover,#bookly-tbs button.bg-primary:focus,#bookly-tbs button.bg-primary:hover{background-color:#0062cc!important}#bookly-tbs .bg-secondary{background-color:#6c757d!important}#bookly-tbs a.bg-secondary:focus,#bookly-tbs a.bg-secondary:hover,#bookly-tbs button.bg-secondary:focus,#bookly-tbs button.bg-secondary:hover{background-color:#545b62!important}#bookly-tbs .bg-success{background-color:#28a745!important}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover,#bookly-tbs button.bg-success:focus,#bookly-tbs button.bg-success:hover{background-color:#1e7e34!important}#bookly-tbs .bg-info{background-color:#17a2b8!important}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover,#bookly-tbs button.bg-info:focus,#bookly-tbs button.bg-info:hover{background-color:#117a8b!important}#bookly-tbs .bg-warning{background-color:#ffc107!important}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover,#bookly-tbs button.bg-warning:focus,#bookly-tbs button.bg-warning:hover{background-color:#d39e00!important}#bookly-tbs .bg-danger{background-color:#dc3545!important}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover,#bookly-tbs button.bg-danger:focus,#bookly-tbs button.bg-danger:hover{background-color:#bd2130!important}#bookly-tbs .bg-light{background-color:#f8f9fa!important}#bookly-tbs a.bg-light:focus,#bookly-tbs a.bg-light:hover,#bookly-tbs button.bg-light:focus,#bookly-tbs button.bg-light:hover{background-color:#dae0e5!important}#bookly-tbs .bg-dark{background-color:#343a40!important}#bookly-tbs a.bg-dark:focus,#bookly-tbs a.bg-dark:hover,#bookly-tbs button.bg-dark:focus,#bookly-tbs button.bg-dark:hover{background-color:#1d2124!important}#bookly-tbs .bg-white{background-color:#fff!important}#bookly-tbs .bg-transparent{background-color:transparent!important}#bookly-tbs .border{border:1px solid #dee2e6!important}#bookly-tbs .border-top{border-top:1px solid #dee2e6!important}#bookly-tbs .border-right{border-right:1px solid #dee2e6!important}#bookly-tbs .border-bottom{border-bottom:1px solid #dee2e6!important}#bookly-tbs .border-left{border-left:1px solid #dee2e6!important}#bookly-tbs .border-0{border:0!important}#bookly-tbs .border-top-0{border-top:0!important}#bookly-tbs .border-right-0{border-right:0!important}#bookly-tbs .border-bottom-0{border-bottom:0!important}#bookly-tbs .border-left-0{border-left:0!important}#bookly-tbs .border-primary{border-color:#007bff!important}#bookly-tbs .border-secondary{border-color:#6c757d!important}#bookly-tbs .border-success{border-color:#28a745!important}#bookly-tbs .border-info{border-color:#17a2b8!important}#bookly-tbs .border-warning{border-color:#ffc107!important}#bookly-tbs .border-danger{border-color:#dc3545!important}#bookly-tbs .border-light{border-color:#f8f9fa!important}#bookly-tbs .border-dark{border-color:#343a40!important}#bookly-tbs .border-white{border-color:#fff!important}#bookly-tbs .rounded-sm{border-radius:.2rem!important}#bookly-tbs .rounded{border-radius:.25rem!important}#bookly-tbs .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}#bookly-tbs .rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}#bookly-tbs .rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-lg{border-radius:.3rem!important}#bookly-tbs .rounded-circle{border-radius:50%!important}#bookly-tbs .rounded-pill{border-radius:50rem!important}#bookly-tbs .rounded-0{border-radius:0!important}#bookly-tbs .clearfix::after{display:block;clear:both;content:""}#bookly-tbs .d-none{display:none!important}#bookly-tbs .d-inline{display:inline!important}#bookly-tbs .d-inline-block{display:inline-block!important}#bookly-tbs .d-block{display:block!important}#bookly-tbs .d-table{display:table!important}#bookly-tbs .d-table-row{display:table-row!important}#bookly-tbs .d-table-cell{display:table-cell!important}#bookly-tbs .d-flex{display:flex!important}#bookly-tbs .d-inline-flex{display:inline-flex!important}@media (min-width:576px){#bookly-tbs .d-sm-none{display:none!important}#bookly-tbs .d-sm-inline{display:inline!important}#bookly-tbs .d-sm-inline-block{display:inline-block!important}#bookly-tbs .d-sm-block{display:block!important}#bookly-tbs .d-sm-table{display:table!important}#bookly-tbs .d-sm-table-row{display:table-row!important}#bookly-tbs .d-sm-table-cell{display:table-cell!important}#bookly-tbs .d-sm-flex{display:flex!important}#bookly-tbs .d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){#bookly-tbs .d-md-none{display:none!important}#bookly-tbs .d-md-inline{display:inline!important}#bookly-tbs .d-md-inline-block{display:inline-block!important}#bookly-tbs .d-md-block{display:block!important}#bookly-tbs .d-md-table{display:table!important}#bookly-tbs .d-md-table-row{display:table-row!important}#bookly-tbs .d-md-table-cell{display:table-cell!important}#bookly-tbs .d-md-flex{display:flex!important}#bookly-tbs .d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){#bookly-tbs .d-lg-none{display:none!important}#bookly-tbs .d-lg-inline{display:inline!important}#bookly-tbs .d-lg-inline-block{display:inline-block!important}#bookly-tbs .d-lg-block{display:block!important}#bookly-tbs .d-lg-table{display:table!important}#bookly-tbs .d-lg-table-row{display:table-row!important}#bookly-tbs .d-lg-table-cell{display:table-cell!important}#bookly-tbs .d-lg-flex{display:flex!important}#bookly-tbs .d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){#bookly-tbs .d-xl-none{display:none!important}#bookly-tbs .d-xl-inline{display:inline!important}#bookly-tbs .d-xl-inline-block{display:inline-block!important}#bookly-tbs .d-xl-block{display:block!important}#bookly-tbs .d-xl-table{display:table!important}#bookly-tbs .d-xl-table-row{display:table-row!important}#bookly-tbs .d-xl-table-cell{display:table-cell!important}#bookly-tbs .d-xl-flex{display:flex!important}#bookly-tbs .d-xl-inline-flex{display:inline-flex!important}}@media print{#bookly-tbs .d-print-none{display:none!important}#bookly-tbs .d-print-inline{display:inline!important}#bookly-tbs .d-print-inline-block{display:inline-block!important}#bookly-tbs .d-print-block{display:block!important}#bookly-tbs .d-print-table{display:table!important}#bookly-tbs .d-print-table-row{display:table-row!important}#bookly-tbs .d-print-table-cell{display:table-cell!important}#bookly-tbs .d-print-flex{display:flex!important}#bookly-tbs .d-print-inline-flex{display:inline-flex!important}}#bookly-tbs .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}#bookly-tbs .embed-responsive::before{display:block;content:""}#bookly-tbs .embed-responsive .embed-responsive-item,#bookly-tbs .embed-responsive embed,#bookly-tbs .embed-responsive iframe,#bookly-tbs .embed-responsive object,#bookly-tbs .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#bookly-tbs .embed-responsive-21by9::before{padding-top:42.857143%}#bookly-tbs .embed-responsive-16by9::before{padding-top:56.25%}#bookly-tbs .embed-responsive-4by3::before{padding-top:75%}#bookly-tbs .embed-responsive-1by1::before{padding-top:100%}#bookly-tbs .flex-row{flex-direction:row!important}#bookly-tbs .flex-column{flex-direction:column!important}#bookly-tbs .flex-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-fill{flex:1 1 auto!important}#bookly-tbs .flex-grow-0{flex-grow:0!important}#bookly-tbs .flex-grow-1{flex-grow:1!important}#bookly-tbs .flex-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-start{justify-content:flex-start!important}#bookly-tbs .justify-content-end{justify-content:flex-end!important}#bookly-tbs .justify-content-center{justify-content:center!important}#bookly-tbs .justify-content-between{justify-content:space-between!important}#bookly-tbs .justify-content-around{justify-content:space-around!important}#bookly-tbs .align-items-start{align-items:flex-start!important}#bookly-tbs .align-items-end{align-items:flex-end!important}#bookly-tbs .align-items-center{align-items:center!important}#bookly-tbs .align-items-baseline{align-items:baseline!important}#bookly-tbs .align-items-stretch{align-items:stretch!important}#bookly-tbs .align-content-start{align-content:flex-start!important}#bookly-tbs .align-content-end{align-content:flex-end!important}#bookly-tbs .align-content-center{align-content:center!important}#bookly-tbs .align-content-between{align-content:space-between!important}#bookly-tbs .align-content-around{align-content:space-around!important}#bookly-tbs .align-content-stretch{align-content:stretch!important}#bookly-tbs .align-self-auto{align-self:auto!important}#bookly-tbs .align-self-start{align-self:flex-start!important}#bookly-tbs .align-self-end{align-self:flex-end!important}#bookly-tbs .align-self-center{align-self:center!important}#bookly-tbs .align-self-baseline{align-self:baseline!important}#bookly-tbs .align-self-stretch{align-self:stretch!important}@media (min-width:576px){#bookly-tbs .flex-sm-row{flex-direction:row!important}#bookly-tbs .flex-sm-column{flex-direction:column!important}#bookly-tbs .flex-sm-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-sm-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-sm-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-sm-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-sm-fill{flex:1 1 auto!important}#bookly-tbs .flex-sm-grow-0{flex-grow:0!important}#bookly-tbs .flex-sm-grow-1{flex-grow:1!important}#bookly-tbs .flex-sm-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-sm-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-sm-start{justify-content:flex-start!important}#bookly-tbs .justify-content-sm-end{justify-content:flex-end!important}#bookly-tbs .justify-content-sm-center{justify-content:center!important}#bookly-tbs .justify-content-sm-between{justify-content:space-between!important}#bookly-tbs .justify-content-sm-around{justify-content:space-around!important}#bookly-tbs .align-items-sm-start{align-items:flex-start!important}#bookly-tbs .align-items-sm-end{align-items:flex-end!important}#bookly-tbs .align-items-sm-center{align-items:center!important}#bookly-tbs .align-items-sm-baseline{align-items:baseline!important}#bookly-tbs .align-items-sm-stretch{align-items:stretch!important}#bookly-tbs .align-content-sm-start{align-content:flex-start!important}#bookly-tbs .align-content-sm-end{align-content:flex-end!important}#bookly-tbs .align-content-sm-center{align-content:center!important}#bookly-tbs .align-content-sm-between{align-content:space-between!important}#bookly-tbs .align-content-sm-around{align-content:space-around!important}#bookly-tbs .align-content-sm-stretch{align-content:stretch!important}#bookly-tbs .align-self-sm-auto{align-self:auto!important}#bookly-tbs .align-self-sm-start{align-self:flex-start!important}#bookly-tbs .align-self-sm-end{align-self:flex-end!important}#bookly-tbs .align-self-sm-center{align-self:center!important}#bookly-tbs .align-self-sm-baseline{align-self:baseline!important}#bookly-tbs .align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){#bookly-tbs .flex-md-row{flex-direction:row!important}#bookly-tbs .flex-md-column{flex-direction:column!important}#bookly-tbs .flex-md-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-md-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-md-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-md-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-md-fill{flex:1 1 auto!important}#bookly-tbs .flex-md-grow-0{flex-grow:0!important}#bookly-tbs .flex-md-grow-1{flex-grow:1!important}#bookly-tbs .flex-md-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-md-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-md-start{justify-content:flex-start!important}#bookly-tbs .justify-content-md-end{justify-content:flex-end!important}#bookly-tbs .justify-content-md-center{justify-content:center!important}#bookly-tbs .justify-content-md-between{justify-content:space-between!important}#bookly-tbs .justify-content-md-around{justify-content:space-around!important}#bookly-tbs .align-items-md-start{align-items:flex-start!important}#bookly-tbs .align-items-md-end{align-items:flex-end!important}#bookly-tbs .align-items-md-center{align-items:center!important}#bookly-tbs .align-items-md-baseline{align-items:baseline!important}#bookly-tbs .align-items-md-stretch{align-items:stretch!important}#bookly-tbs .align-content-md-start{align-content:flex-start!important}#bookly-tbs .align-content-md-end{align-content:flex-end!important}#bookly-tbs .align-content-md-center{align-content:center!important}#bookly-tbs .align-content-md-between{align-content:space-between!important}#bookly-tbs .align-content-md-around{align-content:space-around!important}#bookly-tbs .align-content-md-stretch{align-content:stretch!important}#bookly-tbs .align-self-md-auto{align-self:auto!important}#bookly-tbs .align-self-md-start{align-self:flex-start!important}#bookly-tbs .align-self-md-end{align-self:flex-end!important}#bookly-tbs .align-self-md-center{align-self:center!important}#bookly-tbs .align-self-md-baseline{align-self:baseline!important}#bookly-tbs .align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){#bookly-tbs .flex-lg-row{flex-direction:row!important}#bookly-tbs .flex-lg-column{flex-direction:column!important}#bookly-tbs .flex-lg-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-lg-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-lg-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-lg-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-lg-fill{flex:1 1 auto!important}#bookly-tbs .flex-lg-grow-0{flex-grow:0!important}#bookly-tbs .flex-lg-grow-1{flex-grow:1!important}#bookly-tbs .flex-lg-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-lg-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-lg-start{justify-content:flex-start!important}#bookly-tbs .justify-content-lg-end{justify-content:flex-end!important}#bookly-tbs .justify-content-lg-center{justify-content:center!important}#bookly-tbs .justify-content-lg-between{justify-content:space-between!important}#bookly-tbs .justify-content-lg-around{justify-content:space-around!important}#bookly-tbs .align-items-lg-start{align-items:flex-start!important}#bookly-tbs .align-items-lg-end{align-items:flex-end!important}#bookly-tbs .align-items-lg-center{align-items:center!important}#bookly-tbs .align-items-lg-baseline{align-items:baseline!important}#bookly-tbs .align-items-lg-stretch{align-items:stretch!important}#bookly-tbs .align-content-lg-start{align-content:flex-start!important}#bookly-tbs .align-content-lg-end{align-content:flex-end!important}#bookly-tbs .align-content-lg-center{align-content:center!important}#bookly-tbs .align-content-lg-between{align-content:space-between!important}#bookly-tbs .align-content-lg-around{align-content:space-around!important}#bookly-tbs .align-content-lg-stretch{align-content:stretch!important}#bookly-tbs .align-self-lg-auto{align-self:auto!important}#bookly-tbs .align-self-lg-start{align-self:flex-start!important}#bookly-tbs .align-self-lg-end{align-self:flex-end!important}#bookly-tbs .align-self-lg-center{align-self:center!important}#bookly-tbs .align-self-lg-baseline{align-self:baseline!important}#bookly-tbs .align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){#bookly-tbs .flex-xl-row{flex-direction:row!important}#bookly-tbs .flex-xl-column{flex-direction:column!important}#bookly-tbs .flex-xl-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-xl-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-xl-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-xl-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-xl-fill{flex:1 1 auto!important}#bookly-tbs .flex-xl-grow-0{flex-grow:0!important}#bookly-tbs .flex-xl-grow-1{flex-grow:1!important}#bookly-tbs .flex-xl-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-xl-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-xl-start{justify-content:flex-start!important}#bookly-tbs .justify-content-xl-end{justify-content:flex-end!important}#bookly-tbs .justify-content-xl-center{justify-content:center!important}#bookly-tbs .justify-content-xl-between{justify-content:space-between!important}#bookly-tbs .justify-content-xl-around{justify-content:space-around!important}#bookly-tbs .align-items-xl-start{align-items:flex-start!important}#bookly-tbs .align-items-xl-end{align-items:flex-end!important}#bookly-tbs .align-items-xl-center{align-items:center!important}#bookly-tbs .align-items-xl-baseline{align-items:baseline!important}#bookly-tbs .align-items-xl-stretch{align-items:stretch!important}#bookly-tbs .align-content-xl-start{align-content:flex-start!important}#bookly-tbs .align-content-xl-end{align-content:flex-end!important}#bookly-tbs .align-content-xl-center{align-content:center!important}#bookly-tbs .align-content-xl-between{align-content:space-between!important}#bookly-tbs .align-content-xl-around{align-content:space-around!important}#bookly-tbs .align-content-xl-stretch{align-content:stretch!important}#bookly-tbs .align-self-xl-auto{align-self:auto!important}#bookly-tbs .align-self-xl-start{align-self:flex-start!important}#bookly-tbs .align-self-xl-end{align-self:flex-end!important}#bookly-tbs .align-self-xl-center{align-self:center!important}#bookly-tbs .align-self-xl-baseline{align-self:baseline!important}#bookly-tbs .align-self-xl-stretch{align-self:stretch!important}}#bookly-tbs .float-left{float:left!important}#bookly-tbs .float-right{float:right!important}#bookly-tbs .float-none{float:none!important}@media (min-width:576px){#bookly-tbs .float-sm-left{float:left!important}#bookly-tbs .float-sm-right{float:right!important}#bookly-tbs .float-sm-none{float:none!important}}@media (min-width:768px){#bookly-tbs .float-md-left{float:left!important}#bookly-tbs .float-md-right{float:right!important}#bookly-tbs .float-md-none{float:none!important}}@media (min-width:992px){#bookly-tbs .float-lg-left{float:left!important}#bookly-tbs .float-lg-right{float:right!important}#bookly-tbs .float-lg-none{float:none!important}}@media (min-width:1200px){#bookly-tbs .float-xl-left{float:left!important}#bookly-tbs .float-xl-right{float:right!important}#bookly-tbs .float-xl-none{float:none!important}}#bookly-tbs .overflow-auto{overflow:auto!important}#bookly-tbs .overflow-hidden{overflow:hidden!important}#bookly-tbs .position-static{position:static!important}#bookly-tbs .position-relative{position:relative!important}#bookly-tbs .position-absolute{position:absolute!important}#bookly-tbs .position-fixed{position:fixed!important}#bookly-tbs .position-sticky{position:-webkit-sticky!important;position:sticky!important}#bookly-tbs .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#bookly-tbs .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){#bookly-tbs .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}#bookly-tbs .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}#bookly-tbs .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}#bookly-tbs .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}#bookly-tbs .shadow-none{box-shadow:none!important}#bookly-tbs .w-25{width:25%!important}#bookly-tbs .w-50{width:50%!important}#bookly-tbs .w-75{width:75%!important}#bookly-tbs .w-100{width:100%!important}#bookly-tbs .w-auto{width:auto!important}#bookly-tbs .h-25{height:25%!important}#bookly-tbs .h-50{height:50%!important}#bookly-tbs .h-75{height:75%!important}#bookly-tbs .h-100{height:100%!important}#bookly-tbs .h-auto{height:auto!important}#bookly-tbs .mw-100{max-width:100%!important}#bookly-tbs .mh-100{max-height:100%!important}#bookly-tbs .min-vw-100{min-width:100vw!important}#bookly-tbs .min-vh-100{min-height:100vh!important}#bookly-tbs .vw-100{width:100vw!important}#bookly-tbs .vh-100{height:100vh!important}#bookly-tbs .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}#bookly-tbs .m-0{margin:0!important}#bookly-tbs .mt-0,#bookly-tbs .my-0{margin-top:0!important}#bookly-tbs .mr-0,#bookly-tbs .mx-0{margin-right:0!important}#bookly-tbs .mb-0,#bookly-tbs .my-0{margin-bottom:0!important}#bookly-tbs .ml-0,#bookly-tbs .mx-0{margin-left:0!important}#bookly-tbs .m-1{margin:.25rem!important}#bookly-tbs .mt-1,#bookly-tbs .my-1{margin-top:.25rem!important}#bookly-tbs .mr-1,#bookly-tbs .mx-1{margin-right:.25rem!important}#bookly-tbs .mb-1,#bookly-tbs .my-1{margin-bottom:.25rem!important}#bookly-tbs .ml-1,#bookly-tbs .mx-1{margin-left:.25rem!important}#bookly-tbs .m-2{margin:.5rem!important}#bookly-tbs .mt-2,#bookly-tbs .my-2{margin-top:.5rem!important}#bookly-tbs .mr-2,#bookly-tbs .mx-2{margin-right:.5rem!important}#bookly-tbs .mb-2,#bookly-tbs .my-2{margin-bottom:.5rem!important}#bookly-tbs .ml-2,#bookly-tbs .mx-2{margin-left:.5rem!important}#bookly-tbs .m-3{margin:1rem!important}#bookly-tbs .mt-3,#bookly-tbs .my-3{margin-top:1rem!important}#bookly-tbs .mr-3,#bookly-tbs .mx-3{margin-right:1rem!important}#bookly-tbs .mb-3,#bookly-tbs .my-3{margin-bottom:1rem!important}#bookly-tbs .ml-3,#bookly-tbs .mx-3{margin-left:1rem!important}#bookly-tbs .m-4{margin:1.5rem!important}#bookly-tbs .mt-4,#bookly-tbs .my-4{margin-top:1.5rem!important}#bookly-tbs .mr-4,#bookly-tbs .mx-4{margin-right:1.5rem!important}#bookly-tbs .mb-4,#bookly-tbs .my-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-4,#bookly-tbs .mx-4{margin-left:1.5rem!important}#bookly-tbs .m-5{margin:3rem!important}#bookly-tbs .mt-5,#bookly-tbs .my-5{margin-top:3rem!important}#bookly-tbs .mr-5,#bookly-tbs .mx-5{margin-right:3rem!important}#bookly-tbs .mb-5,#bookly-tbs .my-5{margin-bottom:3rem!important}#bookly-tbs .ml-5,#bookly-tbs .mx-5{margin-left:3rem!important}#bookly-tbs .p-0{padding:0!important}#bookly-tbs .pt-0,#bookly-tbs .py-0{padding-top:0!important}#bookly-tbs .pr-0,#bookly-tbs .px-0{padding-right:0!important}#bookly-tbs .pb-0,#bookly-tbs .py-0{padding-bottom:0!important}#bookly-tbs .pl-0,#bookly-tbs .px-0{padding-left:0!important}#bookly-tbs .p-1{padding:.25rem!important}#bookly-tbs .pt-1,#bookly-tbs .py-1{padding-top:.25rem!important}#bookly-tbs .pr-1,#bookly-tbs .px-1{padding-right:.25rem!important}#bookly-tbs .pb-1,#bookly-tbs .py-1{padding-bottom:.25rem!important}#bookly-tbs .pl-1,#bookly-tbs .px-1{padding-left:.25rem!important}#bookly-tbs .p-2{padding:.5rem!important}#bookly-tbs .pt-2,#bookly-tbs .py-2{padding-top:.5rem!important}#bookly-tbs .pr-2,#bookly-tbs .px-2{padding-right:.5rem!important}#bookly-tbs .pb-2,#bookly-tbs .py-2{padding-bottom:.5rem!important}#bookly-tbs .pl-2,#bookly-tbs .px-2{padding-left:.5rem!important}#bookly-tbs .p-3{padding:1rem!important}#bookly-tbs .pt-3,#bookly-tbs .py-3{padding-top:1rem!important}#bookly-tbs .pr-3,#bookly-tbs .px-3{padding-right:1rem!important}#bookly-tbs .pb-3,#bookly-tbs .py-3{padding-bottom:1rem!important}#bookly-tbs .pl-3,#bookly-tbs .px-3{padding-left:1rem!important}#bookly-tbs .p-4{padding:1.5rem!important}#bookly-tbs .pt-4,#bookly-tbs .py-4{padding-top:1.5rem!important}#bookly-tbs .pr-4,#bookly-tbs .px-4{padding-right:1.5rem!important}#bookly-tbs .pb-4,#bookly-tbs .py-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-4,#bookly-tbs .px-4{padding-left:1.5rem!important}#bookly-tbs .p-5{padding:3rem!important}#bookly-tbs .pt-5,#bookly-tbs .py-5{padding-top:3rem!important}#bookly-tbs .pr-5,#bookly-tbs .px-5{padding-right:3rem!important}#bookly-tbs .pb-5,#bookly-tbs .py-5{padding-bottom:3rem!important}#bookly-tbs .pl-5,#bookly-tbs .px-5{padding-left:3rem!important}#bookly-tbs .m-n1{margin:-.25rem!important}#bookly-tbs .mt-n1,#bookly-tbs .my-n1{margin-top:-.25rem!important}#bookly-tbs .mr-n1,#bookly-tbs .mx-n1{margin-right:-.25rem!important}#bookly-tbs .mb-n1,#bookly-tbs .my-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-n1,#bookly-tbs .mx-n1{margin-left:-.25rem!important}#bookly-tbs .m-n2{margin:-.5rem!important}#bookly-tbs .mt-n2,#bookly-tbs .my-n2{margin-top:-.5rem!important}#bookly-tbs .mr-n2,#bookly-tbs .mx-n2{margin-right:-.5rem!important}#bookly-tbs .mb-n2,#bookly-tbs .my-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-n2,#bookly-tbs .mx-n2{margin-left:-.5rem!important}#bookly-tbs .m-n3{margin:-1rem!important}#bookly-tbs .mt-n3,#bookly-tbs .my-n3{margin-top:-1rem!important}#bookly-tbs .mr-n3,#bookly-tbs .mx-n3{margin-right:-1rem!important}#bookly-tbs .mb-n3,#bookly-tbs .my-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-n3,#bookly-tbs .mx-n3{margin-left:-1rem!important}#bookly-tbs .m-n4{margin:-1.5rem!important}#bookly-tbs .mt-n4,#bookly-tbs .my-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-n4,#bookly-tbs .mx-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-n4,#bookly-tbs .my-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-n4,#bookly-tbs .mx-n4{margin-left:-1.5rem!important}#bookly-tbs .m-n5{margin:-3rem!important}#bookly-tbs .mt-n5,#bookly-tbs .my-n5{margin-top:-3rem!important}#bookly-tbs .mr-n5,#bookly-tbs .mx-n5{margin-right:-3rem!important}#bookly-tbs .mb-n5,#bookly-tbs .my-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-n5,#bookly-tbs .mx-n5{margin-left:-3rem!important}#bookly-tbs .m-auto{margin:auto!important}#bookly-tbs .mt-auto,#bookly-tbs .my-auto{margin-top:auto!important}#bookly-tbs .mr-auto,#bookly-tbs .mx-auto{margin-right:auto!important}#bookly-tbs .mb-auto,#bookly-tbs .my-auto{margin-bottom:auto!important}#bookly-tbs .ml-auto,#bookly-tbs .mx-auto{margin-left:auto!important}@media (min-width:576px){#bookly-tbs .m-sm-0{margin:0!important}#bookly-tbs .mt-sm-0,#bookly-tbs .my-sm-0{margin-top:0!important}#bookly-tbs .mr-sm-0,#bookly-tbs .mx-sm-0{margin-right:0!important}#bookly-tbs .mb-sm-0,#bookly-tbs .my-sm-0{margin-bottom:0!important}#bookly-tbs .ml-sm-0,#bookly-tbs .mx-sm-0{margin-left:0!important}#bookly-tbs .m-sm-1{margin:.25rem!important}#bookly-tbs .mt-sm-1,#bookly-tbs .my-sm-1{margin-top:.25rem!important}#bookly-tbs .mr-sm-1,#bookly-tbs .mx-sm-1{margin-right:.25rem!important}#bookly-tbs .mb-sm-1,#bookly-tbs .my-sm-1{margin-bottom:.25rem!important}#bookly-tbs .ml-sm-1,#bookly-tbs .mx-sm-1{margin-left:.25rem!important}#bookly-tbs .m-sm-2{margin:.5rem!important}#bookly-tbs .mt-sm-2,#bookly-tbs .my-sm-2{margin-top:.5rem!important}#bookly-tbs .mr-sm-2,#bookly-tbs .mx-sm-2{margin-right:.5rem!important}#bookly-tbs .mb-sm-2,#bookly-tbs .my-sm-2{margin-bottom:.5rem!important}#bookly-tbs .ml-sm-2,#bookly-tbs .mx-sm-2{margin-left:.5rem!important}#bookly-tbs .m-sm-3{margin:1rem!important}#bookly-tbs .mt-sm-3,#bookly-tbs .my-sm-3{margin-top:1rem!important}#bookly-tbs .mr-sm-3,#bookly-tbs .mx-sm-3{margin-right:1rem!important}#bookly-tbs .mb-sm-3,#bookly-tbs .my-sm-3{margin-bottom:1rem!important}#bookly-tbs .ml-sm-3,#bookly-tbs .mx-sm-3{margin-left:1rem!important}#bookly-tbs .m-sm-4{margin:1.5rem!important}#bookly-tbs .mt-sm-4,#bookly-tbs .my-sm-4{margin-top:1.5rem!important}#bookly-tbs .mr-sm-4,#bookly-tbs .mx-sm-4{margin-right:1.5rem!important}#bookly-tbs .mb-sm-4,#bookly-tbs .my-sm-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-sm-4,#bookly-tbs .mx-sm-4{margin-left:1.5rem!important}#bookly-tbs .m-sm-5{margin:3rem!important}#bookly-tbs .mt-sm-5,#bookly-tbs .my-sm-5{margin-top:3rem!important}#bookly-tbs .mr-sm-5,#bookly-tbs .mx-sm-5{margin-right:3rem!important}#bookly-tbs .mb-sm-5,#bookly-tbs .my-sm-5{margin-bottom:3rem!important}#bookly-tbs .ml-sm-5,#bookly-tbs .mx-sm-5{margin-left:3rem!important}#bookly-tbs .p-sm-0{padding:0!important}#bookly-tbs .pt-sm-0,#bookly-tbs .py-sm-0{padding-top:0!important}#bookly-tbs .pr-sm-0,#bookly-tbs .px-sm-0{padding-right:0!important}#bookly-tbs .pb-sm-0,#bookly-tbs .py-sm-0{padding-bottom:0!important}#bookly-tbs .pl-sm-0,#bookly-tbs .px-sm-0{padding-left:0!important}#bookly-tbs .p-sm-1{padding:.25rem!important}#bookly-tbs .pt-sm-1,#bookly-tbs .py-sm-1{padding-top:.25rem!important}#bookly-tbs .pr-sm-1,#bookly-tbs .px-sm-1{padding-right:.25rem!important}#bookly-tbs .pb-sm-1,#bookly-tbs .py-sm-1{padding-bottom:.25rem!important}#bookly-tbs .pl-sm-1,#bookly-tbs .px-sm-1{padding-left:.25rem!important}#bookly-tbs .p-sm-2{padding:.5rem!important}#bookly-tbs .pt-sm-2,#bookly-tbs .py-sm-2{padding-top:.5rem!important}#bookly-tbs .pr-sm-2,#bookly-tbs .px-sm-2{padding-right:.5rem!important}#bookly-tbs .pb-sm-2,#bookly-tbs .py-sm-2{padding-bottom:.5rem!important}#bookly-tbs .pl-sm-2,#bookly-tbs .px-sm-2{padding-left:.5rem!important}#bookly-tbs .p-sm-3{padding:1rem!important}#bookly-tbs .pt-sm-3,#bookly-tbs .py-sm-3{padding-top:1rem!important}#bookly-tbs .pr-sm-3,#bookly-tbs .px-sm-3{padding-right:1rem!important}#bookly-tbs .pb-sm-3,#bookly-tbs .py-sm-3{padding-bottom:1rem!important}#bookly-tbs .pl-sm-3,#bookly-tbs .px-sm-3{padding-left:1rem!important}#bookly-tbs .p-sm-4{padding:1.5rem!important}#bookly-tbs .pt-sm-4,#bookly-tbs .py-sm-4{padding-top:1.5rem!important}#bookly-tbs .pr-sm-4,#bookly-tbs .px-sm-4{padding-right:1.5rem!important}#bookly-tbs .pb-sm-4,#bookly-tbs .py-sm-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-sm-4,#bookly-tbs .px-sm-4{padding-left:1.5rem!important}#bookly-tbs .p-sm-5{padding:3rem!important}#bookly-tbs .pt-sm-5,#bookly-tbs .py-sm-5{padding-top:3rem!important}#bookly-tbs .pr-sm-5,#bookly-tbs .px-sm-5{padding-right:3rem!important}#bookly-tbs .pb-sm-5,#bookly-tbs .py-sm-5{padding-bottom:3rem!important}#bookly-tbs .pl-sm-5,#bookly-tbs .px-sm-5{padding-left:3rem!important}#bookly-tbs .m-sm-n1{margin:-.25rem!important}#bookly-tbs .mt-sm-n1,#bookly-tbs .my-sm-n1{margin-top:-.25rem!important}#bookly-tbs .mr-sm-n1,#bookly-tbs .mx-sm-n1{margin-right:-.25rem!important}#bookly-tbs .mb-sm-n1,#bookly-tbs .my-sm-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-sm-n1,#bookly-tbs .mx-sm-n1{margin-left:-.25rem!important}#bookly-tbs .m-sm-n2{margin:-.5rem!important}#bookly-tbs .mt-sm-n2,#bookly-tbs .my-sm-n2{margin-top:-.5rem!important}#bookly-tbs .mr-sm-n2,#bookly-tbs .mx-sm-n2{margin-right:-.5rem!important}#bookly-tbs .mb-sm-n2,#bookly-tbs .my-sm-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-sm-n2,#bookly-tbs .mx-sm-n2{margin-left:-.5rem!important}#bookly-tbs .m-sm-n3{margin:-1rem!important}#bookly-tbs .mt-sm-n3,#bookly-tbs .my-sm-n3{margin-top:-1rem!important}#bookly-tbs .mr-sm-n3,#bookly-tbs .mx-sm-n3{margin-right:-1rem!important}#bookly-tbs .mb-sm-n3,#bookly-tbs .my-sm-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-sm-n3,#bookly-tbs .mx-sm-n3{margin-left:-1rem!important}#bookly-tbs .m-sm-n4{margin:-1.5rem!important}#bookly-tbs .mt-sm-n4,#bookly-tbs .my-sm-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-sm-n4,#bookly-tbs .mx-sm-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-sm-n4,#bookly-tbs .my-sm-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-sm-n4,#bookly-tbs .mx-sm-n4{margin-left:-1.5rem!important}#bookly-tbs .m-sm-n5{margin:-3rem!important}#bookly-tbs .mt-sm-n5,#bookly-tbs .my-sm-n5{margin-top:-3rem!important}#bookly-tbs .mr-sm-n5,#bookly-tbs .mx-sm-n5{margin-right:-3rem!important}#bookly-tbs .mb-sm-n5,#bookly-tbs .my-sm-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-sm-n5,#bookly-tbs .mx-sm-n5{margin-left:-3rem!important}#bookly-tbs .m-sm-auto{margin:auto!important}#bookly-tbs .mt-sm-auto,#bookly-tbs .my-sm-auto{margin-top:auto!important}#bookly-tbs .mr-sm-auto,#bookly-tbs .mx-sm-auto{margin-right:auto!important}#bookly-tbs .mb-sm-auto,#bookly-tbs .my-sm-auto{margin-bottom:auto!important}#bookly-tbs .ml-sm-auto,#bookly-tbs .mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){#bookly-tbs .m-md-0{margin:0!important}#bookly-tbs .mt-md-0,#bookly-tbs .my-md-0{margin-top:0!important}#bookly-tbs .mr-md-0,#bookly-tbs .mx-md-0{margin-right:0!important}#bookly-tbs .mb-md-0,#bookly-tbs .my-md-0{margin-bottom:0!important}#bookly-tbs .ml-md-0,#bookly-tbs .mx-md-0{margin-left:0!important}#bookly-tbs .m-md-1{margin:.25rem!important}#bookly-tbs .mt-md-1,#bookly-tbs .my-md-1{margin-top:.25rem!important}#bookly-tbs .mr-md-1,#bookly-tbs .mx-md-1{margin-right:.25rem!important}#bookly-tbs .mb-md-1,#bookly-tbs .my-md-1{margin-bottom:.25rem!important}#bookly-tbs .ml-md-1,#bookly-tbs .mx-md-1{margin-left:.25rem!important}#bookly-tbs .m-md-2{margin:.5rem!important}#bookly-tbs .mt-md-2,#bookly-tbs .my-md-2{margin-top:.5rem!important}#bookly-tbs .mr-md-2,#bookly-tbs .mx-md-2{margin-right:.5rem!important}#bookly-tbs .mb-md-2,#bookly-tbs .my-md-2{margin-bottom:.5rem!important}#bookly-tbs .ml-md-2,#bookly-tbs .mx-md-2{margin-left:.5rem!important}#bookly-tbs .m-md-3{margin:1rem!important}#bookly-tbs .mt-md-3,#bookly-tbs .my-md-3{margin-top:1rem!important}#bookly-tbs .mr-md-3,#bookly-tbs .mx-md-3{margin-right:1rem!important}#bookly-tbs .mb-md-3,#bookly-tbs .my-md-3{margin-bottom:1rem!important}#bookly-tbs .ml-md-3,#bookly-tbs .mx-md-3{margin-left:1rem!important}#bookly-tbs .m-md-4{margin:1.5rem!important}#bookly-tbs .mt-md-4,#bookly-tbs .my-md-4{margin-top:1.5rem!important}#bookly-tbs .mr-md-4,#bookly-tbs .mx-md-4{margin-right:1.5rem!important}#bookly-tbs .mb-md-4,#bookly-tbs .my-md-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-md-4,#bookly-tbs .mx-md-4{margin-left:1.5rem!important}#bookly-tbs .m-md-5{margin:3rem!important}#bookly-tbs .mt-md-5,#bookly-tbs .my-md-5{margin-top:3rem!important}#bookly-tbs .mr-md-5,#bookly-tbs .mx-md-5{margin-right:3rem!important}#bookly-tbs .mb-md-5,#bookly-tbs .my-md-5{margin-bottom:3rem!important}#bookly-tbs .ml-md-5,#bookly-tbs .mx-md-5{margin-left:3rem!important}#bookly-tbs .p-md-0{padding:0!important}#bookly-tbs .pt-md-0,#bookly-tbs .py-md-0{padding-top:0!important}#bookly-tbs .pr-md-0,#bookly-tbs .px-md-0{padding-right:0!important}#bookly-tbs .pb-md-0,#bookly-tbs .py-md-0{padding-bottom:0!important}#bookly-tbs .pl-md-0,#bookly-tbs .px-md-0{padding-left:0!important}#bookly-tbs .p-md-1{padding:.25rem!important}#bookly-tbs .pt-md-1,#bookly-tbs .py-md-1{padding-top:.25rem!important}#bookly-tbs .pr-md-1,#bookly-tbs .px-md-1{padding-right:.25rem!important}#bookly-tbs .pb-md-1,#bookly-tbs .py-md-1{padding-bottom:.25rem!important}#bookly-tbs .pl-md-1,#bookly-tbs .px-md-1{padding-left:.25rem!important}#bookly-tbs .p-md-2{padding:.5rem!important}#bookly-tbs .pt-md-2,#bookly-tbs .py-md-2{padding-top:.5rem!important}#bookly-tbs .pr-md-2,#bookly-tbs .px-md-2{padding-right:.5rem!important}#bookly-tbs .pb-md-2,#bookly-tbs .py-md-2{padding-bottom:.5rem!important}#bookly-tbs .pl-md-2,#bookly-tbs .px-md-2{padding-left:.5rem!important}#bookly-tbs .p-md-3{padding:1rem!important}#bookly-tbs .pt-md-3,#bookly-tbs .py-md-3{padding-top:1rem!important}#bookly-tbs .pr-md-3,#bookly-tbs .px-md-3{padding-right:1rem!important}#bookly-tbs .pb-md-3,#bookly-tbs .py-md-3{padding-bottom:1rem!important}#bookly-tbs .pl-md-3,#bookly-tbs .px-md-3{padding-left:1rem!important}#bookly-tbs .p-md-4{padding:1.5rem!important}#bookly-tbs .pt-md-4,#bookly-tbs .py-md-4{padding-top:1.5rem!important}#bookly-tbs .pr-md-4,#bookly-tbs .px-md-4{padding-right:1.5rem!important}#bookly-tbs .pb-md-4,#bookly-tbs .py-md-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-md-4,#bookly-tbs .px-md-4{padding-left:1.5rem!important}#bookly-tbs .p-md-5{padding:3rem!important}#bookly-tbs .pt-md-5,#bookly-tbs .py-md-5{padding-top:3rem!important}#bookly-tbs .pr-md-5,#bookly-tbs .px-md-5{padding-right:3rem!important}#bookly-tbs .pb-md-5,#bookly-tbs .py-md-5{padding-bottom:3rem!important}#bookly-tbs .pl-md-5,#bookly-tbs .px-md-5{padding-left:3rem!important}#bookly-tbs .m-md-n1{margin:-.25rem!important}#bookly-tbs .mt-md-n1,#bookly-tbs .my-md-n1{margin-top:-.25rem!important}#bookly-tbs .mr-md-n1,#bookly-tbs .mx-md-n1{margin-right:-.25rem!important}#bookly-tbs .mb-md-n1,#bookly-tbs .my-md-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-md-n1,#bookly-tbs .mx-md-n1{margin-left:-.25rem!important}#bookly-tbs .m-md-n2{margin:-.5rem!important}#bookly-tbs .mt-md-n2,#bookly-tbs .my-md-n2{margin-top:-.5rem!important}#bookly-tbs .mr-md-n2,#bookly-tbs .mx-md-n2{margin-right:-.5rem!important}#bookly-tbs .mb-md-n2,#bookly-tbs .my-md-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-md-n2,#bookly-tbs .mx-md-n2{margin-left:-.5rem!important}#bookly-tbs .m-md-n3{margin:-1rem!important}#bookly-tbs .mt-md-n3,#bookly-tbs .my-md-n3{margin-top:-1rem!important}#bookly-tbs .mr-md-n3,#bookly-tbs .mx-md-n3{margin-right:-1rem!important}#bookly-tbs .mb-md-n3,#bookly-tbs .my-md-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-md-n3,#bookly-tbs .mx-md-n3{margin-left:-1rem!important}#bookly-tbs .m-md-n4{margin:-1.5rem!important}#bookly-tbs .mt-md-n4,#bookly-tbs .my-md-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-md-n4,#bookly-tbs .mx-md-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-md-n4,#bookly-tbs .my-md-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-md-n4,#bookly-tbs .mx-md-n4{margin-left:-1.5rem!important}#bookly-tbs .m-md-n5{margin:-3rem!important}#bookly-tbs .mt-md-n5,#bookly-tbs .my-md-n5{margin-top:-3rem!important}#bookly-tbs .mr-md-n5,#bookly-tbs .mx-md-n5{margin-right:-3rem!important}#bookly-tbs .mb-md-n5,#bookly-tbs .my-md-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-md-n5,#bookly-tbs .mx-md-n5{margin-left:-3rem!important}#bookly-tbs .m-md-auto{margin:auto!important}#bookly-tbs .mt-md-auto,#bookly-tbs .my-md-auto{margin-top:auto!important}#bookly-tbs .mr-md-auto,#bookly-tbs .mx-md-auto{margin-right:auto!important}#bookly-tbs .mb-md-auto,#bookly-tbs .my-md-auto{margin-bottom:auto!important}#bookly-tbs .ml-md-auto,#bookly-tbs .mx-md-auto{margin-left:auto!important}}@media (min-width:992px){#bookly-tbs .m-lg-0{margin:0!important}#bookly-tbs .mt-lg-0,#bookly-tbs .my-lg-0{margin-top:0!important}#bookly-tbs .mr-lg-0,#bookly-tbs .mx-lg-0{margin-right:0!important}#bookly-tbs .mb-lg-0,#bookly-tbs .my-lg-0{margin-bottom:0!important}#bookly-tbs .ml-lg-0,#bookly-tbs .mx-lg-0{margin-left:0!important}#bookly-tbs .m-lg-1{margin:.25rem!important}#bookly-tbs .mt-lg-1,#bookly-tbs .my-lg-1{margin-top:.25rem!important}#bookly-tbs .mr-lg-1,#bookly-tbs .mx-lg-1{margin-right:.25rem!important}#bookly-tbs .mb-lg-1,#bookly-tbs .my-lg-1{margin-bottom:.25rem!important}#bookly-tbs .ml-lg-1,#bookly-tbs .mx-lg-1{margin-left:.25rem!important}#bookly-tbs .m-lg-2{margin:.5rem!important}#bookly-tbs .mt-lg-2,#bookly-tbs .my-lg-2{margin-top:.5rem!important}#bookly-tbs .mr-lg-2,#bookly-tbs .mx-lg-2{margin-right:.5rem!important}#bookly-tbs .mb-lg-2,#bookly-tbs .my-lg-2{margin-bottom:.5rem!important}#bookly-tbs .ml-lg-2,#bookly-tbs .mx-lg-2{margin-left:.5rem!important}#bookly-tbs .m-lg-3{margin:1rem!important}#bookly-tbs .mt-lg-3,#bookly-tbs .my-lg-3{margin-top:1rem!important}#bookly-tbs .mr-lg-3,#bookly-tbs .mx-lg-3{margin-right:1rem!important}#bookly-tbs .mb-lg-3,#bookly-tbs .my-lg-3{margin-bottom:1rem!important}#bookly-tbs .ml-lg-3,#bookly-tbs .mx-lg-3{margin-left:1rem!important}#bookly-tbs .m-lg-4{margin:1.5rem!important}#bookly-tbs .mt-lg-4,#bookly-tbs .my-lg-4{margin-top:1.5rem!important}#bookly-tbs .mr-lg-4,#bookly-tbs .mx-lg-4{margin-right:1.5rem!important}#bookly-tbs .mb-lg-4,#bookly-tbs .my-lg-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-lg-4,#bookly-tbs .mx-lg-4{margin-left:1.5rem!important}#bookly-tbs .m-lg-5{margin:3rem!important}#bookly-tbs .mt-lg-5,#bookly-tbs .my-lg-5{margin-top:3rem!important}#bookly-tbs .mr-lg-5,#bookly-tbs .mx-lg-5{margin-right:3rem!important}#bookly-tbs .mb-lg-5,#bookly-tbs .my-lg-5{margin-bottom:3rem!important}#bookly-tbs .ml-lg-5,#bookly-tbs .mx-lg-5{margin-left:3rem!important}#bookly-tbs .p-lg-0{padding:0!important}#bookly-tbs .pt-lg-0,#bookly-tbs .py-lg-0{padding-top:0!important}#bookly-tbs .pr-lg-0,#bookly-tbs .px-lg-0{padding-right:0!important}#bookly-tbs .pb-lg-0,#bookly-tbs .py-lg-0{padding-bottom:0!important}#bookly-tbs .pl-lg-0,#bookly-tbs .px-lg-0{padding-left:0!important}#bookly-tbs .p-lg-1{padding:.25rem!important}#bookly-tbs .pt-lg-1,#bookly-tbs .py-lg-1{padding-top:.25rem!important}#bookly-tbs .pr-lg-1,#bookly-tbs .px-lg-1{padding-right:.25rem!important}#bookly-tbs .pb-lg-1,#bookly-tbs .py-lg-1{padding-bottom:.25rem!important}#bookly-tbs .pl-lg-1,#bookly-tbs .px-lg-1{padding-left:.25rem!important}#bookly-tbs .p-lg-2{padding:.5rem!important}#bookly-tbs .pt-lg-2,#bookly-tbs .py-lg-2{padding-top:.5rem!important}#bookly-tbs .pr-lg-2,#bookly-tbs .px-lg-2{padding-right:.5rem!important}#bookly-tbs .pb-lg-2,#bookly-tbs .py-lg-2{padding-bottom:.5rem!important}#bookly-tbs .pl-lg-2,#bookly-tbs .px-lg-2{padding-left:.5rem!important}#bookly-tbs .p-lg-3{padding:1rem!important}#bookly-tbs .pt-lg-3,#bookly-tbs .py-lg-3{padding-top:1rem!important}#bookly-tbs .pr-lg-3,#bookly-tbs .px-lg-3{padding-right:1rem!important}#bookly-tbs .pb-lg-3,#bookly-tbs .py-lg-3{padding-bottom:1rem!important}#bookly-tbs .pl-lg-3,#bookly-tbs .px-lg-3{padding-left:1rem!important}#bookly-tbs .p-lg-4{padding:1.5rem!important}#bookly-tbs .pt-lg-4,#bookly-tbs .py-lg-4{padding-top:1.5rem!important}#bookly-tbs .pr-lg-4,#bookly-tbs .px-lg-4{padding-right:1.5rem!important}#bookly-tbs .pb-lg-4,#bookly-tbs .py-lg-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-lg-4,#bookly-tbs .px-lg-4{padding-left:1.5rem!important}#bookly-tbs .p-lg-5{padding:3rem!important}#bookly-tbs .pt-lg-5,#bookly-tbs .py-lg-5{padding-top:3rem!important}#bookly-tbs .pr-lg-5,#bookly-tbs .px-lg-5{padding-right:3rem!important}#bookly-tbs .pb-lg-5,#bookly-tbs .py-lg-5{padding-bottom:3rem!important}#bookly-tbs .pl-lg-5,#bookly-tbs .px-lg-5{padding-left:3rem!important}#bookly-tbs .m-lg-n1{margin:-.25rem!important}#bookly-tbs .mt-lg-n1,#bookly-tbs .my-lg-n1{margin-top:-.25rem!important}#bookly-tbs .mr-lg-n1,#bookly-tbs .mx-lg-n1{margin-right:-.25rem!important}#bookly-tbs .mb-lg-n1,#bookly-tbs .my-lg-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-lg-n1,#bookly-tbs .mx-lg-n1{margin-left:-.25rem!important}#bookly-tbs .m-lg-n2{margin:-.5rem!important}#bookly-tbs .mt-lg-n2,#bookly-tbs .my-lg-n2{margin-top:-.5rem!important}#bookly-tbs .mr-lg-n2,#bookly-tbs .mx-lg-n2{margin-right:-.5rem!important}#bookly-tbs .mb-lg-n2,#bookly-tbs .my-lg-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-lg-n2,#bookly-tbs .mx-lg-n2{margin-left:-.5rem!important}#bookly-tbs .m-lg-n3{margin:-1rem!important}#bookly-tbs .mt-lg-n3,#bookly-tbs .my-lg-n3{margin-top:-1rem!important}#bookly-tbs .mr-lg-n3,#bookly-tbs .mx-lg-n3{margin-right:-1rem!important}#bookly-tbs .mb-lg-n3,#bookly-tbs .my-lg-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-lg-n3,#bookly-tbs .mx-lg-n3{margin-left:-1rem!important}#bookly-tbs .m-lg-n4{margin:-1.5rem!important}#bookly-tbs .mt-lg-n4,#bookly-tbs .my-lg-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-lg-n4,#bookly-tbs .mx-lg-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-lg-n4,#bookly-tbs .my-lg-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-lg-n4,#bookly-tbs .mx-lg-n4{margin-left:-1.5rem!important}#bookly-tbs .m-lg-n5{margin:-3rem!important}#bookly-tbs .mt-lg-n5,#bookly-tbs .my-lg-n5{margin-top:-3rem!important}#bookly-tbs .mr-lg-n5,#bookly-tbs .mx-lg-n5{margin-right:-3rem!important}#bookly-tbs .mb-lg-n5,#bookly-tbs .my-lg-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-lg-n5,#bookly-tbs .mx-lg-n5{margin-left:-3rem!important}#bookly-tbs .m-lg-auto{margin:auto!important}#bookly-tbs .mt-lg-auto,#bookly-tbs .my-lg-auto{margin-top:auto!important}#bookly-tbs .mr-lg-auto,#bookly-tbs .mx-lg-auto{margin-right:auto!important}#bookly-tbs .mb-lg-auto,#bookly-tbs .my-lg-auto{margin-bottom:auto!important}#bookly-tbs .ml-lg-auto,#bookly-tbs .mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){#bookly-tbs .m-xl-0{margin:0!important}#bookly-tbs .mt-xl-0,#bookly-tbs .my-xl-0{margin-top:0!important}#bookly-tbs .mr-xl-0,#bookly-tbs .mx-xl-0{margin-right:0!important}#bookly-tbs .mb-xl-0,#bookly-tbs .my-xl-0{margin-bottom:0!important}#bookly-tbs .ml-xl-0,#bookly-tbs .mx-xl-0{margin-left:0!important}#bookly-tbs .m-xl-1{margin:.25rem!important}#bookly-tbs .mt-xl-1,#bookly-tbs .my-xl-1{margin-top:.25rem!important}#bookly-tbs .mr-xl-1,#bookly-tbs .mx-xl-1{margin-right:.25rem!important}#bookly-tbs .mb-xl-1,#bookly-tbs .my-xl-1{margin-bottom:.25rem!important}#bookly-tbs .ml-xl-1,#bookly-tbs .mx-xl-1{margin-left:.25rem!important}#bookly-tbs .m-xl-2{margin:.5rem!important}#bookly-tbs .mt-xl-2,#bookly-tbs .my-xl-2{margin-top:.5rem!important}#bookly-tbs .mr-xl-2,#bookly-tbs .mx-xl-2{margin-right:.5rem!important}#bookly-tbs .mb-xl-2,#bookly-tbs .my-xl-2{margin-bottom:.5rem!important}#bookly-tbs .ml-xl-2,#bookly-tbs .mx-xl-2{margin-left:.5rem!important}#bookly-tbs .m-xl-3{margin:1rem!important}#bookly-tbs .mt-xl-3,#bookly-tbs .my-xl-3{margin-top:1rem!important}#bookly-tbs .mr-xl-3,#bookly-tbs .mx-xl-3{margin-right:1rem!important}#bookly-tbs .mb-xl-3,#bookly-tbs .my-xl-3{margin-bottom:1rem!important}#bookly-tbs .ml-xl-3,#bookly-tbs .mx-xl-3{margin-left:1rem!important}#bookly-tbs .m-xl-4{margin:1.5rem!important}#bookly-tbs .mt-xl-4,#bookly-tbs .my-xl-4{margin-top:1.5rem!important}#bookly-tbs .mr-xl-4,#bookly-tbs .mx-xl-4{margin-right:1.5rem!important}#bookly-tbs .mb-xl-4,#bookly-tbs .my-xl-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-xl-4,#bookly-tbs .mx-xl-4{margin-left:1.5rem!important}#bookly-tbs .m-xl-5{margin:3rem!important}#bookly-tbs .mt-xl-5,#bookly-tbs .my-xl-5{margin-top:3rem!important}#bookly-tbs .mr-xl-5,#bookly-tbs .mx-xl-5{margin-right:3rem!important}#bookly-tbs .mb-xl-5,#bookly-tbs .my-xl-5{margin-bottom:3rem!important}#bookly-tbs .ml-xl-5,#bookly-tbs .mx-xl-5{margin-left:3rem!important}#bookly-tbs .p-xl-0{padding:0!important}#bookly-tbs .pt-xl-0,#bookly-tbs .py-xl-0{padding-top:0!important}#bookly-tbs .pr-xl-0,#bookly-tbs .px-xl-0{padding-right:0!important}#bookly-tbs .pb-xl-0,#bookly-tbs .py-xl-0{padding-bottom:0!important}#bookly-tbs .pl-xl-0,#bookly-tbs .px-xl-0{padding-left:0!important}#bookly-tbs .p-xl-1{padding:.25rem!important}#bookly-tbs .pt-xl-1,#bookly-tbs .py-xl-1{padding-top:.25rem!important}#bookly-tbs .pr-xl-1,#bookly-tbs .px-xl-1{padding-right:.25rem!important}#bookly-tbs .pb-xl-1,#bookly-tbs .py-xl-1{padding-bottom:.25rem!important}#bookly-tbs .pl-xl-1,#bookly-tbs .px-xl-1{padding-left:.25rem!important}#bookly-tbs .p-xl-2{padding:.5rem!important}#bookly-tbs .pt-xl-2,#bookly-tbs .py-xl-2{padding-top:.5rem!important}#bookly-tbs .pr-xl-2,#bookly-tbs .px-xl-2{padding-right:.5rem!important}#bookly-tbs .pb-xl-2,#bookly-tbs .py-xl-2{padding-bottom:.5rem!important}#bookly-tbs .pl-xl-2,#bookly-tbs .px-xl-2{padding-left:.5rem!important}#bookly-tbs .p-xl-3{padding:1rem!important}#bookly-tbs .pt-xl-3,#bookly-tbs .py-xl-3{padding-top:1rem!important}#bookly-tbs .pr-xl-3,#bookly-tbs .px-xl-3{padding-right:1rem!important}#bookly-tbs .pb-xl-3,#bookly-tbs .py-xl-3{padding-bottom:1rem!important}#bookly-tbs .pl-xl-3,#bookly-tbs .px-xl-3{padding-left:1rem!important}#bookly-tbs .p-xl-4{padding:1.5rem!important}#bookly-tbs .pt-xl-4,#bookly-tbs .py-xl-4{padding-top:1.5rem!important}#bookly-tbs .pr-xl-4,#bookly-tbs .px-xl-4{padding-right:1.5rem!important}#bookly-tbs .pb-xl-4,#bookly-tbs .py-xl-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-xl-4,#bookly-tbs .px-xl-4{padding-left:1.5rem!important}#bookly-tbs .p-xl-5{padding:3rem!important}#bookly-tbs .pt-xl-5,#bookly-tbs .py-xl-5{padding-top:3rem!important}#bookly-tbs .pr-xl-5,#bookly-tbs .px-xl-5{padding-right:3rem!important}#bookly-tbs .pb-xl-5,#bookly-tbs .py-xl-5{padding-bottom:3rem!important}#bookly-tbs .pl-xl-5,#bookly-tbs .px-xl-5{padding-left:3rem!important}#bookly-tbs .m-xl-n1{margin:-.25rem!important}#bookly-tbs .mt-xl-n1,#bookly-tbs .my-xl-n1{margin-top:-.25rem!important}#bookly-tbs .mr-xl-n1,#bookly-tbs .mx-xl-n1{margin-right:-.25rem!important}#bookly-tbs .mb-xl-n1,#bookly-tbs .my-xl-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-xl-n1,#bookly-tbs .mx-xl-n1{margin-left:-.25rem!important}#bookly-tbs .m-xl-n2{margin:-.5rem!important}#bookly-tbs .mt-xl-n2,#bookly-tbs .my-xl-n2{margin-top:-.5rem!important}#bookly-tbs .mr-xl-n2,#bookly-tbs .mx-xl-n2{margin-right:-.5rem!important}#bookly-tbs .mb-xl-n2,#bookly-tbs .my-xl-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-xl-n2,#bookly-tbs .mx-xl-n2{margin-left:-.5rem!important}#bookly-tbs .m-xl-n3{margin:-1rem!important}#bookly-tbs .mt-xl-n3,#bookly-tbs .my-xl-n3{margin-top:-1rem!important}#bookly-tbs .mr-xl-n3,#bookly-tbs .mx-xl-n3{margin-right:-1rem!important}#bookly-tbs .mb-xl-n3,#bookly-tbs .my-xl-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-xl-n3,#bookly-tbs .mx-xl-n3{margin-left:-1rem!important}#bookly-tbs .m-xl-n4{margin:-1.5rem!important}#bookly-tbs .mt-xl-n4,#bookly-tbs .my-xl-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-xl-n4,#bookly-tbs .mx-xl-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-xl-n4,#bookly-tbs .my-xl-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-xl-n4,#bookly-tbs .mx-xl-n4{margin-left:-1.5rem!important}#bookly-tbs .m-xl-n5{margin:-3rem!important}#bookly-tbs .mt-xl-n5,#bookly-tbs .my-xl-n5{margin-top:-3rem!important}#bookly-tbs .mr-xl-n5,#bookly-tbs .mx-xl-n5{margin-right:-3rem!important}#bookly-tbs .mb-xl-n5,#bookly-tbs .my-xl-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-xl-n5,#bookly-tbs .mx-xl-n5{margin-left:-3rem!important}#bookly-tbs .m-xl-auto{margin:auto!important}#bookly-tbs .mt-xl-auto,#bookly-tbs .my-xl-auto{margin-top:auto!important}#bookly-tbs .mr-xl-auto,#bookly-tbs .mx-xl-auto{margin-right:auto!important}#bookly-tbs .mb-xl-auto,#bookly-tbs .my-xl-auto{margin-bottom:auto!important}#bookly-tbs .ml-xl-auto,#bookly-tbs .mx-xl-auto{margin-left:auto!important}}#bookly-tbs .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}#bookly-tbs .text-justify{text-align:justify!important}#bookly-tbs .text-wrap{white-space:normal!important}#bookly-tbs .text-nowrap{white-space:nowrap!important}#bookly-tbs .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .text-left{text-align:left!important}#bookly-tbs .text-right{text-align:right!important}#bookly-tbs .text-center{text-align:center!important}@media (min-width:576px){#bookly-tbs .text-sm-left{text-align:left!important}#bookly-tbs .text-sm-right{text-align:right!important}#bookly-tbs .text-sm-center{text-align:center!important}}@media (min-width:768px){#bookly-tbs .text-md-left{text-align:left!important}#bookly-tbs .text-md-right{text-align:right!important}#bookly-tbs .text-md-center{text-align:center!important}}@media (min-width:992px){#bookly-tbs .text-lg-left{text-align:left!important}#bookly-tbs .text-lg-right{text-align:right!important}#bookly-tbs .text-lg-center{text-align:center!important}}@media (min-width:1200px){#bookly-tbs .text-xl-left{text-align:left!important}#bookly-tbs .text-xl-right{text-align:right!important}#bookly-tbs .text-xl-center{text-align:center!important}}#bookly-tbs .text-lowercase{text-transform:lowercase!important}#bookly-tbs .text-uppercase{text-transform:uppercase!important}#bookly-tbs .text-capitalize{text-transform:capitalize!important}#bookly-tbs .font-weight-light{font-weight:300!important}#bookly-tbs .font-weight-lighter{font-weight:lighter!important}#bookly-tbs .font-weight-normal{font-weight:400!important}#bookly-tbs .font-weight-bold{font-weight:700!important}#bookly-tbs .font-weight-bolder{font-weight:bolder!important}#bookly-tbs .font-italic{font-style:italic!important}#bookly-tbs .text-white{color:#fff!important}#bookly-tbs .text-primary{color:#007bff!important}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#0056b3!important}#bookly-tbs .text-secondary{color:#6c757d!important}#bookly-tbs a.text-secondary:focus,#bookly-tbs a.text-secondary:hover{color:#494f54!important}#bookly-tbs .text-success{color:#28a745!important}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#19692c!important}#bookly-tbs .text-info{color:#17a2b8!important}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#0f6674!important}#bookly-tbs .text-warning{color:#ffc107!important}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#ba8b00!important}#bookly-tbs .text-danger{color:#dc3545!important}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#a71d2a!important}#bookly-tbs .text-light{color:#f8f9fa!important}#bookly-tbs a.text-light:focus,#bookly-tbs a.text-light:hover{color:#cbd3da!important}#bookly-tbs .text-dark{color:#343a40!important}#bookly-tbs a.text-dark:focus,#bookly-tbs a.text-dark:hover{color:#121416!important}#bookly-tbs .text-body{color:#212529!important}#bookly-tbs .text-muted{color:#6c757d!important}#bookly-tbs .text-black-50{color:rgba(0,0,0,.5)!important}#bookly-tbs .text-white-50{color:rgba(255,255,255,.5)!important}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .text-decoration-none{text-decoration:none!important}#bookly-tbs .text-break{word-break:break-word!important;overflow-wrap:break-word!important}#bookly-tbs .text-reset{color:inherit!important}#bookly-tbs .visible{visibility:visible!important}#bookly-tbs .invisible{visibility:hidden!important}@media print{#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{text-shadow:none!important;box-shadow:none!important}#bookly-tbs a:not(.btn){text-decoration:underline}#bookly-tbs abbr[title]::after{content:" (" attr(title) ")"}#bookly-tbs pre{white-space:pre-wrap!important}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #adb5bd;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}@page{size:a3}#bookly-tbs body{min-width:992px!important}#bookly-tbs .container{min-width:992px!important}#bookly-tbs .navbar{display:none}#bookly-tbs .badge{border:1px solid #000}#bookly-tbs .table{border-collapse:collapse!important}#bookly-tbs .table td,#bookly-tbs .table th{background-color:#fff!important}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6!important}#bookly-tbs .table-dark{color:inherit}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#dee2e6}#bookly-tbs .table .thead-dark th{color:inherit;border-color:#dee2e6}}#bookly-tbs p{font-size:1rem}#bookly-tbs ol,#bookly-tbs ul{padding:0 0 0 40px}#bookly-tbs ol{margin-left:0}#bookly-tbs ul{list-style:disc}#bookly-tbs li{margin:0}#bookly-tbs a:focus{box-shadow:none}#bookly-tbs .jCal-wrap,#bookly-tbs .row{padding:unset}#bookly-tbs table tr th{background-color:transparent;padding:unset}#bookly-tbs table tr td{padding:unset}#bookly-tbs .form-control{max-width:none}#bookly-tbs .btn{white-space:nowrap}#bookly-tbs .btn-default{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:hover{color:#212529;background-color:#ececec;border-color:#b1bbc4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus{color:#212529;background-color:#ececec;border-color:#b1bbc4;box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .btn-default.disabled,#bookly-tbs .btn-default:disabled{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-default.dropdown-toggle{color:#212529;background-color:#e6e6e6;border-color:#aab4bf}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-fade{transition:none}}#bookly-tbs .bookly-fade:not(.show){opacity:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{background-color:#fff}#bookly-tbs .dropdown-item .dropdown-item{padding:.25rem 0 .25rem 1.5rem}#bookly-tbs .dropdown-item .custom-control label{width:100%}#bookly-tbs .dropdown-item .custom-control:focus,#bookly-tbs .dropdown-item .custom-control:hover{background-color:#f8f9fa}#bookly-tbs .bookly-modal .dropdown-menu.show{overflow-y:auto;max-height:320px}#bookly-tbs .dropdown-menu.dropdown-menu-compact{padding:0}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item{cursor:pointer;padding:.5rem 1.5rem}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item:hover{background-color:#f8f9fa}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item:not(:last-child){border-bottom:1px solid #dee2e6}#bookly-tbs .custom-checkbox .custom-control-input.bookly-checkbox-loading~.custom-control-label:before{content:'';width:16px;height:16px;background:url(../../imag
3
  * Copyright 2011-2019 The Bootstrap Authors
4
  * Copyright 2011-2019 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)